|
| 1 | +# PR_26168_219-admin-infrastructure-image-storage-path |
| 2 | + |
| 3 | +## Branch Validation |
| 4 | + |
| 5 | +PASS: current branch is `main`. |
| 6 | + |
| 7 | +- Expected branch: `main` |
| 8 | +- Current branch: `main` |
| 9 | +- Local branches found: `main` |
| 10 | + |
| 11 | +## Scope Summary |
| 12 | + |
| 13 | +PASS: PR219 is scoped to the Admin Infrastructure image/storage-path surface. |
| 14 | + |
| 15 | +- Admin Infrastructure image now fills the available content width inside a Theme V2 zoom trigger. |
| 16 | +- The image opens a native dialog zoom view through external JavaScript only. |
| 17 | +- Project Asset Storage Paths copy now identifies `GAMEFOUNDRY_ASSET_STORAGE_PATH`. |
| 18 | +- `.env.example` includes the tracked non-secret variable contract. |
| 19 | +- Ignored local copy-source files `.env.dev`, `.env.ist`, `.env.uat`, and `.env.prd` were updated locally with the matching non-secret path values. |
| 20 | + |
| 21 | +## Requirement Checklist |
| 22 | + |
| 23 | +| Requirement | Status | Evidence | |
| 24 | +| --- | --- | --- | |
| 25 | +| Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` first | PASS | Instructions were read before branch guard or edits. | |
| 26 | +| Hard stop unless current branch is `main` | PASS | `git branch --show-current` returned `main`; `git branch --list` showed `* main`. | |
| 27 | +| Update `admin/infrastructure.html` so the image uses 100% of available content space | PASS | Theme V2 `.image-zoom-trigger` and `.tool-center-panel .image-zoom-trigger img` set the image to full control/content width; Playwright measured image width within the trigger border box. | |
| 28 | +| Make the infrastructure image clickable and open a zoom view | PASS | External `assets/theme-v2/js/image-zoom-dialog.js` opens the native dialog; Playwright clicked the image trigger, verified the dialog image, and closed it. | |
| 29 | +| Keep displaying only `assets/GFS-Infrastructure v1-3.png` | PASS | Static and Playwright checks confirm v1-3 is used and v1-2 is absent. | |
| 30 | +| Update Project Asset Storage Paths copy to identify `GAMEFOUNDRY_ASSET_STORAGE_PATH` | PASS | Table caption and path rows include the variable name. | |
| 31 | +| Add `GAMEFOUNDRY_ASSET_STORAGE_PATH` to appropriate `.env` copy-source files if missing | PASS | `.env.example` is tracked with the contract; ignored local `.env.dev`, `.env.ist`, `.env.uat`, and `.env.prd` each contain exactly one non-secret variable entry. | |
| 32 | +| Do not expose secrets | PASS | No secret values were added to tracked files, reports, or artifacts; ignored `.env.<target>` files are not packaged. | |
| 33 | +| Use Theme V2 only | PASS | Styling is in `assets/theme-v2/css/dialogs.css`; page keeps Theme V2 stylesheet only. | |
| 34 | +| No inline styles, script blocks, style blocks, or inline event handlers | PASS | Static HTML check passed for `style=`, `<style>`, inline script blocks, and `on*=` handlers. | |
| 35 | +| Put JavaScript in external files only | PASS | Zoom behavior lives in `assets/theme-v2/js/image-zoom-dialog.js`; HTML only references external scripts. | |
| 36 | +| Do not add unrelated Admin, storage, or promotion behavior | PASS | Changes are limited to image zoom, storage path copy, env contract, and targeted test coverage. | |
| 37 | +| Do not run full samples smoke | PASS | Full samples smoke was skipped by instruction and because no sample surface changed. | |
| 38 | + |
| 39 | +## Validation Lane Report |
| 40 | + |
| 41 | +PASS: `node --check assets/theme-v2/js/image-zoom-dialog.js` |
| 42 | + |
| 43 | +PASS: `node --check tests/playwright/tools/AdminPlatformToolsWireframes.spec.mjs` |
| 44 | + |
| 45 | +PASS: Admin Infrastructure HTML static check |
| 46 | + |
| 47 | +- Checked no `<style>` blocks. |
| 48 | +- Checked no inline `style=` attributes. |
| 49 | +- Checked no inline script blocks. |
| 50 | +- Checked no inline event handlers. |
| 51 | +- Checked `assets/GFS-Infrastructure v1-3.png` is present. |
| 52 | +- Checked `assets/GFS-Infrastructure v1-2.png` is absent. |
| 53 | +- Checked `GAMEFOUNDRY_ASSET_STORAGE_PATH` copy is present. |
| 54 | +- Checked external zoom script reference is present. |
| 55 | + |
| 56 | +PASS: changed CSS brace check for `assets/theme-v2/css/dialogs.css` |
| 57 | + |
| 58 | +PASS: env asset storage path static check |
| 59 | + |
| 60 | +- `.env.example`: `GAMEFOUNDRY_ASSET_STORAGE_PATH=` |
| 61 | +- `.env.dev`: `GAMEFOUNDRY_ASSET_STORAGE_PATH=/dev/projects/` |
| 62 | +- `.env.ist`: `GAMEFOUNDRY_ASSET_STORAGE_PATH=/ist/projects/` |
| 63 | +- `.env.uat`: `GAMEFOUNDRY_ASSET_STORAGE_PATH=/uat/projects/` |
| 64 | +- `.env.prd`: `GAMEFOUNDRY_ASSET_STORAGE_PATH=/prod/projects/` |
| 65 | + |
| 66 | +PASS: `npx playwright test tests/playwright/tools/AdminPlatformToolsWireframes.spec.mjs -g "Infrastructure Admin wireframe preserves template structure"` |
| 67 | + |
| 68 | +- Result: 1 passed. |
| 69 | +- Behavior validated: Theme V2 Admin Infrastructure structure, v1-3-only image usage, storage path copy, full-width image trigger, zoom dialog open/close, no inline style/script/event handlers, and no page failures. |
| 70 | + |
| 71 | +PASS: Playwright V8 coverage report produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`. |
| 72 | + |
| 73 | +- `(100%) assets/theme-v2/js/image-zoom-dialog.js` covered by browser V8 coverage. |
| 74 | + |
| 75 | +## Manual Validation Notes |
| 76 | + |
| 77 | +PASS: Static inspection confirmed Admin Infrastructure still references only `assets/GFS-Infrastructure v1-3.png` and not `assets/GFS-Infrastructure v1-2.png`. |
| 78 | + |
| 79 | +PASS: The image is a keyboard-focusable button with `aria-haspopup="dialog"` and `aria-controls="admin-infrastructure-image-zoom"`. |
| 80 | + |
| 81 | +PASS: The zoom view uses a native `<dialog>` with an external JS opener and a visible Close button. |
| 82 | + |
| 83 | +PASS: The tracked env example and ignored local env copy-source files contain only the non-secret `GAMEFOUNDRY_ASSET_STORAGE_PATH` variable addition for this PR. |
| 84 | + |
| 85 | +SKIP: Full samples smoke was not run because this PR only affects the Admin Infrastructure page, Theme V2 zoom styling/JS, and env copy-source documentation; sample JSON and sample runtime behavior were untouched. |
0 commit comments