feat(affinity): lint-icon-colors, export-icon, export-plate scripts #191
No reviewers
Labels
No labels
build-dist
priority
P1
priority
P2
priority
P3
priority
P4
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design!191
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/allow-affinity-scripts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope
The three Affinity Scripting Studio scripts that #190 was meant to carry. #190 was merged while
it held only the docs commit (the scoped JS exception in
CLAUDE.mdplus the folder README). Thescripts commit was pushed after that merge, so it never reached main. This PR carries that commit
and the test results:
Brand/source/_editor/affinity-scripts/lint-icon-colors.js: lists every colour that would notre-skin, judged against the category's
color_mapsinudg/config/assets.yml.export-icon.js: runs the same lint and refuses failing art. Otherwise it writesBrand/source/<icons|infographics|wireframes>/with the repo naming and prints theassets.ymlentry.export-plate.js: checks the art is a plate (one colour, no gradient, pattern or raster), thenexports EPS under
Brand/source/components/and prints the entry (exports: [themeable]).These are designer-side tools that run inside Affinity only. No generator, hook or CI job runs them.
Testing
Affinity 3.3.0.4850 (macOS):
icon-tools-toilville.svgand fails an unmapped colour and an unsetfill. A re-exported icon builds to the same themed output as the committed one. export-plate
rejects two-colour art.
in Settings → Scripting, and the prompt, confirm and alert dialogs work, including the overwrite
confirm.
just plates(run in a scratch clone): an Affinity 3.3 EPS export of the rectangle plateconverts with ghostscript 10.08.0 + poppler to a stamped, single-fill SVG. It renders the same as
the committed derivative, the committed plates regenerate byte-identical, and
assets.py build/checkpass with avar()fill. No test art was committed.just check: every step passes exceptartifact.py check, which fails the same way on cleanorigin/mainon this Mac (OpenMoji stand-in count 0 vs 16, a missing local source). This PRdoesn't cause it.
Impact Statement
Brand/source/_editor/.dist/change. The scripts readudg/config/assets.ymlonly.color_mapsat run time, and no hex lives in the scripts.Docs
Brand/source/_editor/affinity-scripts/README.mdcovers install, rules, settings and testingnotes. The
CLAUDE.mdexception is already on main via #190.