|
1 | | -# Debug Surfaces Big Picture Roadmap (Checklist) |
| 1 | +# 🧭 Debug Platform & Ecosystem Roadmap |
2 | 2 |
|
3 | | -## Purpose |
4 | | - |
5 | | -Track progress toward a reusable debug surface platform across games, tools, samples, and playable builds. |
| 3 | +## Status Legend |
| 4 | +- [ ] Todo |
| 5 | +- [.] In Progress |
| 6 | +- [x] Complete |
6 | 7 |
|
7 | 8 | --- |
8 | 9 |
|
9 | | -# North Star |
| 10 | +# 🧱 TRACK A — DEBUG FOUNDATION (COMPLETE) |
10 | 11 |
|
11 | | -- [.] Build a reusable debug surface platform (console + overlay + panels + providers + commands + persistence) |
12 | | -- [ ] Enable cross-project adoption (games, tools, samples) |
13 | | -- [ ] Support final playable builds with proper gating |
14 | | -- [ ] Avoid engine core pollution |
| 12 | +- [x] Dev Console (input + command execution) |
| 13 | +- [x] Debug Overlay (visual panels) |
| 14 | +- [x] Console ↔ Overlay Boundary |
| 15 | +- [x] Panel Registry |
| 16 | +- [x] Data Providers (read-only model) |
| 17 | +- [x] Operator Commands (control surface) |
| 18 | +- [x] Panel Persistence |
15 | 19 |
|
16 | 20 | --- |
17 | 21 |
|
18 | | -# Big Picture Architecture |
19 | | - |
20 | | -## Engine Core (Minimal) |
21 | | - |
22 | | -- [ ] Define debug interfaces |
23 | | -- [ ] Define registration contracts |
24 | | -- [ ] Define lifecycle hooks |
25 | | -- [ ] Define environment/debug gating |
26 | | -- [ ] Keep UI and debug policy OUT of core |
| 22 | +# 🚀 TRACK B — PROMOTION TO ENGINE LAYER |
27 | 23 |
|
28 | | -## Engine Debug (Reusable Platform) |
| 24 | +- [x] PLAN_PR_DEBUG_SURFACES_PROMOTION |
| 25 | +- [x] BUILD_PR_DEBUG_SURFACES_PROMOTION |
| 26 | +- [ ] APPLY_PR_DEBUG_SURFACES_PROMOTION |
29 | 27 |
|
30 | | -- [ ] Extract console host |
31 | | -- [ ] Extract overlay host |
32 | | -- [ ] Extract panel registry |
33 | | -- [ ] Extract provider system |
34 | | -- [ ] Extract operator command layer |
35 | | -- [ ] Extract persistence system |
36 | | -- [ ] Define debug bootstrap/composition |
| 28 | +--- |
37 | 29 |
|
38 | | -## Project Layer (Games / Tools / Samples) |
| 30 | +# 📦 TRACK C — STANDARD DEBUG LIBRARY |
39 | 31 |
|
40 | | -- [ ] Define panel registration pattern |
41 | | -- [ ] Define provider registration pattern |
42 | | -- [ ] Define command registration pattern |
43 | | -- [ ] Define scene integration pattern |
44 | | -- [ ] Define presets/defaults pattern |
| 32 | +- [x] PLAN_PR_DEBUG_SURFACES_STANDARD_LIBRARY |
| 33 | +- [x] BUILD_PR_DEBUG_SURFACES_STANDARD_LIBRARY |
| 34 | +- [ ] APPLY_PR_DEBUG_SURFACES_STANDARD_LIBRARY |
45 | 35 |
|
46 | 36 | --- |
47 | 37 |
|
48 | | -# Platform Consumers |
49 | | - |
50 | | -## 2D Games |
51 | | -- [ ] Scene/debug panels |
52 | | -- [ ] Entity/collision panels |
53 | | -- [ ] Render layer panels |
54 | | -- [ ] Camera/debug state panels |
55 | | - |
56 | | -## 3D Games |
57 | | -- [ ] Transform/camera panels |
58 | | -- [ ] Scene graph inspection |
59 | | -- [ ] Render pass diagnostics |
60 | | -- [ ] Material/shader inspection |
61 | | -- [ ] Lighting/debug panels |
62 | | -- [ ] Physics/debug volume panels |
63 | | - |
64 | | -## Networked / Multiplayer |
65 | | -- [ ] Connection/session panels |
66 | | -- [ ] Latency/ping panels |
67 | | -- [ ] Replication diagnostics |
68 | | -- [ ] Prediction/rollback visibility |
69 | | -- [ ] Authority/ownership panels |
70 | | -- [ ] Desync detection panels |
71 | | - |
72 | | -## Tools / Editors |
73 | | -- [ ] Tool state panels |
74 | | -- [ ] Selection panels |
75 | | -- [ ] Asset pipeline diagnostics |
76 | | -- [ ] Validation panels |
77 | | - |
78 | | -## Samples / Learning |
79 | | -- [ ] Simple integration examples |
80 | | -- [ ] Example panels/providers/commands |
81 | | -- [ ] Low-friction setup |
82 | | - |
83 | | -## Final Playable Builds |
84 | | -- [ ] Debug gating |
85 | | -- [ ] Operator-only access |
86 | | -- [ ] Safe runtime enablement |
87 | | - |
88 | | ---- |
| 38 | +# 🎛️ TRACK D — DEBUG PRESETS (ACTIVE) |
89 | 39 |
|
90 | | -# Journey Overview |
91 | | - |
92 | | -## Phase 0 — Surfaces |
93 | | -- [x] Dev Console |
94 | | -- [x] Debug Overlay |
95 | | - |
96 | | -## Phase 1 — Boundary |
97 | | -- [x] Console vs overlay separation |
98 | | -- [x] Allowed interaction rules |
99 | | -- [x] Prohibited coupling rules |
100 | | - |
101 | | -## Phase 2 — Overlay Structure |
102 | | -- [x] Panel registry |
103 | | -- [x] Panel identity |
104 | | -- [x] Deterministic ordering |
105 | | -- [ ] Panel lifecycle hooks |
106 | | - |
107 | | -## Phase 3 — Data Flow |
108 | | -- [x] Data providers |
109 | | -- [x] Read-only snapshots |
110 | | -- [ ] Snapshot contract formalization |
111 | | - |
112 | | -## Phase 4 — Operator Control |
113 | | -- [x] overlay.* command namespace |
114 | | -- [x] Public API-only interaction |
115 | | -- [ ] Output standardization |
116 | | - |
117 | | -## Phase 5 — Persistence |
118 | | -- [x] Panel persistence |
119 | | -- [ ] Versioned persistence model |
120 | | -- [ ] Reset/migration handling |
121 | | - |
122 | | -## Phase 6 — Promotion Planning |
123 | | -- [ ] Ownership model (core vs debug vs project) |
124 | | -- [ ] Migration boundaries |
125 | | -- [ ] Extraction plan from tools/dev |
126 | | - |
127 | | -## Phase 7 — Engine-Debug Extraction |
128 | | -- [ ] Create engine-debug layer |
129 | | -- [ ] Move console host |
130 | | -- [ ] Move overlay host |
131 | | -- [ ] Move registry/providers/persistence |
132 | | -- [ ] Define debug bootstrap |
133 | | - |
134 | | -## Phase 8 — Core Contracts |
135 | | -- [ ] Minimal debug interfaces |
136 | | -- [ ] Registration APIs |
137 | | -- [ ] Lifecycle hooks |
138 | | -- [ ] Debug gating hooks |
139 | | - |
140 | | -## Phase 9 — Integration Patterns |
141 | | -- [ ] Game integration pattern |
142 | | -- [ ] Tool integration pattern |
143 | | -- [ ] Sample integration pattern |
| 40 | +- [x] PLAN_PR_DEBUG_SURFACES_PRESETS |
| 41 | +- [ ] BUILD_PR_DEBUG_SURFACES_PRESETS |
| 42 | +- [ ] APPLY_PR_DEBUG_SURFACES_PRESETS |
144 | 43 |
|
145 | 44 | --- |
146 | 45 |
|
147 | | -# Consumer Expansion Tracks |
148 | | - |
149 | | -## 2D Integration |
150 | | -- [ ] Harden 2D usage |
151 | | -- [ ] Validate workflows |
| 46 | +# 🧰 TRACK E — ADVANCED DEBUG UX |
152 | 47 |
|
153 | | -## Tools Integration |
154 | | -- [ ] Tool adoption |
155 | | -- [ ] Editor workflows |
| 48 | +- [ ] Preset persistence rules |
| 49 | +- [ ] Role-based presets |
| 50 | +- [ ] Panel grouping |
| 51 | +- [ ] Quick-toggle shortcuts |
| 52 | +- [ ] Command macros |
156 | 53 |
|
157 | | -## Samples |
158 | | -- [ ] Learning samples |
159 | | -- [ ] Reference implementations |
160 | | - |
161 | | -## Final Build Support |
162 | | -- [ ] Debug enablement rules |
163 | | -- [ ] Feature flags |
164 | | -- [ ] Safe operator access |
| 54 | +--- |
165 | 55 |
|
166 | | -## 3D Support |
167 | | -- [ ] 3D providers |
168 | | -- [ ] Transform panels |
169 | | -- [ ] Render diagnostics |
170 | | -- [ ] Physics visualization |
| 56 | +# 🎮 TRACK F — GAME INTEGRATION |
171 | 57 |
|
172 | | -## Network Support |
173 | | -- [ ] Network providers |
174 | | -- [ ] Replication panels |
175 | | -- [ ] Rollback/prediction views |
176 | | -- [ ] Desync diagnostics |
| 58 | +- [ ] Sample game uses full debug platform |
| 59 | +- [ ] Production-safe debug toggle |
| 60 | +- [ ] Performance-safe overlays |
| 61 | +- [ ] Build-time debug flags |
177 | 62 |
|
178 | 63 | --- |
179 | 64 |
|
180 | | -# Platform Expansion |
| 65 | +# 🌐 TRACK G — NETWORK / MULTIPLAYER DEBUG |
181 | 66 |
|
182 | | -## Standard Library |
183 | | -- [ ] Common panels |
184 | | -- [ ] Common providers |
185 | | -- [ ] Common commands |
186 | | - |
187 | | -## Presets / Layouts |
188 | | -- [ ] Gameplay preset |
189 | | -- [ ] Rendering preset |
190 | | -- [ ] AI preset |
191 | | -- [ ] QA preset |
192 | | -- [ ] Tool preset |
193 | | - |
194 | | -## Advanced Inspection |
195 | | -- [ ] Entity inspector |
196 | | -- [ ] Scene explorer |
197 | | -- [ ] Runtime drill-down |
198 | | -- [ ] Diagnostics summary panels |
| 67 | +- [ ] Connection status panel |
| 68 | +- [ ] Latency / RTT panel |
| 69 | +- [ ] Replication state viewer |
| 70 | +- [ ] Client/server divergence inspector |
| 71 | +- [ ] Event tracing |
199 | 72 |
|
200 | 73 | --- |
201 | 74 |
|
202 | | -# Stabilization |
| 75 | +# 🧊 TRACK H — 3D DEBUG SUPPORT |
203 | 76 |
|
204 | | -- [ ] Architecture documentation |
205 | | -- [ ] Integration documentation |
206 | | -- [ ] Extension documentation |
207 | | -- [ ] Ownership model finalized |
| 77 | +- [ ] Transform inspector |
| 78 | +- [ ] Camera debug panel |
| 79 | +- [ ] Render pipeline stages |
| 80 | +- [ ] Collision overlays |
| 81 | +- [ ] Scene graph inspector |
208 | 82 |
|
209 | 83 | --- |
210 | 84 |
|
211 | | -# Recommended Planning Order |
| 85 | +# 🔬 TRACK I — INSPECTORS & TOOLING |
212 | 86 |
|
213 | | -## Track A — Foundation |
214 | | -- [x] Console + Overlay |
215 | | -- [x] Boundary |
216 | | -- [x] Panel Registry |
217 | | -- [x] Data Providers |
218 | | -- [x] Operator Commands |
219 | | -- [x] Persistence |
220 | | - |
221 | | -## Track B — Promotion Planning |
222 | | -- [ ] Promotion plan |
223 | | -- [ ] Ownership mapping |
224 | | -- [ ] Migration strategy |
225 | | - |
226 | | -## Track C — Platform Extraction |
227 | | -- [ ] Engine-debug layer |
228 | | -- [ ] Core contracts |
229 | | -- [ ] Integration patterns |
230 | | - |
231 | | -## Track D — Consumer Expansion |
232 | | -- [ ] 2D stabilization |
233 | | -- [ ] Tools integration |
234 | | -- [ ] Sample integration |
235 | | -- [ ] Final build gating |
236 | | -- [ ] 3D support |
237 | | -- [ ] Network support |
238 | | - |
239 | | -## Track E — Platform Expansion |
240 | | -- [ ] Standard panels/providers |
241 | | -- [ ] Presets/layouts |
242 | | -- [ ] Advanced inspectors |
243 | | -- [ ] Cross-project reuse |
244 | | - |
245 | | -## Track F — Stabilization |
246 | | -- [ ] Documentation |
247 | | -- [ ] Extension model |
248 | | -- [ ] Maintenance strategy |
| 87 | +- [ ] Entity inspector |
| 88 | +- [ ] Component inspector |
| 89 | +- [ ] State diff viewer |
| 90 | +- [ ] Timeline debugger |
| 91 | +- [ ] Event stream viewer |
249 | 92 |
|
250 | 93 | --- |
251 | 94 |
|
252 | | -# Immediate Next Step |
| 95 | +# 🧠 TRACK J — ENGINE MATURITY |
253 | 96 |
|
254 | | -- [ ] PLAN_PR_DEBUG_SURFACES_PROMOTION |
| 97 | +- [ ] Stable debug API |
| 98 | +- [ ] Plugin system |
| 99 | +- [ ] External documentation |
| 100 | +- [ ] Versioned contracts |
| 101 | +- [ ] Performance benchmarks |
255 | 102 |
|
256 | 103 | --- |
257 | 104 |
|
258 | | -# Long-Term Outcome |
| 105 | +# 🏁 END STATE |
259 | 106 |
|
260 | | -- [ ] Clean engine core |
261 | | -- [ ] Reusable debug platform |
262 | | -- [ ] Cross-project adoption |
263 | | -- [ ] 2D + 3D + network support |
264 | | -- [ ] Safe final-build debug capability |
| 107 | +A full debug ecosystem: |
| 108 | +- Engine Core → contracts only |
| 109 | +- Engine Debug → platform |
| 110 | +- Standard Library → reusable baseline |
| 111 | +- Presets → usability layer |
| 112 | +- Extensions → 3D, network, inspectors |
0 commit comments