Skip to content

Commit 88e4fec

Browse files
authored
feat(turd): show what each choice changes + recipe-comparison diffs (#70)
* fix(db): build test databases from migrations, not schema push makeTestDb generated DDL straight from schema.ts, so a test db never recorded the drizzle migration journal. The first incremental ALTER migration then re-added a column the push had already created. Provision test dbs the way production does — apply the bundled migrations — so tests exercise the real path and incremental migrations don't collide. * feat(turd): surface what each choice changes + recipe-comparison diffs The assistant and the TURD page only knew about branches that *replace* a recipe (the turd_replacements table), so branches that unlock a brand-new recipe were invisible — the agent reported moondrop-upgrade as a single choice when it actually has three. - turdChoices tool + recipeInfo enrichment walk the tech-prerequisite graph, so the agent sees every branch: its description, the recipes it swaps (old->new) or newly unlocks, and its modules. - Import tech descriptions (new technologies.description column). - /turd page: each choice lists its concrete recipe changes with icons and descriptions instead of a bare 'N recipes' count; effect pills color-coded. - Recipe-comparison hover (reusable for Py recipe tiers): in/out diff, colored time, base per-second throughput with % change. A choice's module is applied to a swapped recipe's rate only when it runs in the affected building (skipped for building-construction recipes); productivity skips ignored-by-productivity outputs like barrels. * fix(assistant): warn when no OpenRouter key is set Sending a message with no key configured returned a 500 the UI never surfaced, so the conversation just died silently. Show an up-front banner (linking to Settings) when no key is stored or in the env, and render the request error if a send fails anyway.
1 parent a531dc7 commit 88e4fec

15 files changed

Lines changed: 2971 additions & 100 deletions

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ source](#setup) to hack on it.
3939
- **Browse the data.** A searchable catalogue of every item, fluid, and recipe in
4040
your exact mod set — used-in / produced-by, ingredients, products, machines.
4141
- **Track TURD choices.** Py's "There's Usually a Recipe Difference" tech upgrades
42-
are first-class: pick a path and every block re-solves against it.
42+
are first-class: each master shows every branch — its description, the recipes it
43+
swaps or newly unlocks, and a hover diff of what actually changes (inputs,
44+
outputs, and base throughput per second). Pick a path and every block re-solves
45+
against it.
4346
- **Plan with AI.** An assistant (via OpenRouter) drafts whole production chains
4447
and multi-block plans using tools over the recipe data, honouring what you can
4548
build _now_ vs. _after research_.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE `technologies` ADD `description` text;

0 commit comments

Comments
 (0)