Why
The current release has only a small built-in teaching campaign and a single selected mod path. Players need a durable way to browse curated content, combine local level packs, and share a level without handing executable code to a recipient.
What Changes
- Add stable pack and level identifiers and a registry for multiple bundled and loaded packs.
- Ship a curated set of basic level packs and retain all successfully loaded CommonJS modules for the session.
- Export a selected pack as a CommonJS
.cjsfile for explicitly trusted local reuse. - Encode selected pack data into a portable
#pack=<versioned-payload>data-only URL, capped at 16 KiB encoded, and validate/decode it without executing JavaScript across site revisions. - Keep local CommonJS import explicit and trusted, with duplicate and collision diagnostics.
- Add in-app feedback for pack loading, selection, sharing, export, import, and validation failures.
- Expand the built-in playable-puzzles contract from exactly three levels to a curated pack set while preserving the original three MIAU teaching puzzles.
Capabilities
New Capabilities
level-packs: Stable pack/level identity, curated bundled packs, multi-pack registry, selection, and collision policy.level-sharing: Data-only URL sharing,.cjsexport, explicit trusted local CommonJS import, validation, and user feedback.
Modified Capabilities
playable-puzzles: Replace the exact-three-level limit with a curated set of packs that includes the original three MIAU teaching puzzles.commonjs-mods: Retain multiple valid modules and define collision behavior when packs or levels overlap.
Impact
Adds pack registry and serialization modules, bundled content metadata, share/export/import controls, validation diagnostics, and browser and engine verification. The design specifies data contracts and feedback states while leaving visual layout and scene ownership to the designer.