The nD → 3D line clipping/interpolation math lives in exactly one
place: the worker dispatcher workers/data-worker/projection/lines.ts
(run on a worker, or on the main thread via
workers/data-worker/projection/in-process.ts), which batches through
the WASM clip_segments_batch / interpolate_* kernels (with the
uncapped wasm/typescript/lines-clipping.ts reference as fallback).
This module used to carry a second, hand-written main-thread copy of
that math (projectLinesTo3D, projectLinesTo3DWASM,
clipSegmentToSlice, lerp/lerpVec3/distance3D, the
getWasmModuleSync footgun, and initLinesWASM). It was deleted so
there is a single projection implementation to keep in sync. Only the
tiny "no visible lines" constructor remains, alongside the loader that
consumes it.
Lines "empty payload" factory.
The nD → 3D line clipping/interpolation math lives in exactly one place: the worker dispatcher
workers/data-worker/projection/lines.ts(run on a worker, or on the main thread viaworkers/data-worker/projection/in-process.ts), which batches through the WASMclip_segments_batch/interpolate_*kernels (with the uncappedwasm/typescript/lines-clipping.tsreference as fallback).This module used to carry a second, hand-written main-thread copy of that math (
projectLinesTo3D,projectLinesTo3DWASM,clipSegmentToSlice,lerp/lerpVec3/distance3D, thegetWasmModuleSyncfootgun, andinitLinesWASM). It was deleted so there is a single projection implementation to keep in sync. Only the tiny "no visible lines" constructor remains, alongside the loader that consumes it.