65b423c77d
test / test (push) Successful in 15s
The pixel-measured wrap passed the headless suite (which stubs text_width) but failed three assertions under the real engine in the smoke harness: - "Looking for:"/"Offers:" hints and the two-tone combo rows render at scale 0.3 but the width budget -- and every other row -- is measured at 0.32, so a row that fit at 0.3 slipped over the budget once measured at 0.32 and clipped. Render those rows small as before, but bound their wrap at the 0.32 reference: a 0.3 row is narrower still, so it can only wrap early, never clip. - wrap_measured word-split multi-word joker names, so a fusion's result read as "Fusion ready: Diamond" / "Bard ($12)" -- two jokers, not one. atomic() fuses a name or multi-word label into one unbreakable wrap token (spaces -> a \1 sentinel, restored for measurement and output); applied to every joker name and tag label that flows through a wrapped row. Smoke: 20/20 against the real Card:generate_UIBox_ability_table pipeline and the real Fusion Jokers recipe table. Headless: 947 pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
72 lines
3.5 KiB
Markdown
72 lines
3.5 KiB
Markdown
# Changelog
|
||
|
||
## Unreleased
|
||
|
||
### Changed
|
||
- The synergy catalog now opens from the **pause menu** (Escape > Combos, under
|
||
Settings) instead of a button in the run HUD, which keeps the play screen
|
||
clear. Same overlay, same tabs; Mods > Combo Advisor is unchanged.
|
||
|
||
### Fixed
|
||
- The Combo Advisor hover tooltip no longer runs off the edge of the screen:
|
||
every advice row is measured against the real font and wrapped to the card's
|
||
gutter, and a wrapped line never splits a joker name ("Diamond Bard" stays
|
||
whole rather than breaking across two rows).
|
||
|
||
### Fusion Jokers integration
|
||
- When [Fusion Jokers](https://github.com/wingedcatgirl/Fusion-Jokers) is
|
||
installed, hovering any joker that is a fusion component names the fusion it
|
||
feeds, the discounted cost, and what is still missing ("Fuses into Diamond
|
||
Bard ($12) — still needs Rough Gem"). In the shop it answers the buy-side
|
||
question instead: "Buy to fuse into Diamond Bard ($12 to fuse)".
|
||
- Fusing **consumes** its components, so a ready fusion also reports the combos
|
||
that die with them ("Fusing drops combos with: Smeared"). No other mod can
|
||
answer that — it is the reason the integration exists rather than just
|
||
restating the recipe.
|
||
- Costs mirror Fusion Jokers' own discount arithmetic, and components are
|
||
counted by quantity, so a recipe needing 3× Joker asks for three.
|
||
- Not installed means silence, like every other integration.
|
||
|
||
## 1.1.0 — 2026-07-15
|
||
|
||
### New advice surfaces
|
||
- **Consumable advice**: shop Planet/Tarot/Spectral cards and their booster
|
||
packs name the owned jokers they feed; Standard Packs warn when they would
|
||
shrink Erosion's Mult. Silent unless an owned joker cares.
|
||
- **Sticker cautions**, per card instance: perishable on a scaling joker
|
||
("gains die in 5 rounds") and rental on a money joker ("rent may eat its
|
||
payout").
|
||
|
||
### Database fixes (full audit against the real game code)
|
||
- DNA is no longer called a Pair enabler — its trigger (first hand of round,
|
||
exactly 1 card) makes that advice meaningless. Its trips/quads enabling and
|
||
Hologram pairing stay.
|
||
- Removed the Vampire + Marble clash: Marble feeds Vampire (a Stone card is
|
||
fuel, same shape as the Midas Mask pair). Stone-build harm remains covered
|
||
by Vampire + Stone Joker.
|
||
- New wants: Delayed Gratification (extra discards raise its payout), The
|
||
Idol (Smeared doubles its eligible cards), 8 Ball (retriggers re-roll it),
|
||
Card Sharp (extra hands make replays routine), Perkeo (Spectral and Planet
|
||
supply are duplication targets, not just Tarot).
|
||
- New famous pair: Burglar + Card Sharp. New cautions: Troubadour (plays one
|
||
fewer hand each round) and Merry Andy (costs 1 hand size).
|
||
- Suit tooltip phrasing no longer claims a payoff joker "turns cards into"
|
||
its suit.
|
||
|
||
### Tooling
|
||
- `JOKER_EFFECTS.md`: all 150 vanilla joker effects, keyed by real center
|
||
keys, for auditing tags without paraphrasing from memory.
|
||
- The audit now records verdicts for two-member ("fragile") themes and fails
|
||
on an unreviewed or stale one, same as silent jokers.
|
||
- CI workflow (Gitea Actions): syntax check, the suite on Lua 5.4 and LuaJIT,
|
||
audit freshness.
|
||
|
||
## 1.0.0
|
||
|
||
Initial release: synergy scoring and shop recommendations, hover tooltips
|
||
with reasons, famous pairs, clash/caution warnings, sell advisor, copy
|
||
advisor (Blueprint/Brainstorm chains), boss-blind cautions, build gaps,
|
||
combo/theme discovery with catalog tabs and progress, post-run recap,
|
||
learning mode, JokerDisplay and Too Many Jokers integrations, public API
|
||
for other mods (`JCA.register`, `register_pair`, `register_clash`).
|