Add debug foundation
This commit is contained in:
45
SLICE3.MD
45
SLICE3.MD
@@ -17,14 +17,14 @@ This slice does not implement the real hero, weapons, enemies, clusters, or miss
|
||||
- [x] (2026-04-21 17:43Z) Read repository rules, Windows rules, `PLANS.md`, `CODE.md`, `SLICE2.MD`, current debug scripts, current root scene, current content browser, and `godot/project.godot`.
|
||||
- [x] (2026-04-21 17:43Z) Verified that Slice 2 has committed content definitions, validation tests, content browser boot mode, and a clean worktree.
|
||||
- [x] (2026-04-21 17:43Z) Created this Slice 3 ExecPlan.
|
||||
- [ ] Implement pure debug runtime state and command service.
|
||||
- [ ] Add unit tests for debug commands and validation behavior.
|
||||
- [ ] Add Godot debug command node, upgraded overlay, clickable debug panel, and debug sandbox scene.
|
||||
- [ ] Add debug sandbox boot mode and input actions.
|
||||
- [ ] Add headless debug foundation smoke script.
|
||||
- [ ] Run formatting for touched C# files with `jb cleanupcode --build=False`.
|
||||
- [ ] Validate with .NET tests, .NET build, Godot solution build, debug sandbox smoke boot, content browser smoke boot, and existing smoke boot.
|
||||
- [ ] Commit the completed slice.
|
||||
- [x] (2026-04-21 19:18Z) Implemented pure debug runtime state and command service.
|
||||
- [x] (2026-04-21 19:18Z) Added unit tests for debug commands and validation behavior.
|
||||
- [x] (2026-04-21 19:18Z) Added Godot debug command node, upgraded overlay, clickable debug panel, and debug sandbox scene.
|
||||
- [x] (2026-04-21 19:18Z) Added debug sandbox boot mode and input actions.
|
||||
- [x] (2026-04-21 19:18Z) Added headless debug foundation smoke script.
|
||||
- [x] (2026-04-21 19:18Z) Ran formatting for touched C# files with `jb cleanupcode --build=False`.
|
||||
- [x] (2026-04-21 19:18Z) Validated with .NET tests, .NET build, Godot solution build, debug sandbox smoke boot, content browser smoke boot, and existing smoke boot.
|
||||
- [x] (2026-04-21 19:18Z) Commit the completed slice.
|
||||
|
||||
## Surprises & Discoveries
|
||||
|
||||
@@ -40,6 +40,9 @@ This slice does not implement the real hero, weapons, enemies, clusters, or miss
|
||||
- Observation: Content definitions and tests are available for difficulty ids, enemy ids, and mission timeline marker names.
|
||||
Evidence: `godot/scripts/content/samples/SampleContent.cs` creates `difficulty.easy`, `difficulty.normal`, `difficulty.hard`, `enemy.serial`, `enemy.parallel`, and mission markers such as `cluster.opening`.
|
||||
|
||||
- Observation: Godot generated script UID files for the new Godot-facing debug node scripts during the headless project scan.
|
||||
Evidence: `godot/scripts/debug/DebugCommandNode.cs.uid`, `godot/scripts/debug/DebugPanelController.cs.uid`, and `godot/scripts/debug/DebugSandboxController.cs.uid` appeared after `.\godot --headless --path godot --build-solutions --quit`.
|
||||
|
||||
## Decision Log
|
||||
|
||||
- Decision: Implement debug command rules as plain C# first, with a Godot node wrapper for engine effects.
|
||||
@@ -60,7 +63,31 @@ This slice does not implement the real hero, weapons, enemies, clusters, or miss
|
||||
|
||||
## Outcomes & Retrospective
|
||||
|
||||
Not started. When this slice is completed, update this section with the exact files created, commands run, validation output, and any remaining risks.
|
||||
Completed. Slice 3 added the pure debug command foundation under `godot/scripts/debug/commands/`, xUnit coverage in `tests/SideScrollerGame.Content.Tests/DebugCommandServiceTests.cs`, the Godot bridge node `DebugCommandNode`, the upgraded overlay, the clickable sandbox panel, the debug sandbox controller, the `DebugSandbox` scene, the `DebugSandbox` boot mode, and debug input actions in `godot/project.godot`.
|
||||
|
||||
Validation completed from `D:\Code\zfxaction26_1`:
|
||||
|
||||
dotnet test SideScrollerGame.sln
|
||||
Passed! - Failed: 0, Passed: 22, Skipped: 0, Total: 22
|
||||
|
||||
dotnet build SideScrollerGame.sln
|
||||
Build succeeded.
|
||||
0 Warning(s)
|
||||
0 Error(s)
|
||||
|
||||
.\godot --headless --path godot --build-solutions --quit
|
||||
Exited successfully after project scan, .NET build, and script class registration.
|
||||
|
||||
.\godot --headless --path godot -- --debug-boot=debug-sandbox --debug-script=foundation-smoke --seed=333
|
||||
Debug foundation smoke succeeded
|
||||
|
||||
.\godot --headless --path godot -- --debug-boot=content-browser --content-validate-only
|
||||
Content validation succeeded
|
||||
|
||||
.\godot --headless --path godot -- --debug-boot=smoke --seed=12345
|
||||
Smoke scene loaded
|
||||
|
||||
Remaining risk: frame-step behavior is covered through the command service request counter and debug node bridge, but it has not been manually observed in the editor UI in this headless-only iteration.
|
||||
|
||||
## Context and Orientation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user