KB: rubble placement fix status (pixel-verified; scorch/explosion/fire still open)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-19 09:56:58 -05:00
co-authored by Claude Fable 5
parent 5e7b4e8232
commit df2a97fe20
+13 -11
View File
@@ -259,17 +259,19 @@ RemakeEntity mechanism); `[video] Object` hides at BurningState, `Rubble` shows;
`StateIndicator::AddVideoWatcher` (SetState DOES fire video watchers). ⚠ REQUIRED gotcha:
cultural objects must stay **OUT of static-mesh consolidation** (`RecurseStaticObject` — same
exclusion class as banded LODs/shadows), else the merged mesh draws the intact model forever
regardless of DrawObj. ⚠ **STATUS (human playtest 2026-07-19): PARTIAL — the intact model now
hides on death (the truck "disappears"), but the RUBBLE never appears and no explosion/fire is
visible.** The switch's SHOW sets DrawObj on the rubble CHILD component (DCSInstanceRenderable/
DPLStaticChildRenderable) — those child classes are themselves 2007-stubbed and never draw their
object, so the swap is a no-op on screen; and the death Explosion routes effect 1008 (ddam5
psfx) but nothing visible appears (+ the authentic BurningState fire visual is entirely
unreconstructed). REMAINING: make the rubble genuinely draw (or hang it off the drawn root),
a visible death explosion, the burning-fire state. LESSON: `[cultvis]` log lines verify the
STATE MACHINE, not pixels — only a human screen check verifies rendering. Diags: `BT_CULT_LOG`
(census/damage/death + `[cultvis]`). MP: replicants transition via `ReadUpdateRecord` → same
SetState watcher path (untested cross-pod).
regardless of DrawObj. **RUBBLE PLACEMENT FIX (2026-07-19, pixel-verified via BT_SHOT):** the
rubble originally never appeared because additional cultural objects were built as
DPLStaticChildRenderable/DCSInstanceRenderable at TOP level — those read the bare matrix stack
(identity), so the rubble drew at the WORLD ORIGIN. Every cultural video object is now a
`RootRenderable` (places from `myEntity->localToWorld`). Screenshot timeline confirms: intact
MECHMOVR truck → ram death → MECHMD wreck debris scattered at the truck's spot. ⚠ STILL OPEN
(#3): (a) the wreck's scorch base quad draws as an opaque BLACK rectangle (MECHMD's own op —
material/ramp resolve); (b) the death Explosion (psfx 1008 ddam5) not visually confirmed;
(c) the authored BurningState fire visual unreconstructed. LESSON: `[cultvis]` log lines verify
the STATE MACHINE, not pixels — only a screen check (BT_SHOT / human) verifies rendering.
Diags: `BT_CULT_LOG` (census/damage/death + `[cultvis]` + `[cultobj]` per-object file/type/op
flags). MP: replicants transition via `ReadUpdateRecord` → same SetState watcher path (untested
cross-pod).
## Key Relationships
- Geometry/LOD: [[bgf-format]]. Base: [[wintesla-port]] (L4D3D). Shadow/visual-conform: [[locomotion]].