fix: debuff corruption + persist playTime #64

Closed
Timmy wants to merge 21 commits from feat/better-rate-display into main
Owner

Bug fix: Debuff corruption bug

updateRates() was applying debuffs directly to global boost fields (G.codeBoost etc.), permanently degrading them on every call. Buying 10 buildings with an active debuff stacked the penalty 10x.

Fix: debuffs now apply to rates only via a switch statement, never mutating boost state. Also persists playTime across sessions.

**Bug fix: Debuff corruption bug** updateRates() was applying debuffs directly to global boost fields (G.codeBoost etc.), permanently degrading them on every call. Buying 10 buildings with an active debuff stacked the penalty 10x. Fix: debuffs now apply to rates only via a switch statement, never mutating boost state. Also persists playTime across sessions.
Timmy added 4 commits 2026-04-11 04:01:15 +00:00
wip: show click power on WRITE CODE button
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 3s
Smoke Test / smoke (pull_request) Failing after 4s
7cd47d1159
wip: add ETA estimates to phase progress bar and milestone chips
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
bea958f723
Timmy added 1 commit 2026-04-11 05:25:26 +00:00
wip: fix debuff corruption bug — debuffs no longer degrade boost multipliers on each updateRates() call; persist playTime across sessions
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 3s
Smoke Test / smoke (pull_request) Failing after 3s
f0b894a2b6
Timmy changed title from feat: ETA estimates on phase progress and milestone chips to fix: debuff corruption + persist playTime 2026-04-11 05:26:01 +00:00
Author
Owner

🤖 Auto-Merge Blocked — Merge Conflict

This PR (feat/better-rate-displaymain) has merge conflicts. The mergeable flag is false. Please rebase or resolve conflicts manually.

Note: The head_branch is feat/better-rate-display which is the same as PR #62's branch — these PRs may be stacked or conflicting with each other.

🤖 **Auto-Merge Blocked — Merge Conflict** This PR (`feat/better-rate-display` → `main`) has merge conflicts. The `mergeable` flag is `false`. Please rebase or resolve conflicts manually. Note: The `head_branch` is `feat/better-rate-display` which is the same as PR #62's branch — these PRs may be stacked or conflicting with each other.
Owner

🚫 Blocked: Merge conflicts — This branch (feat/better-rate-display) has conflicts with main. Rebase or resolve conflicts before merging.

🚫 **Blocked: Merge conflicts** — This branch (`feat/better-rate-display`) has conflicts with `main`. Rebase or resolve conflicts before merging.
codex-agent was assigned by Rockachopa 2026-04-11 09:45:08 +00:00
Timmy added 2 commits 2026-04-11 18:33:38 +00:00
wip: add golden screen-edge glow during Code Sprint for clear visual feedback
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
17f2ac62f5
Author
Owner

Sprint improvements:

  • Click particle burst: glowing dots scatter outward from WRITE CODE on each click, scaling with combo multiplier (gold particles at high combo)
  • Sprint screen glow: golden inset box-shadow during Code Sprint makes the boost unmistakable, fades out on cooldown
Sprint improvements: - **Click particle burst**: glowing dots scatter outward from WRITE CODE on each click, scaling with combo multiplier (gold particles at high combo) - **Sprint screen glow**: golden inset box-shadow during Code Sprint makes the boost unmistakable, fades out on cooldown
Author
Owner

PR #67 fixes both issues:

  1. community_drama debuff now modifies G.codeRate instead of G.codeBoost
  2. playTime is now incremented each tick and persisted in save/load
PR #67 fixes both issues: 1. `community_drama` debuff now modifies `G.codeRate` instead of `G.codeBoost` 2. `playTime` is now incremented each tick and persisted in save/load
Timmy added 1 commit 2026-04-11 19:12:50 +00:00
wip: add keyboard shortcuts 5-9 to buy research projects by position
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
0091f1f235
Author
Owner

