A powerful data visualization extension for the Ash Framework that generates optimized Elixir modules from declarative DSL specifications. This library provides both a flexible DSL for custom visualizations and a comprehensive standard library for immediate productivity.
If available in Hex, the package can be installed
by adding ash_visualization to your list of dependencies in mix.exs:
def deps do
[
{:ash_visualization, "~> 0.1.0"}
]
endDocumentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ash_visualization.
The development of AshVisualization is organized into 5 phases over 20 weeks:
- 1.1 Spark DSL Extension Setup
- 1.2 Base Transformer Infrastructure
- 1.3 SVG Generation Foundation
- 1.4 Basic Scale Generators
- 2.1 Mark Generation System
- 2.2 Render Function Generation
- 2.3 Data Transform Compilation
- 2.4 Compile-time Optimization
- 3.1 Animation Code Generation
- 3.2 Phoenix Channel Integration
- 3.3 Ash PubSub Integration
- 3.4 Interaction System Generation
- 4.1 Complex Chart Types
- 4.2 Custom Component System
- 4.3 Performance and Caching
- 4.4 Production Features
- 5.1 Basic Chart Functions
- 5.2 Statistical and Advanced Charts
- 5.3 Composite and Micro Visualizations
- 5.4 Themes and Export Functions
- 5.5 Documentation and Examples
For detailed implementation plans, see planning/detailed_implementation_plan.md.