This document records the TODOS.phase-72.72.15.1.9 cinematic sequencer actor
binding contract. Actor bindings let tracks keep stable binding ids while a
sequence is reused against different scene entities, cameras, components, or
spawnables.
Runtime Ownership#
- Runtime module:
V2Cinematics - Override spec:
FV2SequencerBindingOverrideSpec - Resolved binding spec:
FV2SequencerResolvedBinding - Track evaluation:
FV2SequencerActorBindingEvaluation - Issue enum:
EV2SequencerActorBindingIssueType - Issue struct:
FV2SequencerActorBindingIssue - Automation:
V2.Cinematics.Sequencer.ActorBindings - CI checker:
V2/ue/Tools/check-v2-sequencer-actor-bindings.py
Binding Model#
FV2SequencerBindingSpec remains the authoring-time binding table used by the
sequencer data model. FV2SequencerBindingOverrideSpec adds a reusable override
layer with an override id, source binding id, target binding kind, target entity
id, target component id, target spawnable class path, and optional target
binding path.
EvaluateSequencerActorBindings resolves the sequence binding table plus any
overrides into FV2SequencerResolvedBinding entries. The resolved rows preserve
stable binding ids such as Binding.Actor.Cassia, but can redirect the scene
target to Entity.Fighter.PlayerTwo or Camera.Cinematic.ReplayHero for a
reused sequence instance.
Default Fixture#
BuildDefaultSequencerBindingOverrides creates two default overrides for
Seq.DataModel.CouncilIntro:
Override.Binding.CassiaToPlayerTworedirectsBinding.Actor.CassiatoEntity.Fighter.PlayerTwoatWorld.Arena.FighterB.Override.Binding.HeroCameraToReplayredirectsBinding.Camera.HerotoCamera.Cinematic.ReplayHeroatWorld.Cameras.ReplayHero.
The evaluation resolves three bindings, marks Track.Cassia.Transform and
Track.HeroCamera.FOV rebound, and leaves Binding.Global.Cinematic
unmodified.
Validation#
Actor binding evaluation reports blocking issues for missing override ids,
missing source bindings, duplicate override ids, invalid override targets,
non-rebindable source bindings, non-rebindable tracks, and tracks whose binding
id no longer resolves. Binding-level and track-level bRebindable flags are
checked independently so reusable sequences can lock specific scene targets or
tracks while keeping other bindings replaceable.
Verification#
Run:
python3 V2/ue/Tools/check-v2-sequencer-actor-bindings.py
Adjacent verification should include
python3 V2/ue/Tools/check-v2-sequencer-camera-tracks.py,
python3 V2/ue/Tools/check-v2-sequencer-event-tracks.py,
python3 V2/ue/Tools/check-v2-sequencer-audio-tracks.py,
python3 V2/ue/Tools/check-v2-sequencer-animation-clip-tracks.py,
python3 V2/ue/Tools/check-v2-sequencer-property-tracks.py,
python3 V2/ue/Tools/check-v2-sequencer-keyframe-interpolation.py,
python3 V2/ue/Tools/check-v2-sequencer-timeline-playback.py,
python3 V2/ue/Tools/check-v2-sequencer-data-model.py, and
python3 V2/ue/Tools/check-v2-cinematics-module.py.