Maximum number of distinct line-pattern slots a single
GPUMemoryBatch can carry. Each slot consumes 2 RGBA32UI
texels (= 32 bytes); 256 slots cap the per-batch overhead at
8 KB and stay well within the 8-bit accidental-overflow-proof
range — though the encoded slot index itself is a u16 in the
MeshAttributeTexture, so the hard cap is actually 65535.
Slots are allocated lazily by GPUMemoryBatch.addMesh
for materials whose SceneMaterial.linePattern is set
to anything other than the default "solid". Real-world
engineering drawings rarely exceed a handful of distinct
linetypes (visible, hidden, centre, phantom — that's four),
so a budget of 256 is generous.
Maximum number of distinct line-pattern slots a single GPUMemoryBatch can carry. Each slot consumes 2 RGBA32UI texels (= 32 bytes); 256 slots cap the per-batch overhead at 8 KB and stay well within the 8-bit accidental-overflow-proof range — though the encoded slot index itself is a u16 in the MeshAttributeTexture, so the hard cap is actually 65535.
Slots are allocated lazily by GPUMemoryBatch.addMesh for materials whose SceneMaterial.linePattern is set to anything other than the default "solid". Real-world engineering drawings rarely exceed a handful of distinct linetypes (visible, hidden, centre, phantom — that's four), so a budget of 256 is generous.