Skip to content

v0.7.0 — source-mass sizing, wide creatures, reliable drag

Choose a tag to compare

@NovaRagnarok NovaRagnarok released this 15 May 20:00
· 97 commits to main since this release

Highlights

  • 📐 Creature size now reflects source-file mass, not git activity. Mass = lines of code + file count, with commit count kept only as a faint 0.08 tiebreaker. Vitality signals (recent commits, ahead/behind, dirty) are dropped from the size formula — they belong to mood/confidence, not size. Files larger than 1 MB are estimated as bytes/40 so an accidentally-committed dump can't make the phase crawl. Markdown counts toward primaryLanguage detection but not toward mass, so a docs-heavy repo reports as "Markdown" without inflating its creature.
  • 🪜 Rank-based cohort scaling. The smallest repo in your garden lands at normalised 0, the largest at 1, and everyone in between spreads evenly regardless of how raw mass values bunch. The old value-relative formula crammed all small repos near 0 whenever a few large outliers stretched the range. Re-audited on a 32-repo tree: area ratio bumped from 4.25x to 5.67x, with mid-rank repos correctly growing because rank places them above the small cluster.
  • 📏 Size ceiling raised so the top of the cohort reads as chunky. maxArea 130 → 180, charW clamp 18 → 20, charH clamp 9 → 11. The biggest creatures now spread across 17x10 / 18x10 / 20x9 instead of all crowding at 17x8; small and mid creatures barely move thanks to the sqrt area→dim path.
  • 🧵 Cohort threaded into focus popup and workbench sprite. Pre-fix, the same creature was a different size in the garden vs. the focus popup vs. the workbench because the popup/workbench fell through to the absolute-only sizing path. CreatureSprite / ReadyShell / WorkbenchScreen now all accept and use the cohort.
  • 🐎 Wider-than-tall aspect bucket. A new 4th aspect bucket at cell aspect 3.2–4.4 (visual 1.6–2.2) carves 15% of rolls into genuinely horizontal silhouettes — sausage cats, not square cats with a slight tilt. The body generator and fill-bias were retuned for wide grids so a 14x3 bucket paints a wide body instead of a tall body squashed into 4–6 centre cells. Square / portrait creatures look identical to before.

Fixes

  • 🖱️ Creature drag commits reliably on release. Two bugs combined to make click-and-drag feel intermittent: the release path threw away the squishy preview when no drag step ever resolved strict (e.g. dragging onto a packed neighbour), and a missed release event (cursor left the terminal) plus a fresh press would clear the drag without committing. Release now falls back through strict@release → last strict-clean step → squishy@release → last squishy step, and a press while a drag is still live commits the prior drag's recoverable state first.
  • 🐛 Density no longer silently reshapes creatures. Density now only affects pagination (how many creatures fit per page) and shelf-row spacing — never an individual creature's size or shape. When clipping to slot bounds is genuinely needed, the clip is uniform-scale so horizontal creatures stay horizontal instead of collapsing into near-squares.

Internal

  • Scan cache schema bumps 1 → 2 to drop pre-source-mass entries. Old cache entries without sourceLines/fileCount would otherwise size every cached repo by its commit count until each happened to get re-scanned. One slow scan after upgrade.
  • Test count: 443 → 445.

See CHANGELOG.md for the full notes.


```sh
npm install -g @outsideheaven/repogarden
```