acdream/src/AcDream.App/Streaming
Erik 8735c39a40 feat(vfx #C.1.5b): GpuWorldState fires activator for dat-hydrated entities
Four new foreach blocks in GpuWorldState wire EntityScriptActivator
into the dat-hydration spawn/despawn paths:
- AddLandblock: fires OnCreate for each entity with ServerGuid==0
  (live entities filtered out — they got OnCreate at AppendLiveEntity
  and would double-fire on pending-bucket merges).
- AddEntitiesToExistingLandblock: fires OnCreate for each entity in
  the promoted batch (all dat-hydrated by construction).
- RemoveLandblock: fires OnRemove(entity.Id) for each ServerGuid==0
  entity before the loaded record is dropped.
- RemoveEntitiesFromLandblock: fires OnRemove for the demote-tier
  entities about to be cleared (Near→Far demotion).

5 new integration tests cover the four fire-sites + the no-double-fire
invariant on pending-bucket merges. Pattern matches existing
GpuWorldStateTests (stub LandBlock heightmap + WorldEntity factory).

Closes #56 end-to-end. Slice A (per-part transforms in Tasks 1-3) +
Slice B (dat-hydrated entity DefaultScript firing, this task) both
ready for visual verification at Holtburg portal + Inn fireplace +
cottage chimney + spell cast.

Note: 8 pre-existing failures in Physics/Input/MotionInterpreter test
families are unrelated to this work (verified by re-running with this
task's changes stashed).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 00:07:38 +02:00
..
GpuWorldState.cs feat(vfx #C.1.5b): GpuWorldState fires activator for dat-hydrated entities 2026-05-12 00:07:38 +02:00
LandblockStreamer.cs fix(streaming): close #54 — plumb JobKind through BuildLandblockForStreaming 2026-05-10 16:03:16 +02:00
LandblockStreamJob.cs feat(A.5 T7): LandblockStreamResult.Loaded.Tier+MeshData; Promoted variant 2026-05-09 22:53:07 +02:00
LandblockStreamTier.cs feat(A.5 T1): LandblockStreamTier + LandblockStreamJobKind enums 2026-05-09 22:15:57 +02:00
StreamingController.cs fix(A.5 T13-T16): canonicalize ids; init-only radii; demote/promote tests 2026-05-10 08:08:23 +02:00
StreamingRegion.cs fix(A.5 T4-T6): bootstrap guard + dead enum + test cleanups 2026-05-09 22:49:35 +02:00
TwoTierDiff.cs feat(A.5 T2): TwoTierDiff record + LandblockStreamJob.Load.Kind 2026-05-09 22:20:48 +02:00