|
686 | 686 | ### Later Capability Lanes |
687 | 687 | - [x] Execute phase-16 / 3D capability lanes (after full real-network capability lane completion) |
688 | 688 |
|
| 689 | +- [x] Stabilize networking/runtime before 3D |
689 | 690 |
|
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 |
691 | 703 |
|
692 | | -[ ] Verify all `samples/` and `games/` use engine systems and are not coded locally; if local, migrate to engine. |
693 | 704 | [ ] 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 |
698 | 740 | [ ] Docs organization: classify all `./docs/` into buckets. |
| 741 | + |
699 | 742 | [ ] Arrange docs into classification buckets. |
700 | 743 | [ ] 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 |
702 | 751 | [ ] Remove imports to export (should not be import x, export x) |
703 | 752 | [ ] 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 |
704 | 757 |
|
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 |
0 commit comments