MCPcopy
hub / github.com/microsoft/SandDance

github.com/microsoft/SandDance @v3 sqlite

repository ↗ · DeepWiki ↗ · release v3 ↗
14,075 symbols 31,076 edges 316 files 1,272 documented · 9%
README

SandDance

Visually explore, understand, and present your data.

sanddance-animation

By using easy-to-understand views, SandDance helps you find insights about your data, which in turn help you tell stories supported by data, build cases based on evidence, test hypotheses, dig deeper into surface explanations, support decisions for purchases, or relate data into a wider, real world context.

SandDance uses unit visualizations, which apply a one-to-one mapping between rows in your database and marks on the screen. Smooth animated transitions between views help you to maintain context as you interact with your data.

This new version of SandDance has been rebuilt from scratch with the goal of being modular, extensible, and embeddable into your custom applications. We are now on GitHub so that we are open and driven by the community through contributions, feature requests, and discussion.

SandDance was created by the Microsoft Research VIDA Group which explores novel technologies for visualization and immersive data analytics.

Where can I use SandDance?

Component architecture

SandDance is an offering of several JavaScript components:

  • sanddance - the core SandDance visualization canvas.
  • sanddance-react - the core SandDance visualization canvas for use in React based applications.
  • sanddance-vue - the core SandDance visualization canvas for use in Vue based applications.
  • sanddance-explorer - the core SandDance visualization canvas with UI to enable data exploration, for use in React based applications.

Publications

Articles & videos

Changelog

  • June 2020 - Major version bump to v3: Now using Deck.gl@8.
  • December 2019 - Major version bump to v2: Now using Vega@5.
  • August 2019 - Initial release to AppSource (Power BI marketplace).
  • April 2019 - Initial release to GitHub.

Known issues

  • Animations require a WebGL2 enabled browser.

Roadmap

  • ~~PowerBI custom visual based on this new architecture.~~ done!
  • ~~Additional views, such as stacks.~~ done!
  • Code examples and tutorials.
  • ~~Faceting for all chart types.~~ done!
  • Better date handling.

Dependencies

SandDance is created with open source libraries, using Vega for chart layout and Deck.gl for WebGL rendering.

Development

See dev.md

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Extension points exported contracts — how you extend this code

InnerScope (Interface)
(no doc) [1 implementers]
packages/sanddance-specs/src/interfaces.ts
IVisualSettings (Interface)
(no doc) [1 implementers]
packages/powerbi/src/settings.ts
Base (Interface)
(no doc)
packages/sanddance-react/src/base.ts
LegendViewProps (Interface)
(no doc)
packages/vega-deck.gl/src/legend.tsx
FluentUIComponents (Interface)
(no doc)
packages/fluentui-react-cdn-typings/index.d.ts
SearchExpressionLowercase (Interface)
(no doc)
packages/search-expression/src/exec.ts
DataWithInsight (Interface)
(no doc)
packages/sanddance-embed/src/sanddance-embed.ts
Props (Interface)
(no doc)
packages/sanddance/src/animator.ts

Core symbols most depended-on inside this repo

_interopRequireDefault
called by 1960
docs/tests/v2/es6/js/sanddance.js
forEach
called by 618
docs/tests/v3/es6/js/sanddance-test-es6.js
forEach
called by 506
docs/app/js/sanddance-app.js
max
called by 441
docs/tests/v3/es6/js/sanddance-test-es6.js
add
called by 325
docs/tests/v3/es6/js/sanddance-test-es6.js
replace
called by 321
extensions/azdata-sanddance/src/azdata.proposed.d.ts
get
called by 308
docs/tests/v3/es6/js/sanddance-test-es6.js
min
called by 276
docs/tests/v3/es6/js/sanddance-test-es6.js

Shape

Function 10,761
Method 2,184
Interface 607
Class 487
Enum 36

Languages

TypeScript100%
Python1%

Modules by API surface

docs/app/js/sanddance-app.js4,608 symbols
docs/tests/v3/es6/js/sanddance-test-es6.js3,825 symbols
docs/tests/v2/es6/js/sanddance.js2,745 symbols
docs/external/js/react-dom.development.js787 symbols
extensions/azdata-sanddance/src/azdata.proposed.d.ts634 symbols
docs/tests/sanddance-specs/v1/js/sanddance-specs.js163 symbols
docs/external/js/react.development.js125 symbols
packages/sanddance-explorer/src/explorer.tsx59 symbols
python/jupyter-widget/setupbase.py49 symbols
packages/sanddance/src/viewer.ts35 symbols
packages/sanddance-explorer/src/dialogs/search.tsx26 symbols
packages/sanddance-app/src/snapshots.tsx23 symbols

Dependencies from manifests, versioned

@babel/helper-compilation-targets7.18.2 · 1×
@babel/runtime7.5.5 · 1×
@babel/runtime-corejs27.5.5 · 1×
@danmarshall/deckgl-typings4.1.11 · 1×
@deck.gl/core8.3.7 · 1×
@deck.gl/layers8.3.7 · 1×
@fluentui/react7.150.0 · 1×
@jupyter-widgets/base3 · 1×
@luma.gl/core8.3.1 · 1×
@msrvida/chart-recommender3 · 1×
@msrvida/chart-types1 · 1×
@msrvida/fluentui-react-cdn-typings* · 1×

For agents

$ claude mcp add SandDance \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact