Skip to content

CutOptions

Defined in: network/lod.ts:2467

optional boundaries?: CutBoundaries

Defined in: network/lod.ts:2505

Collect the expanded aggregates whose boundary circle (cx/cy + extent: the disc, after a nested layout — see BoundaryDiscs) meets the view (#329) — the modules the engine rings with lod({ moduleBoundary }). Each one the walk expands (in the fade band: one whose children it draws) is recorded with its children’s alpha, at O(1) per expanded node the walk visits anyway; the walk itself and the returned frontier are unchanged. A tree’s single root (a module tree’s: the whole network) is never collected.


optional expandPx?: number

Defined in: network/lod.ts:2477

Expand an aggregate into its children once its on-screen footprint (diameter = 2·extent·k, in px) reaches this threshold; below it the aggregate draws as a single glyph — unless its members’ glyphs would not overlap at this zoom (k ≥ LODTree.clearZoom, #426), when it expands whatever its size. So the threshold only sets how coarse the map is where members would overlap. Larger → coarser (fewer, bigger glyphs); smaller → finer. An absolute pixel size — omit it to get the tree-adaptive default (defaultExpandPx: 48 px for a binary coarsening tree, more for a coarser-branching one such as a provided module partition).


optional fadeAlpha?: Float32Array<ArrayBufferLike>

Defined in: network/lod.ts:2496

Scratch buffer, indexed by tree-node id (length ≥ tree.size), the cut fills with each emitted node’s draw alpha when fadeBand > 0 (only frontier nodes are written; stale entries are never read). Reusable across frames to avoid per-frame GC. Required when fadeBand > 0. With boundaries, an expanded aggregate that is not itself drawn gets its children’s alpha here too (the alpha its ring and anchored links fade with).


optional fadeBand?: number

Defined in: network/lod.ts:2488

Cross-fade band (#133): half-width, as a fraction of expandPx, of the zoom band around the expand threshold over which an aggregate and its children are drawn together — the aggregate easing out (alpha 1→0) as its children ease in (0→1), so a split/merge reads smoothly instead of popping. 0/absent ⇒ off (the hard threshold, zero added cost). When > 0, fill fadeAlpha.


optional maxAggregateRadius?: number

Defined in: network/lod.ts:2481

Aggregate draw-radius cap (matches rendering), so the cull margin reflects the drawn size.


optional recordCulled?: boolean

Defined in: network/lod.ts:2512

Also record, in the scratch, the nodes the walk culls (subtree roots whose box misses the view) and the ones it both draws and expands (a cross-fade band) — CutScratch.culled / split — so the lazy super-edge gather (#343) can tell which drawn or culled node covers any leaf. O(1) per node the walk visits anyway; off ⇒ zero added cost.


optional screenSized?: boolean

Defined in: network/lod.ts:2479

True when glyphs are screen-pixel sized; converts the per-node draw radius to world for the cull margin.