Segment start positions (count × 3).
Segment end positions (count × 3).
Start colors RGB (count × 3; projection white-fills when absent).
End colors RGB (count × 3).
Start widths (count).
End widths (count).
Start sharpness knobs (count; projection fills 0.5 when absent).
End sharpness knobs (count).
3D segment lengths (count) — cap-ramp math.
Per-endpoint joint code for the start endpoint (count): 0 free end,
-1 slice-clipped, -2 degree->=3 hub, +(slot + 1) joins storage slot
slot at that segment's START, -(slot + 3) at its END. Drives the
vertex stage's join geometry and its cap. See
wasm/rust/src/lines_clipping.rs::compute_joint_codes.
Same for the end endpoint.
OptionalstartColormap scalars per endpoint (count each). Absent ⇒ texel5.xy are
written 0.0 (the no-scalar identity — written unconditionally so a
reused pool texture never leaks a previous tenant's scalars). The
line shader's USE_COLORMAP path requires both; presence rides the
userData.hasScalars stamp the call sites write (fail-closed).
OptionalendOptionalstartPer-endpoint opacity alphas (count each) from an RGBA color column
(volumetric phase 4), packed into texel5.zw. Absent ⇒ both slots
are written 1.0 (the per-element-opacity identity — written
unconditionally, pool-reuse safe). Presence rides the
userData.hasElementAlpha stamp the call sites write, which gates
only the volumetric w(a) optical-depth map.
OptionalendOptionalboundsPrecomputed cull metadata from the projection's fused scan (AABB
over start+end positions + max finite width). When present,
computeLineBounds skips its O(N) per-segment scan (mirrors the
points adapter's metadata.bounds fast path); absent ⇒ scan
fallback. Computed over the FULL projected set: if the written
count is capacity-clamped below it, the box is a conservative
superset — safe for frustum culling.
Number of segments
Configuration for instanced lines mesh — the texel source plus the segment count (matches the shape of
ProcessedLinesData).