Skip to content

Commit e7911f5

Browse files
author
DavidQ
committed
docs: plan reusable presets for promoted debug surfaces
1 parent 5f44b3a commit e7911f5

10 files changed

Lines changed: 366 additions & 268 deletions

docs/dev/BIG_PICTURE_ROADMAP.md

Lines changed: 69 additions & 221 deletions
Original file line numberDiff line numberDiff line change
@@ -1,264 +1,112 @@
1-
# Debug Surfaces Big Picture Roadmap (Checklist)
1+
# 🧭 Debug Platform & Ecosystem Roadmap
22

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
67

78
---
89

9-
# North Star
10+
# 🧱 TRACK A — DEBUG FOUNDATION (COMPLETE)
1011

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
1519

1620
---
1721

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
2723

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
2927

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+
---
3729

38-
## Project Layer (Games / Tools / Samples)
30+
# 📦 TRACK C — STANDARD DEBUG LIBRARY
3931

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
4535

4636
---
4737

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)
8939

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
14443

14544
---
14645

147-
# Consumer Expansion Tracks
148-
149-
## 2D Integration
150-
- [ ] Harden 2D usage
151-
- [ ] Validate workflows
46+
# 🧰 TRACK E — ADVANCED DEBUG UX
15247

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
15653

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+
---
16555

166-
## 3D Support
167-
- [ ] 3D providers
168-
- [ ] Transform panels
169-
- [ ] Render diagnostics
170-
- [ ] Physics visualization
56+
# 🎮 TRACK F — GAME INTEGRATION
17157

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
17762

17863
---
17964

180-
# Platform Expansion
65+
# 🌐 TRACK G — NETWORK / MULTIPLAYER DEBUG
18166

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
19972

20073
---
20174

202-
# Stabilization
75+
# 🧊 TRACK H — 3D DEBUG SUPPORT
20376

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
20882

20983
---
21084

211-
# Recommended Planning Order
85+
# 🔬 TRACK I — INSPECTORS & TOOLING
21286

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
24992

25093
---
25194

252-
# Immediate Next Step
95+
# 🧠 TRACK J — ENGINE MATURITY
25396

254-
- [ ] PLAN_PR_DEBUG_SURFACES_PROMOTION
97+
- [ ] Stable debug API
98+
- [ ] Plugin system
99+
- [ ] External documentation
100+
- [ ] Versioned contracts
101+
- [ ] Performance benchmarks
255102

256103
---
257104

258-
# Long-Term Outcome
105+
# 🏁 END STATE
259106

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

docs/dev/CODEX_COMMANDS.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@ MODEL: GPT-5.4-codex
22
REASONING: high
33

44
COMMAND:
5-
Create BUILD_PR_DEBUG_SURFACES_STANDARD_LIBRARY
5+
Create PLAN_PR_DEBUG_SURFACES_PRESETS
66

77
Requirements:
88
- Follow PLAN_PR -> BUILD_PR -> APPLY_PR
99
- Docs-first only
1010
- One PR per purpose
11-
- Build the first shared standard library under engine/debug/standard
12-
- Define authoritative target structure, initial inventory, registration pattern, adoption modes, validation goals, and rollback strategy
13-
- Keep the initial library small and opt-in
14-
- Exclude 3D-specific, network-specific, deep-inspector, and project-specific logic from this PR
15-
- Use `registerStandardDebugPreset()` as the main shared adoption entry point
11+
- Plan a reusable presets system for promoted debug surfaces
12+
- Define preset registry, preset applier, shared baseline presets, preset commands, precedence with persistence, adoption models, naming conventions, and target structure
13+
- Keep the first version small and opt-in
14+
- Focus only on panel visibility and optional ordering
15+
- Exclude layout editors, docking systems, 3D-specific, network-specific, and project-specific preset implementations from the shared layer
1616
- Write outputs under docs/pr and docs/dev/reports
1717
- Put codex command and commit comment under docs/dev
18-
- Package to <project folder>/tmp/BUILD_PR_DEBUG_SURFACES_STANDARD_LIBRARY_delta.zip
18+
- Package to <project folder>/tmp/PLAN_PR_DEBUG_SURFACES_PRESETS_delta.zip

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
docs: build first opt-in debug surfaces standard library bundle with authoritative preset-led registration
1+
docs: plan reusable debug surfaces presets system with registry/applier contracts and persistence precedence

docs/dev/NEXT_COMMAND.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
Next:
2-
APPLY_PR_DEBUG_SURFACES_STANDARD_LIBRARY
2+
BUILD_PR_DEBUG_SURFACES_PRESETS

0 commit comments

Comments
 (0)