Remix web component for rendering interactive WebGL scatterplots backed by Parquet data.
The component is registered via manifest.json.
URL to a Parquet file containing the point data.
{
"name": "parquet-url",
"type": "url",
"defaultValue": ""
}Name of the numeric column used for the x-axis projection.
{
"name": "x",
"type": "string",
"defaultValue": "projection_x"
}Name of the numeric column used for the y-axis projection.
{
"name": "y",
"type": "string",
"defaultValue": "projection_y"
}Name of the column containing cluster identifiers.
{
"name": "cluster-id",
"type": "string",
"defaultValue": "cluster_id"
}Rendered size of scatterplot points.
{
"name": "point-size",
"type": "number",
"defaultValue": 4
}Name of the currently selected cluster.
Used to externally control cluster highlighting.
{
"name": "selected-cluster-name",
"type": "string",
"defaultValue": ""
}Event input used to trigger cluster selection programmatically.
{
"name": "select-cluster",
"type": "event"
}Emitted when a single point is selected.
Payload contains the full metadata object for the selected point.
{
"name": "selected-point"
}Emitted when multiple points are selected via lasso selection.
Payload is a list of metadata objects corresponding to the selected points.
{
"name": "selected-points",
"payload": [{}]
}Emitted when cluster assignments or visibility change.
Used to drive legends or external cluster controls.
{
"name": "clusters-changed",
"payload": [{}]
}The Parquet source is expected to include:
- Numeric columns for x/y projection
- A cluster identifier column
- Arbitrary metadata columns passed through in selection events
Local development uses a minimal index.html harness.
npm install
npm run dev