First-class 2D camera (view+proj in shader) + engine-side 2D culling + coordinate-origin option (#554)
C
M
—
P6-05: FFI batch sets only u_viewport (draw/batch.rs:355); Throne does world→screen math + visibility in C# per sprite (GoudRenderPort.cs:275). Camera uniform + grid/quadtree culling before submission; #554’s configurable origin lands in the camera.
Auto atlas/texture-array integration with the sprite core
B
M
P6-02
ENG2-P6-08
Shaped-text run cache + S4 sprite-storm gate validation
C
M
P6-03
P6-06:assets/loaders/tiled_map/layer.rs:22 TileLayer is raw Vec<u32> gids with no renderer — the direct cause of per-tile DrawSprite in 2D consumers.
P6-07: ShelfPacker + full atlas FFI exist (rendering/texture_atlas/packer.rs, ffi/renderer/atlas/ffi.rs) but nothing auto-packs; collapse many textures into few draws without consumer bookkeeping.
P6-08:ffi/renderer/text/draw_impl.rs:45 re-shapes every string every frame (atlas is cached, shaping is not); cache runs keyed (string, font, size).