Skip to main content

Module draw_slot

Module draw_slot 

Source
Expand description

Free-list allocator for backend draw-object slots. A backend appends draw objects into a single Vec and stores raw indices into it on each entity’s RenderHandle, so a despawned object’s slot cannot be compacted away without invalidating every later index. Instead the allocator hands out a vacated slot before growing the vec: retire pushes a freed index, the next runtime spawn pops it. Streamed chunks were the first consumer (one freed chunk’s slot reused by the next); runtime entity spawn/despawn is the second. All three backends (Metal, DirectX, Vulkan) route their draw-slot allocation through this.

Structs§

DrawSlotAllocator
Hands out draw-record slots, reusing vacated ones before growing.

Enums§

SlotAlloc
Where a newly allocated draw record lands.