Skip to content

5/7: DOM scripting engine & currentColor hardening#12

Closed
Amnell wants to merge 27 commits into
pr/04-test-reportingfrom
pr/05-dom-scripting-currentcolor
Closed

5/7: DOM scripting engine & currentColor hardening#12
Amnell wants to merge 27 commits into
pr/04-test-reportingfrom
pr/05-dom-scripting-currentcolor

Conversation

@Amnell
Copy link
Copy Markdown
Owner

@Amnell Amnell commented May 27, 2026

Summary

Implement a JavaScript DOM scripting engine for SVG DOM manipulation tests, plus comprehensive currentColor inheritance hardening and test controls.

Changes

DOM Scripting Engine:

  • Implement coords-dom-01-f and coords-dom-02-f
  • Begin script support (ScriptRunner)
  • Implement stroke and fill support in scripting engine
  • Implement stroke-dasharray and stroke-dashoffset
  • Implement linecap, linejoin and miterlimit
  • Add fill-rule support in ScriptRunner
  • Add currentColor support in ScriptRunner
  • Implement coords-dom-03-f and coords-dom-04-f

currentColor Hardening:

  • Harden currentColor inheritance and override precedence
  • Add runtime behavior and regression controls
  • Add text/stroke currentColor parity and relink controls
  • Add mixed-node inheritance, style source precedence controls
  • Add opacity hardening, mutation ordering, clamping controls
  • Add invalid color/opacity, edge token, malformed token controls
  • Add function-notation and CSS-wide keyword controls

Misc:

  • Gitignore .vscode

Merge order

⚠️ Merge these PRs in order: #8#9#10#11#12#13#14. After merging each PR, GitHub will automatically update the next PR's base to main.

Stack:

  1. Swift 6 prep & test modernization (1/7: Swift 6 prep & test modernization #8)
  2. Docs & tooling (2/7: Project docs, tooling & initial W3C coverage #9)
  3. Pattern/gradient paint servers (3/7: Implement pattern & gradient paint servers #10)
  4. Test reporting (4/7: HTML test report generation #11)
  5. DOM scripting & currentColor ← this PR
  6. Shapes & coordinates
  7. Structural elements & text

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