Added keyboard shortcuts 5-9 for buying research projects by position. Mirrors the existing Alt+1-9 building shortcuts — press 5 to buy the first available project, 6 for the second, etc. Help overlay updated. Project buttons now show slot numbers.

Added keyboard shortcuts 5-9 for buying research projects by position. Mirrors the existing Alt+1-9 building shortcuts — press 5 to buy the first available project, 6 for the second, etc. Help overlay updated. Project buttons now show slot numbers.
Timmy added 1 commit 2026-04-11 19:38:52 +00:00
wip: add time-to-afford ETA on buildings and projects
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 3s
Smoke Test / smoke (pull_request) Failing after 4s
abe96a5abd
Author
Owner

🤖 Timmy PR Review Bot

This PR has merge conflicts with main. Please rebase or resolve conflicts.

🤖 **Timmy PR Review Bot** This PR has merge conflicts with `main`. Please rebase or resolve conflicts.
Timmy added 2 commits 2026-04-11 20:35:25 +00:00
wip: spacebar hold support + help text update for hold-to-click
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
feccc3e9bc
Timmy added 1 commit 2026-04-11 21:18:51 +00:00
wip: building tooltip shows total production contribution %
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 4s
b6aa172a25
Author
Owner

🔨 New commit: Building tooltips now show total production contribution and percentage of total income per resource. Hover any building to see e.g. 1250/s code (35% of code).

🔨 **New commit:** Building tooltips now show total production contribution and percentage of total income per resource. Hover any building to see e.g. `1250/s code (35% of code)`.
Author
Owner

This PR has the same title as #67 ("fix: debuff corruption + persist playTime") which has been merged. This PR likely contains an older version of the same fix and now has merge conflicts. Consider closing this PR.

This PR has the same title as #67 ("fix: debuff corruption + persist playTime") which has been merged. This PR likely contains an older version of the same fix and now has merge conflicts. Consider closing this PR.
Timmy added 1 commit 2026-04-11 22:26:09 +00:00
wip: color resource rates red when draining, green when gaining, dim at zero
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 4s
2e54af511f
Timmy added 2 commits 2026-04-11 22:52:19 +00:00
wip: add harmony capacity bar with inverted coloring (low=bad)
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 3s
Smoke Test / smoke (pull_request) Failing after 4s
aa48e5009b
Author
Owner

Blocked: Merge conflict. This PR has mergeable: false — it conflicts with the current main branch. The PR needs to be rebased or have conflicts resolved before it can be merged.

**Blocked: Merge conflict.** This PR has `mergeable: false` — it conflicts with the current `main` branch. The PR needs to be rebased or have conflicts resolved before it can be merged.
Timmy added 1 commit 2026-04-12 01:03:31 +00:00
wip: add drift warning system - toast alerts at 25/50/75/90, danger bar, color-coded stat
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
5ae31ee89e
Author
Owner

⚠️ Blocked: Merge conflicts detected.

This PR (feat/better-rate-displaymain) has merge conflicts that must be resolved before merging. The branch has diverged from main — likely because other PRs touching the same files have been merged since this branch was created.

Action needed: Rebase or merge main into feat/better-rate-display, resolve conflicts, and push the update.

⚠️ **Blocked: Merge conflicts detected.** This PR (`feat/better-rate-display` → `main`) has merge conflicts that must be resolved before merging. The branch has diverged from main — likely because other PRs touching the same files have been merged since this branch was created. **Action needed:** Rebase or merge `main` into `feat/better-rate-display`, resolve conflicts, and push the update.
Author
Owner

🚫 Merge blocked by Timmy PR review cron job.

This PR has merge conflicts with the base branch. Please rebase or resolve conflicts.

Please rebase this branch onto main and resolve any conflicts.

🚫 **Merge blocked by Timmy PR review cron job.** This PR has merge conflicts with the base branch. Please rebase or resolve conflicts. Please rebase this branch onto `main` and resolve any conflicts.
Timmy added 1 commit 2026-04-12 06:03:55 +00:00
wip: color-coded production breakdown - each resource gets distinct label and bar color
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 4s
2deeda0986
Author
Owner

