Skip to content

Commit f87b13d

Browse files
author
DavidQ
committed
Add real gameplay sample demonstrating full engine integration (rendering, input, camera, debug)
PR: PLAN_PR_LEVEL_17_38_REAL_GAMEPLAY_SAMPLE
1 parent ab2cda1 commit f87b13d

5 files changed

Lines changed: 171 additions & 16 deletions

File tree

docs/dev/CODEX_COMMANDS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
MODEL: GPT-5.3-codex
22
REASONING: high
3-
COMMAND: Integrate Phase 19 services and runtime, package to <project folder>/tmp/BUILD_PR_LEVEL_19_5_PHASE19_INTEGRATION_PASS.zip
3+
COMMAND: Implement real gameplay sample using existing engine systems and package to <project folder>/tmp/PLAN_PR_LEVEL_17_38_REAL_GAMEPLAY_SAMPLE.zip

docs/dev/COMMIT_COMMENT.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
Integrate Phase 19 core services with runtime layer ensuring data flow and lifecycle coherence
1+
Add real gameplay sample demonstrating full engine integration (rendering, input, camera, debug)
22

3-
PR: BUILD_PR_LEVEL_19_5_PHASE19_INTEGRATION_PASS
3+
PR: PLAN_PR_LEVEL_17_38_REAL_GAMEPLAY_SAMPLE
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
- [ ] integration works
2-
- [ ] no errors
1+
- [ ] sample runs
2+
- [ ] input works
3+
- [ ] camera follows
4+
- [ ] debug panels visible

docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md

Lines changed: 131 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -686,23 +686,143 @@
686686
### Later Capability Lanes
687687
- [x] Execute phase-16 / 3D capability lanes (after full real-network capability lane completion)
688688

689+
- [x] Stabilize networking/runtime before 3D
689690

690-
## 18. Finalize engine
691+
---
692+
693+
## 18. Engine Finalization & Hardening (Deferred Execution)
694+
695+
> Purpose: convert the built system into a clean, stable, production-grade engine after all major capability tracks are complete.
696+
> This is NOT a scaffolding phase — it is a consolidation + enforcement phase.
697+
698+
### Scope Rules
699+
- additive only (no blind refactors)
700+
- no structural churn without move-map PRs
701+
- all changes must be validation-backed
702+
- no template-driven work
691703

692-
[ ] Verify all `samples/` and `games/` use engine systems and are not coded locally; if local, migrate to engine.
693704
[ ] Some games are actually samples/demos; identify and recommend a `phase-xx` move target.
694-
[.] Organize/rebuild `samples/` and `games/` as if newly constructed, with proper classes/data in proper folders.
695-
[.] Simulated code (for example, some network samples) should be converted to real networks, with tests as needed.
696-
[ ] Single class per file.
697-
[ ] Flatten CSS layers so only a few remain; use top-layer shared classes as much as possible (for example, a button should use one standard class, with exceptions only when needed).
705+
706+
[ ] Lock APIs
707+
[ ] Clean boundaries
708+
[ ] Document contracts
709+
710+
### Track A — Engine Usage Enforcement
711+
- [ ] verify all `samples/` use engine systems (no local reimplementation)
712+
- [ ] verify all `games/` use engine systems
713+
- [ ] migrate any local logic into engine/shared where appropriate
714+
- [ ] remove sample-specific logic from engine paths
715+
716+
### Track B — Boundary Hardening
717+
- [ ] enforce engine vs shared vs game vs tool boundaries
718+
- [ ] eliminate cross-layer leakage
719+
- [ ] validate dependency direction rules across repo
720+
- [ ] remove accidental coupling
721+
722+
### Track C — Contract Stabilization
723+
- [ ] finalize engine public APIs
724+
- [ ] finalize shared contracts
725+
- [ ] ensure selectors/providers are stable
726+
- [ ] remove unstable or experimental surfaces
727+
728+
### Track D — Codebase Consistency
729+
- [ ] single class per file enforcement
730+
- [ ] remove duplicate helpers
731+
- [ ] normalize naming consistency
732+
- [ ] eliminate import/export anti-patterns
733+
734+
### Track E — CSS & UI Normalization
735+
- [ ] flatten CSS layers
736+
- [ ] enforce shared UI classes
737+
- [ ] remove redundant styles
738+
739+
### Track F — Docs System Cleanup
698740
[ ] Docs organization: classify all `./docs/` into buckets.
741+
699742
[ ] Arrange docs into classification buckets.
700743
[ ] Any doc that is only move/rename/etc. should be deleted (verify content is in the correct doc before deleting).
701-
[ ] Consolidate PRs for easier one-stop review, so one capability does not require reading many docs (for example, bezel/background); focus on what the capability does.
744+
745+
- [ ] classify all docs into buckets
746+
- [ ] consolidate duplicate docs - consolidate PRs for easier one-stop review, so one capability does not require reading many docs (for example, bezel/background); focus on what the capability does.
747+
- [ ] remove move-only historical docs (after validation)
748+
- [ ] align docs to feature-based structure
749+
750+
### Track G — Repo Hygiene
702751
[ ] Remove imports to export (should not be import x, export x)
703752
[ ] Other than templates (games/samples/tools), remove the .keep file, if the folder is empty, delete
753+
- [ ] remove unnecessary `.keep` files
754+
- [ ] remove empty folders
755+
- [ ] validate folder ownership rules
756+
- [ ] enforce clean repo structure
704757

