Context
User feedback during integration smoke test: "btw rigidbodies, nothing is falling. is this another 'oh i created rigidbodies but theres no real bodies' thing?"
Investigation (Mac, integration HEAD)
Ran A/B on tests/goldens/scenes/phys_rb_smoke.cfg:
| Test |
Result |
phys_enabled 0 vs phys_enabled 1 @ frame 60 |
11591 pixels differ (3.77%), max delta 407 |
Isolation render (pt_smoke_skip_csg_seed 1 + pt_smoke_skip_prim_seed 1) |
Bodies clearly visible & falling |
| Frame 4 → 30 → 90 progression |
Center body falls from y≈20 → 70 → 110 in screen-space (gravity integrating) |
Physics is fully working. Bodies translate under gravity, collisions hit ground, spawns are continuous.
What the user sees in the default render
- 5 rigid bodies (radius 0.3–0.4m) spawned at heights y=4 to y=7
- Render as faint white spheres against bright procedural sky
- Visually swallowed by the
cornell_csg seed cluster which renders front-and-center in every default scene
- At first glance "nothing is falling" because the cluster dominates
NOT the same as smoke MVP
Smoke MVP (#180) was a genuinely incomplete optical model (in-scatter only, no Beer-Lambert until opt-in). Rigid bodies are fully integrated — they just lack visual distinction in the default render.
Wave-2 fixes (proposed)
Acceptance
Single-frame screenshot of default phys_rb_smoke.cfg should make it obvious bodies are falling — without needing A/B against phys_enabled 0.
Related
Context
User feedback during integration smoke test: "btw rigidbodies, nothing is falling. is this another 'oh i created rigidbodies but theres no real bodies' thing?"
Investigation (Mac, integration HEAD)
Ran A/B on
tests/goldens/scenes/phys_rb_smoke.cfg:phys_enabled 0vsphys_enabled 1@ frame 60pt_smoke_skip_csg_seed 1+pt_smoke_skip_prim_seed 1)Physics is fully working. Bodies translate under gravity, collisions hit ground, spawns are continuous.
What the user sees in the default render
cornell_csgseed cluster which renders front-and-center in every default sceneNOT the same as smoke MVP
Smoke MVP (
#180) was a genuinely incomplete optical model (in-scatter only, no Beer-Lambert until opt-in). Rigid bodies are fully integrated — they just lack visual distinction in the default render.Wave-2 fixes (proposed)
phys_rb_demo.cfgfixture without cornell_csg cluster, used as the user-facing rigid-body demor_phys_show_velocity 1) for debug — color bodies by speedAcceptance
Single-frame screenshot of default
phys_rb_smoke.cfgshould make it obvious bodies are falling — without needing A/B againstphys_enabled 0.Related