Signal Garden

A 2D botanical interpretation of real data. Each record becomes an interactive SVG flower, with mapped stem height, bloom size, and petal color. This prototype uses the same normalized USGS earthquake dataset as Planet Pulse, demonstrating two different renderers for the same data without Three.js or a model API.

Try It

  1. Import graphs/html/signal-garden.subfork.json and run it.
  2. Bind HTML Preview to view.html if the recommended layout is not applied. Maximize the panel for the full garden; narrow screens can scroll the canvas.
  3. Change the height, size, color, or palette controls. Select a flower or its specimen-index button to inspect the source record. Flowers support keyboard focus, Enter, and Space as well as pointer selection.
  4. Pause the swaying using Pause motion. Browser reduced-motion preferences disable animation automatically, including when changed while the page is open.

No additional application changes or rebuild are needed if dev already supports the html_safe JSON Stringify option used by Planet Pulse. No API key is needed. Each execution makes one bounded USGS request (30 seconds, 5 MB maximum). The rendered page makes no network requests and loads no external scripts or fonts.

Visual Mappings

Scales use the displayed records, not a fixed cross-execution baseline. Equal numeric values use the midpoint. Missing height/size values use a neutral midpoint; missing color values are gray. Field notes identify unreported values.

The garden displays at most the newest 60 object records and reports truncation and invalid rows. Records without timestamps sort after dated records. Empty datasets show an explicit empty state. The snapshot timestamp is UTC; a warning appears when it is more than two hours old. Rerun to refresh the underlying data.

Reuse And Editing

The renderer’s dataset_json input accepts HTML-safe serialized JSON containing:

The renderer contains no GeoJSON-specific parsing. Replace the upstream dataset branch to use another source while retaining HTML-safe JSON serialization before the template. Untrusted strings are rendered as text, not interpreted as markup. The default branch emits the same planet-pulse/1 dataset as Planet Pulse.

Outputs are html, HTML response, dataset, JSON data_response, rows, and raw geojson. UI mappings affect only the HTML view, not those data outputs. This is an ordinary-node prototype; no composite publication or graph IDs are required. The dataset and renderer are candidates for separate composites later.

The graph JSON is the single source of truth. Edit the formatted HTML/CSS/JS in the HTML node editor, save, and export to update the repository. There is no separate renderer source directory or committed builder.

Verification

Development smoke checks executed the graph with a synthetic HTTP response and checked rendering, selection, mappings, palettes, motion preferences, missing/empty data, and the record limit using a DOM stub. Shared HTML-safety tests also pass. These are not browser visual tests or proof of live USGS availability. This example adds no dedicated runtime test suite; verify visual edits by importing and running the graph in the dashboard.