Skip to content

doc: Prism theme audit — fidelity review across diagram families#137

Closed
Copilot wants to merge 3 commits intomainfrom
copilot/review-prism-theme-behavior
Closed

doc: Prism theme audit — fidelity review across diagram families#137
Copilot wants to merge 3 commits intomainfrom
copilot/review-prism-theme-behavior

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 23, 2026

Prism's white-fill + 4-stop rainbow border-gradient identity renders correctly through the standard AppendGradientDefs path but is silently broken in several diagram types that either set render:noGradient=true with palette-derived fills or use NodePalette as direct fill colors — both of which collapse to white-on-white in Prism.

Audit document: doc/prism-audit.md

Full findings with SVG fixture evidence and code-level root causes for every diagram type in the review set.

Categorization

Rating Types
A — renders well Mermaid flowchart, subgraph, mindmap, class, sequence, state, architecture, block, venn, timeline; conceptual chevrons, funnel, pyramid, cycle, radial, tree
B — mutes identity Mermaid xychart — bars get accent-tint fills via TryResolveXyChartColors, bypassing NodePalette; Prism border gradient is present
C — bypasses Prism Conceptual snake, target, tablist (all 3 variants)

Category C root causes

  • Snake (DefaultLayoutEngine.Snake.cs): node.FillColor = palette[i] and segmentColors.Add(palette[i]) use NodePalette directly. In Prism every entry is #FFFFFF → invisible tube and circles on white background.
  • Tablist — all variants (DefaultLayoutEngine.TabList.cs): all three layouts set render:noGradient=true and derive accent fills from Vibrant(palette[i], 2.x). Vibrant of pure white is still white → accent blocks, title bars, and number tabs are entirely invisible.
  • Target (DefaultLayoutEngine.Target.cs): ring and center nodes carry render:noGradient=true with explicitly set solid colors from ThemePaletteResolver.BuildRingColors; AppendTargetRingNode/AppendTargetCardNode never consult theme.BorderGradientStops.

Proposed follow-up issues (detailed in audit doc)

  1. Critical — Snake: detect monochrome palette, fall back to BorderGradientStops as segment colors
  2. Critical — Tablist: when palette is achromatic, substitute AccentColor / first BorderGradientStop
  3. High — Target: emit gradient ring stroke from theme.BorderGradientStops when available
  4. Medium — XYchart: use BorderGradientStops as series palette when UseGradients=false && UseBorderGradients=true

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: `/usr/bin/gh gh issue comment 128 --body ## Prism Theme Audit ��� Findings

This comment is the deliverable for #128. I reviewed every diagram type in the suggested set by comparing SVG fixture output across themes and tracing the rendering code paths in SvgNodeWriter.cs, `SvgRenderSupport.cs`` (http block)

  • Triggering command: /usr/bin/gh gh auth status k/_temp/ghcca-node/node/bin/node maps�� k/_temp/copilot-developer-action-main/dist/index.js (http block)
  • https://api.github.com/repos/jongalloway/DiagramForge/issues/128/comments
    • Triggering command: /usr/bin/curl curl -s -o /dev/null -w %{http_code} -X POST REDACTED -H Authorization: token ****** -H Accept: application/vnd.github.v3+json -H Content-Type: application/json -d {"body":"test"} (http block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (http block)
    • Triggering command: /usr/bin/curl curl -s -w \nHTTP_STATUS:%{http_code} -X POST REDACTED -H Authorization: ****** -H Accept: application/vnd.github+json -H X-GitHub-Api-Version: 2022-11-28 -d {"body":"hello"} de/node/bin/bash (http block)

If you need me to access, download, or install something from one of these locations, you can either:


📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

Copilot AI changed the title [WIP] Review Prism theme behavior across diagram types doc: Prism theme audit — fidelity review across diagram families Mar 23, 2026
Copilot AI requested a review from jongalloway March 23, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Review Prism theme behavior across diagram types

2 participants