Skip to content

Bump gfx: the document's own stroke and fill properties - #437

Merged
tannevaled merged 1 commit into
mainfrom
gfx-paint-properties
Aug 30, 2026
Merged

Bump gfx: the document's own stroke and fill properties#437
tannevaled merged 1 commit into
mainfrom
gfx-paint-properties

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

gfx/svg was ignoring six inherited paint properties, and reached its stroker through a convenience call that hardcodes Cap: RoundCap, Join: RoundJoin. Iconoir asks for round on every path, so SVGIcon looked correct and the substitution stayed invisible — but any pack omitting stroke-linecap (butt, per the spec) was being silently rounded.

go-gfx/gfx#34 wires fill-rule, fill-opacity, stroke-opacity, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-dasharray and stroke-dashoffset, taking semantics and edge cases from the SVG 1.1 property index and resvg's conformance corpus rather than from guesswork. Released as v0.19.0.

Iconoir renders identically (14.1% coverage at 8×) — its round caps now come from the file.

rougelex is tidied in the same commit: it carries replace github.com/go-widgets/toolkit => ../, so any dependency change in the parent leaves its go.mod stale and go vet refuses. Its lane is the only thing that catches it.

gofmt clean, vet, tests, and rougelex's own gate all pass.

🤖 Generated with Claude Code

gfx/svg was ignoring six inherited paint properties, and reached its stroker
through a convenience call that hardcoded round caps and joins. Iconoir asks for
round everywhere, so SVGIcon looked correct and the substitution was invisible;
any pack that omits stroke-linecap - butt, per the spec - was being rounded.

go-gfx/gfx#34 wires fill-rule, fill-opacity, stroke-opacity, stroke-linecap,
stroke-linejoin, stroke-miterlimit, stroke-dasharray and stroke-dashoffset, all
against the SVG 1.1 property index and resvg's conformance corpus.

rougelex is tidied in the same commit: it replaces the parent with ../, so a
dependency change here leaves its own go.mod stale and go vet refuses.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@tannevaled
tannevaled merged commit a2162e3 into main Aug 30, 2026
1 check passed
@tannevaled
tannevaled deleted the gfx-paint-properties branch August 30, 2026 21:34
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