|
| 1 | +# PR_26132_020-object-vector-studio-v2-selection-paint-controls |
| 2 | + |
| 3 | +## Scope |
| 4 | + |
| 5 | +Updates Object Vector Studio V2 selection, object typing, hierarchy display, paint/stroke controls, and direct schema/runtime references only. No sample JSON changes and no World Vector Studio V2 changes. |
| 6 | + |
| 7 | +## Changes |
| 8 | + |
| 9 | +- Replaced asset category with one singular Object type field that uses type-ahead suggestions from existing object types and tags. |
| 10 | +- Moved Object Actions to the bottom of the Objects accordion: Add, Rename, Duplicate, Delete. |
| 11 | +- Updated Rename so the object name and object id change together. |
| 12 | +- Reworked the Objects list into an `objects > object > shape` hierarchy with left-aligned text, selected object/shape highlighting, vertical scrolling, and icon-only eye/lock controls. |
| 13 | +- Removed the duplicated shape list from Object Details and removed duplicated preview shape buttons that already exist in the left control surface. |
| 14 | +- Moved z-order and grouping controls between Shape/Tools separators and kept shape tool buttons square with updated rectangle/circle/ellipse stroke weight and a five-sided polygon icon. |
| 15 | +- Added Select deselect behavior: clicking Select with a selected shape clears shape selection. |
| 16 | +- Added center mouse-wheel zoom on the Object Preview work surface. |
| 17 | +- Removed Current Color from Palette and added selected-color visual emphasis on the active swatch. |
| 18 | +- Implemented Paint and Stroke click behavior on shapes, including fill/stroke application, shift additive selection, alt eyedropper sampling, color swap, and default colors shortcuts. |
| 19 | +- Added keyboard shortcuts: `V` Select, `F` Paint/Fill, `S` Stroke, `I` Eyedropper, `X` Swap fill/stroke, and `D` Default colors. |
| 20 | +- Updated Object Vector Studio V2 docs to state that the paint/stroke model can scale later into shaders, gradients, patterns, neon, SVG export, and runtime rendering. |
| 21 | +- Updated Object Vector Studio V2 schema and direct runtime/schema services so `category` is rejected and durable object payloads use the singular `type` field. |
| 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 tools/object-vector-studio-v2/js/services/ObjectVectorStudioV2SchemaService.js` |
| 32 | +- `npx playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list --grep "shows Object Vector Studio V2 layout shell"` |
| 33 | +- `npx playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list --grep "supports Object Vector Studio V2 asset library inheritance"` |
| 34 | +- `npm run test:workspace-v2` |
| 35 | +- `npx playwright test --config tools/object-vector-studio-v2/playwright.config.mjs --reporter=list` |
| 36 | + |
| 37 | +Result: |
| 38 | + |
| 39 | +- Focused Workspace Manager V2 Object Vector Studio checks passed. |
| 40 | +- Full Workspace Manager V2 suite passed: 45 passed. |
| 41 | +- Tool-local Object Vector Studio V2 suite passed: 4 passed. |
| 42 | +- Playwright V8 coverage refreshed at `docs/dev/reports/playwright_v8_coverage.txt`. |
| 43 | +- Full samples smoke test skipped per request; this PR is limited to Object Vector Studio V2 UI/control behavior and direct schema/runtime references, with Workspace V2 and tool-local Playwright coverage covering the impacted surface. |
| 44 | + |
| 45 | +## Playwright Coverage |
| 46 | + |
| 47 | +Validates: |
| 48 | + |
| 49 | +- Singular Object type type-ahead and asset category removal. |
| 50 | +- Rename updates object id. |
| 51 | +- Object/shape hierarchy selection and selected highlighting. |
| 52 | +- Icon-only eye/lock controls and Objects container scrolling. |
| 53 | +- Object Details no longer duplicates the shape list. |
| 54 | +- Object Preview no longer duplicates shape action buttons. |
| 55 | +- Shape z-order/group controls are between Shape/Tools separators. |
| 56 | +- Selected color visual effect. |
| 57 | +- Center mouse-wheel zoom. |
| 58 | +- Select deselect behavior. |
| 59 | +- Paint/stroke click behavior and keyboard shortcuts. |
| 60 | + |
| 61 | +Expected pass behavior: |
| 62 | + |
| 63 | +- Object Vector Studio V2 exposes one object type, displays a usable object/shape hierarchy, applies paint/stroke controls to selected shapes, and keeps schema/runtime payloads free of asset category data. |
| 64 | + |
| 65 | +Expected fail behavior: |
| 66 | + |
| 67 | +- Invalid object/category payload drift, missing palette, missing selection, locked object edits, and invalid transforms log visible/actionable WARN/FAIL entries and do not partially mutate or render invalid state. |
| 68 | + |
| 69 | +## Manual Validation |
| 70 | + |
| 71 | +1. Open `tools/object-vector-studio-v2/index.html`. |
| 72 | +2. Load a valid Object Vector payload and runtime/session palette. |
| 73 | +3. Confirm Object type is a single type-ahead field and no asset category control is visible. |
| 74 | +4. Add and rename an object, then confirm the object id changes with the name. |
| 75 | +5. Create shapes, select them from the Objects hierarchy, and confirm selected object/shape highlighting. |
| 76 | +6. Use eye/lock icons on object tiles and shape rows. |
| 77 | +7. Select Paint or Stroke, click shapes, and confirm fill/stroke values update. |
| 78 | +8. Use `V`, `F`, `S`, `I`, `X`, and `D` shortcuts and confirm the Status Log records the operation. |
| 79 | +9. Mouse-wheel over the center work surface and confirm zoom changes. |
| 80 | + |
| 81 | +Expected outcome: |
| 82 | + |
| 83 | +- Object Vector Studio V2 presents the requested hierarchy, selection, paint/stroke, and keyboard control model with no duplicated Object Details/Preview controls and no asset category payload persistence. |
| 84 | + |
| 85 | +## Out Of Scope |
| 86 | + |
| 87 | +- No sample JSON changes. |
| 88 | +- No World Vector Studio V2 changes. |
| 89 | +- No new major feature systems beyond the requested selection/paint control behavior. |
| 90 | +- No full samples smoke test. |
0 commit comments