|
| 1 | +# PR_26132_021-object-vector-studio-v2-scroll-grid-palette-fixes |
| 2 | + |
| 3 | +## Scope |
| 4 | + |
| 5 | +Updates Object Vector Studio V2 layout/control behavior and the Asteroids Object Vector asset tags only. No schema changes and no unrelated game changes. |
| 6 | + |
| 7 | +## Changes |
| 8 | + |
| 9 | +- Added left-column vertical scrolling. |
| 10 | +- Let `objectVectorStudioV2ShapeToolsContent` fill to the bottom of its accordion while preserving `accordion-v2__content object-vector-studio-v2__scroll-content`. |
| 11 | +- Added Words/Icons support and CSS icons for Bring Forward, Send Backward, Bring To Front, Send To Back, Group Shapes, and Ungroup. |
| 12 | +- Increased rectangle, circle, ellipse, arc, and polygon icon stroke weight and made those icons white. |
| 13 | +- Reworked the triangle icon to be unfilled with a white stroke matching rectangle stroke weight. |
| 14 | +- Removed the `asteroids` tag from Asteroids Object Vector Studio V2 asset library entries. |
| 15 | +- Removed the visible ` x` suffix from object tag pills and added numeric duplicate tag resolution. |
| 16 | +- Changed viewport zoom buttons and mouse wheel zoom to 10% steps, with clamped min/max reachability from 25% to 400%. |
| 17 | +- Moved grid rendering into SVG coordinates so it scales with the center dot and current viewBox. |
| 18 | +- Rejected non-palette paint/stroke colors with visible Status Log failures. |
| 19 | +- Kept Object action buttons inside the Objects accordion bottom and removed the separate Object Actions callout. |
| 20 | +- Kept Objects list overflow visible while the Objects container scrolls. |
| 21 | +- Put Tag Filter and Search labels/fields on one line. |
| 22 | + |
| 23 | +## Validation |
| 24 | + |
| 25 | +Playwright impacted: Yes. |
| 26 | + |
| 27 | +Commands run: |
| 28 | + |
| 29 | +- `node --check tools/object-vector-studio-v2/js/ToolStarterApp.js` |
| 30 | +- `node --check tools/object-vector-studio-v2/js/bootstrap.js` |
| 31 | +- `node --check tests/playwright/tools/WorkspaceManagerV2.spec.mjs` |
| 32 | +- `node --check tools/object-vector-studio-v2/tests/playwright/FirstClassToolStarter.spec.mjs` |
| 33 | +- `npx playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list --grep "shows Object Vector Studio V2 layout shell"` |
| 34 | +- `npx playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list --grep "expands Object Vector Studio V2 asset authoring"` |
| 35 | +- `npx playwright test --config tools/object-vector-studio-v2/playwright.config.mjs --reporter=list` |
| 36 | +- `npm run test:workspace-v2` |
| 37 | + |
| 38 | +Result: |
| 39 | + |
| 40 | +- Focused Object Vector Studio V2 layout/control coverage passed. |
| 41 | +- Tool-local Object Vector Studio V2 suite passed: 4 passed. |
| 42 | +- Full Workspace Manager V2 suite passed: 45 passed. |
| 43 | +- Playwright V8 coverage refreshed at `docs/dev/reports/playwright_v8_coverage.txt`. |
| 44 | +- Full samples smoke test skipped per request; this PR is limited to Object Vector Studio V2 layout/control behavior and Asteroids Object Vector asset tags. |
| 45 | + |
| 46 | +## Playwright Coverage |
| 47 | + |
| 48 | +Validates: |
| 49 | + |
| 50 | +- Left column scrolling. |
| 51 | +- Shape/Tools content reaches the accordion bottom. |
| 52 | +- Words/Icons affects z-order/group buttons. |
| 53 | +- White, heavier shape icons and unfilled triangle styling. |
| 54 | +- Asteroids `asteroids` tag removal from Object Vector asset entries. |
| 55 | +- Tag creation does not append ` x`, and duplicate tags receive numeric suffixes. |
| 56 | +- 10% zoom steps and mouse-wheel min/max zoom reachability. |
| 57 | +- SVG grid scales in the same coordinate surface as the center dot. |
| 58 | +- Non-palette paint/stroke colors are rejected. |
| 59 | +- Object actions are inside the Objects accordion bottom. |
| 60 | +- Objects list overflow stays visible while the Objects container scrolls. |
| 61 | +- Tag Filter and Search controls render as inline rows. |
| 62 | + |
| 63 | +Expected pass behavior: |
| 64 | + |
| 65 | +- Object Vector Studio V2 shows the requested scroll, grid, icon, tag, palette, and Object action behavior without schema drift or hidden fallback behavior. |
| 66 | + |
| 67 | +Expected fail behavior: |
| 68 | + |
| 69 | +- Missing payloads, missing palette, locked object edits, invalid transforms, and non-palette paint/stroke colors log visible/actionable WARN/FAIL entries and avoid partial mutation. |
| 70 | + |
| 71 | +## Manual Validation |
| 72 | + |
| 73 | +1. Open `tools/object-vector-studio-v2/index.html`. |
| 74 | +2. Load a valid Object Vector payload and runtime palette. |
| 75 | +3. Confirm the left column scrolls when content exceeds its height. |
| 76 | +4. Toggle Words/Icons and confirm z-order/group buttons switch with the shape buttons. |
| 77 | +5. Confirm rectangle, circle, ellipse, arc, and polygon icons are white with heavier strokes, and triangle is outline-only. |
| 78 | +6. Add a tag, then add the same tag again; confirm the first tag has no ` x` suffix and the duplicate gets a numeric suffix. |
| 79 | +7. Use Zoom In/Out and mouse wheel to confirm 10% zoom steps and min/max clamp at 25% and 400%. |
| 80 | +8. Toggle Grid and confirm the SVG grid scales with the center dot while zooming. |
| 81 | +9. Try applying a non-palette color through runtime state and confirm the Status Log rejects it. |
| 82 | +10. Confirm Object actions remain at the bottom of the Objects accordion and the filter/search controls are inline. |
| 83 | + |
| 84 | +Expected outcome: |
| 85 | + |
| 86 | +- The Object Vector Studio V2 editing surface behaves as requested with constrained scroll regions, valid palette-only paint/stroke operations, SVG-coordinate grid scaling, and no Asteroids asset-library `asteroids` tag. |
| 87 | + |
| 88 | +## Out Of Scope |
| 89 | + |
| 90 | +- No schema changes. |
| 91 | +- No unrelated game changes. |
| 92 | +- No World Vector Studio V2 changes. |
| 93 | +- No full samples smoke test. |
0 commit comments