705-
[ ] Lock APIs
706-
[ ] Clean boundaries
707-
[ ] Document contracts
708-
[x] Stabilize networking/runtime before 3D
758+
### Track H — PR Consolidation Strategy
759+
- [ ] bundle related PRs into capability-level units
760+
- [ ] reduce multi-PR fragmentation
761+
- [ ] ensure each PR represents a complete capability
762+
763+
---
764+
765+
## 19. Architecture Maturity & Long-Term Stability (Deferred Execution)
766+
767+
> Purpose: ensure the system is scalable, explainable, and extensible long-term.
768+
> This phase turns the engine into a platform, not just a project.
769+
770+
### Scope Rules
771+
- no feature creation
772+
- no experimental work
773+
- only stabilization, validation, and extensibility
774+
775+
### Track A — System Integration Validation
776+
- [ ] validate all major systems working together:
777+
- rendering
778+
- input
779+
- physics
780+
- state/replay
781+
- networking
782+
- debug platform
783+
- [ ] verify no hidden coupling
784+
- [ ] verify predictable system interaction
785+
786+
### Track B — Runtime Lifecycle Validation
787+
- [ ] validate boot → run → shutdown lifecycle
788+
- [ ] validate hot reload / reset flows
789+
- [ ] validate error handling paths
790+
- [ ] validate long-running stability
791+
792+
### Track C — Performance & Scaling
793+
- [ ] validate large scene performance
794+
- [ ] validate stress scenarios (1k+ entities)
795+
- [ ] validate memory stability
796+
- [ ] identify bottlenecks
797+
798+
### Track D — Debug & Observability Maturity
799+
- [ ] ensure all systems expose debug data
800+
- [ ] ensure providers are complete and consistent
801+
- [ ] validate debug panels across systems
802+
- [ ] confirm production-safe debug toggling
803+
804+
### Track E — Toolchain Validation
805+
- [ ] verify tools integrate cleanly with engine
806+
- [ ] validate asset pipelines end-to-end
807+
- [ ] validate editor → runtime consistency
808+
- [ ] confirm no tool-specific logic leaks into engine
809+
810+
### Track F — Sample & Game Validation
811+
- [.] Organize/rebuild `samples/` and `games/` as if newly constructed, with proper classes/data in proper folders.
812+
- [.] Simulated code (for example, some network samples) should be converted to real networks, with tests as needed.
813+
- [ ] verify all samples still function correctly
814+
- [ ] verify curriculum progression remains intact
815+
- [ ] validate games follow template strictly
816+
- [ ] confirm no regression across phases
817+
818+
### Track G — Extensibility Readiness
819+
- [ ] validate plugin/extension patterns
820+
- [ ] validate adding new systems is clean
821+
- [ ] validate external integration points
822+
- [ ] ensure future phases can build cleanly
823+
824+
### Track H — Final Stability Gate
825+
- [ ] full-repo validation sweep
826+
- [ ] zero regression requirement
827+
- [ ] contract freeze readiness
828+
- [ ] readiness for long-term maintenance mode
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# PLAN_PR_LEVEL_17_38_REAL_GAMEPLAY_SAMPLE
2+
3+
## Purpose
4+
Define a single real, playable Level 17 sample that proves existing 3D engine capability in one cohesive gameplay loop.
5+
6+
## Scope
7+
- add one new sample under `samples/phase-17/1708/`
8+
- integrate sample `1708` into `samples/index.html`
9+
- use existing engine systems only (scene, input, camera, rendering, debug surfaces)
10+
- implement a minimal but complete loop: movement, obstacle/enemy interaction, and objective/score state
11+
12+
## Source of Truth
13+
- `docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md` (`## 17. 3D Activation, Validation, and Execution (Phase 16)`)
14+
- existing Level 17 sample range `samples/phase-17/1701` through `samples/phase-17/1707`
15+
16+
## Functional Requirements
17+
1. Player-controlled movement in a bounded 3D play space.
18+
2. At least one interactive gameplay threat or obstacle.
19+
3. Visible objective/score feedback and end-condition messaging.
20+
4. Camera behavior that keeps gameplay readable (follow/chase/orbit mode using existing camera facilities).
21+
5. Debug integration via existing debug panel/provider surfaces only (no new debug framework features).
22+
23+
## Out of Scope
24+
- no engine-core feature additions
25+
- no new generic debug-system features
26+
- no extra Level 17 samples beyond `1708`
27+
- no roadmap status updates in this PLAN step
28+
29+
## Validation Targets (for BUILD phase)
30+
- sample `1708` launches from `samples/index.html` without console/runtime errors
31+
- gameplay loop is playable start-to-finish
32+
- debug panel integration renders using existing surfaces
33+
- existing Level 17 sample links remain intact

0 commit comments

Comments
 (0)