# HyperTwist Phase 0R Packet 0R-B Deep Source Evaluation

Created on `2026-05-12`

## Status

`Packet 0R-B` remains `closed` as a `Phase 0R` evaluation packet.

This rewrite replaces the earlier shallow `0R-B` wording with the same source-first standard now required by `0R-A`:

- read the upstream source directly
- salvage all meaningful value
- omit only when the surface is:
  - an inferior duplicate
  - superseded by a stronger retained donor
  - off topic to HyperTwist's retained product scope
  - host-shell glue with no durable architecture value
- record the rationale every time something is not promoted

For these thirty-six repos, this document is now the canonical `integration-facing` authority.

Before a future instance implements any `0R-B` repo, it must read:

1. this document for source-value extraction, ownership order, and exclusion rationale
2. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1) for license, attribution, notice, asset-term, and provenance obligations
3. [HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md](C:/HyperTwist/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md:1) for sequencing

## Purpose

This packet redoes `Phase 0R-B` as a true deep source parsing packet for:

- `cahidenes/rubiks-cube-solver`
- `tentone/rubix-solver`
- `Hypercubers/hypercubing.xyz`
- `met4citizen/TalkingHead`
- `NuiLab/code-vr`
- `apache/echarts`
- `ecomfe/zrender`
- `ecomfe/echarts-gl`
- `KhronosGroup/glTF-Sample-Viewer`
- `KhronosGroup/glTF-Sample-Renderer`
- `google/model-viewer`
- `google/model-viewer/packages/model-viewer-effects`
- `google/model-viewer/packages/modelviewer.dev`
- `google/model-viewer/packages/render-fidelity-tools`
- `google/model-viewer/packages/space-opera`
- `mrdoob/three.js`
- `pissang/claygl`
- `pissang/clay-viewer`
- `pmndrs/postprocessing`
- `pmndrs/react-postprocessing`
- `pmndrs/react-three-fiber`
- `pmndrs/drei`
- `pmndrs/xr`
- `pmndrs/uikit`
- `pmndrs/three-stdlib`
- `pmndrs/maath`
- `pmndrs/zustand`
- `pmndrs/leva`
- `pmndrs/use-gesture`
- `pmndrs/react-spring`
- `@react-spring/core`
- `@react-spring/shared`
- `@react-spring/types`
- `@react-spring/parallax`
- `@react-spring/rafz`
- `@react-spring/animated`

It answers, repo by repo:

- what was actually read in source
- what value HyperTwist should salvage
- what is subordinate, duplicate, inferior, or off topic
- why that non-promotion decision was made
- which repo should own a domain when multiple permissive repos overlap
- how the repo should enter `Phase 2R`, `Phase 3R`, or `Phase 6R`

## 2026-05-14 intake and product-fit clarification

This packet is source evidence plus evaluation judgment.

It must not be read as proof that any row here was automatically:

- favored merely because it was bookmarked earlier
- favored merely because it was queued earlier
- retained without further judgment
- a product fit by default
- implementation-authorized by default
- already implemented in first-party surfaces

Future instances must keep the evaluation states separate:

- bookmarked = intake only
- queued = sequencing only
- source-read = evidence gathered
- retained = survived evaluation with preserved value
- product-fit = separate judgment about HyperTwist direction
- implementation-authorized = separate bounded build approval
- implemented = landed in first-party product surfaces

Every future evaluation refresh or reuse of this packet should keep explicit:

- exact source basis read
- licensing posture
- preserved subsystem ideas
- subordinate or later value
- explicit product-fit verdict
- explicit non-promotion decisions with rationale
- retention posture
- owner-lane placement
- recommended implementation phase and realization depth if retained
- what the repo should never be mistaken for

Use [HYPERTWIST_REPO_INTAKE_RETENTION_AND_PRODUCT_FIT_DOCTRINE_2026-05-14.md](C:/HyperTwist/docs/HYPERTWIST_REPO_INTAKE_RETENTION_AND_PRODUCT_FIT_DOCTRINE_2026-05-14.md:1) as the canonical anti-conflation doctrine and [HYPERTWIST_MODEL_A_MODEL_B_COORDINATOR_DOCTRINE_2026-05-14.md](C:/HyperTwist/docs/HYPERTWIST_MODEL_A_MODEL_B_COORDINATOR_DOCTRINE_2026-05-14.md:1) as the coordinator-facing routing rule.

## Storage boundary

To stop future confusion, the storage boundary is explicit:

- `this packet doc`: source-value extraction, implementation posture, overlap resolution, exclusion rationale
- [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1): repo-row license, attribution, copyright, notice, asset-term, and provenance obligations
- [HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md](C:/HyperTwist/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md:1): row state and next-step board
- [HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md](C:/HyperTwist/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md:1): packet sequencing and restart phases
- [HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md](C:/HyperTwist/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md:1): cross-location authority routing

This packet must carry a concise per-repo licensing snapshot so an implementation-facing instance sees the legal posture at handoff time.
Full legal obligations still belong only in [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1).
Deep source-value extraction does not belong in the license tracker.

## Packet licensing snapshot

For these thirty-six rows, the implementation-facing license grouping is:

- `MIT`: `cahidenes/rubiks-cube-solver`, `tentone/rubix-solver`, `Hypercubers/hypercubing.xyz`, `met4citizen/TalkingHead`, `NuiLab/code-vr`, `mrdoob/three.js`, `pmndrs/drei`, `pmndrs/leva`, `pmndrs/maath`, `pmndrs/react-postprocessing`, `pmndrs/react-spring`, `pmndrs/react-three-fiber`, `pmndrs/three-stdlib`, `pmndrs/uikit`, `pmndrs/use-gesture`, `pmndrs/xr`, `pmndrs/zustand`, `@react-spring/core`, `@react-spring/shared`, `@react-spring/types`, `@react-spring/parallax`, `@react-spring/rafz`, `@react-spring/animated`
- `Apache-2.0`: `apache/echarts`, `KhronosGroup/glTF-Sample-Viewer`, `KhronosGroup/glTF-Sample-Renderer`, `google/model-viewer`, `google/model-viewer/packages/model-viewer-effects`, `google/model-viewer/packages/modelviewer.dev`, `google/model-viewer/packages/render-fidelity-tools`, `google/model-viewer/packages/space-opera`
- `BSD family`: `ecomfe/zrender`, `ecomfe/echarts-gl`, `pissang/clay-viewer`, `pissang/claygl`
- `Zlib`: `pmndrs/postprocessing`

## Inputs used

This rewrite used:

- current reset docs in `C:\HyperTwist\docs`
- current mirrors under `C:\Workspaces\HyperTwist\mirrors\permissive`
- the existing parse-side dossier files for these rows
- checked live Unreal surfaces under:
  - `C:\HyperTwist\UnrealHyperTwist\Source`
  - `C:\HyperTwist\UnrealHyperTwist\Content\HyperTwistTraining\MaterializedCatalog`

## Mirror topology caveats

Some `0R-B` rows are package rows inside a broader upstream tree.

That is intentional and must stay visible:

- `KhronosGroup/glTF-Sample-Renderer` was inspected through the nested renderer tree inside [glTF-Sample-Viewer\glTF-Sample-Renderer](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/glTF-Sample-Renderer/README.md:1) because there is no separate top-level renderer mirror in the current workspace
- `google/model-viewer` package rows were inspected inside the single `google/model-viewer` monorepo under `packages/*`
- `@react-spring/*` rows were inspected inside the single `pmndrs/react-spring` monorepo under `packages/*`

Future instances must not mistake those package rows for missing source just because they do not live in separate top-level folders.

## Live-state result

Current live-evidence check result for all thirty-six `0R-B` repos:

- no exact live-surface match found in checked Unreal source or materialized catalog
- one generic historical hypercubing reference exists in first-party reference material, but it is not proof that `Hypercubers/hypercubing.xyz` itself is already live

That means:

- none of these thirty-six are currently proven live in checked Unreal surfaces
- all thirty-six remain retained candidates, not landed implementation lanes

## Packet-wide hierarchy

This packet does not treat all thirty-six repos as equal.

| Domain | Primary retained owner | Secondary retained owner | Non-promotion rule |
| --- | --- | --- | --- |
| Recognition comparison bench | `tentone/rubix-solver` | `cahidenes/rubiks-cube-solver` | Both remain subordinate to the `0R-A` recognition anchors `kkoomen/qbr` and `vivaansinghvi07/rubix-cube-solver`. |
| Knowledge, curriculum, theory, and community structure | `Hypercubers/hypercubing.xyz` | none in `0R-B` | No browser-side viewer or solver helper should displace this repo for progression, notation education, or community taxonomy. |
| Embodied browser coach | `met4citizen/TalkingHead` | none in `0R-B` | Keep avatar speech, retargeting, and companion-presence logic here; do not replace it with generic XR or viewer stacks. |
| XR pedagogy pattern donor | `NuiLab/code-vr` | `pmndrs/xr` | `code-vr` is concept and pedagogy value, not a product-shell owner; `pmndrs/xr` owns practical browser XR runtime support. |
| Analytics and reporting | `apache/echarts` | `ecomfe/echarts-gl` | `zrender` stays subordinate as a lower-level substrate and must not replace `echarts` as the reporting anchor. |
| Asset QA, glTF validation, and fidelity oracles | `KhronosGroup/glTF-Sample-Viewer` | `KhronosGroup/glTF-Sample-Renderer`, `google/model-viewer/packages/render-fidelity-tools` | Keep these as standards-aware QA sidecars, not product-viewer owners. |
| Browser presentation and editor anchor | `google/model-viewer` | `google/model-viewer/packages/space-opera`, `google/model-viewer/packages/model-viewer-effects` | `modelviewer.dev` is docs/demo infrastructure, not a product-shell donor. |
| Browser `3D` substrate | `mrdoob/three.js` | `pmndrs/react-three-fiber` | `three.js` stays the commodity base; `react-three-fiber` is the React renderer substrate above it. |
| Browser support and helper stack | `pmndrs/react-three-fiber` | `pmndrs/drei`, `pmndrs/three-stdlib`, `pmndrs/maath`, `pmndrs/zustand`, `pmndrs/leva`, `pmndrs/use-gesture`, `pmndrs/react-spring`, `@react-spring/*` | These rows are helpers, dependencies, or authoring layers, not product-spine owners. |
| Browser XR and spatial UI | `pmndrs/xr` | `pmndrs/uikit` | `uikit` complements `xr`; it does not replace it as the interaction/session anchor. |
| Browser post-effects | `pmndrs/postprocessing` | `pmndrs/react-postprocessing`, `google/model-viewer/packages/model-viewer-effects` | Keep effect stacks beneath viewer/runtime anchors; do not mistake them for editor or runtime foundations. |
| Alternative browser `3D` lane | `pissang/claygl` | `pissang/clay-viewer` | Retain only as optional support and comparison surfaces; do not let this lane overtake `three.js` + `model-viewer`. |

## Packet outcome summary

- retained: `36`
- discarded: `0`
- newly proven live: `0`

Most important scheduling consequences:

- the remaining permissive backlog is now closed at the `deep-source` standard, not merely as a retained list
- `Hypercubers/hypercubing.xyz` remains the primary knowledge and curriculum donor
- `apache/echarts` remains the analytics/reporting anchor
- `google/model-viewer` remains the browser presentation/editor anchor
- `KhronosGroup/glTF-Sample-Viewer` plus renderer/fidelity tools remain standards and QA sidecars
- `met4citizen/TalkingHead` remains the embodied companion donor
- `pmndrs/xr` plus `pmndrs/uikit` remain the browser XR/spatial UI sidecar lane
- the next clean packet is still `0R-C`

## Repo evaluations

### `cahidenes/rubiks-cube-solver`

Inspected source surfaces:

- [rubiks-cube-solver.py](C:/Workspaces/HyperTwist/mirrors/permissive/cahidenes/rubiks-cube-solver/rubiks-cube-solver.py:1)

High-value salvage:

- simple geometry helpers for contour distance, area, and orientation bookkeeping
- explicit face-orientation fill logic that maps a scanned face into a full cube-string position depending on which face is currently `up`
- lightweight HSV conversion and per-sticker color bookkeeping in a single local pipeline
- direct `kociemba` handoff after a cube string is assembled

Subordinate or later value:

- the webcam loop and on-screen overlay are usable references for a small scanner prototype
- the single-file script is useful as a minimal baseline for face placement and cube-string assembly

Non-promotion decisions and rationale:

- do not promote this repo as a main recognition owner: `inferior duplicate` compared with `qbr` and `vivaansinghvi07/rubix-cube-solver`
- do not promote its direct camera shell: `host-shell glue`
- do not inherit its fixed `1280x720` assumption or implicit calibration posture: `implementation detail better reauthored first-party`

Integration call:

