How microsoft/sanddance works
SandDance is a modular data-exploration and unit-visualization product. Its principal workflow is to load or select data, infer column metadata, configure an insight through Explorer, and render and interact with animated visualizations; users can also export data and save or share snapshots. The repository provides web, embeddable, React, Power BI, Azure Data Studio, and VS Code entry points, alongside chart recommendation and search. Relationships below are limited to README statements and shown source references; several adapter and rendering internals were not sampled.
Main entry points: explorer.tsx Explorer UI · sanddanceApp.tsx Web app · search.tsx Search dialog · specBuilder.ts Visualization specs
Components 17
Product entry points
- Web app
packages/sanddance-app/src/sanddanceApp.tsx - Iframe embed
packages/sanddance-embed/src/sanddance-embed.ts - Power BI visual
packages/powerbi/src/app.ts - Azure Data Studio
extensions/azdata-sanddance/src/extension.ts - VS Code extension
extensions/vscode-sanddance/src/extension.ts
Data exploration
- Data source picker
packages/sanddance-app/src/dataSourcePicker.tsx - Explorer UI
packages/sanddance-explorer/src/explorer.tsx - Search dialog
packages/sanddance-explorer/src/dialogs/search.tsx - Search controls
packages/sanddance-explorer/src/controls/searchTerm.tsx - Snapshots
packages/sanddance-app/src/snapshots.tsx
Visualization engine
- Visualization specs
packages/sanddance-specs/src/specBuilder.ts - Visualization canvas
packages/sanddance/src/viewer.ts - MorphCharts renderer
packages/vega-morphcharts/src/morphcharts/render.ts
Analysis support
- Column inference
packages/sanddance-specs/src/inference.ts - Data statistics
packages/data-inference/src/inference.ts - Chart recommender
packages/chart-recommender/src/recommender.ts
Other components
- User
Connections 16
- User → Web app: explores data
README.md - Web app → Data source picker: selects source
packages/sanddance-app/src/sanddanceApp.tsx - Web app → Explorer UI: hosts explorer
packages/sanddance-app/src/sanddanceApp.tsx - Web app → Snapshots: uses snapshots
packages/sanddance-app/src/sanddanceApp.tsx - Power BI visual → Explorer UI: hosts explorer
packages/powerbi/src/app.ts - Explorer UI → Search dialog: opens search
packages/sanddance-explorer/src/dialogs/search.tsx - Search dialog → Search controls: uses controls
packages/sanddance-explorer/src/dialogs/search.tsx - Explorer UI → Column inference: infers columns
- Column inference → Data statistics: delegates inference
packages/sanddance-specs/src/inference.ts - Explorer UI → Chart recommender: requests suggestions
- Explorer UI → Visualization specs: builds visualization
- Visualization specs → Visualization canvas: specifies views
README.md - Visualization canvas → MorphCharts renderer: renders charts
- User → Iframe embed: embeds explorer
README.md - User → Azure Data Studio: uses extension
README.md - User → VS Code extension: uses extension
README.md