75 Commits

Author SHA1 Message Date
xziino
4107779e2a Add Planner import flow (Schritt 3): export from Analysis tab
- Export button in AoE Timeline card title row (replaces bottom bar)
- Import modal with mechanic-only vs with-mitigations choice,
  new plan vs merge into existing plan
- Merge logic: match by abilityName + timestamp ±5s, keep existing assignments
- Color-coded assignment badges: blue=buff, red=debuff, gold=shield
- buffType stored in assignments for color rendering
- Modal radio button layout fix (override global input width:100%)
- Auto-switch to Planner tab after import
- window.showTab exposed from tabs.js

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 08:46:37 +02:00
Akurosia Kamo
19bd79c056 if tank is selected track also tankbuster
on login keep url params
2026-05-22 08:43:45 +02:00
xziino
ea00268227 Add Planner tab: localStorage plan CRUD and basic UI shell
Steps 1+2 of the planner roadmap: data model, create/rename/copy/delete
plans, read-only mechanic timeline, two-column layout mirroring the
analysis tab style.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 08:26:33 +02:00
xziino
9ff8139c81 Update CLAUDE.md: Planer-Tab concept and implementation roadmap
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 08:11:44 +02:00
Akurosia Kamo
139ea8d3ac fix comaprefight dropdowns to only contain the selected fight
add in fflogs button
2026-05-21 17:31:06 +02:00
xziino
5df03a3915 Scale up UI: larger fonts, icons and spacing across all CSS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 17:08:17 +02:00
5f0bdb3504 Merge pull request 'akus_schabanack' (#1) from akus_schabanack into main
Reviewed-on: #1
2026-05-21 16:23:37 +02:00
xziino
5a7dd6e2c5 Remove AGENTS.md and screenshot assets
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 16:21:39 +02:00
Akurosia Kamo
1753b1d2ee add translation of element, share page due to url params and default to analyse page 2026-05-21 16:05:05 +02:00
Akurosia Kamo
85d83e79a0 First run of codex 2026-05-21 15:54:25 +02:00
xziino
d6dedd1a2e Add Cooldown Planner concept and roadmap to CLAUDE.md
Documents data model, import flow with merge logic, feature roadmap,
job-to-ability mapping, recast times, and technical decisions for the
upcoming third tab (Planer).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:26:49 +02:00
xziino
6897db0fe6 Replace bar chart emoji with scales icon on Analyse tab
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:09:03 +02:00
xziino
6363c123b0 Add REF player grid for cross-report comparison
When an external reference report is loaded and its roster differs from the
current report, a second player section appears below the main grid showing
all REF report players. REF tanks are hidden by default. Clicking any REF
player card toggles their visibility in the REF timeline rows.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 14:55:25 +02:00
xziino
e5b70c5589 Improve ref pull comparison UX and fight filtering
- Replace ghost icons (missing buffs in current pull) with green-bordered
  icons on the REF row, indicating buffs unique to the reference pull
- Add shield tooltip to REF row absorbed values showing which shields were
  active and which are missing in the current pull
- Filter same-report and external ref fight dropdowns to only show fights
  matching the current fight name; current fight excluded from same-report list
- Extract FFLogs report code from pasted URLs in the ext-report input field

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 14:45:37 +02:00
xziino
182f24ee93 Fix shield detection: timeline merge + static statusId map for all abilities
- Replace "only if no shield detected" fallback with always-merge approach:
  when absorbed > 0, check applybuff/removebuff timeline and add any shields
  not already resolved from the buffs field (name deduplication). Catches
  shields consumed mid-cast (absent from damage event buffs) alongside
  shields still active after the hit.
- Add static statusId fields for all tracked abilities (FFLogs ID = XIVAPI
  row_id + 1,000,000); mitigIdMap is now seeded from these as fallback.
- Update CLAUDE.md: document three buffType categories, statusId system,
  shield timeline mechanics, and FFLogs ID encoding.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 13:33:57 +02:00
xziino
7c0f070490 Add static statusId map for all mitigation abilities, drop supplementary buff query
All MITIGATION_ABILITIES entries now carry a statusId field (FFLogs status ID =
XIVAPI row_id + 1,000,000). The mitigIdMap is seeded from these static IDs as
fallback for abilities absent from masterData (e.g. pre-pull shields). Removes
the need for separate applybuff/removebuff API calls for name resolution. Also
adds shield buffType with tooltip on absorbed value, expanded icon set, and
unmitigatedAmount/mitigated passthrough.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 13:03:56 +02:00
xziino
5345927b83 Update CLAUDE.md: document debuff header placement and icon split logic
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 18:50:01 +02:00
xziino
e85e341b33 Move boss debuffs to AoE event header, update CLAUDE.md
Debuffs (Reprisal, Feint, Addle, etc.) now appear once next to the
ability name and REF label instead of repeating under each player card.
Flex layout on .aoe-ability matches the REF row spacing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 18:42:50 +02:00
xziino
14d1afc7d9 Fix duplicate mitigation icons for self-buffing abilities
Temperance (and similar abilities) have two status IDs in FFLogs —
one for the caster's self-buff and one for the party aura. Both
appeared in the buffs string causing double icons. Deduplicate by
name in resolveMitigations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 16:23:30 +02:00
xziino
76c5d80cc2 Add cross-report comparison and fix delta/filter bugs
- Cross-report comparison: toggle panel to load fights from a second
  report code, select a fight to use as reference (mutually exclusive
  with same-report ref dropdown)
- Fix ref-row player filter: use hiddenPlayerNames (name-based) so
  ext-report targets with different actor IDs are correctly hidden
- Fix negative delta formatting: pass Math.abs(diff) to fmtDmg so
  negative values are abbreviated the same way as positive ones

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 16:18:43 +02:00
xziino
8fe057e15b Add pull comparison feature and consistent player sorting
- Reference fight dropdown in Spieler card for same-report pull comparison
- Ref row per AoE event: ref damage + delta, absorbed, mitigation icons
- Missing mitigations (active in ref but not current) shown with red border
- Delta moved below job abbreviation in ref targets to reduce card width
- Players and targets sorted alphabetically within role for consistent ordering

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 16:01:57 +02:00
xziino
2d121b8ee5 Add proximity clustering, absorbed/overkill display, phase filter
- Replace fixed-window AoE bucketing with proximity clustering (1000ms
  from first event per ability) to prevent boundary splits
- Show absorbed shield damage in blue next to player damage (e.g. 40k +20k)
- Show overkill damage in red below job abbreviation on death
- Phase dropdown in AoE Timeline for multi-phase fights (phaseTransitions)
- Default phase selection: Ganzer Fight

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 15:30:59 +02:00
xziino
399e5fad93 Add analysis features: HP bars, death highlight, mitigation via buffs field, Event Explorer
- HP bar per player in AoE timeline (3-segment: remaining/damage/missing)
- Death highlight: red border + background when hp === 0
- Mitigation tracking refactored to read buffs field directly from damage events
  instead of separate applybuff/removebuff window tracking (simpler, more accurate)
- Mitigations are now per-target instead of per-event
- Add Magick Barrier to tracked mitigation abilities
- Player filter text input above AoE timeline
- Player cards as toggle buttons; tanks hidden by default; sorted Healer→DPS→Tank
- Fix Temperance double-display (dedup by name instead of abilityId)
- Event Explorer in Report tab: DataType, raw event type, ability, player dropdowns,
  limit, time range; abilities and players loaded on fight select
- Fight percentage display fix (was divided by 100 twice)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 14:58:10 +02:00
xziino
d792d5b718 Initial commit: FFLogs mitigation analyzer
Two-tab app: report viewer + analysis tab with AoE timeline,
per-player mitigation icons (local XIVAPI PNGs), and fight-wide
buff/debuff window tracking.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 10:42:38 +02:00
xziino
cf188c1727 Initial commit: FFLogs PKCE OAuth viewer 2026-05-20 08:05:09 +02:00