graph LR
Figure_API_Orchestrator_["Figure API (Orchestrator)"]
Data_Transformer["Data Transformer"]
Geometric_Element_Manager["Geometric Element Manager"]
JavaScript_Code_Generator["JavaScript Code Generator"]
Vega_Specification_Handler["Vega Specification Handler"]
Asset_Persistor["Asset Persistor"]
Local_Web_Server["Local Web Server"]
Figure_API_Orchestrator_ -- "uses/orchestrates" --> Data_Transformer
Figure_API_Orchestrator_ -- "uses/orchestrates" --> Geometric_Element_Manager
Figure_API_Orchestrator_ -- "uses/orchestrates" --> JavaScript_Code_Generator
Figure_API_Orchestrator_ -- "uses/orchestrates" --> Vega_Specification_Handler
Figure_API_Orchestrator_ -- "uses/orchestrates" --> Asset_Persistor
Figure_API_Orchestrator_ -- "uses/orchestrates" --> Local_Web_Server
Data_Transformer -- "provides data to" --> JavaScript_Code_Generator
Data_Transformer -- "provides data to" --> Asset_Persistor
Geometric_Element_Manager -- "provides specifications to" --> JavaScript_Code_Generator
JavaScript_Code_Generator -- "provides code to" --> Asset_Persistor
Vega_Specification_Handler -- "provides specifications to" --> JavaScript_Code_Generator
Vega_Specification_Handler -- "provides specifications to" --> Asset_Persistor
Asset_Persistor -- "provides files to" --> Local_Web_Server
Local_Web_Server -- "consumes files from" --> Asset_Persistor
One paragraph explaining the functionality which is represented by this graph. What the main flow is and what is its purpose.
The primary user interface for defining, configuring, and initiating the visualization build process. It orchestrates the entire pipeline, coordinating data transformation, geometric element management, JavaScript code generation, asset persistence, and local serving.
Related Classes/Methods:
d3py.figure.Figured3py.figure.Figure:__init__d3py.figure.Figure:showd3py.figure.Figure:saved3py.figure.Figure:_build
Responsible for converting various input data formats (e.g., pandas DataFrames, numpy arrays) into a standardized, D3.js-compatible JSON structure suitable for client-side rendering.
Related Classes/Methods:
Manages the processing, validation, and inclusion of geometric shapes (e.g., lines, circles, bars) and their associated visual properties (e.g., color, size, position) into the visualization specification.
Related Classes/Methods:
Generates the necessary D3.js and supporting JavaScript code that defines the visualization logic, interactions, and data binding for the client-side browser environment.
Related Classes/Methods:
Provides an interface for integrating and processing Vega or Vega-Lite specifications, allowing for declarative visualization definitions to be incorporated into the d3py output.
Related Classes/Methods:
Coordinates the writing of all generated web assets (HTML, CSS, JavaScript, and data JSON files) to the local file system, preparing them for serving or direct distribution.
Related Classes/Methods:
Provides a lightweight, temporary web server to serve the generated static web assets, enabling the visualization to be opened and viewed in a local web browser.
Related Classes/Methods: