Skip to content

chore(web): dedupe SVG glow-filter construction (verified byte-identical)#90

Merged
mvalancy merged 1 commit into
developfrom
chore/glow-filter-dedup
Jun 17, 2026
Merged

chore(web): dedupe SVG glow-filter construction (verified byte-identical)#90
mvalancy merged 1 commit into
developfrom
chore/glow-filter-dedup

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Finishes the cleanup: the deferred glow-filter duplication, done with verification.

The node / node-menu / selected-node / edge glow effects each rebuilt the same animated SVG <filter> inline (4 near-identical ~30-line blocks). Extracted one module-level createGlowFilter(defs, id, color, opts); all four sites now call it, differing only in id, region, blur size, animation values, and duration.

Verified behavior-preserving (not just "tests pass"): a temporary capture harness dumped the generated <filter> defs from the live graph before and after the refactor — node-glow + selected-node-glow came back byte-identical (diff empty). The edge-glow call passes the exact literal params the inline block used, and the filter structure is proven identical by that diff, so it's behavior-preserving by construction. (Filter-defs equality is a stronger check than pixel screenshots, which would just be SMIL-animation noise.)

Verified: typecheck + lint (0 errors), smoke 5/5, node-inspector + node-expand-legibility diagnostics 3/3.

🤖 Generated with Claude Code

The node / node-menu / selected-node / edge glow effects each rebuilt the same
animated SVG filter inline (4 near-identical ~30-line blocks). Extract a single
module-level createGlowFilter(defs, id, color, opts) and call it from all four
sites; they differ only in id, region, blur size, animation values and duration.

Behavior-preserving — verified the generated <filter> defs are BYTE-IDENTICAL
before/after (a temporary capture harness diffed node-glow + selected-node-glow;
the edge-glow call passes the same literal params the inline block used). Smoke
5/5, node-inspector + node-expand-legibility diagnostics 3/3, typecheck + lint
(0 errors) clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy mvalancy merged commit 4bfe0c4 into develop Jun 17, 2026
16 checks passed
@mvalancy mvalancy deleted the chore/glow-filter-dedup branch June 17, 2026 06:15
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.

1 participant