docs(specs): spec 039 - example pipeline fidelity#114
Conversation
The mixed-feature fixture (spec 035) exposed three systemic defects in the synced Godot example pipeline: wrapper scripts resolve to a path the sync never writes, every imported example renders blank, and the exported bones rest edge-on. Two are now (openability + textures); the bone-orientation convention is gated on a decision. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (2)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
📝 WalkthroughWalkthroughAdds Spec 039 materials: a STUDY documenting four systemic Godot example fidelity issues (wrapper script paths, editor import texture ordering, exported bone orientation, test/golden coverage) and a TODO with three PR tracks plus a deferred bone-orientation decision gate. ChangesSpec 039: Example Pipeline Fidelity
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@specs/039-example-fidelity/STUDY.md`:
- Around line 17-18: The wrapper scenes (e.g., SlotCycle.tscn, AtlasPack.tscn,
MixedFeature.tscn) have incorrect ext_resource script paths pointing to
res://examples/<name>/godot/<Name>.gd which the sync flattens away; update only
the .gd ext_resource entries in each wrapper scene to reference the flattened
path res://examples/<name>/<Name>.gd (leave the .tscn/proscenio instanced-scene
paths unchanged) so the wrappers match the documented flat-sync convention and
no longer load missing-dependency errors.
In `@specs/039-example-fidelity/TODO.md`:
- Line 10: Update the verification step so it explicitly loads each synced
wrapper scene instead of only starting Godot headless: modify the process that
runs python scripts/godot/sync_fixtures.py to, after syncing, iterate the synced
wrapper paths (res://examples/<name>/<Name>.tscn) and attempt to open/load each
scene (e.g., via a Godot headless CLI call or a small Godot script invoked per
scene) and fail the check if any scene reports "Load failed due to missing
dependencies" or ext_resource load errors; reference sync_fixtures.py and the
wrapper scene paths to implement the per-scene load and clear error reporting.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: a67169cf-bcb8-4a96-a288-a91624fb6dfe
📒 Files selected for processing (2)
specs/039-example-fidelity/STUDY.mdspecs/039-example-fidelity/TODO.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Analyze (python)
The Godot builders are tested only against hand-authored fixtures, never against real writer output - which is how the edge-on skinned-bone export went unnoticed. Add a now-item to drive test-godot from the baked goldens and shrink the hand-authored set to genuine edge cases. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Scope the wrapper-path fix to the script ext_resource only (the instanced .proscenio path is already flat), and make the verification a scripted per-scene load (a bare headless project start never loads the wrapper scenes, so it cannot surface the missing dependency). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Spec for the three systemic defects the mixed-feature fixture (spec 035 / PR #113) surfaced. They are present across every synced example, not unique to that fixture - inspecting the new fixture just made them visible.
The three defects
examples/*/godot/<Name>.tscnreferencesres://examples/<name>/godot/<Name>.gd, butsync_fixtures.pyflattensgodot/to the root (its own docstring documents the flat convention). So every wrapper scene fails to load its script.Polygon2D/Sprite2D. The.prosceniodata is correct (a headless build with the atlas applies every texture); the editor-import path bakes the.scnbefore the sibling image is imported, so the baked scene carries no texture.Bone2Dat +X (edge-on). This matches the hand-authoredskinned_dummyoracle, so it is the current convention, not a bug - but it reads as a flattened rig, and pointing bones anatomically collides with the documented +Z "collapses polygons" limitation. A convention decision, gated.Verdict
2 now (wrapper paths, texture ordering - what makes examples openable and visible), 1 gate (bone orientation, pending a decision among three options laid out in the STUDY).
Docs only (STUDY + TODO). No code in this PR; the work lands spec-by-spec after.
🤖 Generated with Claude Code
Summary by CodeRabbit