Skip to content

Commit 6da2c8e

Browse files
chore(pygal): add metadata for sunburst-basic
1 parent 394996e commit 6da2c8e

1 file changed

Lines changed: 10 additions & 222 deletions

File tree

Lines changed: 10 additions & 222 deletions
Original file line numberDiff line numberDiff line change
@@ -1,233 +1,21 @@
1+
# Per-library metadata for pygal implementation of sunburst-basic
2+
# Auto-generated by impl-generate.yml
3+
14
library: pygal
25
language: python
36
specification_id: sunburst-basic
47
created: '2026-05-04T22:56:10Z'
5-
updated: '2026-05-04T23:52:15Z'
8+
updated: '2026-07-26T04:29:33Z'
69
generated_by: claude-sonnet
7-
workflow_run: 25347406390
10+
workflow_run: 30187416978
811
issue: 821
9-
python_version: 3.13.13
10-
library_version: 3.1.0
12+
language_version: 3.13.14
13+
library_version: 3.1.3
1114
preview_url_light: https://storage.googleapis.com/anyplot-images/plots/sunburst-basic/python/pygal/plot-light.png
1215
preview_url_dark: https://storage.googleapis.com/anyplot-images/plots/sunburst-basic/python/pygal/plot-dark.png
1316
preview_html_light: https://storage.googleapis.com/anyplot-images/plots/sunburst-basic/python/pygal/plot-light.html
1417
preview_html_dark: https://storage.googleapis.com/anyplot-images/plots/sunburst-basic/python/pygal/plot-dark.html
15-
quality_score: 73
18+
quality_score: null
1619
review:
17-
strengths:
18-
- Correct sunburst simulation using pygal multi-series Pie API
19-
- Color-shading hierarchy connects team segments visually to parent departments
20-
- Proper theme-adaptive chrome with correct backgrounds and foreground tokens for
21-
both themes
22-
- Deterministic flat code with clean imports and list comprehensions
23-
- HTML interactive output provides hover labels and full interactivity
24-
weaknesses:
25-
- No segment labels visible in static PNG render — major segments should be labeled
26-
even in static output
27-
- Legend declared but not rendered in PNG export by cairosvg — remove or accept
28-
HTML-only legend
29-
- Only 2 hierarchy levels used; a 3rd tier would better showcase the spec range
30-
of 2-4 levels
31-
image_description: |-
32-
Light render (plot-light.png):
33-
Background: warm off-white #FAF8F1 — correct
34-
Chrome: title "sunburst-basic · pygal · anyplot.ai" in dark text, clearly readable at top; no segment labels or tick labels present
35-
Data: inner ring shows 4 department slices in Okabe-Ito #009E73 (green/Technology), #D55E00 (orange-vermillion/Business), #0072B2 (blue/Operations), #CC79A7 (pink-purple/Marketing); outer ring shows shaded tint variants of each parent color for team segments; no legend visible in PNG
36-
Legibility verdict: PASS (title readable; segment labels absent but not a legibility failure for text that exists)
37-
38-
Dark render (plot-dark.png):
39-
Background: near-black #1A1A17 — correct
40-
Chrome: title in light text, clearly legible against dark background; no dark-on-dark failures detected
41-
Data: same segment positions and proportions as light render; Okabe-Ito hues consistent between themes (only chrome flips); legend again absent in PNG
42-
Legibility verdict: PASS
43-
criteria_checklist:
44-
visual_quality:
45-
score: 24
46-
max: 30
47-
items:
48-
- id: VQ-01
49-
name: Text Legibility
50-
score: 4
51-
max: 8
52-
passed: false
53-
comment: Title readable in both themes but no segment labels visible in static
54-
PNG render
55-
- id: VQ-02
56-
name: No Overlap
57-
score: 6
58-
max: 6
59-
passed: true
60-
comment: Clean ring layout, no overlapping elements
61-
- id: VQ-03
62-
name: Element Visibility
63-
score: 5
64-
max: 6
65-
passed: true
66-
comment: All ring segments clearly visible and distinctly colored; minor deduction
67-
for absent labels
68-
- id: VQ-04
69-
name: Color Accessibility
70-
score: 2
71-
max: 2
72-
passed: true
73-
comment: Okabe-Ito palette; CVD-safe
74-
- id: VQ-05
75-
name: Layout & Canvas
76-
score: 3
77-
max: 4
78-
passed: true
79-
comment: Good canvas fill; legend declared but absent in static render
80-
- id: VQ-06
81-
name: Axis Labels & Title
82-
score: 2
83-
max: 2
84-
passed: true
85-
comment: Correct title format; no axis labels needed for sunburst
86-
- id: VQ-07
87-
name: Palette Compliance
88-
score: 2
89-
max: 2
90-
passed: true
91-
comment: 'Light #FAF8F1 and dark #1A1A17 backgrounds correct; first series
92-
#009E73; Okabe-Ito order 1-4'
93-
design_excellence:
94-
score: 8
95-
max: 20
96-
items:
97-
- id: DE-01
98-
name: Aesthetic Sophistication
99-
score: 4
100-
max: 8
101-
passed: false
102-
comment: Color-shading hierarchy is intentional but overall design uses default
103-
pygal styling
104-
- id: DE-02
105-
name: Visual Refinement
106-
score: 2
107-
max: 6
108-
passed: false
109-
comment: Pie chart type leaves little room for spine removal; minimal chrome
110-
customization
111-
- id: DE-03
112-
name: Data Storytelling
113-
score: 2
114-
max: 6
115-
passed: false
116-
comment: Two-ring structure conveys hierarchy but no focal point or narrative
117-
emphasis
118-
spec_compliance:
119-
score: 11
120-
max: 15
121-
items:
122-
- id: SC-01
123-
name: Plot Type
124-
score: 4
125-
max: 5
126-
passed: true
127-
comment: pygal.Pie multi-series correctly simulates sunburst; not native but
128-
idiomatic pygal approach
129-
- id: SC-02
130-
name: Required Features
131-
score: 2
132-
max: 4
133-
passed: false
134-
comment: Branch colors consistent, ring separation clear, inner segments encompass
135-
children; major segment labels missing from static PNG
136-
- id: SC-03
137-
name: Data Mapping
138-
score: 3
139-
max: 3
140-
passed: true
141-
comment: Department totals in inner ring, teams in outer ring; proportional
142-
to values
143-
- id: SC-04
144-
name: Title & Legend
145-
score: 2
146-
max: 3
147-
passed: true
148-
comment: Title format correct; legend declared but absent from static PNG
149-
render
150-
data_quality:
151-
score: 13
152-
max: 15
153-
items:
154-
- id: DQ-01
155-
name: Feature Coverage
156-
score: 4
157-
max: 6
158-
passed: true
159-
comment: 2 hierarchy levels demonstrated; spec allows 2-4; a 3rd tier would
160-
earn full marks
161-
- id: DQ-02
162-
name: Realistic Context
163-
score: 5
164-
max: 5
165-
passed: true
166-
comment: Organizational budget breakdown is realistic, plausible, and neutral
167-
- id: DQ-03
168-
name: Appropriate Scale
169-
score: 4
170-
max: 4
171-
passed: true
172-
comment: Values 40-180 $K are sensible for team-level budgets
173-
code_quality:
174-
score: 10
175-
max: 10
176-
items:
177-
- id: CQ-01
178-
name: KISS Structure
179-
score: 3
180-
max: 3
181-
passed: true
182-
comment: Flat linear script, no functions or classes
183-
- id: CQ-02
184-
name: Reproducibility
185-
score: 2
186-
max: 2
187-
passed: true
188-
comment: Fully deterministic; no random elements
189-
- id: CQ-03
190-
name: Clean Imports
191-
score: 2
192-
max: 2
193-
passed: true
194-
comment: Only os, pygal, pygal.style.Style imported and used
195-
- id: CQ-04
196-
name: Code Elegance
197-
score: 2
198-
max: 2
199-
passed: true
200-
comment: List comprehensions for data series are concise and readable
201-
- id: CQ-05
202-
name: Output & API
203-
score: 1
204-
max: 1
205-
passed: true
206-
comment: Saves plot-{THEME}.png and plot-{THEME}.html; correct pygal pattern
207-
library_mastery:
208-
score: 7
209-
max: 10
210-
items:
211-
- id: LM-01
212-
name: Idiomatic Usage
213-
score: 4
214-
max: 5
215-
passed: true
216-
comment: Multi-series pygal.Pie for concentric rings is idiomatic; Style object
217-
properly carries all theme tokens
218-
- id: LM-02
219-
name: Distinctive Features
220-
score: 3
221-
max: 5
222-
passed: true
223-
comment: Uses pygal HTML interactive output for labeling; leverages per-datum
224-
color overrides via dict format
225-
verdict: APPROVED
226-
impl_tags:
227-
dependencies: []
228-
techniques:
229-
- html-export
230-
patterns:
231-
- iteration-over-groups
232-
dataprep: []
233-
styling: []
20+
strengths: []
21+
weaknesses: []

0 commit comments

Comments
 (0)