Skip to content

Add Patchnotes + Owned weapons team variations - #39

Closed
woopxwoop wants to merge 10 commits into
mainfrom
Investments
Closed

Add Patchnotes + Owned weapons team variations#39
woopxwoop wants to merge 10 commits into
mainfrom
Investments

Conversation

@woopxwoop

@woopxwoop woopxwoop commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features

    • Added Patch Notes pages with searchable-style listings, detailed entries, SEO metadata, and an automatic notification for unseen updates.
    • Added owned weapon alternatives to team pages with clear cost labeling and comparison details.
    • Added reusable character investment build cards for team configurations.
    • Improved upgrade guidance with configurable impact tiers, guide/simulation fallbacks, and reaction details.
  • Bug Fixes

    • Improved loading states while character data hydrates.
    • Enhanced roster sync errors with more informative messages.
    • Refined tooltips for better readability on smaller screens.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 24f41c33-b3b9-4983-910b-084e3d51fe71

📥 Commits

Reviewing files that changed from the base of the PR and between 069f229 and 9296e15.

⛔ Files ignored due to path filters (5)
  • .dockerignore is excluded by none and included by none
  • .github/workflows/patch-notes.yml is excluded by none and included by none
  • package.json is excluded by none and included by none
  • patch-notes/2026-08-10-roster-hotfix-and-patch-notes.md is excluded by none and included by none
  • patch-notes/README.md is excluded by none and included by none
📒 Files selected for processing (35)
  • src/lib/character-builds.test.ts
  • src/lib/character-builds.ts
  • src/lib/investment-build-card.ts
  • src/lib/investment-teams.test.ts
  • src/lib/investment-teams.ts
  • src/lib/patch-notes-catalog.ts
  • src/lib/patch-notes-seen.test.ts
  • src/lib/patch-notes-seen.ts
  • src/lib/patch-notes.test.ts
  • src/lib/patch-notes.ts
  • src/lib/site.ts
  • src/lib/types/investment.ts
  • src/lib/ui/NavBar.svelte
  • src/lib/ui/components/CostPopover.svelte
  • src/lib/ui/components/HoverTooltip.svelte
  • src/lib/ui/components/InvestmentBuildCard.svelte
  • src/lib/ui/components/PatchNotesPopup.svelte
  • src/lib/upgrade-priority.test.ts
  • src/lib/upgrade-priority.ts
  • src/routes/+layout.server.ts
  • src/routes/+layout.svelte
  • src/routes/+layout.ts
  • src/routes/abyss/+page.svelte
  • src/routes/characters/+page.svelte
  • src/routes/characters/[slug]/+page.svelte
  • src/routes/dev/ui/+page.svelte
  • src/routes/patch-notes/+page.server.ts
  • src/routes/patch-notes/+page.svelte
  • src/routes/patch-notes/[slug]/+page.server.ts
  • src/routes/patch-notes/[slug]/+page.svelte
  • src/routes/settings/panels/RosterPanel.svelte
  • src/routes/stygian/+page.svelte
  • src/routes/teams/[slug]/+page.svelte
  • src/routes/teams/configs/[slug]/+page.server.ts
  • src/routes/teams/configs/[slug]/+page.svelte

📝 Walkthrough

Walkthrough

This PR expands investment schemas and character-priority helpers, separates owned team simulations, adds reusable build-card rendering, introduces patch-note routes and acknowledgement UI, and updates tooltip and hydration loading behavior.

Changes

Investment features

Layer / File(s) Summary
Investment contracts and impact resolution
src/lib/types/investment.ts, src/lib/upgrade-priority.ts, src/lib/upgrade-priority.test.ts
Investment data now supports owned simulations, impact tiers, guide priorities, reaction profiles, and weapon strength. Stamped tiers override ladder classification.
Character priority sections and ranking
src/lib/character-builds.ts, src/lib/character-builds.test.ts
Weapon tie-breakers, scale-aware impact rows, guide/simulation selection, and reaction formatting are implemented and tested.
Owned simulation variants
src/lib/investment-teams.ts, src/lib/investment-teams.test.ts, src/routes/teams/[slug]/+page.svelte, src/lib/ui/components/CostPopover.svelte
Owned simulations are excluded from baseline cost calculations and shown as separate weapon alternatives.
Reusable investment build card
src/lib/investment-build-card.ts, src/lib/ui/components/InvestmentBuildCard.svelte, src/routes/teams/configs/[slug]/+page.server.ts, src/routes/teams/configs/[slug]/+page.svelte
Build rendering is centralized in InvestmentBuildCard, with shared kit-icon mapping and responsive layouts.

Patch notes

Layer / File(s) Summary
Patch-note parsing and catalog
src/lib/patch-notes.ts, src/lib/patch-notes-catalog.ts, src/lib/patch-notes.test.ts
Dated Markdown files are validated, parsed, rendered to escaped HTML, sorted, cached, and exposed by slug.
Patch-note routes and navigation
src/routes/patch-notes/..., src/routes/+layout.server.ts, src/routes/+layout.ts, src/routes/+layout.svelte, src/lib/ui/NavBar.svelte, src/lib/site.ts
List and detail routes expose patch notes with SEO metadata. Layout and navigation expose the latest note and patch-notes links.
Patch-note acknowledgement popup
src/lib/patch-notes-seen.ts, src/lib/patch-notes-seen.test.ts, src/lib/ui/components/PatchNotesPopup.svelte
The popup compares the latest slug with localStorage, supports dismissal and focus handling, and suppresses itself on patch-note routes.

UI behavior updates

Layer / File(s) Summary
Non-interactive tooltip truncation
src/lib/ui/components/HoverTooltip.svelte
Tooltips use capped overlays, truncation detection, fade treatment, and consolidated trigger handling.
Hydration-aware loading states
src/routes/abyss/+page.svelte, src/routes/characters/+page.svelte, src/routes/stygian/+page.svelte, src/routes/settings/panels/RosterPanel.svelte
Pages wait for character hydration before rendering dependent content. Roster status messages include clearer loading and sync-error text.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant LayoutServer
  participant PatchNoteCatalog
  participant PatchNotesPopup
  participant LocalStorage
  Browser->>LayoutServer: request application layout
  LayoutServer->>PatchNoteCatalog: select latest patch note
  PatchNoteCatalog-->>LayoutServer: return latest note metadata
  LayoutServer-->>Browser: provide latestPatchNote
  Browser->>PatchNotesPopup: render latest note
  PatchNotesPopup->>LocalStorage: read seen slug
  LocalStorage-->>PatchNotesPopup: return stored slug
  PatchNotesPopup->>LocalStorage: persist acknowledged slug
Loading

Possibly related PRs

Poem

A rabbit hops through tiers so bright,
With owned builds sorted just right.
Patch notes bloom, tooltips glide,
New cards show each build inside.
“Squeak!” says the guide, “priorities align!”

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch Investments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant