mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 17:51:38 +00:00
* feat(ui): expand lobster pet randomization Shiny rolls (1/512) with Lobsterdex tracking, cotton candy and lumen palettes, crusher/pincer claw asymmetry, freckles, seeded eye glints, elder and old-friend rare loads, balloon/bubble entrances, snail/duck/ jellyfish ledge traffic with per-kind crossing times, passer reactions, a message-in-a-bottle event, National Lobster Day monocles, and a golden ledge trim for a completed Lobsterdex. * style: apply oxfmt formatting to lobster pet files * refactor(ui): split lobster pet art and ledge traffic into modules lobster-pet-sprites.ts owns the static SVG art, lobster-pet-traffic.ts owns passer/bottle scheduling as a ReactiveController, and load identity (elder, old friend, dex completion) moves into lobster-pet-plans.ts; keeps lobster-pet.ts and lobster-pet-look.ts under the max-lines cap and fixes the passerBaseStyle consistent-return lint. * fix(ui): clear ledge traffic on disconnect, hide bottle from AT Review findings: a host reconnect no longer shows a frozen passer or an unebbing bottle, and the bottle joins the rest of the decorative ledge sprites behind aria-hidden (fortunes stay on the native-tooltip channel by design - no i18n surface). * style: oxfmt formatting for lobster plans/sprites/pet * refactor(ui): narrow lobster plan/traffic exports to production consumers isLobsterElderLoad and planLobsterOldFriend become module-local (tests prove them through resolveLobsterLoadIdentity), and the traffic controller's hook/scene types stay local; fixes the knip production unused-export gate. * fix(ui): request host update when disconnect clears ledge traffic Lit does not re-render on reattach by itself; the queued update makes sure a detached-then-reattached pet never shows a stale passer/bottle.