- commit
- 35c8b31d5ea3e1aee69816964d00d59e2edee323
- parent
- e4c9783bb00a664320242fae31271a9e4b661c8f
- author
- Dami <dami.etoile@gmail.com>
@@ -40,6 +40,11 @@ The catalog order is the source of truth:
4040 2. bundled packs in registration order;4141 3. local and URL/imported packs in install order.4242 43+The currently approved default bundle is core, Crossword, Crate Works, then44+Tidewater. Clockwork joins only after W12 custom-property presentation review;45+Garden Basics and Word Lab remain importable examples outside the default46+INDEX. This is a registration choice, not an INDEX hard-coded ID rule.47+4348 Replacing a pack preserves its position. Forking an imported pack appends the4449 fork as a new imported world. Removing an imported pack removes its world and4550 its sheets while preserving the relative order of all remaining worlds.@@ -118,6 +123,6 @@ world transition and card-request state.
118123 119124 Existing progress keys remain valid. Catalog callers that only ask for flat120125 levels continue to receive the same ordered level records. The layout migration121-must update tests and callers that assumed `core`, `garden-basics`, and122-`word-lab` were one sheet range. Imported packs without `manifest.world` remain123-valid and receive normalized default metadata.126+updates callers that assumed built-ins shared a core sheet range. Imported127+packs without `manifest.world` remain valid and receive normalized default128+metadata.@@ -9,9 +9,15 @@ bundled registration order, then imported install order. Layout SHALL NOT infer
99 world identity from origin or a hard-coded pack ID list.1010 1111 #### Scenario: Bundled packs remain separate worlds12-- **WHEN** core, garden-basics, and word-lab are registered in that order13-- **THEN** the layout exposes three worlds, each pack's nodes stay in its own14- sheet range, and no garden-basics or word-lab node has `worldId: core`12+- **WHEN** core, crossword, crate-works, and tidewater are registered in that13+ order as the approved default bundle14+- **THEN** the layout exposes four worlds in that order, with each pack's nodes15+ in its own sheet range and no bundled node assigned `worldId: core`16+17+#### Scenario: Example packs remain available through import18+- **WHEN** garden-basics or word-lab is imported19+- **THEN** it becomes its own world after the default bundle without changing20+ core, crossword, crate-works, or tidewater progress and order1521 1622 #### Scenario: A long pack continues within its own world1723 - **WHEN** an imported pack has sixteen ordered proofs@@ -1,6 +1,6 @@
11 ## 1. World identity and pack validation22 3-- [ ] 1.1 Extend the normalized pack/catalog record with one world record per3+- [x] 1.1 Extend the normalized pack/catalog record with one world record per44 pack, including stable order, origin, author, level count, and per-world55 completion counts.66 - [x] 1.2 Validate `manifest.world.glyph` with `Intl.Segmenter` grapheme@@ -23,7 +23,7 @@
2323 existing node coordinates, IDs, and fifteen-cell serpentine layout stable.2424 - [x] 2.3 Add tests for a one-sheet world, a multi-sheet world, sheet boundaries,2525 world boundaries, empty packs, and deterministic registration order.26-- [ ] 2.4 Update layout callers and accessibility text to use the active world26+- [x] 2.4 Update layout callers and accessibility text to use the active world2727 identity rather than deriving world names from the active level.2828 2929 ## 3. World navigation and progress@@ -44,9 +44,9 @@
4444 4545 - [x] 4.1 Expose the pure world header/strip view model and stable transition4646 events without changing canvas grid geometry or simulation state.47-- [ ] 4.2 Emit a first-entry world-card request and a Workshop PLAY card origin;47+- [x] 4.2 Emit a first-entry world-card request and a Workshop PLAY card origin;4848 deduplicate repeated requests within a session and preserve the active node.49-- [ ] 4.3 Add accessible text coverage for world number/name, per-world49+- [x] 4.3 Add accessible text coverage for world number/name, per-world5050 completion, adjacent-world actions, and card ENTER/return state.5151 - [ ] 4.4 Leave final card/header geometry, font fitting, iris animation, and5252 copy to a separate designer-reviewed presentation change; post the seam