- retain as a bounded recognition adjunct behind the `0R-A` recognition anchors
- use it in `Phase 2R` for face-placement comparison and cube-string assembly cross-checks
- schedule any actual reuse only later in `Phase 6R`

### `tentone/rubix-solver`

Inspected source surfaces:

- [vision.cpp](C:/Workspaces/HyperTwist/mirrors/permissive/tentone/rubix-solver/vision.cpp:1)
- [cube.cpp](C:/Workspaces/HyperTwist/mirrors/permissive/tentone/rubix-solver/cube.cpp:1)
- [solver.cpp](C:/Workspaces/HyperTwist/mirrors/permissive/tentone/rubix-solver/solver.cpp:1)

High-value salvage:

- native `C++` / `OpenCV` quad model with explicit center-point sorting from top-to-bottom and left-to-right
- square masking plus per-color area thresholds to decide sticker color inside each quad
- explicit cube-face array representation and move application logic in local code, useful for a native comparison implementation
- a concrete native-path comparison bench for capture, face fill, and local state mutation outside Python/browser stacks

Subordinate or later value:

- the local CLI camera loop is useful as a stripped-down native capture reference
- the cube move representation is clean enough to study for native-side data modeling, but not good enough to own solve logic

Non-promotion decisions and rationale:

- do not promote the brute-force solver as a solve donor: `inferior duplicate` and `off topic` because HyperTwist already has stronger solve/reference lanes
- do not use its whole app shell as a donor: `host-shell glue`
- keep its license-file caveat in the root tracker, not here: `license/provenance obligation belongs in REPO_LICENSE_TRACKING`

Integration call:

- retain as the native heuristic comparison donor behind `qbr` and `vivaansinghvi07/rubix-cube-solver`
- use it in `Phase 2R` to freeze what a native recognition comparison bench should measure
- schedule any implementation extraction later in `Phase 6R`

### `Hypercubers/hypercubing.xyz`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/Hypercubers/hypercubing.xyz/README.md:1)
- [leaderboards/generate_leaderboards.py](C:/Workspaces/HyperTwist/mirrors/permissive/Hypercubers/hypercubing.xyz/leaderboards/generate_leaderboards.py:1)
- [hooks/feature_matrix.py](C:/Workspaces/HyperTwist/mirrors/permissive/Hypercubers/hypercubing.xyz/hooks/feature_matrix.py:1)
- [docs/progression.md](C:/Workspaces/HyperTwist/mirrors/permissive/Hypercubers/hypercubing.xyz/docs/progression.md:1)
- [docs/notation.md](C:/Workspaces/HyperTwist/mirrors/permissive/Hypercubers/hypercubing.xyz/docs/notation.md:1)

High-value salvage:

- the strongest current donor for progression sequencing across `3D`, `4D`, non-Euclidean, and `5D+` learning ladders
- concrete hypercube notation pedagogy, including cell names, twist semantics, plane-rotation notation, wide moves, and turn-metric framing
- community-facing puzzle taxonomy, software taxonomy, and comparative feature vocabulary via the feature-matrix hook
- leaderboard generation pipeline for event definitions, solver profiles, formatted times, relative dates, and program icons
- curriculum surfaces spanning theory, methods, techniques, software, puzzles, physical puzzle notes, and community rules

Subordinate or later value:

- the static-site shell and MkDocs plumbing are useful references, but the durable value is the knowledge model and generated content structure
- symbol replacement, table sorting, and doc-site scripts are useful only if HyperTwist later builds comparable knowledge surfaces

Non-promotion decisions and rationale:

- do not promote the entire doc-site shell as a product-shell donor: `host-shell glue`
- do not import community-culture side content such as jokes or koans as if it were core product structure: `off topic` to the retained implementation scope
- do not let this repo override runtime/engine donors: `different domain`

Integration call:

- retain as the primary knowledge, curriculum, theory, notation, and community donor
- use it in `Phase 2R` to freeze knowledge contracts, progression tracks, notation explanations, and leaderboard taxonomy
- schedule early curriculum/reference implementation in `Phase 3R`

### `met4citizen/TalkingHead`

Inspected source surfaces:

- [modules/talkinghead.mjs](C:/Workspaces/HyperTwist/mirrors/permissive/met4citizen/TalkingHead/modules/talkinghead.mjs:1)
- [modules/retargeter.mjs](C:/Workspaces/HyperTwist/mirrors/permissive/met4citizen/TalkingHead/modules/retargeter.mjs:1)
- [modules/lipsync-en.mjs](C:/Workspaces/HyperTwist/mirrors/permissive/met4citizen/TalkingHead/modules/lipsync-en.mjs:1)

High-value salvage:

- browser avatar runtime with configurable camera, lighting, TTS, lip-sync, and muted/avatar-only modes
- structured speech queue and viseme timing concepts for narrated teaching, hints, and guided replay explanation
- retargeting logic for Mixamo-style skeletons, including skeleton detection, transform preservation, and scale alignment
- multi-language lip-sync module pattern, not just English-specific output
- strong pose-template and body-language foundation for embodied coaching instead of only text overlays

Subordinate or later value:

- example assets, avatars, demo pages, and media files are reference material, not core donor value
- dynamic bones and Blender prep scripts are useful later only if HyperTwist adopts richer avatar authoring

Non-promotion decisions and rationale:

- do not adopt the demo shell or asset bundle as the main product shell: `host-shell glue`
- do not treat bundled avatars/media as the key value: `implementation detail better reauthored first-party`
- do not let this repo define XR session management or general browser `3D` architecture: `superseded by stronger retained donor`

Integration call:

- retain as the primary embodied browser coach and narrated companion donor
- use it in `Phase 2R` to freeze avatar, speech-queue, lip-sync, and companion-presence contracts
- schedule companion implementation later in `Phase 3R`

### `NuiLab/code-vr`

Inspected source surfaces:

- [readme.md](C:/Workspaces/HyperTwist/mirrors/permissive/NuiLab/code-vr/readme.md:1)
- [codevr/src/main.rs](C:/Workspaces/HyperTwist/mirrors/permissive/NuiLab/code-vr/codevr/src/main.rs:1)
- [codevr/src/app/player.rs](C:/Workspaces/HyperTwist/mirrors/permissive/NuiLab/code-vr/codevr/src/app/player.rs:1)
- [languages/python/parse.py](C:/Workspaces/HyperTwist/mirrors/permissive/NuiLab/code-vr/languages/python/parse.py:1)
- [languages/client/src/main.rs](C:/Workspaces/HyperTwist/mirrors/permissive/NuiLab/code-vr/languages/client/src/main.rs:1)

High-value salvage:

- the strongest current source-to-space pedagogy concept in `0R-B`: source files become AST, then spatial relationships, then runtime scene graph
- multi-process architecture idea: core runtime, language server, and auxiliary VR metadata pipeline
- embodied navigation and player-camera treatment for representing abstract structure as a traversable space
- proof that symbolic structures can be spatialized and edited with a separate parse/export path

Subordinate or later value:

- the current Python-only parsing example is useful as a conceptual reference, not as a direct implementation target
- the game/competition shell is secondary to the scene-graph pedagogy concept

Non-promotion decisions and rationale:

- do not promote this repo as a direct product donor: `off topic` because it is about programming-in-VR, not puzzle training
- do not transplant its engine shell: `host-shell glue`
- do retain its symbolic-to-spatial pedagogy ideas: this is not discard material, but it is a bounded concept donor

Integration call:

- retain as an XR pedagogy and representation-pattern donor only
- use it in `Phase 2R` when defining optional symbolic-to-spatial teaching experiments
- schedule any practical use only later in `Phase 6R`

### `apache/echarts`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/apache/echarts/README.md:1)
- [src/echarts.ts](C:/Workspaces/HyperTwist/mirrors/permissive/apache/echarts/src/echarts.ts:1)
- [src/core/task.ts](C:/Workspaces/HyperTwist/mirrors/permissive/apache/echarts/src/core/task.ts:1)

High-value salvage:

- declarative charting and reporting model with large surface-area coverage for interactive analytics
- explicit task and scheduler model for staged data processing, partial progress, and downstream propagation
- mature reporting anchor for timelines, distributions, comparisons, dashboards, and educational analytics
- built-in accessibility, theming, localization, and extension posture

Subordinate or later value:

- theme packs, examples, and tests are useful reference material, not the main donor value
- full chart breadth is helpful, but HyperTwist should start with the reporting surfaces it actually needs

Non-promotion decisions and rationale:

- do not let this repo blur into a claim that HyperTwist is becoming browser-first: `different domain / bounded sidecar`
- do not promote lower-level `zrender` over `echarts` for report authoring: `superseded by stronger retained donor`
- keep Apache `NOTICE` handling in the root tracker, not in this packet: `license/provenance obligation belongs in REPO_LICENSE_TRACKING`

Integration call:

- retain as the analytics and reporting anchor
- use it in `Phase 2R` to freeze chart contracts, reporting primitives, and metrics presentation expectations
- schedule browser analytics/reporting work in `Phase 3R`

### `ecomfe/zrender`

Inspected source surfaces:

- [src/zrender.ts](C:/Workspaces/HyperTwist/mirrors/permissive/ecomfe/zrender/src/zrender.ts:1)
- [src/Handler.ts](C:/Workspaces/HyperTwist/mirrors/permissive/ecomfe/zrender/src/Handler.ts:1)

High-value salvage:

- scene-graph-style `2D` rendering substrate for canvas/SVG layers beneath higher-level charts
- careful pointer, drag, and hover handling with boundary-aware event propagation
- layer configuration, dirty refresh, and background/dark-mode thinking usable for advanced chart overlays
- SVG parsing and path tooling that may help if HyperTwist later needs custom vector overlays

Subordinate or later value:

- this repo matters most as an internal substrate under `echarts`
- direct use only becomes important if HyperTwist needs custom non-standard chart overlay behavior

Non-promotion decisions and rationale:

- do not promote `zrender` over `apache/echarts`: `superseded by stronger retained donor`
- do not mistake low-level canvas infrastructure for the reporting product lane: `different abstraction level`

Integration call:

- retain as the lower-level `2D` substrate beneath `apache/echarts`
- use it in `Phase 2R` only to define dependency expectations under the `echarts` lane
- schedule actual use only if `Phase 3R` analytics work needs custom overlay control

### `ecomfe/echarts-gl`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/ecomfe/echarts-gl/README.md:1)
- [src/echarts-gl.js](C:/Workspaces/HyperTwist/mirrors/permissive/ecomfe/echarts-gl/src/echarts-gl.js:1)
- [src/export/all.js](C:/Workspaces/HyperTwist/mirrors/permissive/ecomfe/echarts-gl/src/export/all.js:1)

High-value salvage:

- optional `3D` charting/reporting layer for grids, globes, scatter, flow, and `3D` analytics scenes
- `LayerGL` integration pattern for extending a higher-level chart runtime with WebGL-backed views
- useful explainer-side surfaces for spatial analytics, heat, flows, or structured `3D` educational reporting

Subordinate or later value:

- the broad demo gallery is reference material, not immediate implementation scope
- global globe and map visuals are only relevant if HyperTwist actually needs them

Non-promotion decisions and rationale:

- do not promote `echarts-gl` over `apache/echarts`: `superseded by stronger retained donor`
- do not treat it as a runtime-gameplay engine: `off topic`

Integration call:

- retain as the optional `3D` analytics and explainer layer beneath `apache/echarts`
- use it in `Phase 2R` to define optional `3D` reporting surfaces
- schedule later analytics widening in `Phase 3R`

### `KhronosGroup/glTF-Sample-Viewer`

Inspected source surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/README.md:1)
- [src/model_path_provider.js](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/src/model_path_provider.js:1)

High-value salvage:

- official standards-focused viewer posture for broad glTF extension coverage
- asset QA workflow expectations: model selection, drag/drop load, environment switching, validation, debug channels, statistics, and camera export
- formal model/index catalog resolution useful for asset-test matrix generation
- practical reference for what a standards-aware asset inspection sidecar should expose

Subordinate or later value:

- its UI shell and live web-app packaging are secondary to the QA/validation feature set
- sample-asset browsing is reference value, not direct product functionality

Non-promotion decisions and rationale:

- do not promote this repo as the main browser viewer/editor donor: `superseded by stronger retained donor` (`google/model-viewer`)
- do not treat the app shell as a product donor: `host-shell glue`

Integration call:

- retain as the primary standards-aware asset QA and validation sidecar donor
- use it in `Phase 2R` to freeze asset-inspection and validation expectations
- schedule sidecar implementation later in `Phase 3R`

### `KhronosGroup/glTF-Sample-Renderer`

Inspected source surfaces:

- [glTF-Sample-Renderer/source/gltf-sample-renderer.js](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/glTF-Sample-Renderer/source/gltf-sample-renderer.js:1)
- [glTF-Sample-Renderer/source/Renderer/renderer.js](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/glTF-Sample-Renderer/source/Renderer/renderer.js:1)
- [glTF-Sample-Renderer/source/GltfState/gltf_state.js](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/glTF-Sample-Renderer/source/GltfState/gltf_state.js:1)
- [glTF-Sample-Renderer/source/ResourceLoader/resource_loader.js](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/glTF-Sample-Renderer/source/ResourceLoader/resource_loader.js:1)

High-value salvage:

- lower-level renderer/state/resource-loader separation beneath the sample viewer
- concrete extension-heavy WebGL renderer with environment rendering, framebuffer, multisampling, and resource-state handling
- strong standards-fidelity reference for asset QA and golden-image reasoning

Subordinate or later value:

- this repo matters primarily beneath sample-viewer and standards QA
- it is useful for renderer comparison, not as the main browser product viewer lane

Non-promotion decisions and rationale:

- do not promote it over `google/model-viewer` as the browser viewer/editor donor: `superseded by stronger retained donor`
- do not treat its renderer shell as HyperTwist's browser `3D` base: `superseded by stronger retained donor` (`mrdoob/three.js`)

Integration call:

- retain as the lower-level standards renderer reference beneath the sample-viewer lane
- use it in `Phase 2R` when defining fidelity and validation expectations
- schedule only as a subordinate sidecar in `Phase 3R`

### `google/model-viewer`

Inspected source surfaces:

- [packages/model-viewer/README.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/model-viewer/README.md:1)
- [packages/model-viewer/src/model-viewer-base.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/model-viewer/src/model-viewer-base.ts:1)
- [packages/model-viewer/src/features/scene-graph.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/model-viewer/src/features/scene-graph.ts:1)
- [packages/model-viewer/src/features/controls.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/model-viewer/src/features/controls.ts:1)

High-value salvage:

- polished browser viewer shell with resize/viewport lifecycle, accessibility status, and sensible rendering defaults
- scene-graph API for textures, variants, extra models, export, transform, and material-from-point inspection
- camera-orbit, target, field-of-view, prompt, and interaction semantics suitable for embedded educational viewers
- concrete extra-model, visibility, and source-update handling for browser-side inspection/editor experiences

Subordinate or later value:

- the exact custom-element shell is useful, but HyperTwist should preserve the interaction and scene-graph contract more than the exact host stack
- AR/browser-specific integrations are optional sidecar value, not required for the Unreal-first runtime

Non-promotion decisions and rationale:

- do not allow this repo to blur into a claim that HyperTwist is abandoning Unreal-first runtime decisions: `bounded sidecar only`
- do not let its supporting packages outrank the core viewer package: `package hierarchy`

Integration call:

- retain and promote as the primary browser presentation, inspection, and editor anchor
- use it in `Phase 2R` to freeze browser-side viewer/editor contracts
- schedule implementation in `Phase 3R`

### `google/model-viewer/packages/model-viewer-effects`

Inspected source surfaces:

- [packages/model-viewer-effects/src/model-viewer-effects.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/model-viewer-effects/src/model-viewer-effects.ts:1)
- [packages/model-viewer-effects/src/effect-composer.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/model-viewer-effects/src/effect-composer.ts:1)

High-value salvage:

- clean custom-element effect registry layered on top of `model-viewer`
- integrated effect composer for outline, bloom, selective bloom, color grade, SMAA, SSAO, glitch, and pixelate behaviors
- useful pattern for declarative per-viewer highlight and inspection effects

Subordinate or later value:

- this package matters only when HyperTwist actually builds browser viewer/editor surfaces around `model-viewer`
- it is not a general rendering foundation

Non-promotion decisions and rationale:

- do not promote it over `google/model-viewer`: `package hierarchy / stronger retained donor`
- do not promote it over `pmndrs/postprocessing` as a general effect substrate: `superseded by stronger retained donor` for generic effect infrastructure

Integration call:

- retain as a subordinate package beneath the `google/model-viewer` lane
- use it later in `Phase 3R` only if browser viewer emphasis and inspection effects are needed

### `google/model-viewer/packages/modelviewer.dev`

Inspected source surfaces:

- [packages/modelviewer.dev/README.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/modelviewer.dev/README.md:1)
- [packages/modelviewer.dev/src/components/example-snippet.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/modelviewer.dev/src/components/example-snippet.ts:1)

High-value salvage:

- runnable docs/demo infrastructure that keeps examples executable and human-readable from one source template
- practical snippet-stamping and syntax-highlight pipeline for documentation-driven examples
- useful reference for how HyperTwist could present browser-side example surfaces without hand-maintaining separate code blocks and demos

Subordinate or later value:

- examples, docs site pages, and assets are educational infrastructure, not core product logic

Non-promotion decisions and rationale:

- do not promote this package as product functionality: `host-shell glue` and `off topic` to the current retained implementation scope
- keep it as docs/demo infrastructure only: `different domain`

Integration call:

- retain as subordinate docs/demo infrastructure under the `google/model-viewer` lane
- use only later if HyperTwist needs live browser example documentation

### `google/model-viewer/packages/render-fidelity-tools`

Inspected source surfaces:

- [packages/render-fidelity-tools/src/workflows/compare-results.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/render-fidelity-tools/src/workflows/compare-results.ts:1)
- [packages/render-fidelity-tools/src/workflows/render-goldens.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/render-fidelity-tools/src/workflows/render-goldens.ts:1)

High-value salvage:

- golden-image rendering workflow for controlled screenshot generation across renderer/scenario matrices
- threshold-based result comparison for fidelity regressions and renderer drift
- artifact creation, config-driven scenario selection, and side-by-side standards comparison posture

Subordinate or later value:

- huge golden directories are useful as reference or fixtures, not immediate donor logic
- the package is a QA oracle, not a runtime/viewer product surface

Non-promotion decisions and rationale:

- do not promote this package as user-facing functionality: `different domain`
- do not let it outrank `KhronosGroup/glTF-Sample-Viewer` for standards-aware QA entry points: `superseded by stronger retained donor`

Integration call:

- retain as a fidelity-oracle and regression sidecar
- use it in `Phase 2R` to define browser asset QA and render-regression expectations
- schedule only as a testing/QA sidecar in `Phase 3R`

### `google/model-viewer/packages/space-opera`

Inspected source surfaces:

- [packages/space-opera/src/space_opera_base.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/space-opera/src/space_opera_base.ts:1)
- [packages/space-opera/src/components/model_viewer_snippet/model_viewer_snippet.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/space-opera/src/components/model_viewer_snippet/model_viewer_snippet.ts:1)
- [packages/space-opera/src/components/inspector/inspector.ts](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/space-opera/src/components/inspector/inspector.ts:1)

