Appearance
EngineBufferBinding
Marker token for a GPU buffer the engine owns and renders from, as opposed to the scratch regions a script's own Buffer allocates. Mirrors TextureBinding: a role plus a way back to the memory, resolved at dispatch.
The provider is held strongly, because a script that writes outputBuffers: { p: rep.splat.position.write } keeps nothing else alive by the time the dispatch runs. Keeping the entity out of that chain is the provider's job, not the token's.
Resolution is deferred rather than captured because the engine's backing store for a buffer is not stable between frames, so a handle taken when the token was made would be both unsynchronised and, in time, pointed at a retired allocation.
- Warning: a
.writetoken resolves to a fresh backing store, not the previous frame's contents. A kernel bound to one must write every element it is dispatched over; whatever it skips is undefined, not preserved.
Deliberately offers no CPU readback. A script may read its own Buffer because that is shared storage nobody else writes; an engine-owned buffer has no defined synchronisation while the GPU is mid-write.