⚠️ Blocked: merge conflict

This PR has conflicts with main. Both game.js and index.html have been modified on main since this branch was created. PR #70 (which just merged) also touched index.html.

To fix: Rebase feat/better-rate-display onto the latest main and resolve conflicts, then re-push. The debuff fix itself looks solid — just needs conflict resolution.

⚠️ **Blocked: merge conflict** This PR has conflicts with `main`. Both `game.js` and `index.html` have been modified on `main` since this branch was created. PR #70 (which just merged) also touched `index.html`. **To fix:** Rebase `feat/better-rate-display` onto the latest `main` and resolve conflicts, then re-push. The debuff fix itself looks solid — just needs conflict resolution.
Owner

PR Review — Blocked

Status: Cannot merge

Issues:

  1. Merge conflicts — Branch feat/better-rate-display has conflicts with main that must be resolved manually
  2. CI failing — Smoke Test and Accessibility Checks are failing
  3. Large scope — 17 commits touching game.js (+333/-31) and index.html (+11/-4). The debuff corruption fix is bundled with many feature additions (color-coded rates, drift warnings, capacity bars, keyboard shortcuts, particle effects, etc.)

Recommendation: Resolve merge conflicts, ensure CI passes, and consider splitting this into smaller focused PRs — the debuff corruption fix should not be blocked by UI feature work.

## PR Review — Blocked **Status:** ❌ Cannot merge **Issues:** 1. **Merge conflicts** — Branch `feat/better-rate-display` has conflicts with `main` that must be resolved manually 2. **CI failing** — Smoke Test and Accessibility Checks are failing 3. **Large scope** — 17 commits touching `game.js` (+333/-31) and `index.html` (+11/-4). The debuff corruption fix is bundled with many feature additions (color-coded rates, drift warnings, capacity bars, keyboard shortcuts, particle effects, etc.) **Recommendation:** Resolve merge conflicts, ensure CI passes, and consider splitting this into smaller focused PRs — the debuff corruption fix should not be blocked by UI feature work.
Timmy added 1 commit 2026-04-12 07:16:18 +00:00
wip: add keyboard shortcuts for debuff fix (R) and alignment accept/refuse (Y/N)
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
cd9ac2f88a
Author
Owner

PR Triage — Blocked: Merge Conflict

This PR (feat/better-rate-displaymain) reports mergeable: false. The branch is behind current main and has conflicts that need manual resolution.

Action needed:

  1. Rebase or merge main into feat/better-rate-display
  2. Resolve any conflicts
  3. Push the updated branch — PR will re-check mergeability

Once the branch is up to date and conflict-free, this PR can be merged.

**PR Triage — Blocked: Merge Conflict** This PR (`feat/better-rate-display` → `main`) reports `mergeable: false`. The branch is behind current `main` and has conflicts that need manual resolution. **Action needed:** 1. Rebase or merge `main` into `feat/better-rate-display` 2. Resolve any conflicts 3. Push the updated branch — PR will re-check mergeability Once the branch is up to date and conflict-free, this PR can be merged.
Author
Owner

Automated Review — PR not mergeable

This PR shows mergeable: false and cannot be merged via API. The branch (feat/better-rate-display) is 31 commits behind main. While the diff itself has no explicit conflict markers, the underlying code has likely diverged enough that a clean merge isn't possible.

What changed: The PR adds getTimeToAfford, fmtETA, driftWarningLevel, debuff corruption fix (snapshot boosts before debuffs modify them), keyboard shortcuts, and UI polish. These changes are NOT yet in main.

Action needed: Update the branch by rebasing onto or merging latest main:

git checkout feat/better-rate-display
git fetch origin
git rebase origin/main
# Resolve any conflicts, then force-push
git push --force-with-lease

After rebasing, the PR should become mergeable. Alternatively, close this PR and open a fresh one from an updated branch.

**Automated Review — PR not mergeable** This PR shows `mergeable: false` and cannot be merged via API. The branch (`feat/better-rate-display`) is 31 commits behind `main`. While the diff itself has no explicit conflict markers, the underlying code has likely diverged enough that a clean merge isn't possible. **What changed:** The PR adds `getTimeToAfford`, `fmtETA`, `driftWarningLevel`, debuff corruption fix (snapshot boosts before debuffs modify them), keyboard shortcuts, and UI polish. These changes are NOT yet in `main`. **Action needed:** Update the branch by rebasing onto or merging latest `main`: ```bash git checkout feat/better-rate-display git fetch origin git rebase origin/main # Resolve any conflicts, then force-push git push --force-with-lease ``` After rebasing, the PR should become mergeable. Alternatively, close this PR and open a fresh one from an updated branch.
Timmy added 1 commit 2026-04-12 10:02:35 +00:00
fix: Bilbo randomness flickering - move random rolls from updateRates() to tick()
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
760d7b8542
updateRates() is called from buyBuilding, buyProject, resolveEvent, sprint
activation, and other non-tick contexts. Having Math.random() inside it caused
the creativity rate to flicker unpredictably whenever ANY of those functions ran.

Fix: roll Bilbo burst/vanish once per tick, store as flags, read flags in
updateRates(). Deterministic rate calculation, consistent randomness.
Timmy added 2 commits 2026-04-12 10:06:04 +00:00
- Auto-save on visibilitychange (tab switch), window blur, and beforeunload
- touch-action: manipulation on all buttons to prevent double-tap zoom on mobile
- From EPIC #57 task 6: mobile polish items
wip: pulse animation on resource value gains
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s
5655aa0aca
Resources now scale up + glow briefly when they increase meaningfully
(>0.1% and >0.5 absolute). Fires on clicks, building purchases, project
effects. Does not fire on tiny passive tick increments. From EPIC #57
task 1: animated resource counters.
Member

🤖 Timmy PR Review — Status: Blocked

CI: Failing

  • Smoke Test / smoke — Failing after 3s
  • Accessibility Checks / a11y-audit — Failing after 2s

Merge: Conflicts with base branch. Cannot auto-merge.

Changes (414 additions, 46 deletions):

  • getTimeToAfford() and fmtETA() utility functions — useful for rate display
  • Critical fix: Snapshots boost multipliers before applying debuffs, preventing permanent degradation. This is a significant bugfix.
  • Drift warning threshold tracking
  • Better rate display in building tooltips

Action needed: Resolve merge conflicts, fix CI, then this can merge. The debuff corruption fix alone is worth prioritizing.

**🤖 Timmy PR Review — Status: Blocked** **CI:** ❌ Failing - Smoke Test / smoke — Failing after 3s - Accessibility Checks / a11y-audit — Failing after 2s **Merge:** ❌ Conflicts with base branch. Cannot auto-merge. **Changes (414 additions, 46 deletions):** - `getTimeToAfford()` and `fmtETA()` utility functions — useful for rate display - **Critical fix:** Snapshots boost multipliers before applying debuffs, preventing permanent degradation. This is a significant bugfix. - Drift warning threshold tracking - Better rate display in building tooltips **Action needed:** Resolve merge conflicts, fix CI, then this can merge. The debuff corruption fix alone is worth prioritizing.
Author
Owner

Closing — branch based on old modular structure (separate js/ files) but main reverted to monolithic game.js. The debuff corruption fix is valuable but needs to be cherry-picked onto current main. Will recreate as a clean PR.

Closing — branch based on old modular structure (separate js/ files) but main reverted to monolithic game.js. The debuff corruption fix is valuable but needs to be cherry-picked onto current main. Will recreate as a clean PR.
Timmy closed this pull request 2026-04-12 12:09:00 +00:00
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Failing after 2s
Smoke Test / smoke (pull_request) Failing after 3s

Pull request closed

Sign in to join this conversation.