Commit Graph
14 Commits
Author SHA1 Message Date
krisf 0839826704 engine: GIS 65+ floor, clawback only with OAS, couple mixed-row footnote, FIRE retire age 40 2026-10-09 15:52:53 -04:00
krisf 807a96693b ps: auto-derive years of service from join year + retirement age 2026-10-09 15:41:58 -04:00
krisf 79c40a7b9d Header: right-align EN|FR toggle in .hdr-in (top-right of page)
One CSS line: .lang-toggle{order:99;margin-left:auto}. Spec's literal order:99 alone
failed its own <=2px right-edge acceptance (gap 45.6-467.6px, 18/24 cases — order
reorders, .hdr-in is left-packed; geo-literal-order99.json), so margin-left:auto on
the toggle absorbs the free space; pill/logo untouched (spec-forbidden zone respected).

Battery: A1 gap=0px + rightmost + nothing-past-left in 24/24 (320/360/390/1280 x EN/FR
x intro/quiz/results); A2 header height unchanged 56/66px; A3 320px no overflow/wrap,
FR logo ellipsis intact, elementFromPoint hit-tests lang buttons + Start over pass;
A4 FR/EN clicks switch lang+title+aria-pressed; A5 24 screenshots before/after; A6
engine 36 + i18n 48 + smoke 92 + ps-pension 70 green; A7 desktop pixdiff header-strip-
only, 0 px below header at every device, self-jitter bit-identical; A8 DEPLOY-OK,
origin marker=1 + byte-identical CSS, off-LAN troublebox 200+marker+rule OFFLAN-OK.
2026-10-09 13:32:40 -04:00
krisf cab6e3d1ed Bilingual as-of line: FR card/stamp showed English 'October 2026 (CPP 2026, OAS/GIS Oct-Dec 2026, tax 2026)'. Added asOfFr (octobre 2026, RPC/SV/SRG, impôts) in canada.js + generator; render sites pick by getLang(). Smoke 90->92 with a localization guard. 2026-10-09 13:20:58 -04:00
krisf d53dd81202 Fix .tbl-wrap::before float bug (<=560px): float:right 340px-tall pseudo-element pushed tables 340px below their wrap, clipping them out of view — broke BOTH the PS pension card table AND the year-by-year table on mobile. Now position:absolute overlay. PS card also gets max-height:none (8 rows, show all). 2026-10-09 13:00:09 -04:00
krisf 244f59904c Fix PS card blank-body bug: table class cards collided with .cards display:grid (gap-cards) — grid-on-a-table collapses rows to zero height. Renamed to ps-tbl + smoke guard (smoke 88->90) 2026-10-09 12:44:32 -04:00
krisf ed37f82511 Fix PS module stuck-Next bug: validate() on number-input oninput (typing into empty PS join/service/salary step never enabled Next; real users were stuck) + click-through regression test (smoke 74->88, EN+FR) 2026-10-09 12:25:05 -04:00
krisf 249be69a57 PS pension module: optional federal PSSA engine + UI (PSPC-accurate, EN/FR) 2026-10-09 11:44:40 -04:00
krisf a5923da47c round 4: app-shell quiz screen at <=700px — #step-body is the only scroller, #btn-next/#panel become the static bottom cluster; revert FR .opt override (keep f4b5698); + capture/verify/pixdiff/offlan audit tooling and before/after evidence; closes QUIZ-APPSHELL-FIX.md 2026-10-09 10:52:23 -04:00
krisf f4b5698272 FR round 3: end-anchor retire marker label (was clipped at 320px card window); compact FR option buttons at <=700px (grid stays above pinned nav at 390px; EN untouched) 2026-10-09 10:26:40 -04:00
krisf 5f01dd7ca6 Bilingual EN/FR: i18n.js dict+t(), lang state+payload, header toggle, FR copy, Intl formatters; i18n.test.js + bilingual smoke; FR mobile audit evidence + BILINGUAL-REPORT.md 2026-10-09 10:06:55 -04:00
krisf 65863c0302 Round 2 mobile pass: CTA pinned above bottom sheet, swipe hint in chart header, anchor scroll-margin
- Issue 1: --sheet-h CSS var (live sheet height via syncSheetH: load/toggle/resize/
  panel-content), .scr clearance and sticky #btn-next/.step-nav above the sheet;
  income short step pixel-identical to round 1 (CTA top 485).
- Issue 2: chart() helper renders .chart-h (h3+p + .swipe span) into #g1-#g4;
  .chartbox::before overlay removed; hint is flex sibling in header, sticky left.
- Issue 3: [id]{scroll-margin-top:70px} so #whatif anchor lands below sticky hdr.
- G2 tick clip and Four-futures scroll documented as non-issues in report.
- verify2.py: 90/90 PASS live; before/after evidence in audit/mobile-{before,after}2/.

Spec: MOBILE-FIX-2.md. Report: MOBILE-FIX-2-REPORT.md.
2026-10-09 06:44:08 -04:00
krisf 666b6c5e29 Mobile pass: 8 fixes per MOBILE-FIX.md (single-row 55px header, 560px-scroll charts w/ bigger SVG fonts + swipe hint, content-height chips sheet w/ scrim, 44px touch targets, year table 13px/-2 cols/fade/sticky Age, vision manifest-race fix, honest share fallback, theme-color+type bumps); before/after audits + geo-check evidence 2026-10-09 06:04:03 -04:00
krisf 83b01d0136 Retire Planner v1: engine (live 2026 CPP/OAS/GIS/RRIF/tax), 17-step UI, 4 SVG charts, vision gallery, tests 2026-10-08 23:00:18 -04:00