Rename timecurve-* CSS classes and public art paths to arena-* #280
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega#280
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Rename remaining
timecurve-*CSS class names,data-testids, and public art paths toarena-*(or neutral Arena naming) so the frontend matches Arena v2 product language after TimeCurve v1 retirement (#266).Scope: Naming and asset paths only — no onchain, indexer HTTP, or route changes.
Explicitly out of scope for #266 — tracked here as follow-up hygiene.
Current codebase
Routes and env (already Arena v2)
/arena; AUDIT:/arena/protocol; legacy/timecurve/*redirects (frontend/src/app/LaunchGate.tsx).VITE_TIME_ARENA_ADDRESSonly (frontend/src/lib/addresses.ts,scripts/check-frontend-vite-env.sh).Lingering
timecurveidentifiers (~80+ references infrontend/)timecurve-protocol-page,timecurve-buy-projected-effects,timecurve-simple-agent-cardfrontend/src/index.css(keyframestimecurve-spot-pulse,timecurve-stake-*, sceneurl("/art/scenes/timecurve-arena.jpg"))ArenaProtocolPage.tsx,ArenaBuyProjectedEffects.tsx,ArenaSimpleAgentCard.tsx/art/icons/timecurve-podium-*.png,/art/scenes/timecurve-protocol.jpg,timecurve-arena.jpgarenaUi.tsx,ArenaSimplePodiumSection.tsxdata-testid="timecurve-simple-agent-card", podium icon path assertionsfrontend/e2e/,*.test.tsxfrontend/public/art/README.md,formatTimer.tsrevertMessage.ts(~36 hits)What is not legacy product code
/timecurveredirects inLaunchGate— keep until analytics show zero traffic (separate from CSS rename).frontend/public/art/timecurve-launch-brief/— archive or rename with redirects if URLs are bookmarked.Why this is needed
timecurve-*in DOM/CSS implies deprecated v1 launchpad (#266).data-testidrenames must be coordinated with Playwright selectors in one PR train.public/art/icons/should match Arena branding for CDN/cache clarity.Constraints and guardrails
/timecurve→/arena) — unrelated to class rename.revertMessage.tsmust stay byte-accurate to contract strings.?v=1in places — bump query or rename consistently.Relevant files
frontend/src/index.cssfrontend/src/pages/arena/*.tsx,arenaUi.tsxfrontend/src/layout/RootLayout.tsxfrontend/public/art/(scenes, icons, README)frontend/e2e/arena.spec.ts,anvil-arena-*.spec.ts,navigation.spec.tsdocs/frontend/arena-views.md,docs/frontend/design.md,YO-DOUB-Launch-UX-Flows.mdINV-FRONTEND-*-ARENA-CSS-NAMINGindocs/testing/invariants-and-business-logic.mdRecommended direction
Phase 1 — TSX + CSS (single PR)
timecurve-*→arena-*(document in MR).index.csstogether (avoid orphan CSS).data-testidvalues and Playwright selectors in the same commit.npm test,npm run build,bash scripts/e2e-anvil.sh(or Playwright arena specs).Phase 2 — Public art paths
frontend/public/art/icons/timecurve-podium-*→arena-podium-*(and scenes).publicduplicate files for one release (if external hotlinking is a concern).frontend/public/art/README.mdcatalog.Phase 3 — Docs / guardrails
.cursor/skills/yieldomega-guardrails/SKILL.mditem 9 footnote.timecurve-class names infrontend/src(optionalscripts/check-arena-naming.sh).Exclusions
LaunchGate/timecurveroute paths (redirects).revertMessage.tsentries that mirror Solidity revert reasons.KumbayaenvVITE_KUMBAYA_TIMECURVE_BUY_ROUTER— separate issue / already legacy alias; optional alias removal.Acceptance criteria
timecurve-CSS class ordata-testidinfrontend/src/pages/arena/**(allowlist documented for redirects-only strings).arena-*paths (or documented symlink shim with removal date).npm testandnpm run buildgreen.rg 'timecurve-' frontend/src/pages/arena→ zero matches (except comments pointing to historical docs, if any)./arenaand/arena/protocolunchanged layout (before/after screenshots in MR).Test plan — functional paths
/arenaSimple view/arena/protocolAUDIT/arenadata-testid/timecurve/arena(unchanged)npm run builddist/Test plan — attack / abuse vectors
/art/icons/timecurve-podium-last-buy.png?v=on moved assetsVerification criteria
npm run typecheck,npm run lint,npm test,npm run buildpass.bash scripts/e2e-anvil.shornpx playwright test e2e/arena.spec.ts e2e/navigation.spec.tspass.rg 'timecurve-' frontend/src --glob '*.tsx' --glob '*.css'→ empty (per allowlist).docs/testing/manual-qa-checklists.md(new §) or appendix to #266 sign-off.marked as related to #266
mentioned in commit bdcf177d283e0177568ccadb9ee3db4c28673f84
Implementation complete (branch pushed)
Work is on
cursor/arena-css-naming-280-9ea9(merged locally tomain;mainpush is protected — merge via MR).What changed
timecurve-*class names anddata-testids infrontend/src/pages/arena/**→arena-*(matches rules already inindex.css).arena-simple.jpg,arena-protocol.jpg,arena-arena.jpg),header-arena.png; cache-bust rank icons to?v=2.arena-simple.jpgwhile the file was stilltimecurve-simple.jpg(broken hero scene).scripts/check-arena-naming.sh(CIscripts-smoke),INV-FRONTEND-280-ARENA-CSS-NAMING, arena-views §280, manual QA §280, guardrails skill item 9.Unchanged:
/timecurveredirects inLaunchGate.tsx; onchain revert strings inrevertMessage.ts.Verification checklist (QA)
bash scripts/check-arena-naming.sh→ exit 0cd frontend && npm run typecheck && npm run lint && npm test && npm run build/arena— podium icons, timer hero scene, buy card layout unchanged/arena/protocol— protocol backdrop + donate poolsdata-testid="arena-simple-agent-card"opens agent panel + site links/timecurvestill redirects to/arenaGET /art/icons/arena-podium-last-buy.png→ 200;GET /art/icons/timecurve-podium-last-buy.png→ 404npx playwright test e2e/arena.spec.ts e2e/navigation.spec.ts e2e/footer-site-links.spec.ts(5 workers)Automated run (agent)
bash scripts/check-arena-naming.shnpm run typechecknpm run lintnpm testnpm run buildFollow-ups (optional)
frontend/public/art/timecurve-launch-brief/archive folder when bookmark traffic is zero.header-icons-prompts.jsonstill documentsheader-timecurveslug (generator metadata only).Please have the QA agent team run the checklist above on the MR branch before merge.
Issue left open until MR is merged and sign-off recorded.
mentioned in commit
79845f7d76mentioned in merge request !408
mentioned in commit
5a4177b34dmentioned in merge request !406
mentioned in issue #284
mentioned in issue #286
mentioned in issue #298
mentioned in issue #309