Before anything else — thanks Mat for the hard work on late.sh. You've built the community a properly cosy clubhouse, and it's a real pleasure to contribute to it.
Sounding out direction before writing code. PR #240 just landed the cheapest "feels more Tamagotchi" lever (life stages from created). Here's the rest of the list, ranked by perceived-change-per-LOC. All preserve the "neither pet ever dies" rule from #205 — no decay-to-death mechanics, no hard-fail states.
| # |
Idea |
Sketch |
Rough LOC |
Files |
| 1 |
Life stages from created |
Kitten → Wise Old Cat in the modal title |
~~~150~~ |
shipped in #240 |
| 2 |
Mood-driven ASCII variants |
Add a few cat poses keyed off existing care state — sleeping (=^.^=)zZ, hungry, playful, content, grumpy. Just a match on CatMood/CatNeeds; cat already has a 3-line ASCII so this is adding 3–4 more flavours of the same shape. |
~80 |
cat/modal_ui.rs |
| 3 |
"Whiskers misses you" connect banner |
If any care timer is overdue at session start, fire a Banner via the same ProfileEvent → Banner pipeline that handles birthday alerts. Single-shot per connect. |
~50 |
cat/svc.rs, cat/state.rs |
| 4 |
Cat anniversary banner |
"Whiskers turned 1 today!" when created.date_naive() matches today's anniversary. Reuses the same banner pipeline. |
~30 |
cat/svc.rs |
| 5 |
Personality trait at maturity |
Track ratio of f/w/p/g/t actions; once cat reaches Adult, derive one trait (Foodie / Tidy / Playful / Mellow) and show as a modal subtitle. |
~100 |
cat/state.rs, cat/modal_ui.rs (+1 new column on the cat_companions table) |
| 6 |
Idle micro-animations in the sidebar |
Every N ticks rotate through 2–3 ASCII frames (yawn / stretch / swat). No new state — just a tick-derived index. |
~50 |
wherever the sidebar cat glyph lives |
| 7 |
/cat chat command |
User types /cat; cat "says" something based on mood (mrow, purrrrr, :(). Reuses the exact slash-command plumbing from /petname #232. |
~70 |
chat/state.rs, cat/state.rs |
What I'm asking:
- Any of these worth me drafting?
- Anything you'd outright veto so I don't waste effort?
- Any tweaks to the shape — e.g. trait visibility, banner cadence, etc.?
No need for a long reply — even a "2, 4 only please" or "all closed, focus elsewhere" is plenty. Happy to wait until you've got a moment.
Before anything else — thanks Mat for the hard work on late.sh. You've built the community a properly cosy clubhouse, and it's a real pleasure to contribute to it.
Sounding out direction before writing code. PR #240 just landed the cheapest "feels more Tamagotchi" lever (life stages from
created). Here's the rest of the list, ranked by perceived-change-per-LOC. All preserve the "neither pet ever dies" rule from #205 — no decay-to-death mechanics, no hard-fail states.Life stages fromcreatedKitten → Wise Old Cat in the modal title(=^.^=)zZ, hungry, playful, content, grumpy. Just amatchonCatMood/CatNeeds; cat already has a 3-line ASCII so this is adding 3–4 more flavours of the same shape.cat/modal_ui.rsBannervia the sameProfileEvent → Bannerpipeline that handles birthday alerts. Single-shot per connect.cat/svc.rs,cat/state.rscreated.date_naive()matches today's anniversary. Reuses the same banner pipeline.cat/svc.rsf/w/p/g/tactions; once cat reaches Adult, derive one trait (Foodie / Tidy / Playful / Mellow) and show as a modal subtitle.cat/state.rs,cat/modal_ui.rs(+1 new column on thecat_companionstable)/catchat command/cat; cat "says" something based on mood (mrow,purrrrr,:(). Reuses the exact slash-command plumbing from/petname#232.chat/state.rs,cat/state.rsWhat I'm asking:
No need for a long reply — even a "2, 4 only please" or "all closed, focus elsewhere" is plenty. Happy to wait until you've got a moment.