Reconcile twisty replay shell hierarchy
This commit is contained in:
parent
3f9e044210
commit
ecf0190a39
4 changed files with 219 additions and 1 deletions
|
|
@ -302,6 +302,15 @@ Integration call:
|
|||
- use it in `Phase 2R` to freeze element bootstrapping, observer-driven playback, scrubber/control semantics, and puzzle-adapter contracts
|
||||
- refresh the Model A handoff with the deeper cursor, observer, and visualization-fallback findings
|
||||
- if later implementation proceeds, schedule Model B work in `Phase 5R`, not as direct donor use
|
||||
- current `2026-05-27` reconciliation overlay:
|
||||
- repo-local extraction unchanged
|
||||
- the first-party `HyperTwistSimulation` owner lane is now verified live and
|
||||
closed through `Bound 4`
|
||||
- keep classic-cubing semantics with `cubing/cubing.js`, parser and AST
|
||||
ownership with `cubing/alg.js`, and broader browser support ownership with
|
||||
the landed browser support lanes
|
||||
- do not reopen `Bound 1` through `Bound 4` by default; later work must be a
|
||||
new consumer-owner or shell packet if justified
|
||||
|
||||
### `HactarCE/2x2x2x2-Scrambler`
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,199 @@
|
|||
# HyperTwist Replay Shell And Viewer Timeline Hierarchy Reconciliation - 2026-05-27
|
||||
|
||||
## Status
|
||||
|
||||
This document is the source-backed reconciliation note for the current replay
|
||||
shell and viewer timeline family across:
|
||||
|
||||
- `cubing/twisty.js`
|
||||
- the landed first-party `HyperTwistSimulation` owner lane
|
||||
- the landed `cubing/cubing.js` and `cubing/alg.js` owner lanes consumed
|
||||
read-only by this shell
|
||||
- the landed browser viewer and browser spatial support lanes that must not be
|
||||
silently absorbed
|
||||
|
||||
It answers one narrow question:
|
||||
|
||||
- does the current `cubing/twisty.js` source require reopening the landed
|
||||
bounded first-party replay-player and visualization owner lane before any
|
||||
future shell or consumer packet is considered
|
||||
|
||||
Result:
|
||||
|
||||
- no product-code reopening is required
|
||||
- yes selective authority backfill is required so candidate-era metadata no
|
||||
longer understates the already-landed replay shell and visualization lane
|
||||
- the exact current owner slice remains narrow: player shell, cursor/timeline
|
||||
transport, adapter/bootstrap, and local visualization/fallback presentation
|
||||
behavior
|
||||
|
||||
## Source basis
|
||||
|
||||
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_0R_PACKET_0R_D_EVALUATION_2026-05-13.md`
|
||||
- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`
|
||||
- `C:\HyperTwist\docs\v6_5_deep_manual_pack\HyperTwist\FEATURE_REGISTRY.md`
|
||||
- `C:\Workspaces\HyperTwist\repos.manifest.json`
|
||||
- `C:\Workspaces\HyperTwist\clean-room-specs\cubing-twisty-js.model-a.md`
|
||||
- `C:\Workspaces\HyperTwist\clean-room-specs\outputs\cubing-twisty-js.model-b-reconciled.md`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\README.md`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\src\twisty.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\src\widget.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\src\anim.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\src\cursor.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\src\puzzle.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\src\3D\twisty3D.ts`
|
||||
- `C:\Workspaces\HyperTwist\mirrors\restrictive\cubing\twisty.js\src\3D\cube3D.ts`
|
||||
- current first-party runtime and test authority under:
|
||||
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Public\HyperTwistSimulation`
|
||||
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Private\HyperTwistSimulation`
|
||||
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Tests\HyperTwistTwistyBound1ReplayShellTest.cpp`
|
||||
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Tests\HyperTwistTwistyBound3AdapterBootstrapTest.cpp`
|
||||
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Tests\HyperTwistTwistyBound4VisualizationTest.cpp`
|
||||
|
||||
## Slice-local verdict
|
||||
|
||||
| Slice | Primary authority | Secondary value kept | Route | Width | Result |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Replay player shell, cursor/timeline transport, scrubber/control bar, and embedded host bootstrap above landed replay inputs | first-party `HyperTwistSimulation` lane grounded in `cubing/twisty.js` | `cubing/cubing.js` and `cubing/alg.js` remain read-only adjacent owners | `R3` | `F2` | unchanged live implementation owner |
|
||||
| Visualization shell, `2D/3D` selection, fallback policy, and fullscreen/expanded presentation | first-party `HyperTwistSimulation` lane grounded in `cubing/twisty.js` | landed browser support lanes remain adjacent support surfaces | `R3` | `F2` | unchanged live implementation owner |
|
||||
| Classic-cubing semantic ownership, parser/AST ownership, and broader browser-viewer or browser-spatial ownership | adjacent landed lanes | none required from `cubing/twisty.js` | existing adjacent routes | `F2` | unchanged adjacent owners |
|
||||
|
||||
## Why no product-code reopening is required
|
||||
|
||||
### `cubing/twisty.js`
|
||||
|
||||
The donor still owns the narrow replay/player shell center of gravity:
|
||||
|
||||
- compact player-shell composition
|
||||
- observer-driven playback and cursor transport
|
||||
- puzzle-adapter boundary
|
||||
- embedded host bootstrap
|
||||
- local `2D/3D` visualization shell and fallback presentation behavior
|
||||
|
||||
That retained slice remains correct. It does not widen into classic-cubing
|
||||
semantic ownership, parser ownership, or generic browser substrate ownership.
|
||||
|
||||
### Landed first-party owner lane
|
||||
|
||||
The first-party owner lane is already live and closed in current code:
|
||||
|
||||
- public owner surfaces exist under `Public/HyperTwistSimulation`
|
||||
- private implementation surfaces exist under `Private/HyperTwistSimulation`
|
||||
- the current owner is expressed through `UHyperTwistPuzzleViewerComponent`,
|
||||
`UHyperTwistViewerLibrary`, and the bounded simulation/viewer type families
|
||||
- the repo-local reconciled note already records `Bounds 1-4 closed`
|
||||
- focused automation exists for the replay shell, adapter/bootstrap, and
|
||||
visualization/fallback slices
|
||||
|
||||
That means the same-bound owner work is already landed. This pass does not find
|
||||
an owner-side gap that justifies reopening it.
|
||||
|
||||
### Current adjacent owner boundaries
|
||||
|
||||
The current adjacent-owner split is also still correct:
|
||||
|
||||
- `cubing/cubing.js` remains the landed classic-cubing semantic and geometry
|
||||
owner consumed read-only by this shell
|
||||
- `cubing/alg.js` remains the landed algorithm-language owner consumed read-only
|
||||
by replay/player behavior
|
||||
- the landed browser support lanes remain support surfaces beneath the local
|
||||
shell rather than competing player-shell owners
|
||||
|
||||
Those boundaries do not need to be reopened for this lane.
|
||||
|
||||
## Selective backfill result
|
||||
|
||||
### Earlier packet reopened
|
||||
|
||||
- `C:\HyperTwist\docs\HYPERTWIST_PHASE_0R_PACKET_0R_D_EVALUATION_2026-05-13.md`
|
||||
|
||||
### Earlier standing note reopened
|
||||
|
||||
- `C:\Workspaces\HyperTwist\clean-room-specs\cubing-twisty-js.model-a.md`
|
||||
|
||||
### Manifest row reopened
|
||||
|
||||
- `C:\Workspaces\HyperTwist\repos.manifest.json`
|
||||
|
||||
### Additional canon reopened
|
||||
|
||||
- `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md`
|
||||
- `C:\HyperTwist\docs\v6_5_deep_manual_pack\HyperTwist\FEATURE_REGISTRY.md`
|
||||
|
||||
### Reason
|
||||
|
||||
The landed lane itself was already correct. The stale part was the metadata:
|
||||
|
||||
- the canonical `Model A` handoff still described the row as not yet verified
|
||||
live
|
||||
- the manifest row still preserved the older reset-era wording
|
||||
- the tracker and registry were still too compact to express the exact narrow
|
||||
landed owner slice and the adjacent-owner split cleanly
|
||||
|
||||
### Change class
|
||||
|
||||
- repo-local extraction did not change
|
||||
- landed owner interpretation was confirmed rather than reversed
|
||||
- dependent canon was sharpened so the lane stays narrow and clearly closed
|
||||
- no product-code change occurred
|
||||
|
||||
### What remained valid
|
||||
|
||||
- the restrictive `GPL-3.0-or-later` clean-room route remained valid
|
||||
- the original `0R-D` decision to keep `cubing/twisty.js` separate from
|
||||
`cubing/cubing.js` custody remained valid
|
||||
- the repo-local `Bounds 1-4 closed` conclusion remained valid
|
||||
|
||||
### What changed
|
||||
|
||||
The dependent canon now makes the current landed role explicit:
|
||||
|
||||
- keep `cubing/twisty.js` grounded first-party ownership inside
|
||||
`HyperTwistSimulation`
|
||||
- keep classic-cubing semantics with `cubing/cubing.js`
|
||||
- keep parser and AST ownership with `cubing/alg.js`
|
||||
- keep broader browser-viewer and browser-spatial ownership with the landed
|
||||
browser support lanes
|
||||
- do not reopen the closed `Bound 1` through `Bound 4` sequence by default
|
||||
|
||||
## Propagation result
|
||||
|
||||
### Feature registry
|
||||
|
||||
Updated.
|
||||
|
||||
The registry now says what is actually live: first-party replay/player shell
|
||||
and visualization ownership is real for player shell, cursor/timeline
|
||||
transport, adapter/bootstrap, and fallback/fullscreen presentation behavior.
|
||||
|
||||
### Cross-lane doctrine
|
||||
|
||||
No doctrine wording change was needed.
|
||||
|
||||
This pass applied the existing `A/R/F` hierarchy; it did not change the
|
||||
hierarchy rules themselves.
|
||||
|
||||
### Skillization
|
||||
|
||||
No doctrine or `SKILLS.md` change was needed.
|
||||
|
||||
This pass did not create or reopen any command or skill surface.
|
||||
|
||||
### Legal evidence
|
||||
|
||||
No license-status or mirror-custody change occurred.
|
||||
|
||||
The repo-row tracker, feature registry, manifest row, and canonical handoff
|
||||
status were sharpened instead.
|
||||
|
||||
## Operational answer
|
||||
|
||||
Before any future replay-shell, visualization-shell, or broader consumer packet
|
||||
is considered, the correct move was this authority backfill first.
|
||||
|
||||
After this pass:
|
||||
|
||||
- do not reopen `Bound 1`, `Bound 2`, `Bound 3`, or `Bound 4`
|
||||
- do not reinterpret adjacent owner consumption as a same-bound owner gap
|
||||
- if later work is justified, scope it as a new consumer-owner or shell packet
|
||||
above the closed replay/player owner lane
|
||||
|
|
@ -1059,6 +1059,16 @@ Approved working posture:
|
|||
- treat it as its own Model A extraction line for compact viewer/player architecture, scrubber/control-bar semantics, animation/cursor observers, puzzle adapters, and embedded `<twisty>` element behavior
|
||||
- Model B must not read the mirror
|
||||
- Model B may only consume `C:\Workspaces\HyperTwist\clean-room-specs\cubing-twisty-js.model-a.md`
|
||||
- current `2026-05-27` reconciliation overlay:
|
||||
- the bounded first-party `HyperTwistSimulation` replay/player and
|
||||
visualization owner lane is verified live and closed through `Bound 4`
|
||||
- the landed owner slice is player shell, cursor/timeline transport,
|
||||
adapter/bootstrap, and local visualization/fallback presentation behavior
|
||||
- keep classic-cubing semantics with `cubing/cubing.js`, parser/AST
|
||||
ownership with `cubing/alg.js`, and broader browser support ownership with
|
||||
the landed browser support lanes
|
||||
- do not reopen the closed owner lane by default; later work must be a new
|
||||
consumer-owner or shell packet if justified
|
||||
|
||||
### `cahidenes/rubiks-cube-solver`
|
||||
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ repo.
|
|||
| Native puzzle-state runtime | Implemented now | first-party runtime + landed donor packets | Core product identity. |
|
||||
| Classic-cubing semantic/runtime adapter | Implemented now | landed `cubing/cubing.js` packet | Live adapter family. |
|
||||
| Seeded competition scramble workflow and lightweight scramble-operator shell adjuncts | Deep-source grounded retained | `cubing/cubing.js` retained lane + `cubing/mark3` / `cubing/scramble.cubing.net` successor evaluation | Source-backed successor surfaces sharpen competition-spec workflow and operator-shell expectations above the retained scramble and visualization seams, but they do not displace `cubing/cubing.js` or `cubing/twisty.js`; `scramble-display` remains comparison-only. |
|
||||
| Replay shell and timeline | Implemented now | landed `cubing/twisty.js` bounded packets | Replay/runtime viewer family is real. |
|
||||
| Replay shell and timeline | Implemented now | landed `cubing/twisty.js` bounded packets | First-party `HyperTwistSimulation` now owns the bounded replay-player shell, cursor/timeline transport, adapter/bootstrap, and local visualization or fallback presentation contract grounded in `cubing/twisty.js`; classic-cubing semantics remain with `cubing/cubing.js`, parser and AST ownership remain with `cubing/alg.js`, and broader browser support ownership stays with the landed browser lanes. |
|
||||
| Algorithm/training semantic lane | Implemented now | landed `cubing/alg.js` bounded packets | First-party `HyperTwistAlgorithm/*` now owns the bounded parser, AST, traversal, validation, keyboard-mapping, and share/interchange contract grounded in `cubing/alg.js`; current training-runtime parse/store/serialize usage remains a consumer seam above that owner lane rather than proof that the lane is still open. |
|
||||
| Readable classic-cube state/history and beginner-helper benchmark | Deep-source grounded retained | `vwcwong/CubeSim` retained clean-room benchmark lane | Retained as `A1 + R4 + F2` only for a small renderer-independent classic-cube state/history split, scramble parse or invert behavior, and beginner `LBL` decomposition benchmark for later clean-room lesson/debug/helper use. This does not displace the first-party canonical replay packet, training attempt/solve/review history, or the bounded classic-cube `Phase 6R-Q/R/S` explanation and correction shells. |
|
||||
| Large-`N` classic-cube center/edge/parity strategy | Deep-source grounded retained | `ShellPuppy/RCube` retained benchmark/oracle lane | Retained as `A1 + R4 + F2` only for large-`N` classic-cube center-stage planning, edge-pairing/parity handling, and virtual-rotation strategy. This does not displace the landed `Hyperspeedcube`, `MagicTile`, `Magic120Cell`, or `MagicCube5D` higher-dimensional runtime families, and it does not reopen the bounded classic-cube `Phase 6R-Q/R/S` shell/state seams. |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue