feat(M03): add entity presentation facade
This commit is contained in:
@@ -964,6 +964,21 @@ $exe = Join-Path $env:TEMP 'godot-4.6.1-openwc\Godot_v4.6.1-stable_win64.exe'
|
||||
capture path. Light/Area/Skybox DBC lookup, interpolation, fog, sun and shader
|
||||
behavior remain unchanged; weather and indoor environment state are follow-up work.
|
||||
|
||||
## 2026-07-16 World Entity Presentation Facade
|
||||
|
||||
- `EntityPresentationSnapshot` contract version 1 combines session `EntityId`,
|
||||
typed Godot world position, visual PackedScene path, finite yaw/scale and visibility.
|
||||
- `WorldRenderFacade.present_entity()` and `remove_entity()` delegate to an explicit
|
||||
scene-owned `WorldEntityPresenter`; both runtime scenes compose that service.
|
||||
- The presenter owns only visual subtrees. Same-path snapshots update transform/
|
||||
visibility, changed paths replace after successful instantiation, and removal
|
||||
detaches plus queues the owned root for deletion.
|
||||
- The local player, authoritative state, GUID mapping and asset/display selection
|
||||
remain outside this service. Runtime emits no entity commands yet, so baseline
|
||||
output is unchanged.
|
||||
- PackedScene loading is currently synchronous on create/replace and is a documented
|
||||
prototype limitation, not an accepted network-scale frame-critical path.
|
||||
|
||||
## Practical Rule For Future Work
|
||||
|
||||
If something improves quality but creates visible hitch, it is not done. Move it to bake/cache/background work, split finalization over frames, or prewarm it before the player can see it.
|
||||
|
||||
Reference in New Issue
Block a user