You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: plots/sankey-basic/metadata/python/bokeh.yaml
+18-20Lines changed: 18 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@ library: bokeh
2
2
language: python
3
3
specification_id: sankey-basic
4
4
created: '2025-12-23T19:43:20Z'
5
-
updated: '2026-04-30T09:01:04Z'
5
+
updated: '2026-04-30T09:14:26Z'
6
6
generated_by: claude-sonnet
7
7
workflow_run: 25156351219
8
8
issue: 810
@@ -22,32 +22,30 @@ review:
22
22
- Clean, flat code with clear layout arithmetic that is easy to follow
23
23
- Thoughtful target-node color choice (muted neutrals) creates visual hierarchy
24
24
between source and destination
25
-
- Both PNG and HTML output generated correctly
25
+
- Both PNG and HTML output generated correctly; theme-adaptive chrome (backgrounds,
26
+
text colors) properly applied in both renders
26
27
weaknesses:
27
-
- Title format is "Energy Flow · sankey-basic · bokeh · anyplot.ai" — must be exactly
28
-
"sankey-basic · bokeh · anyplot.ai"per spec
29
-
- 'Bokeh HoverTool not used: the HTML output supports interactivity but no tooltips
30
-
are added; hover showing source->target flow value is the most impactful Bokeh-specific
31
-
feature for a Sankey'
32
-
- 'Fixed fill_alpha=0.45 is not theme-adaptive: flows look appropriately translucent
33
-
on light background but become murky/dark on dark background; use a higher alpha
34
-
for dark theme'
35
-
- 'Dark-mode target node colors (#5A6A7A, #7A6A8A, #6A7A5A) are near-black on a
36
-
near-black background — low contrast in dark render'
28
+
- Title format is 'Energy Flow · sankey-basic · bokeh · anyplot.ai' — must be exactly
29
+
'sankey-basic · bokeh · anyplot.ai'per spec
30
+
- Bokeh HoverTool completely absent from HTML output — hover showing source->target
31
+
flow value is Bokeh's signature interactive feature and a major missed opportunity
32
+
for LM-02
33
+
- 'Fixed fill_alpha=0.45 is not theme-adaptive: flows look translucent on light
34
+
background but become murky on dark background; dark theme should use higher alpha
35
+
(~0.65)'
37
36
- Approximately 10% of canvas height is empty dead space between title and the first
38
-
node; compress y_range or adjust layout
39
-
- No ColumnDataSource used — bypasses Bokeh core data-binding pattern (less idiomatic)
37
+
node; tighten y_range or layout padding
40
38
image_description: |-
41
39
Light render (plot-light.png):
42
40
Background: Warm off-white #FAF8F1 — correct, not pure white
43
-
Chrome: Title "Energy Flow · sankey-basic · bokeh · anyplot.ai" at 32pt in dark INK — readable; node labels at 22pt in dark INK — all readable; no axis labels (correct for Sankey)
44
-
Data: Five source nodes (Coal=#009E73, Gas=#D55E00, Nuclear=#0072B2, Hydro=#CC79A7, Solar=#E69F00) with Okabe-Ito canonical order; target nodes in muted neutrals (#5A6A7A, #7A6A8A, #6A7A5A); bezier flow ribbons carry source colors with fill_alpha=0.45; flows look vibrant and translucent on light surface
41
+
Chrome: Title "Energy Flow · sankey-basic · bokeh · anyplot.ai" at 32pt in dark INK — readable; node labels at 22pt in dark INK — all readable; axes/grid/outline hidden (correct for Sankey)
42
+
Data: Five source nodes left-to-right bottom-up (Coal=#009E73, Gas=#D55E00, Nuclear=#0072B2, Hydro=#CC79A7, Solar=#E69F00) following Okabe-Ito canonical order; target nodes (Industrial, Commercial, Residential) in muted neutrals on right; Bezier flow ribbons carry source colors with fill_alpha=0.45 — translucent and vibrant on light surface
45
43
Legibility verdict: PASS — all text clearly readable against light background
46
44
47
45
Dark render (plot-dark.png):
48
46
Background: Near-black #1A1A17 — correct, not pure black
49
47
Chrome: Title and node labels switch to light INK token (#F0EFE8) — all readable; no dark-on-dark text failures detected
50
-
Data: Source/target node data colors are identical to light render (Okabe-Ito positions unchanged); however fixed fill_alpha=0.45 is not theme-adaptive — flows appear noticeably darker/murkier on dark background making crossing ribbons harder to distinguish; dark-mode target node colors (#5A6A7A, #7A6A8A, #6A7A5A) blend into the dark background reducing target node contrast
48
+
Data: Source/target node data colors identical to light render (Okabe-Ito positions unchanged); fixed fill_alpha=0.45 is not theme-adaptive — flows appear noticeably darker/murkier on dark background making crossing ribbons harder to distinguish; target node colors (#5A6A7A, #7A6A8A, #6A7A5A) have reduced contrast against near-black background but remain distinguishable
51
49
Legibility verdict: PASS for text; PARTIAL for data elements — flow ribbons have reduced visual impact in dark theme due to non-adaptive alpha
52
50
criteria_checklist:
53
51
visual_quality:
@@ -121,8 +119,8 @@ review:
121
119
score: 4
122
120
max: 6
123
121
passed: true
124
-
comment: Source-color-coded flows enable visual tracing; Gas dominance visible;
125
-
no annotation on largest flow
122
+
comment: Source-color-coded flows enable visual tracing; Gas dominance visible
123
+
through node size; no annotation on largest flow
126
124
spec_compliance:
127
125
score: 14
128
126
max: 15
@@ -235,7 +233,7 @@ review:
235
233
comment: Creative use of primitives for Sankey; but HoverTool completely absent
236
234
from HTML output — Bokeh's signature interactive feature for flow value
0 commit comments