feat(rendering): pack scene dispatcher inputs

Capture immutable presentation payloads in the render scene, flatten unique entity and mesh-part records into the borrowed frame arena, and compare every routed dispatcher input tuple without changing the production draw source.
This commit is contained in:
Erik 2026-07-25 00:44:58 +02:00
parent 720578592b
commit d8d9897376
13 changed files with 593 additions and 24 deletions

View file

@ -105,6 +105,18 @@ internal sealed class StaticRenderProjectionJournal :
PreviousTransform = new PreviousRenderTransform(
retained.Record.Transform.LocalToWorld),
};
if (accepted.Source.GeometryFingerprint
== retained.Record.Source.GeometryFingerprint
&& accepted.Source.AppearanceFingerprint
== retained.Record.Source.AppearanceFingerprint
&& accepted.EntityPayload.IsBuildingShell
== retained.Record.EntityPayload.IsBuildingShell)
{
accepted = accepted with
{
EntityPayload = retained.Record.EntityPayload,
};
}
if (accepted.ProjectionClass
!= retained.Record.ProjectionClass)
{