Asset backlog (round 2): cursors, status icons, story scenes, social/PWA refresh #57

Closed
opened 2026-04-24 05:11:52 +00:00 by PlasticDigits · 6 comments
PlasticDigits commented 2026-04-24 05:11:52 +00:00 (Migrated from gitlab.com)

Context

Follow-up to #45 — the issue #45 raster pack has been promoted into purpose-named folders under frontend/public/art/ and is now wired into HomePage, TimeCurve Simple/Arena/Protocol, LaunchCountdown, badges, subnav and cursors via the issue #44 design pass (merged in main at 1aca213).

While integrating the pack we discovered a small set of art slots the dapp UI calls for but the issue #45 generation pass did not cover. They are tracked in docs/frontend/missing-art-assets.md. This issue is the work item to generate that pack using the same script-driven flow as #45.

Generation flow (mirrors #45)

  1. Add a sibling manifest scripts/replicate-art/issue<this-number>/prompts.json with prompts that follow the arcade / leprechaun-bunny direction in docs/frontend/design.md and docs/product/vision.md.
  2. Run python scripts/replicate-art/generate_assets.py against the new manifest. Drops land in frontend/public/art/pending_manual_review/ for human QA.
  3. Promote approved files into the existing purpose folders under frontend/public/art/ (cursors/, icons/, cutouts/, scenes/, social/, motion/).
  4. Update frontend/public/art/README.md consumer table and remove the slot from docs/frontend/missing-art-assets.md.

High-priority slots

Cursor pack — missing variants

  • cursors/default-pointer.png (24×24, hot 4 4) — body-level idle cursor (today falls back to OS pointer).
  • cursors/text-caret.png (16×24, hot 8 12) — optional caret for input / textarea.
  • cursors/disabled.png (24×24, hot 4 4) — small "no entry" leprechaun shield for :disabled rule (today: not-allowed).
  • cursors/external-link.png (24×24, hot 4 2) — distinguish links that leave the dapp (Telegram, X, GitLab docs).

Icons — referenced filename quirks / smaller crops

  • Rename icons/status-prelanch.png → icons/status-prelaunch.png and update the manifest typo so future runs land at the corrected path.
  • icons/loading-mascot-ring.png — square / circular crop usable at 24px (today the oblong loading-mascot blows out in small contexts).
  • icons/token-{cl8y,doub,charm,usdm}-24.png — tight 24px pictogram crops (current 256² glyphs are noisy when scaled down).
  • icons/fee-{burn,treasury,referral}.png — small pictograms for the fee transparency panel in RootLayout footer.

Cutouts / scenes — story gaps

  • scenes/error-wrong-network-portrait.jpg — tall portrait variant for mobile-first wrong-network full takeover.
  • cutouts/indexer-down-mascot.png (transparent) — sad-leprechaun cutout for indexer-down empty state.
  • scenes/referrals-hero.jpg (1600×900) — hero for ReferralsPage when it graduates from UnderConstruction.

Social / OG — refresh

  • Replace legacy art/opengraph.jpg with issue #45's social/og-wide.jpg (or repoint vite.config.ts imagePath).
  • Wire art/opengraph-square.jpg (issue #45's social/og-square.jpg) via a new vite.config.ts injection block for Twitter/X 1:1.
  • Maskable PWA icons (app-icon-192.png, app-icon-512.png) + manifest.webmanifest — only if PWA scope is desired (issue #45 flagged this as "if PWA is ever added").

Lower priority / nice-to-have

  • motion/route-transition-fade.webp — animated route transition (respect prefers-reduced-motion).
  • motion/victory-podium-burst.png (transparent) — overlay variant for Arena podium card.
  • WarBow action icons at 16/20px — tight crops of icons/warbow-{flag,guard,revenge,steal}.png for inline use next to addresses.

Acceptance

  • Manifest committed under scripts/replicate-art/issue<this-number>/prompts.json.
  • Generated drops promoted into the right purpose folders under frontend/public/art/.
  • frontend/public/art/README.md consumer table updated for each new file.
  • docs/frontend/missing-art-assets.md updated (slot removed once promoted).
  • No runtime references to old paths; npm run -s test -- --run still green.
## Context Follow-up to [#45](https://gitlab.com/PlasticDigits/yieldomega/-/issues/45) — the issue #45 raster pack has been promoted into purpose-named folders under [`frontend/public/art/`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/frontend/public/art/README.md) and is now wired into HomePage, TimeCurve Simple/Arena/Protocol, LaunchCountdown, badges, subnav and cursors via the issue #44 design pass (merged in `main` at `1aca213`). While integrating the pack we discovered a small set of **art slots the dapp UI calls for but the issue #45 generation pass did not cover**. They are tracked in [`docs/frontend/missing-art-assets.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/docs/frontend/missing-art-assets.md). This issue is the **work item to generate that pack** using the same script-driven flow as #45. ## Generation flow (mirrors #45) 1. Add a sibling manifest `scripts/replicate-art/issue<this-number>/prompts.json` with prompts that follow the **arcade / leprechaun-bunny** direction in [`docs/frontend/design.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/docs/frontend/design.md) and [`docs/product/vision.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/docs/product/vision.md). 2. Run `python scripts/replicate-art/generate_assets.py` against the new manifest. Drops land in `frontend/public/art/pending_manual_review/` for human QA. 3. Promote approved files into the existing purpose folders under `frontend/public/art/` (`cursors/`, `icons/`, `cutouts/`, `scenes/`, `social/`, `motion/`). 4. Update [`frontend/public/art/README.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/frontend/public/art/README.md) consumer table and remove the slot from `docs/frontend/missing-art-assets.md`. ## High-priority slots ### Cursor pack — missing variants - [ ] `cursors/default-pointer.png` (24×24, hot 4 4) — body-level idle cursor (today falls back to OS pointer). - [ ] `cursors/text-caret.png` (16×24, hot 8 12) — optional caret for `input` / `textarea`. - [ ] `cursors/disabled.png` (24×24, hot 4 4) — small "no entry" leprechaun shield for `:disabled` rule (today: `not-allowed`). - [ ] `cursors/external-link.png` (24×24, hot 4 2) — distinguish links that leave the dapp (Telegram, X, GitLab docs). ### Icons — referenced filename quirks / smaller crops - [ ] Rename `icons/status-prelanch.png` → `icons/status-prelaunch.png` and update the manifest typo so future runs land at the corrected path. - [ ] `icons/loading-mascot-ring.png` — square / circular crop usable at 24px (today the oblong loading-mascot blows out in small contexts). - [ ] `icons/token-{cl8y,doub,charm,usdm}-24.png` — tight 24px pictogram crops (current 256² glyphs are noisy when scaled down). - [ ] `icons/fee-{burn,treasury,referral}.png` — small pictograms for the fee transparency panel in `RootLayout` footer. ### Cutouts / scenes — story gaps - [ ] `scenes/error-wrong-network-portrait.jpg` — tall portrait variant for mobile-first wrong-network full takeover. - [ ] `cutouts/indexer-down-mascot.png` (transparent) — sad-leprechaun cutout for indexer-down empty state. - [ ] `scenes/referrals-hero.jpg` (1600×900) — hero for ReferralsPage when it graduates from `UnderConstruction`. ### Social / OG — refresh - [ ] Replace legacy `art/opengraph.jpg` with issue #45's `social/og-wide.jpg` (or repoint `vite.config.ts` `imagePath`). - [ ] Wire `art/opengraph-square.jpg` (issue #45's `social/og-square.jpg`) via a new `vite.config.ts` injection block for Twitter/X 1:1. - [ ] Maskable PWA icons (`app-icon-192.png`, `app-icon-512.png`) + `manifest.webmanifest` — only if PWA scope is desired (issue #45 flagged this as "if PWA is ever added"). ## Lower priority / nice-to-have - [ ] `motion/route-transition-fade.webp` — animated route transition (respect `prefers-reduced-motion`). - [ ] `motion/victory-podium-burst.png` (transparent) — overlay variant for Arena podium card. - [ ] WarBow action icons at 16/20px — tight crops of `icons/warbow-{flag,guard,revenge,steal}.png` for inline use next to addresses. ## Acceptance - [ ] Manifest committed under `scripts/replicate-art/issue<this-number>/prompts.json`. - [ ] Generated drops promoted into the right purpose folders under `frontend/public/art/`. - [ ] [`frontend/public/art/README.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/frontend/public/art/README.md) consumer table updated for each new file. - [ ] [`docs/frontend/missing-art-assets.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/docs/frontend/missing-art-assets.md) updated (slot removed once promoted). - [ ] No runtime references to old paths; `npm run -s test -- --run` still green. ## Cross-links - Issue #44 design pass (verification still open): https://gitlab.com/PlasticDigits/yieldomega/-/issues/44 - Issue #45 (closed; art generation pattern): https://gitlab.com/PlasticDigits/yieldomega/-/issues/45 - `docs/frontend/missing-art-assets.md` — full table with `Slot / Intended path / Used by / Notes`. - `frontend/public/art/README.md` — purpose-named asset map.
PlasticDigits commented 2026-04-24 05:12:19 +00:00 (Migrated from gitlab.com)

mentioned in issue #45

mentioned in issue #45
PlasticDigits commented 2026-04-24 05:13:28 +00:00 (Migrated from gitlab.com)

mentioned in issue #44

mentioned in issue #44
PlasticDigits commented 2026-04-24 08:18:43 +00:00 (Migrated from gitlab.com)

mentioned in issue #62

mentioned in issue #62
PlasticDigits commented 2026-04-24 12:49:25 +00:00 (Migrated from gitlab.com)

mentioned in commit 8164a446e2

mentioned in commit 8164a446e295b17a50f7b602e1a3b212925f0954
PlasticDigits commented 2026-04-24 12:49:26 +00:00 (Migrated from gitlab.com)

mentioned in commit a5e16beb50

mentioned in commit a5e16beb5094256039bc448bb4d6daed156baa6d
PlasticDigits commented 2026-04-24 12:49:40 +00:00 (Migrated from gitlab.com)

Work completed and merged to main (commit a5e16be).

What shipped

  • scripts/replicate-art/issue57_batch.py + scripts/replicate-art/issue57/prompts.json: same Replicate stack as issue #45; applies ImageMagick/Pillow derivatives (OG copies, token 24px, WarBow 20px, portrait wrong-network, referrals hero 1600×900, loading ring from circle) and optional Replicate jobs for cursors, fee icons, and indexer-down cutout. Without REPLICATE_API_TOKEN, heuristic fallbacks reuse issue #45 art for those slots so the tree is never empty—re-run with a token (omit --skip-existing on paths to refresh) for final GPT-image passes.
  • Frontend: body / input / disabled / external cursors, status-prelaunch.png path, fee pictograms in FeeTransparency, Twitter summary + /art/opengraph-square.jpg, Referrals PageHero scene, indexer mascot in live-buys strip, square loading glyph in route Suspense fallbacks.
  • Docs: frontend/public/art/README.md, docs/frontend/missing-art-assets.md, docs/frontend/design.md.

Development used a git worktree at yieldomega-worktrees/issue-57 on branch issue/57-art-gaps, then merged into main after confirming a clean working tree.

Work completed and merged to `main` (commit a5e16be). **What shipped** - `scripts/replicate-art/issue57_batch.py` + `scripts/replicate-art/issue57/prompts.json`: same Replicate stack as issue #45; applies ImageMagick/Pillow derivatives (OG copies, token 24px, WarBow 20px, portrait wrong-network, referrals hero 1600×900, loading ring from circle) and optional Replicate jobs for cursors, fee icons, and indexer-down cutout. Without `REPLICATE_API_TOKEN`, heuristic fallbacks reuse issue #45 art for those slots so the tree is never empty—re-run with a token (omit `--skip-existing` on paths to refresh) for final GPT-image passes. - Frontend: body / input / disabled / external cursors, `status-prelaunch.png` path, fee pictograms in `FeeTransparency`, Twitter `summary` + `/art/opengraph-square.jpg`, Referrals `PageHero` scene, indexer mascot in live-buys strip, square loading glyph in route `Suspense` fallbacks. - Docs: `frontend/public/art/README.md`, `docs/frontend/missing-art-assets.md`, `docs/frontend/design.md`. Development used a **git worktree** at `yieldomega-worktrees/issue-57` on branch `issue/57-art-gaps`, then merged into `main` after confirming a clean working tree.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-04-27 03:46:54 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/yieldomega#57
No description provided.