This project is a Val Town HTTP React/D3 visualization.
Val Town push for this project currently accepts only top-level published source files. Keep live runtime modules that must be fetched by
esm.townat thegraphViz/root. Nested folders can be used for notes or local-only organization, but files under nested paths are not safe to rely on for live module resolution or deploy sync.
index.http.tsx thin.index.http.tsx.App.tsx.data.ts.constants.ts.types.ts.graphUtils.ts.ForceDirectedGraph.tsx.GraphControls.tsx, GraphDetails.tsx, GraphLegend.tsx, and
GraphStats.tsx.Do not store transient hover state in React if it causes the force simulation to rebuild. React should own durable UI state such as filters, layout mode, label mode, and clicked or keyboard-selected node/link details. D3 should own transient SVG interaction state such as hover highlighting, tooltip placement, zoom transform, drag state, and simulation ticks.
.ts and .tsx extensions for local imports.npm: imports where appropriate.http in the filename, such as index.http.tsx, are clearer for
HTTP Val entrypoints.From the repository root:
deno task check:graphViz deno task test
From this folder, use the Val Town CLI for deployment sync:
vt status vt watch vt push