Skip to content

feat(maps): find and track elite skills on both maps - #430

Merged
Mat4m0 merged 2 commits into
feat/elite-capture-datafrom
feat/elite-skill-maps
Sep 12, 2026
Merged

feat(maps): find and track elite skills on both maps#430
Mat4m0 merged 2 commits into
feat/elite-capture-datafrom
feat/elite-skill-maps

Conversation

@Mat4m0

@Mat4m0 Mat4m0 commented Sep 11, 2026

Copy link
Copy Markdown
Owner

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 passed on 30208d00, 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 added this pull request to stack #432 September 11, 2026 06:44
@Mat4m0 Mat4m0 changed the title feat/elite skill maps feat(maps): find and track elite skills on both maps Sep 11, 2026
@Mat4m0
Mat4m0 force-pushed the feat/elite-skill-maps branch from 185c190 to 30208d0 Compare September 12, 2026 08:50
@Mat4m0
Mat4m0 merged commit 2938c0d into main Sep 12, 2026
11 checks passed
@Mat4m0
Mat4m0 deleted the feat/elite-skill-maps 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

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

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 #436, which fixes the dependency audit blocker from
the earlier runs.

- [Application
verification](https://github.com/Mat4m0/gwonmac/actions/runs/34684312052)
passed on `496b27c2`, 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