acdream/src/AcDream.App
Erik 8b0365e7a9 feat(D.2b): Slice 2 — wire paperdoll doll RTT pass + re-dress into GameWindow
Drives the doll 3-D pass in a pre-UI hook (after the world passes, before
_uiHost.Draw), gated on inventory-open AND doll-view (the viewport widget's
Visible, set by the Slots toggle). RefreshPaperdollDoll clones the live
player entity (_entitiesByServerGuid[player]) into a DollEntityBuilder doll
with COPIED MeshRefs (frozen pose); re-dress is triggered by a dirty flag
set in OnLiveAppearanceUpdated (0xF625) — the C# analog of RedressCreature.

Correctness fix: the doll is passed in animatedEntityIds so the dispatcher
BYPASSES the Tier-1 classification cache (WbDrawDispatcher.cs:1142). Without
it, a re-dress (a new WorldEntity with the same fixed DollRenderId) would
serve the previous doll's cached batches and the new gear wouldn't appear.

Renderer disposed in the GameWindow teardown. Build + full App suite green
(594). Static doll (no idle animation yet — next slice). Visual gate next.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 09:22:45 +02:00
..
Audio feat(audio): Phase E.2 OpenAL engine + SoundTable cookbook + hook wiring 2026-04-18 16:38:26 +02:00
Input fix(phys): #106 gate-2 — bogus-indoor-claim recovery + spawn-ground entry hold 2026-06-09 23:47:11 +02:00
Net refactor(app): extract LiveSessionController for network-side session lifecycle (Step 2) 2026-05-17 16:15:57 +02:00
Plugins feat(D.2b): IUiRegistry plugin UI surface + buffered drain into UiHost 2026-06-14 17:46:37 +02:00
Rendering feat(D.2b): Slice 2 — wire paperdoll doll RTT pass + re-dress into GameWindow 2026-06-23 09:22:45 +02:00
Streaming fix(G.3): pre-collapse dungeon streaming at login/teleport — kill the login FPS ramp (#135) 2026-06-14 16:46:56 +02:00
UI feat(D.2b): Slice 2 — PaperdollViewportRenderer RTT pass (static doll) 2026-06-23 09:14:20 +02:00
World refactor(G.3a): Place flips Idle before delegate; test mid-hold reset (#133) 2026-06-13 17:11:40 +02:00
AcDream.App.csproj feat(D.2b): MarkupDocument (XML -> UiElement tree); vitals panel from vitals.xml 2026-06-14 17:38:07 +02:00
Program.cs feat(D.2b): IUiRegistry plugin UI surface + buffered drain into UiHost 2026-06-14 17:46:37 +02:00
RuntimeOptions.cs feat(D.2b): flip vitals to the LayoutDesc importer; retire hand-authored vitals.xml 2026-06-15 16:30:24 +02:00