pub enum IdKind {
Node,
More,
Aggregate,
Loading,
OtherSynthetic,
}Expand description
What an interned id denotes — classified once, at intern time, replacing
the per-hit starts_with("__") string tests.
This preserves TWO distinct pre-existing behaviors that must not collapse into one another:
graph-explorer-wasm’snode_screen_positionsexcludes ANY id starting with"__"from the projection API (seecrates/graph-explorer-wasm/src/lib.rs).graph-explorer-render’s hit-testpickonly special-cases"__more","__agg:"-prefixed ids, and skips exactly"__loading"as pick-inert; every other"__"-prefixed id is hit-tested as an ordinary node.
OtherSynthetic exists to keep both behaviors intact under one
classification: it is synthetic for the screen-positions exclusion, but
graph-explorer-wasm’s node_at maps it to hit-test kind “node” (not skipped) —
only Loading is pick-inert.
Variants§
Node
More
Aggregate
Loading
OtherSynthetic
Any "__"-prefixed id that is not "__more", "__loading", or
"__agg:"-prefixed (e.g. a near-miss like "__agg" with no colon,
or an unrecognized "__x"). Synthetic for screen-position purposes
(matches the old blanket starts_with("__") filter), but hit-testing
treats it as an ordinary hittable node — graph-explorer-wasm’s node_at
maps it to hit kind "node", honoring this contract.