graph LR
Poster_Initiator["Poster Initiator"]
Internal_Drawing_Track["Internal Drawing Track"]
Circular_Drawing_Orchestrator["Circular Drawing Orchestrator"]
Year_Renderer["Year Renderer"]
Circle_Segment_Drawer["Circle Segment Drawer"]
Animation_Keyframe_Maker["Animation Keyframe Maker"]
Geometric_Utilities_Data_Structures["Geometric Utilities/Data Structures"]
Poster_Initiator -- "initiates" --> Internal_Drawing_Track
Internal_Drawing_Track -- "delegates to" --> Circular_Drawing_Orchestrator
Circular_Drawing_Orchestrator -- "orchestrates" --> Animation_Keyframe_Maker
Circular_Drawing_Orchestrator -- "delegates to" --> Year_Renderer
Circular_Drawing_Orchestrator -- "depends on" --> Geometric_Utilities_Data_Structures
Year_Renderer -- "utilizes" --> Circle_Segment_Drawer
Year_Renderer -- "depends on" --> Geometric_Utilities_Data_Structures
Circle_Segment_Drawer -- "depends on" --> Geometric_Utilities_Data_Structures
The Circular Poster Renderer subsystem is responsible for generating SVG visualizations in a circular format, specifically designed for displaying annual or cyclical activity patterns by arranging data points radially.
Acts as the entry point from the main Poster class for circular poster generation. It initializes the SVG drawing canvas, sets the background, and then delegates the detailed drawing to the Internal Drawing Track.
Related Classes/Methods:
A generic internal method within the Poster class that serves as an abstraction layer. It dispatches the actual drawing operation to the currently selected tracks_drawer (which is an instance of CircularDrawer in this subsystem's context).
Related Classes/Methods:
Serves as the primary controller for generating the circular SVG poster. It manages the overall drawing flow, including setting up animation keyframes and delegating the rendering of individual years.
Related Classes/Methods:
Focuses on rendering the visual elements for a single year within the circular poster. This includes drawing year and month labels, and delegating the drawing of daily data segments.
Related Classes/Methods:
Draws individual circular segments, each representing a specific daily activity data point. It calculates the segment's shape and color based on the input data and predefined ranges.
Related Classes/Methods:
Generates the necessary SVG animation keyframes and timing sequences to create a year-by-year animation effect on the circular poster. _make_key_animate constructs the SVG animate element, while make_key_times calculates the precise timing for these animations.
Related Classes/Methods:
Offers foundational data structures for representing 2D coordinates (XY) and value ranges (ValueRange). These are critical for all geometric calculations, positioning, and sizing within the SVG output.
Related Classes/Methods: