Skip to content

feat(maps): simplify and remember elite capture choices - #434

Merged
Mat4m0 merged 2 commits into
feat/skill-detail-iconsfrom
feat/elite-map-preferences
Sep 12, 2026
Merged

feat(maps): simplify and remember elite capture choices#434
Mat4m0 merged 2 commits into
feat/skill-detail-iconsfrom
feat/elite-map-preferences

Conversation

@Mat4m0

@Mat4m0 Mat4m0 commented Sep 11, 2026

Copy link
Copy Markdown
Owner

What changed

Find and save elite skills without losing the map or opening a separate details screen. Ten profession icons toggle classes individually; Select all, Deselect all, Current class (primary and secondary), and Hide already learned provide quick filtering. A star saves a matching skill directly from its result row.

Why

The previous panel hid too much context, repeated nearby icons, and could let filters or results consume all available space. Details now expand within the list. The panel starts at roughly 80% screen height, resizes from its bottom grip, reserves visible skill rows, and collapses to one small control row.

Invariant

  • Search, professions, region, saved/learned filters, explicit skill focus, map visibility, panel expansion, and height belong to the existing per-character capture plan. Current class follows secondary-profession changes; manual selections and an empty selection stay fixed.
  • Ordered saves preserve rapid edits and cannot replace another character's state. Existing plans keep their saved skills and boss; an absent height uses the default. Learned status remains a live observation.
  • Inspection and quick saving do not filter markers or select a boss. Show only this skill and Set target remain explicit actions. Both maps share filters and retain independent visibility switches.
  • Touching copies of the same skill in the same map area share one icon and list all possible bosses. Different skills and distant locations remain separate. The active boss retains its source position.
  • Map icons display the inner artwork with a thin edge; client assets remain unchanged. Hover cards support nearby skill choices, keyboard focus, reduced motion, and immediate removal on native map close.

Delivery

Final layer of stack #432, targeting feat/skill-detail-icons (#433). Merge order: #429#430#431#433#434. Recommend Beta consideration for persisted preferences and the full native Maps integration before release; no release is requested here.

Verification

  • pnpm check passed after rebasing onto main c04c7736.

  • Focused tests cover restart, character isolation, secondary professions, empty selections, queued saves, quick saving, inline details, resizing/cancellation, shared-spawn deduplication, and native preview removal.

  • Real browser exploration used 301 fixture skills, both themes, small windows, dragging, keyboard resizing, independent scrolling, and all four Sorrow's Furnace boss names. The production app was built and opened using the existing game cache; Matthias approved the in-game result.

  • Main now includes fix(deps): patch website dependencies blocking verification #436, which fixes the dependency audit blocker from the earlier runs.

  • Application verification passed on 496b27c2, including runtime and packaged-app checks.

  • I kept this pull request focused.

  • I ran the relevant checks.

  • I did not add game binaries, credentials, diagnostics, or private traffic.

  • I updated documentation when behavior or an invariant changed.

@Mat4m0
Mat4m0 force-pushed the feat/elite-map-preferences branch from 841b083 to 496b27c Compare September 12, 2026 08:50
@Mat4m0 Mat4m0 changed the title feat(maps): remember elite filters for each character feat(maps): simplify and remember elite capture choices Sep 12, 2026
@Mat4m0
Mat4m0 merged commit 70a51d6 into main Sep 12, 2026
11 checks passed
@Mat4m0
Mat4m0 deleted the feat/elite-map-preferences branch September 12, 2026 09:13
Mat4m0 added a commit that referenced this pull request Sep 12, 2026
## What changed

Add a Toolbox-derived elite capture catalogue and a capture plan for
each character. The catalogue contains 925 capture entries for 302
skills; a plan stores saved skills and one selected boss.

## Why

The map planner needs one reproducible location source and one owner for
saved capture choices. Missing coordinates remain notes-only locations.

## Invariant

Named actions are validated and written atomically in order. Accounts
and characters stay separate. Learned status remains a live observation.
The importer pins the reviewed upstream sources and preserves their
attribution.

## Delivery

First layer of stack #432, targeting `main`. Merge before #430#431#433#434. Recommend Beta consideration for the complete feature
because it adds persisted player choices. This layer adds no map UI or
native observation.

## Verification

- Catalogue identity, tracking invariants, concurrent writes, character
isolation, corrupt-file recovery, and preload transport are covered by
executable tests.
- `pnpm check` passed on the rebased complete stack.
- Rebased onto `c04c7736`, including the website dependency audit fixes
from #436.

