7.3 KiB
7.3 KiB
Tasks
- Add generated mecha and magical-girl SVG accessory variables to theme tokens.
- Apply accessory variables to shared framed surfaces and active sidebar states.
- Extend theme token tests for accessory variables.
- Run tests, structure check, OpenSpec validation, and browser walkthrough.
- Recalibrate uploaded-background glass so configured artwork remains recognizable.
- Enlarge and strengthen magical-girl frame accessories across shared surfaces.
- Repeat browser walkthrough and all repository validation after the correction.
- Reduce magical-girl accessories to compact single-motif edge badges.
- Rotate distinct heart, wand, moon, ribbon, crystal, and circle assets across repeated items.
- Verify uploaded backgrounds remain unobscured after the decoration-density correction.
- Clear stale palette variables and synchronize shell chrome after live theme switches.
- Suppress nested state-view frames when a shared parent already owns the decoration.
- Re-run browser theme switching and repository validation for the isolation fix.
Evidence
npm test: 11 files passed, 49 tests passed.npm run typecheck: passed.npm run build: passed.scripts/check-structure.sh: passed.openspec validate polish-theme-frame-accessories --strict: passed.- Browser walkthrough: entered local fallback workbench, verified mecha active navigation uses generated spacecraft/radar accessories, then switched through Profile Settings to magical-girl / 粉月魔法阵 and verified shared panels render heart/star/wand/magic-circle accessories.
- Follow-up browser walkthrough after visual feedback: reduced magical-girl accessory size to
70px 42px, 78px 54px, lowered opacity to0.44, moved frame accessories under content (::after z-index: 0, content z-index above), and confirmed the custom-background overlay token istransparent. - Second follow-up after screenshot feedback: converted the SVG accessories to small line-art edge accents, locked token accessory sizes to max
48px, reduced custom-background surface blur to4px, removed theme color tint from uploaded-background panel material, lowered custom-background ambient particles to0.08, and verified a headless Chrome screenshot at.tmp/theme-visual-check/profile-custom-background.pngwithdata-custom-background="true",--custom-background-overlay: transparent, and profile panels usingblur(4px) saturate(1.02). - Final color audit after palette feedback: rebalanced uploaded-background mode so the page uses
--custom-background-overlay: transparent, keeps controls on readable dark glass, and removes large-panel blur in favor of low-opacity ink glass; verified fresh headless screenshots at.tmp/theme-color-audit/mecha-uploaded.pngand.tmp/theme-color-audit/magical-uploaded.pngwhere uploaded artwork remains visible behind the profile/settings panels. - Custom-background readability pass after latest screenshots: removed the visible theme-color mask from uploaded backgrounds while dimming the wallpaper layer itself, increased content-panel opacity/blur only on foreground surfaces, added dark glass treatment for server toolbars and state/error panels, and added a compact title backplate so bright uploads do not wash out page headers; verified screenshots at
.tmp/custom-background-audit/servers.pngand.tmp/custom-background-audit/profile-settings.pngwithdata-custom-background="true",filter: saturate(0.72) contrast(0.88) brightness(0.82), and panel backdropblur(16px) saturate(0.78). - Magical-girl correction after latest feedback: restored visible pink moonlight panel material and frame accessories under custom uploaded backgrounds, prevented the generic custom-background opacity rule from suppressing magical-girl decorations, and moved magical-girl frame accessories outside the panel border with larger edge-overhanging assets; verified screenshots at
.tmp/magical-custom-background-check.pngand.tmp/magical-preset-border-check.png. - Final uploaded-background correction: replaced opaque maroon surfaces with low-opacity neutral-pink crystal glass, restored the uploaded artwork to
saturate(0.92) contrast(0.96) brightness(0.94), removed backdrop blur from large magical-girl custom-background panels, added real::afteraccessory layers for server toolbars and state views, and strengthened generated heart/star/wand/magic-circle SVGs so they cross the border at132-154pxwith0.80-0.84opacity. Browser walkthrough at1440x1000confirmed the configured anime artwork remains recognizable, accessories are immediately visible outside the frame, and the browser console has no errors; evidence saved at.tmp/magical-custom-background-final.png. - Final verification:
npm --prefix platform_web testpassed 11 files and 49 tests;npm --prefix platform_web run typecheck,npm --prefix platform_web run build, andscripts/check-structure.shpassed;openspec validate polish-theme-frame-accessories --strictreported the change valid with exit code0(telemetry flush warnings only). - Decoration-density correction after item-level feedback: replaced the two oversized magical illustrations on each surface with one
68px × 44pxedge-overhanging badge, generated six distinct inline SVG motifs (heart wings, star wand, crescent moon, ribbon, crystal, and magic circle), and rotate them through repeated cards with shared CSS variables and:nth-child()rules. In-app browser verification on#/profilewithdata-theme-palette="magical-girl"anddata-custom-background="true"confirmed the three metric items resolve toheart,wand, andmoon, lower settings panels resolve to different motifs, the configured background remains fully recognizable, and browser console errors are empty. - Decoration-density verification:
npm --prefix platform_web testpassed 11 files and 49 tests;npm --prefix platform_web run typecheck,npm --prefix platform_web run build,scripts/check-structure.sh, andopenspec validate polish-theme-frame-accessories --strictpassed (OpenSpec telemetry flush warnings only). - Theme-isolation correction:
applyThemePalettenow removes the union of prior palette variables before applying the selected palette and publishes a live palette-change event so AppShell updates its subtitle and swatch strip without a remount. - Single-frame correction: nested
.state-viewelements inside shared framed surfaces now resolve to transparent, borderless, shadowless content with both pseudo-elements disabled, while the parent surface keeps the active theme accessory. - Browser walkthrough with an uploaded custom background: switched
magical-girltomecha-blackand confirmeddata-theme-palette="mecha-black", sidebar subtitle黑色机甲 / OPS, cyan--accent: #48e6ff, and no remaining inline--frame-accessory-heart; switched back to magical-girl and confirmed only parent panel accessories render; restored mecha as the final state. Two nested home-page state views resolved toborder: 0px, transparent backgrounds, and::after content: none; browser warnings/errors were empty. - Isolation verification:
npm --prefix platform_web testpassed 12 files and 51 tests;npm --prefix platform_web run typecheck,npm --prefix platform_web run build, andscripts/check-structure.shpassed; strict OpenSpec validation reported the change valid (telemetry flush warnings only).