feat(rendering): journal live scene projections
Mirror exact live-root and equipped-child lifetimes behind the non-drawing render-scene boundary. Ready, visibility, final-pose, rebucket, removal, and resource teardown edges retain canonical LiveEntityRuntime identity while active-only synchronization avoids resident-static scans. Co-authored-by: Erik Nilsson <erikn@users.noreply.github.com>
This commit is contained in:
parent
5d19c56d15
commit
58e7c2eb99
10 changed files with 949 additions and 148 deletions
|
|
@ -59,6 +59,17 @@ internal sealed class LivePresentationRuntimeBindings : IDisposable
|
|||
() => source.ProjectionPoseReady -= handler));
|
||||
}
|
||||
|
||||
public void BindProjectionRemoved(
|
||||
EquippedChildRenderController source,
|
||||
Action<uint> handler)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(source);
|
||||
ArgumentNullException.ThrowIfNull(handler);
|
||||
source.ProjectionRemoved += handler;
|
||||
Adopt("equipped-child projection removal", new DelegateBinding(
|
||||
() => source.ProjectionRemoved -= handler));
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_deactivationStarted && _bindings.Count == 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue