Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions dev/tests/playwright/tools/SpritesToolShell.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ import { getToolRegistrySnapshot } from "../../../../toolbox/toolRegistry.js";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const repoRoot = path.resolve(__dirname, "..", "..", "..", "..");
const SPRITE_TOOLBAR_PLACEHOLDERS = [
"Pencil",
"Eraser",
"Fill",
"Line",
"Rectangle",
"Circle",
"Picker",
"Move",
"Zoom",
];

function contentTypeForPath(filePath) {
const extension = path.extname(filePath).toLowerCase();
Expand Down Expand Up @@ -216,9 +227,11 @@ test("Sprite Creator shell loads with visible tool, canvas, details, and status
await expect(page.getByText("Canvas Setup")).toBeVisible();
await expect(page.getByRole("heading", { level: 2, name: "Pixel Work Area" })).toBeVisible();
await expect(page.getByRole("heading", { level: 2, name: "Sprite Details" })).toBeVisible();
await expect(page.getByRole("button", { name: "Pencil" })).toBeDisabled();
await expect(page.getByRole("button", { name: "Eraser" })).toBeDisabled();
await expect(page.getByRole("button", { name: "Fill" })).toBeDisabled();
await expect(page.locator("[data-sprites-toolbar]")).toBeVisible();
for (const toolName of SPRITE_TOOLBAR_PLACEHOLDERS) {
await expect(page.getByRole("button", { name: `${toolName} tool placeholder` })).toBeDisabled();
}
await expect(page.locator("main")).toContainText("Toolbar placeholders only");
await expect(page.locator("[data-sprites-pixel-grid]")).toBeVisible();
await expect(page.locator("[data-sprites-shell-status]")).toContainText("Shell ready");
await expect(page.locator("main")).toContainText("Palette/Colors keys only");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# PR_26179_CHARLIE_023-sprites-toolbar-placeholders

Team: CHARLIE
Workflow: stacked feature workflow
Base branch: PR_26179_CHARLIE_022-sprites-tool-shell
Canonical ZIP path: dev/workspace/zip/PR_26179_CHARLIE_023-sprites-toolbar-placeholders_delta.zip

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use the required tmp artifact path

The repo-level AGENTS.md Packaging rule requires BUILD delta ZIPs at <project folder>/tmp/<TASK_NAME>_delta.zip, but this report declares dev/workspace/zip/... as the canonical artifact path. For this build handoff, anyone following the report/evaluation contract will look in the wrong location and miss the required delta ZIP; please point this to tmp/PR_26179_CHARLIE_023-sprites-toolbar-placeholders_delta.zip instead.

Useful? React with 👍 / 👎.


## Summary

Added Sprite Creator toolbar placeholders for Pencil, Eraser, Fill, Line, Rectangle, Circle, Picker, Move, and Zoom. This PR intentionally adds visible controls only; no drawing behavior, persistence, API, DB, schema, or authoritative browser product data was added.

## Branch Validation

PASS

- Current branch: PR_26179_CHARLIE_023-sprites-toolbar-placeholders
- Based on: PR_26179_CHARLIE_022-sprites-tool-shell
- No start_of_day files changed
- No DB/API/schema files changed
- No stale PR #219-#228 code copied

## Requirement Checklist

| Requirement | Status | Notes |
| --- | --- | --- |
| Add Pencil placeholder | PASS | Visible disabled control. |
| Add Eraser placeholder | PASS | Visible disabled control. |
| Add Fill placeholder | PASS | Visible disabled control. |
| Add Line placeholder | PASS | Visible disabled control. |
| Add Rectangle placeholder | PASS | Visible disabled control. |
| Add Circle placeholder | PASS | Visible disabled control. |
| Add Picker placeholder | PASS | Visible disabled control. |
| Add Move placeholder | PASS | Visible disabled control. |
| Add Zoom placeholder | PASS | Visible disabled control. |
| No drawing behavior | PASS | Buttons remain disabled; no new runtime JS. |
| No DB/API/schema changes | PASS | Changed only shell/test/report files. |
| No browser-owned authoritative product data | PASS | No product persistence added. |
| No stale PR #219-#228 code | PASS | Direct current-main stack edit only. |

## Validation Lane Report

Commands:

```text
node --check dev/tests/playwright/tools/SpritesToolShell.spec.mjs
node --check src/shared/toolbox/tool-metadata-inventory.js
git diff --check -- toolbox/sprites/index.html dev/tests/playwright/tools/SpritesToolShell.spec.mjs
rg --pcre2 -n -i "<style|style=|<script(?![^>]+src=)|on(click|change|submit|input|load|error)=|imageDataUrl|local-mem|fake-login|MEM DB" toolbox/sprites/index.html dev/tests/playwright/tools/SpritesToolShell.spec.mjs
npx playwright test dev/tests/playwright/tools/SpritesToolShell.spec.mjs --workers=1 --reporter=list --output=<temp>
```

Results:

- Node syntax checks: PASS
- `git diff --check`: PASS
- Guard scan: PASS, no matches
- Targeted Playwright: PASS, 1 test passed

## Manual Validation Notes

1. Open `/toolbox/sprites/index.html` from the stacked branch.
2. Confirm the Sprite Tools panel shows Pencil, Eraser, Fill, Line, Rectangle, Circle, Picker, Move, and Zoom.
3. Confirm toolbar controls are placeholders only and disabled.
4. Confirm there is no drawing behavior yet.

## ZIP Path

`dev/workspace/zip/PR_26179_CHARLIE_023-sprites-toolbar-placeholders_delta.zip`
3 changes: 1 addition & 2 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
toolbox/sprites/index.html
src/shared/toolbox/tool-metadata-inventory.js
dev/tests/playwright/tools/SpritesToolShell.spec.mjs
docs_build/dev/reports/PR_26179_CHARLIE_022-sprites-tool-shell.md
docs_build/dev/reports/PR_26179_CHARLIE_023-sprites-toolbar-placeholders.md
docs_build/dev/reports/codex_changed_files.txt
docs_build/dev/reports/codex_review.diff
Loading
Loading