High-value salvage:

- browser editor posture built around a global Redux store
- inspector, snippet export, hotspot configuration, best-practices checks, mobile/AR configuration, and import/export flows
- practical `model-viewer` snippet generation and editable configuration workflow
- strong sidecar editor reference for browser-side asset inspection and parameter authoring

Subordinate or later value:

- the exact editor shell is secondary to the inspector/hotspot/export architecture
- its own docs/demo and UI stack are not the durable value

Non-promotion decisions and rationale:

- do not promote this package over the base `google/model-viewer` package: `package hierarchy`
- do not transplant its full app shell as-is: `host-shell glue`

Integration call:

- retain as the subordinate browser editor donor under the `google/model-viewer` lane
- use it in `Phase 2R` to shape browser-side inspector, hotspot, and snippet/export expectations
- schedule implementation in `Phase 3R` after the base viewer lane

### `mrdoob/three.js`

Inspected source surfaces:

- [src/Three.js](C:/Workspaces/HyperTwist/mirrors/permissive/mrdoob/three.js/src/Three.js:1)
- [src/renderers/WebGLRenderer.js](C:/Workspaces/HyperTwist/mirrors/permissive/mrdoob/three.js/src/renderers/WebGLRenderer.js:1)

High-value salvage:

- commodity browser `3D` substrate with renderer, scene, math, animation, PMREM/environment support, and large ecosystem breadth
- stable underlying browser rendering model beneath `model-viewer`, `react-three-fiber`, `drei`, `xr`, `uikit`, and many sidecar packages
- direct value for browser preview, lightweight editors, and standards-sidecars

Subordinate or later value:

- vast example ecosystem is useful reference material, not a direct mandate to pull every helper into HyperTwist

Non-promotion decisions and rationale:

- do not treat `three.js` as a replacement for the Unreal-first product runtime: `bounded browser-side substrate only`
- do not promote example-app shells built around it: `host-shell glue`

Integration call:

- retain and promote as the commodity browser `3D` substrate
- use it in `Phase 2R` to freeze browser-side rendering assumptions beneath higher-level support lanes
- schedule use in `Phase 3R` only through higher-level browser sidecars

### `pissang/claygl`

Inspected source surfaces:

- [src/claygl.js](C:/Workspaces/HyperTwist/mirrors/permissive/pissang/claygl/src/claygl.js:1)
- [src/picking/RayPicking.js](C:/Workspaces/HyperTwist/mirrors/permissive/pissang/claygl/src/picking/RayPicking.js:1)

High-value salvage:

- alternative browser `3D` engine with compositing, deferred renderer, scene graph, loaders, controls, and picking
- detailed ray-picking logic for local/world intersections, skinned meshes, and triangle-level picking
- useful comparison surface for viewer/editor sidecars and `3D` analytics support

Subordinate or later value:

- the broad engine surface is interesting, but most retained value is comparative and optional
- it mainly matters beneath `clay-viewer` and as an alternative support lane

Non-promotion decisions and rationale:

- do not promote this lane over `mrdoob/three.js`: `superseded by stronger retained donor`
- do not let it define HyperTwist browser architecture by default: `inferior duplicate` for current retained scope

Integration call:

- retain as an optional alternative browser support donor
- use only later, and only if a sidecar specifically benefits from this lane in `Phase 3R`

### `pissang/clay-viewer`

Inspected source surfaces:

- [src/Viewer.js](C:/Workspaces/HyperTwist/mirrors/permissive/pissang/clay-viewer/src/Viewer.js:1)

High-value salvage:

- viewer-shell patterns for environment setup, orbit control, hotspots, scene helpers, ground plane, and post-effect toggles
- material and animation bookkeeping patterns for browser asset viewers
- useful optional preview/editor sidecar reference

Subordinate or later value:

- the exact viewer shell is reference material; the durable value is hotspot/viewer behavior and environment tooling

Non-promotion decisions and rationale:

- do not promote this repo over `google/model-viewer`: `superseded by stronger retained donor`
- do not promote it over `claygl`: `package hierarchy`

Integration call:

- retain only as an optional viewer-sidecar comparison lane
- schedule no direct implementation ahead of the stronger browser viewer stack

### `pmndrs/postprocessing`

Inspected source surfaces:

- [src/core/EffectComposer.js](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/postprocessing/src/core/EffectComposer.js:1)
- [src/effects/OutlineEffect.js](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/postprocessing/src/effects/OutlineEffect.js:1)
- [src/effects/SSAOEffect.js](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/postprocessing/src/effects/SSAOEffect.js:1)
- [src/passes/NormalPass.js](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/postprocessing/src/passes/NormalPass.js:1)

High-value salvage:

- browser postprocessing substrate with explicit input/output buffers, pass chains, depth textures, and multisampling controls
- reusable effect infrastructure for outlines, ambient occlusion, and selective emphasis in sidecar viewers
- broad utility beneath React and `model-viewer` effect wrappers

Subordinate or later value:

- effect breadth is useful, but HyperTwist only needs a narrow subset for inspection/emphasis workflows

Non-promotion decisions and rationale:

- do not promote this repo as a viewer or runtime owner: `different abstraction level`
- keep it beneath viewer/editor lanes: `subordinate dependency`

Integration call:

- retain as the primary browser post-effect substrate
- use in `Phase 2R` to define which emphasis and QA effects matter
- schedule use in `Phase 3R` beneath browser viewer/editor lanes

### `pmndrs/react-postprocessing`

Inspected source surfaces:

- [src/EffectComposer.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-postprocessing/src/EffectComposer.tsx:1)
- [src/effects/Outline.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-postprocessing/src/effects/Outline.tsx:1)
- [src/effects/SSAO.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-postprocessing/src/effects/SSAO.tsx:1)

High-value salvage:

- declarative React wrapper for postprocessing passes above `react-three-fiber`
- useful composition model for browser-side effect stacks when HyperTwist uses a React viewer/editor shell

Subordinate or later value:

- it only matters under the `react-three-fiber` lane

Non-promotion decisions and rationale:

- do not promote it above `pmndrs/postprocessing`: `package hierarchy`
- do not use it outside the React-side browser support lane: `different domain`

Integration call:

- retain as a subordinate React wrapper under `postprocessing` + `react-three-fiber`
- schedule only if HyperTwist builds a React-based browser viewer/editor in `Phase 3R`

### `pmndrs/react-three-fiber`

Inspected source surfaces:

- [packages/fiber/src/core/renderer.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-three-fiber/packages/fiber/src/core/renderer.tsx:1)
- [packages/fiber/src/web/Canvas.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-three-fiber/packages/fiber/src/web/Canvas.tsx:1)
- [packages/fiber/src/core/store.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-three-fiber/packages/fiber/src/core/store.ts:1)
- [packages/fiber/src/core/hooks.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-three-fiber/packages/fiber/src/core/hooks.tsx:1)

High-value salvage:

- React reconciler bridge to `three.js`, including renderer setup, camera defaults, event routing, invalidation, and root lifecycle
- Canvas shell with measurement, event-source wiring, suspense/error handling, and rendering orchestration
- strong substrate for React-based browser sidecars rather than hand-rolled imperative viewer code

Subordinate or later value:

- the exact `Canvas` host shell is implementation detail; the durable value is the renderer/store/event model

Non-promotion decisions and rationale:

- do not promote it over `mrdoob/three.js` as the base browser `3D` substrate: `different abstraction level`
- do not allow it to imply a browser-first product runtime switch: `bounded sidecar only`

Integration call:

- retain and promote as the React renderer substrate above `three.js`
- use it in `Phase 2R` to freeze React-side browser support assumptions
- schedule use in `Phase 3R`

### `pmndrs/drei`

Inspected source surfaces:

- [src/core/OrbitControls.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/drei/src/core/OrbitControls.tsx:1)
- [src/web/View.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/drei/src/web/View.tsx:1)
- [src/core/GizmoHelper.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/drei/src/core/GizmoHelper.tsx:1)

High-value salvage:

- high-quality helper layer for controls, multi-view composition, gizmos, and common viewer/editor affordances
- strong browser-side ergonomics donor for inspection tooling rather than low-level rendering

Subordinate or later value:

- many helpers are optional convenience rather than core architecture

Non-promotion decisions and rationale:

- do not promote `drei` over `react-three-fiber`: `package hierarchy`
- do not treat helper breadth as product ownership: `different abstraction level`

Integration call:

- retain as the helper/abstraction layer above `react-three-fiber`
- schedule use only where browser sidecars need it in `Phase 3R`

### `pmndrs/xr`

Inspected source surfaces:

- [packages/xr/src/store.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/xr/packages/xr/src/store.ts:1)

High-value salvage:

- robust XR state model with session, reference space, input sources, layers, detected planes/meshes, and emulator support
- controller/hand/gaze/screen-input abstraction and input-source resolution logic
- best current `0R-B` donor for browser XR interaction/session infrastructure

Subordinate or later value:

- advanced body tracking and emulator features are later-stage value, not immediate scope

Non-promotion decisions and rationale:

- do not promote this repo as a general viewer/editor owner: `different domain`
- do not let it replace `TalkingHead` for companion/avatar value: `different domain`

Integration call:

- retain and promote as the browser XR interaction anchor
- use it in `Phase 2R` to freeze session/input/layer expectations for XR sidecars
- schedule use in `Phase 3R`

### `pmndrs/uikit`

Inspected source surfaces:

- [packages/react/src/index.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/uikit/packages/react/src/index.tsx:1)

High-value salvage:

- spatial UI component model for `3D` scenes: containers, text, images, video, input, SVG, fullscreen overlays, and camera-attached UI
- practical bridge between React-side `3D` scenes and ergonomic UI primitives
- strongest current candidate for browser-side spatial UI surfaces that sit beside `pmndrs/xr`

Subordinate or later value:

- demo kits and icon/font packages are supportive infrastructure, not core donor value

Non-promotion decisions and rationale:

- do not promote it above `pmndrs/xr`: `different domain / complementary lane`
- do not promote it as a global product UI system across Unreal and browser lanes: `bounded sidecar only`

Integration call:

- retain and slightly promote as the browser spatial UI layer beside `pmndrs/xr`
- use it in `Phase 2R` when freezing XR/browser-side UI expectations
- schedule use in `Phase 3R`

### `pmndrs/three-stdlib`

Inspected source surfaces:

- [src/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/three-stdlib/src/index.ts:1)

High-value salvage:

- consolidated, modernized export surface for `three.js` example controls, loaders, exporters, postprocessing helpers, environments, and XR utilities
- pragmatic dependency donor for browser sidecars that need stable access to common Three add-ons

Subordinate or later value:

- it is a convenience and compatibility layer, not a product-owner lane

Non-promotion decisions and rationale:

- do not promote it over `three.js` or `drei`: `different abstraction level`

Integration call:

- retain as a subordinate utility substrate beneath the `three.js` + `react-three-fiber` stack
- schedule only where browser sidecars need a stabilized addon import surface

### `pmndrs/maath`

Inspected source surfaces:

- [packages/maath/src/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/maath/packages/maath/src/index.ts:1)

High-value salvage:

- compact math-helper bundle for easing, geometry, matrices, randoms, vectors, and triangle utilities
- useful narrow helper lane for browser-side interaction polish and geometry utilities

Subordinate or later value:

- convenience math only; not architecture

Non-promotion decisions and rationale:

- do not promote this repo as a standalone donor lane: `different abstraction level`

Integration call:

- retain as a narrow browser-side helper dependency
- schedule only if supporting math helpers are actually needed in `Phase 3R`

### `pmndrs/zustand`

Inspected source surfaces:

- [src/vanilla.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/zustand/src/vanilla.ts:1)
- [src/middleware/persist.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/zustand/src/middleware/persist.ts:1)
- [src/middleware/subscribeWithSelector.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/zustand/src/middleware/subscribeWithSelector.ts:1)

High-value salvage:

- small predictable browser store API with subscribe/get/set semantics
- good persistence and hydration story for browser-side settings or editor state
- useful selector-aware store substrate beneath React-side support lanes

Subordinate or later value:

- middleware breadth is supportive, not strategic

Non-promotion decisions and rationale:

- do not promote this repo as a feature donor: `different abstraction level`
- keep it as support infrastructure under browser/editor lanes

Integration call:

- retain as the browser-side state-management substrate
- schedule only where browser sidecars need local/editor state in `Phase 3R`

### `pmndrs/leva`

Inspected source surfaces:

- [packages/leva/src/index.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/leva/packages/leva/src/index.ts:1)
- [packages/leva/src/components/Leva/LevaRoot.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/leva/packages/leva/src/components/Leva/LevaRoot.tsx:1)
- [packages/leva/src/useControls.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/leva/packages/leva/src/useControls.ts:1)

High-value salvage:

- parameter-panel and control-surface model for quick editor/debug tooling
- plugin-driven control registration for numbers, booleans, vectors, colors, images, intervals, and select inputs
- useful authoring/debug sidecar for browser viewer/editor tuning

Subordinate or later value:

- this is an authoring/debug UI layer, not user-facing product structure

Non-promotion decisions and rationale:

- do not promote `leva` as product UI: `off topic` to end-user retained scope
- keep it as a tooling sidecar only: `different domain`

Integration call:

- retain as a bounded browser authoring/debug sidecar
- schedule only if `Phase 3R` browser tooling needs live parameter control

### `pmndrs/use-gesture`

Inspected source surfaces:

- [packages/core/src/Controller.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/use-gesture/packages/core/src/Controller.ts:1)
- [packages/core/src/engines/DragEngine.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/use-gesture/packages/core/src/engines/DragEngine.ts:1)
- [packages/react/src/useDrag.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/use-gesture/packages/react/src/useDrag.ts:1)

High-value salvage:

- unified gesture controller and event binding model for drag, pinch, move, wheel, scroll, and hover
- strong drag-intent, pointer-capture, prevent-scroll, and tap/swipe handling logic
- useful browser-side interaction substrate beneath editors, viewers, and XR-adjacent UI

Subordinate or later value:

- many demo patterns are optional convenience, not core donor value

Non-promotion decisions and rationale:

- do not promote it as product functionality on its own: `different abstraction level`

Integration call:

- retain as the richer pointer/gesture substrate for browser sidecars
- schedule use only where browser interactions need it in `Phase 3R`

### `pmndrs/react-spring`

Inspected source surfaces:

- [packages/core/src/Controller.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/core/src/Controller.ts:1)
- [packages/shared/src/FrameLoop.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/shared/src/FrameLoop.ts:1)
- [packages/animated/src/createHost.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/animated/src/createHost.ts:1)
- [packages/parallax/src/index.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/parallax/src/index.tsx:1)

High-value salvage:

- spring controller, batched events, frame loop, and host abstraction for rich browser motion
- reusable substrate for stateful animated values, motion orchestration, and renderer-specific animated hosts
- parallax/page-layer semantics are useful only for bounded explanatory/browser surfaces

Subordinate or later value:

- motion is support value, not a primary HyperTwist product lane
- large demo set is reference material only

Non-promotion decisions and rationale:

- do not over-promote animation polish into architecture ownership: `different abstraction level`
- do not use `@react-spring/parallax` style surfaces as a default product composition pattern: `bounded sidecar only`

Integration call:

- retain as the browser-side motion substrate
- use it in `Phase 2R` to define optional motion/runtime expectations for browser sidecars
- schedule actual use only in `Phase 3R`

### `@react-spring/core`

Inspected source surfaces:

- [packages/core/src/Controller.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/core/src/Controller.ts:1)
- [packages/core/src/SpringValue.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/core/src/SpringValue.ts:1)

High-value salvage:

- spring controllers, update queueing, async scheduling, and value ownership
- core motion semantics behind the broader `react-spring` lane

Subordinate or later value:

- internal package row only; it matters beneath the monorepo lane

Non-promotion decisions and rationale:

- do not treat this row as an independent donor from `pmndrs/react-spring`: `package hierarchy`

Integration call:

- retain only as a subordinate package row under `pmndrs/react-spring`

### `@react-spring/shared`

Inspected source surfaces:

- [packages/shared/src/FrameLoop.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/shared/src/FrameLoop.ts:1)

High-value salvage:

- frameloop, scheduling, and shared motion utilities behind the broader spring stack

Subordinate or later value:

- internal package row only

Non-promotion decisions and rationale:

- do not treat this row as independent donor value: `package hierarchy`

Integration call:

- retain only as a subordinate package row under `pmndrs/react-spring`

### `@react-spring/types`

Inspected source surfaces:

- [packages/types/package.json](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/types/package.json:1)

High-value salvage:

- package-row bookkeeping only; type contracts exist to support the broader spring stack

Subordinate or later value:

- type-only support value

Non-promotion decisions and rationale:

- do not treat this row as implementation donor value: `different abstraction level`

Integration call:

- retain only as a subordinate package row under `pmndrs/react-spring`

### `@react-spring/parallax`

Inspected source surfaces:

- [packages/parallax/src/index.tsx](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/parallax/src/index.tsx:1)

High-value salvage:

- layered scroll/page composition pattern for optional browser explainers

Subordinate or later value:

- highly bounded and only useful if HyperTwist later builds browser explainers or docs-like walkthroughs

Non-promotion decisions and rationale:

- do not treat this as product-shell guidance: `off topic` to the retained implementation surface

Integration call:

- retain only as a subordinate package row under `pmndrs/react-spring`

### `@react-spring/rafz`

Inspected source surfaces:

- [packages/rafz/README.md](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/rafz/README.md:1)
- [packages/shared/src/FrameLoop.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/shared/src/FrameLoop.ts:1)

High-value salvage:

- frame scheduling and coordination value behind the broader spring stack

Subordinate or later value:

- internal package row only

Non-promotion decisions and rationale:

- do not promote this row independently: `package hierarchy`

Integration call:

- retain only as a subordinate package row under `pmndrs/react-spring`

### `@react-spring/animated`

Inspected source surfaces:

- [packages/animated/src/createHost.ts](C:/Workspaces/HyperTwist/mirrors/permissive/pmndrs/react-spring/packages/animated/src/createHost.ts:1)

High-value salvage:

- host-wrapping logic for renderer-specific animated components

Subordinate or later value:

- internal package row only

Non-promotion decisions and rationale:

- do not promote this row independently: `package hierarchy`

Integration call:

- retain only as a subordinate package row under `pmndrs/react-spring`

## Bottom line

`Packet 0R-B` no longer exists merely as a permissive backlog summary.

It is now a deep-source, integration-facing authority packet.

The operational truth after this rewrite remains:

- no `0R-B` repo is currently proven live in checked Unreal surfaces
- all thirty-six remain retained
- the strongest `0R-B` owners are:
  - `Hypercubers/hypercubing.xyz`
  - `apache/echarts`
  - `google/model-viewer`
  - `KhronosGroup/glTF-Sample-Viewer`
  - `met4citizen/TalkingHead`
  - `pmndrs/xr`
- most of the remaining browser-side packages are explicitly helper, support, effect, or package-subordinate lanes, not equal product donors

The next clean move after this packet remains `0R-C`.