- [Application
verification](https://github.com/Mat4m0/gwonmac/actions/runs/34684307645)
passed on `04ce3689`, including runtime and packaged-app checks.

- [x] I kept this pull request focused.
- [x] I ran the relevant checks.
- [x] I did not add game binaries, credentials, diagnostics, or private
traffic.
- [x] I updated documentation when behavior or an invariant changed.
Mat4m0 added a commit that referenced this pull request Sep 12, 2026
## What changed

Find an elite skill, choose a boss, and see its known capture locations
on the World Map and supported Mission Map. The planner adds search,
filters, skill previews, tracking, and a capture-location entry point
from Builds.

## Why

Players can plan a capture without switching between a build inspector,
a wiki list, and the map. This layer uses individual skill markers and
explicit navigation between results and details; #434 refines that
interface into inline details and character-specific filters.

## Invariant

Boss coordinates are static capture references, never live boss
tracking. Missing coordinates do not create guessed markers. Native
projection remains within the existing certified Maps boundary;
unsupported readings hide markers. Skill descriptions and artwork come
from the installed client.

## Delivery

Second layer of stack #432, targeting `feat/elite-capture-data` (#429).
Follow with #431#433#434. Recommend Beta consideration for the
complete Maps integration before release.

## Verification

- Projection, tracking, keyboard navigation, and UI tests cover the map
planner.
- Browser exploration covered filtering, tracking, previews, and marker
navigation; Matthias exercised the real-game feature.
- `pnpm check` passed on the rebased complete stack.
- Rebased onto `c04c7736`, including the dependency audit fixes.

- [Application
verification](https://github.com/Mat4m0/gwonmac/actions/runs/34684307411)
passed on `30208d00`, including runtime and packaged-app checks.

- [x] I kept this pull request focused.
- [x] I ran the relevant checks.
- [x] I did not add game binaries, credentials, diagnostics, or private
traffic.
- [x] I updated documentation when behavior or an invariant changed.
Mat4m0 added a commit that referenced this pull request Sep 12, 2026
## What changed

Closing the World Map now removes elite skill and cartography overlays
when native closing starts. Mission Map and Compass readers also reject
frames being destroyed, and closing the Mission Map clears its skill
preview.

## Why

The native map could start fading without another projection event,
leaving overlays visible over gameplay. Read the native display flag on
every presentation read and wait for a fresh complete projection when
reopening.

## Invariant

Certify the native close routine that clears the display flag before its
fade. Refuse a changed routine or mismatched operands and increment the
transform ABI. The downloaded official client remains unchanged;
optional Maps certification fails closed. This withdraws overlays
immediately rather than synthesizing an opacity fade.

## Delivery

Third layer of stack #432, targeting `feat/elite-skill-maps` (#430).
Follow with #433#434. Recommend Beta consideration because this
changes native certification and shared Maps visibility.

## Verification

- Exact-client transform and display-state mutation/refusal checks
passed against the retained official artifact.
- Executable WASM tests cover closing without another projection event,
fresh geometry on reopening, and frame destruction before removal.
- Matthias confirmed the closing fix works in-game.
- `pnpm check` passed on the rebased complete stack.

- [Application
verification](https://github.com/Mat4m0/gwonmac/actions/runs/34684308655)
passed on `dcb8c9d3`, including runtime and packaged-app checks.

- [x] I kept this pull request focused.
- [x] I ran the relevant checks.
- [x] I did not add game binaries, credentials, diagnostics, or private
traffic.
- [x] I updated documentation when behavior or an invariant changed.
Mat4m0 added a commit that referenced this pull request Sep 12, 2026
## What changed

Builds and Elite Skills show familiar energy, adrenaline, activation,
recharge, sacrifice, and overcast icons in one compact cost row. Hover
labels and accessible names preserve the meaning of each value.

## Why

Large text blocks made skill costs and timings harder to scan. Both
interfaces reuse the same skill detail component and locally bundled
Guild Wars Wiki Tango icons, with source attribution and the complete
GFDL notice in the packaged notices.

## Invariant

Fractional timings, health percentages, zero values, unavailable
descriptions, and player-only restrictions keep their meaning. Skill
artwork and descriptions still come from the installed client; this adds
no remote asset request.

## Delivery

Fourth layer of stack #432, targeting `fix/map-overlay-close` (#431).
Follow with #434. Include in the feature Developer Build; no separate
app release is needed for this presentation layer.

## Verification

- Component tests cover icon labels and numeric values; the catalogue
browser test covers accessible recharge information.
- Browser exploration covered both visual themes.
- `pnpm check` passed on the rebased complete stack.

- [Application
verification](https://github.com/Mat4m0/gwonmac/actions/runs/34684309363)
passed on `485f2416`, including runtime and packaged-app checks.

- [x] I kept this pull request focused.
- [x] I ran the relevant checks.
- [x] I did not add game binaries, credentials, diagnostics, or private
traffic.
- [x] I updated documentation when behavior or an invariant changed.
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