Skip to content

RenderNode

Defined in: camera/scene-stack.ts:57

What the renderer draws, one per visible cluster/node. Positions are in the current scene’s own local world space (the same convention ExplorerLayout’s boxes already use).

aggregate: boolean

Defined in: camera/scene-stack.ts:103

True only for a non-navigable overflow aggregate (“Other groups”, “More items”) — a cluster whose own ExplorerCluster.truncated is set. Lets the renderer draw it hollow/dimmed so it is never mistaken for a real, drillable node (plan Step 2 exit criterion).


color: number | null

Defined in: camera/scene-stack.ts:107

US071 — the item’s own colour as 0xRRGGBB, parsed once here; null when unset or invalid.


drillable: boolean

Defined in: camera/scene-stack.ts:79

Whether entering it opens a scene (it has a drillsInto and is not the radial centre).


effects: ExplorerEffect[]

Defined in: camera/scene-stack.ts:109

US071 — the effects the item asked for (ExplorerNode.effects).


emphasis: "ring"[]

Defined in: camera/scene-stack.ts:96

The adapter’s declared emphasis (US070 / A24) — the renderer’s only source for a ring.


focus: unknown

Defined in: camera/scene-stack.ts:83

The source’s own focus this node drills into (ExplorerNode.drillsInto), opaque here — null exactly when drillable is false. unknown so the renderer-facing types stay free of the consumer’s focus type; the stack casts it back at the points it hands one to the source.


height: number

Defined in: camera/scene-stack.ts:67

The box’s height.


href: string | null

Defined in: camera/scene-stack.ts:91

The item’s own conventional page — null only for a non-navigable aggregate cluster (“Other groups”), same as ExplorerCluster.href itself. Carried through for a click’s detail modal (“view the full page”), never used by the renderer, which draws no links of its own.


id: string

Defined in: camera/scene-stack.ts:59

The item’s id.


item: ExplorerItem

Defined in: camera/scene-stack.ts:94

US072 (review change 1) — the item exactly as the source wrote it, data included: what the selection events hand back, so a consumer never maps a render node back to its own object.


kind: string | null

Defined in: camera/scene-stack.ts:113

US071 — the custom renderer this item asks for, or null for its plain shape.


label: string

Defined in: camera/scene-stack.ts:85

The item’s label.


labelAt: { x: number; y: number; } | null

Defined in: camera/scene-stack.ts:77

Where a region’s label goes, relative to this box as outline is; null for the middle.


outline: number[][][][] | null

Defined in: camera/scene-stack.ts:75

A region’s outline relative to this box ((0, 0) its top left, (1, 1) its bottom right), so it holds wherever the box is placed; null for anything else, or a region that is its whole box.


ramp: number | null

Defined in: camera/scene-stack.ts:105

The adapter’s ramp position (ExplorerNode.ramp), or null for the per-id fallback tint.


rawMarks: string[]

Defined in: camera/scene-stack.ts:99

The adapter’s own display text, carried through unparsed for a DOM view (the detail modal) that shows prose the renderer never needs to understand.


shape: ExplorerShape

Defined in: camera/scene-stack.ts:72

The item’s declared shape.


size: number

Defined in: camera/scene-stack.ts:70

The larger of width and height: the box’s side, when it is square.


sublabel: string | null

Defined in: camera/scene-stack.ts:87

The item’s sublabel, or null.


texture: { fit: "cover" | "contain"; url: string; } | null

Defined in: camera/scene-stack.ts:111

US071 — the item’s canvas image, with its fit settled; null when none was given.


width: number

Defined in: camera/scene-stack.ts:65

The box’s width. Square (equal to height) in packed and radial scenes.


x: number

Defined in: camera/scene-stack.ts:61

Left edge of the item’s laid-out box, in its scene’s world units.


y: number

Defined in: camera/scene-stack.ts:63

Top edge of the item’s box.