hitTargetPoint / hitTargetRect | xy / ordinal | a transparent, hit-tested scene node so a layout that draws its marks inoverlays still earns keyboard nav + focus ring (a11y),onObservation + selection, and transition identity; point-like helpers also provide pointId annotation anchoring |
geoHitTarget / geoAreaHitTarget | geo | transparent point or polygon scene nodes for custom GeoFrame overlays, preserving hover, keyboard focus, tooltips, accessible rows, and observation callbacks |
networkHitTarget | network | transparent circle or rect scene nodes for network custom overlays, with stable node identity for annotation anchoring and linked interaction |
polarToXY / xyToAngle / angleScale /radiusScale / ringArcPath | radial | angle ⟂ radius for a two-continuous-channel radial chart (0 = up, clockwise);ringArcPath draws annular sectors, wedges, and full rings |
curvedEdgePath / orthogonalEdgePath /boxEdgeAnchors / fanOutBend | network | edge SVG paths: S-curve (with side-bow) or elbow, box exit/entry points by direction, and a fan-out bend so parallel edges don’t overlap |
cubicPoint / cubicTangent / cubicPath | network | evaluate a cubic Bézier — sample a point or tangent along a CubicCurveto seat a mark on the curve (a node mid-edge, an arrowhead), or serialize it to an SVG path |
addPoints / subtractPoints / scalePoint /pointMagnitude / normalizePoint | any | 2D point/vector math — an edge offset normal to its tangent, a radial spoke, a leader line; composes with the radial + edge kits |
allocateCells | any | largest-remainder grid allocation: {key, weight}[] + a cell count → integer cells with no rounding drift (minPerCategory keeps small categories visible) — the math behind a feature-mix waffle |
unitize / unitizeRange | any | the pictogram/tally allocator — one value → repeated unit signs with a fractional final sign (ISOTYPE: symbols repeat, they never grow). maxUnits caps with an overflow flag, minFraction drops slivers honestly (total vs shown), and unitizeRange extends the tally to a projected/scenario endpoint, sharing a mid-sign boundary viastartFraction. The counting sibling of allocateCells; feeds glyph node fractions directly |
tokenLayer / generateTokens | any | the tokenized-reasoning layer above unitize: declaretokenSemantics (unitized-measure, risk-case,possible-outcome, etc.) and a countStrategy (unitized, fixed-denominator, quantile,posterior-sample), then get positioned dot, icon, orglyph scene nodes for rows, grids, waffles, dotplots, strips, or hybrid bar segments. Pass { value, rangeValue } plusincludeRange when a unitized tally needs projected/scenario tokens. UsegenerateTokens directly when a bespoke layout needs the records without default scene nodes; pair with diagnoseTokenEncoding andsuggestTokenEncoding when a chart or IDID flow needs to explain why tokens are appropriate |
Glyph / glyphPlacement / glyphExtent | any | the React face + geometry of the composite-pictogram glyph scene node: render a GlyphDef in overlays/legends/chrome with<Glyph>, and measure a definition’s drawn box/anchor offsets for layout math — seeGlyph Marks |
clamp / mean / withAlpha | any | the numeric/color one-liners every layout re-declares; withAlpha turns a hex into rgba() so a hover-dim can ride a recipe’sresolveColor callback |
packIntervals / activeCountOverDomain | any | greedy Gantt sub-track packing + the concurrency step series that pairs with it |
runs / runLengthEncode | any | collapse a per-step categorical/boolean series into drawable runs (condition strips, status timelines) |
wrapValue / shortestArcDelta /cyclicRangeContains / selectCyclicRange | any | cyclical (wrap-around) math for periodic axes — day-of-year, hour, compass bearing |
axisFixedForcePositions / rectCollide | network | pin one axis from a field, relax the other with attraction + rectangular (label-box) collision |
unwrapDatum | any | the raw user datum from an onObservation handler — collapses the wrapped-vs-raw split |