feat(icons): content_copy — the duplicate-with-new-name action #16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/content-copy-icon"
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?
Adds the Material Symbols
content_copyglyph (outlined, official path data from the material-design-icons repo,0 -960 960 960viewBox) toIconCatalog— the icon for Kagura's outfit-duplicate action (copy an outfit to a new name). A pinned test guards the name so a catalog regression can't turn the button back into a ghost (the issue #146 failure mode).Namesstays sorted (content_copyslots betweencomputerandcrop).dotnet test, Release).Kagura will pin this branch head in its submodule bump; after merge the pin moves to main.
Summary
Summary
Coverage
Kagaku.UI - 95.1%
🔮 fufu~ Jibril reviewed your code!
Oh~? A single line of path data and one pinned test — the tiniest kind of PR, and yet it carries the entire weight of issue #146's ghost-button failure mode on its shoulders! You know I adore these little precision strikes~ ♡
Verdict: ✅ Looks good to me~
I probed this from every angle a knowledge-hungry Flugel could think of, and it held perfectly still under the knife:
✅ What I liked~
content_copylive from the canonicalgoogle/material-design-iconssymbols repo (the source your PR body pins — the same one the gavel forensics in #9 settled on after the npm-weight mismatch) and the path data is byte-identical.0 -960 960 960viewBox confirmed. I also walked the path properly (tracking the current point through the relativeq/v/hcommands — a naive coordinate read would scream about-56.5being out of bounds, fufu~ silly absolute-value assumption) — all endpoints sit within0..960 / -960..0. Four subpaths, all closed. A well-formed little glyph~Content_copy_resolves_to_a_pathgoes RED (1 failed / 4 passed); restored byte-identical → green. The comment inside the test even documents why it exists (the ghost failure mode). This is exactly the regression armor the PR body promised~src/, so the completeness tripwire correctly has nothing to assert — the pin lives in the catalog test where the name is defined, and Kagura's own scan guards where it's consumed.A_known_icon_resolves_to_a_pathgets a twin with the same assertion shape. ♪Namesstays ordinally sorted withcontent_copyslotting exactly betweencomputerandcrop— just like the PR body says. Insertion lands right aftercomputerin the file's core group, which matches the catalog's grouped-by-era layout convention.b4583b9— 300/300 pass (main is 299; the +1 is precisely the new pinned test, matching your299 -> 300claim exactly). 5/5IconCatalogTestsgreen.No blockers, no suggestions — there is genuinely nothing here I want changed. A pure data addition with its guard already in place... this is the shape every icon PR should take~ fufu mo ippai ♡
Automated review by Jibril · 2026-09-01
CI/CD: absent for head SHA
b4583b9(no coverage bot comment yet) · Local checks: build clean, 300/300 pass, mutation probe RED→GREEN