docs(templates): keep 3D smoke bridge read-only - #50
Closed
wh000wh000 wants to merge 11 commits into
Closed
Conversation
Add the frozen classifier/GDD contract for a minimal three.js archetype while preserving every existing Phaser route. Includes regression fixtures for explicit 3D, 2D platformer, and 2D top-down prompts.
Provide the core3d skeleton, threed_basic gameplay layer, pinned npm lockfile, and builder-facing manuals. The template keeps DOM lifecycle screens and the three-key ESC fallback while limiting assets to the existing image pipeline.
feat(3d): add threed_basic v1 production path
Keep the player on authored floor patches and outside explicit static obstacle circles without introducing a physics dependency. Substepped resolution prevents high-delta tunnelling and the self-check covers road, obstacle, and slide behavior.
Teach the builder to preserve the pure XZ resolver, explicit collision radii, and v1 no-physics boundary so generated games consume the new capability instead of bypassing it.
feat(templates): add threed_basic manual collision
The three.js renderer sizes from its container and never consumes the inherited 2D reference dimensions. Removing the unused leaves gives both standalone core3d and threed_basic a zero-dead-config baseline.
Generated v1.1 code duplicated fog, pickup, and count values. Make the builder keep one canonical path per runtime value, remove superseded aliases, and record the leaf-to-consumer map in GDD completion notes.
The universal GDD reminder contradicted threed_basic zero-dead-config rules by forbidding deletion of inherited fields. Keep the Phaser reminder unchanged while requiring consumed, single-source leaves for 3D.
fix(templates): enforce consumed 3D config
A generated v1.3 game shipped teleport and time mutation hooks solely to make verification easy. Freeze the existing probe surface and require completion evidence through real browser input so acceptance measures gameplay instead of a debug backdoor.
This was referenced Aug 4, 2026
Author
|
Superseded by #57, which rebases the complete threed_basic v1 milestone onto current origin/main and excludes unrelated fork-only changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
结论
threed_basicverification must measure the playable route, not a shipped debug backdoor. This change freezes the existingwindow.__opengame3dprobe as read-only and requires keyboard/mouse/DOM evidence.Production evidence
The one-POST v1.3 game
aurora-island-treasure-3d-v1-3is genuinely playable: an independent keyboard/mouse route collected 6/6 and reached the completion screen without calling teleport. Its generated self-test nevertheless addedteleport,setRemaining, and mutablestateto the public bridge, creating a path for future false-positive acceptance.Change
agent-test/docs/modules/threed_basic/template_api.mdisPaused+rendereronly; no state mutation helpersagent-test/docs/modules/threed_basic/threed_basic.mdThe complementary L-layer control lives in non-Git
opengame-server:check_generated_code.py --fail-bridgerejects extra runtime bridge keys for three.js games. It is intentionally not duplicated in this frozen repository.Verification
git diff --checksetRemaining/state/teleportRisk and rollback
Documentation-only frozen-layer change; runtime code and 2D routes are untouched. Revert commit
b49c27fto restore prior guidance. Upstream dependencies remain PRs #47-#49.