From ecf0190a3990c471251dd992a4348e58aafbec2c Mon Sep 17 00:00:00 2001 From: axiomlogicnexus Date: Wed, 27 May 2026 06:01:08 +0200 Subject: [PATCH] Reconcile twisty replay shell hierarchy --- ...SE_0R_PACKET_0R_D_EVALUATION_2026-05-13.md | 9 + ...INE_HIERARCHY_RECONCILIATION_2026-05-27.md | 199 ++++++++++++++++++ docs/REPO_LICENSE_TRACKING.md | 10 + .../HyperTwist/FEATURE_REGISTRY.md | 2 +- 4 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 docs/HYPERTWIST_REPLAY_SHELL_AND_VIEWER_TIMELINE_HIERARCHY_RECONCILIATION_2026-05-27.md diff --git a/docs/HYPERTWIST_PHASE_0R_PACKET_0R_D_EVALUATION_2026-05-13.md b/docs/HYPERTWIST_PHASE_0R_PACKET_0R_D_EVALUATION_2026-05-13.md index 0904699..4b514a0 100644 --- a/docs/HYPERTWIST_PHASE_0R_PACKET_0R_D_EVALUATION_2026-05-13.md +++ b/docs/HYPERTWIST_PHASE_0R_PACKET_0R_D_EVALUATION_2026-05-13.md @@ -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` diff --git a/docs/HYPERTWIST_REPLAY_SHELL_AND_VIEWER_TIMELINE_HIERARCHY_RECONCILIATION_2026-05-27.md b/docs/HYPERTWIST_REPLAY_SHELL_AND_VIEWER_TIMELINE_HIERARCHY_RECONCILIATION_2026-05-27.md new file mode 100644 index 0000000..0444b2f --- /dev/null +++ b/docs/HYPERTWIST_REPLAY_SHELL_AND_VIEWER_TIMELINE_HIERARCHY_RECONCILIATION_2026-05-27.md @@ -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 diff --git a/docs/REPO_LICENSE_TRACKING.md b/docs/REPO_LICENSE_TRACKING.md index 710cfeb..96f2ce8 100644 --- a/docs/REPO_LICENSE_TRACKING.md +++ b/docs/REPO_LICENSE_TRACKING.md @@ -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 `` 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` diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/FEATURE_REGISTRY.md b/docs/v6_5_deep_manual_pack/HyperTwist/FEATURE_REGISTRY.md index 9e41c2e..f735f69 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/FEATURE_REGISTRY.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/FEATURE_REGISTRY.md @@ -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. |