Commit Graph
139 Commits
Author SHA1 Message Date
wushenghua e5eb22bf21 fix(m102-p1): unify allied battle actors on the m69 soft-q family 2026-09-19 04:50:54 +08:00
wushenghua ccd0345cfe fix(m90): move the page flat-style helper into the shared factory 2026-09-18 14:17:53 +08:00
wushenghua 4d3a9b4540 fix(m88): carry the header title and price on readable inks 2026-09-18 13:31:48 +08:00
wushenghua e6320a6d79 fix(m88): gate the recruit-review header inside the measured frame 2026-09-18 13:16:17 +08:00
wushenghua 83280ec913 fix(m88): seat the header inside the measured frame lines 2026-09-18 12:55:16 +08:00
wushenghua f189821c70 fix(m88): seat the recruit-review header inside the authored frame 2026-09-18 12:44:50 +08:00
wushenghua 1033ecc5be feat(m84b): carry line position and field state on both member detail surfaces
The brief asks the Member detail for the Recruit's position and readiness, but
neither was reachable: the controller snapshots never carried them. Both
surfaces now show the prepared line position from the active contract's draft
order (reserve members read as not in line) and the current battle's field state
(on the field / fallen this battle). No approved master or slot authority exists
for Roster / Recruit Detail, so this is an incremental improvement and the plan
records that the formal design authority is still pending. The M68 probe gains
the row assertions and a switch that skips the entry-shell captures, which the
dedicated DEV-6 tests cover.
2026-09-18 08:52:13 +08:00
wushenghua 56935992d3 fix(m84e): make the guild board copy single-sourced so the gates measure the visible labels
The page built four labels and then hid them behind a same-named shared module
that kept painting the old geometry and the plain danger red, so every name
lookup measured the hidden twins. The module instantiation and the visibility
loop are gone, the wrapping behaviour it provided moved onto the page labels,
and the probe now fails on same-named nodes, hidden labels or missing sources.
Widening GuildMarketReason and GuildNotice fixed the two overflows the gate
could finally see.
2026-09-18 08:28:35 +08:00
wushenghua 3d3447babb fix(m84d): record the P95 carrier calibre and correct the notice documentation 2026-09-18 08:25:26 +08:00
wushenghua 0e7e0aab08 fix(m84d): restore the notice warning ink with a readable shared deep red 2026-09-18 08:20:53 +08:00
wushenghua ec95456217 fix(m84c): let the accessibility scale raise the page text ceilings 2026-09-18 08:05:03 +08:00
wushenghua 44c775aa95 fix(m84a): seat the guild board copy on the authored paper and gate its contrast 2026-09-18 07:28:23 +08:00
wushenghua 716d66a3d2 fix(m83): anchor the party top rail to its approved slots and bind the capacity plate
The four authored plates now carry the engine text the approved master and
text-slots.json describe: the title, the pressure word, the Company size on the
coins plate and the BIND:PARTY_CAPACITY binding on the helmet plate that had no
runtime content. Labels are fitted to the authored boxes (Rect2 corners, not
sizes), rail type follows the shipped 130% scale inside its slot instead of the
page-wide 16px ceiling, and the M66 probe gates all four boxes at both scales.
2026-09-18 07:02:59 +08:00
wushenghua 52f9e1d580 fix(m82): give the Market ledger a 2D top block and a hard subject floor 2026-09-18 00:10:28 +08:00
wushenghua 3709c03994 fix(m82): give the Market ledger its own empty state and band-fit title slot 2026-09-17 22:37:24 +08:00
wushenghua f5758a7203 feat(m79-i10): region atlas page with clear state, renown and a shared atlas glyph 2026-09-15 19:48:00 +08:00
wushenghua b20d038986 feat(m79-i06): first-clear facts and renown, route completion state and the renown formula 2026-09-15 19:10:02 +08:00
wushenghua b871680539 fix(m79-i05): reach region two through the interface and remove the post-withdrawal dead end 2026-09-15 17:37:20 +08:00
wushenghua 0044406308 fix(m74): normalize visible command buttons to the shared 48-59px token scale 2026-09-14 19:09:15 +08:00
wushenghua 111a2a03c8 feat(m73): 130% text accessibility pass across every page with dual-scale strict probes 2026-09-14 18:49:50 +08:00
wushenghua 4ed4305bb3 feat(m60-i03): hired market offers declare their state on the card (owner option A) 2026-09-14 18:13:33 +08:00
wushenghua 3d7172097c feat(m69): soft-painted Q character set, character-free contract master and the real Company pair on the route page 2026-09-14 16:27:50 +08:00
wushenghua 466d07d64d feat(m68-a): roster, detail and the dismissal/return review screens on shared materials with a strict probe 2026-09-14 12:15:54 +08:00
wushenghua dddc79ba3c feat(m67-a): settlement pages on the shared parchment family with a strict probe 2026-09-14 12:04:43 +08:00
wushenghua e35da763b2 feat(m66-a): migrate the party line and risk pages onto shared materials with a strict probe 2026-09-14 11:53:37 +08:00
wushenghua 0aa25c27f5 feat(m65-d): equipment inspection in the market ledger, dead overlay removal and strict equipment probe 2026-09-14 11:38:07 +08:00
wushenghua 0b3063ee13 feat(m65-c): contract choice on shared materials, strict m54 gate and the M62-I04 slot fix 2026-09-14 11:03:53 +08:00
wushenghua ce36d0acf9 feat(m65-b): member tags and board copy on shared tokens with a members fixture 2026-09-14 09:46:01 +08:00
wushenghua b094986bab feat(m65-a): put the guild rails, status cards and navigation on the shared chrome 2026-09-14 03:28:30 +08:00
wushenghua f646479e3d refactor(w5): single 1280x720 target with keep aspect across screens, tests and probes 2026-09-14 03:14:05 +08:00
wushenghua b58fad20d8 test(m59-a): ink checks, longest-string fixture and the defects they found 2026-09-13 21:07:19 +08:00
wushenghua 78499ec080 fix(m58-c): ledger context row width and latin trait ribbon fit 2026-09-13 17:28:12 +08:00
wushenghua 98ed596c5a fix(m58-c): hand-drawn text-bearing chrome and single command owners 2026-09-13 17:12:15 +08:00
wushenghua db7b3d65e4 fix(m58-b): market read-surface type scale, contrast and slot ownership
Measured inventory first: the market modules authored their labels at raw token
sizes while the view uses the canvas text scale, leaving module labels near 6.5
physical pixels at 760, and the card, trait and cost surfaces were drawn in
fixed pixels against proportional label slots. Every module now takes the view's
canvas type scale; the card band and price strip are fractions of the card size
that cover their slots; the trait chip and cost strip are proportional chrome
with the coin anchored in the authored socket; ledger labels move to ink on
parchment and the ledger keeps the full availability string while the card row
carries only the amount.
2026-09-13 16:53:51 +08:00
wushenghua 67b5e3fda0 fix(m57-c): keep header values inside the band face and repaint settings
The first header value started at the authored slot edge, which now sits on the
parchment band's corner bracket, so the title overlapped the trim. Header
labels are clamped to the band face (edge fraction plus a small pad) in both
locales. The header settings control was still a flat angular utility plate;
it now uses a compact member of the same hand-drawn plate family with the
engine-rendered settings glyph, so the top row carries no vector chrome.
2026-09-13 16:21:02 +08:00
wushenghua 6b06c28259 fix(m57-c): hand-drawn parchment, dock rail and severity badges
Information surfaces were still flat drawn chrome while the commands were
already painted, so the page mixed two material languages. The warning rows,
status card, summary card and header now use a hand-drawn parchment panel, the
command dock is a painted wooden rail, and the warning severity marks use
enamel badges. All four use the same fraction-based nine-patch as the command
plates and import with mipmaps so the wide aspect ratios stay clean at 760.

The warning stack also carried no severity in its data, so all three rows fell
back to one colour; the visual fixture now matches the production
["warning","notice","info"] facts and the view falls back to that sequence
by row order instead of a single default.
2026-09-13 16:06:08 +08:00
wushenghua 5c2ab3985c fix(m57-c): replace drawn command plates with hand-drawn wooden plates
The command row was still flat vector chrome, which read as a different
material language than the hand-drawn world. The four commands now use a
painted wood-and-gold plate (secondary, primary, disabled variants) drawn
through a fraction-based nine-patch so the frame keeps its proportions at
every viewport, with the icon and label slots kept inside the plate face.
The raw generations and the nine-patch normalisation are recorded under
docs/runtime/m57_command_plate_provenance/.
2026-09-13 15:50:45 +08:00
wushenghua 5cf76a07b2 fix(m57-c): per-region readiness chrome and typography
Stop reusing one plaque for every region. The header is now a compartmented
band with dividers, icons and left-aligned values; the bottom is a carved dock
band with four independent command plates (icon above label, wider green
primary) instead of buttons inside a long frame; the warning stack is three
cards with severity icons; the summary is a parchment card with shape markers,
values and pip rows; and typography uses explicit tracking and embolden so
titles, values and captions read as different ranks. View contract names and
z-order are unchanged.
2026-09-13 15:25:55 +08:00
wushenghua 42e6e041f8 fix(m57-c): release cached textures on view exit
The shared scaled-texture and ground-shadow caches held image RIDs past
teardown, which the strict attempt gate correctly reported as leaked
allocations. Clear them when the Readiness view leaves the tree.
2026-09-13 14:06:45 +08:00
wushenghua cf74cb56fe fix(m57-c): orderly readiness header copy and ornate command plates
The five header values now follow the authored master order (page title,
snapshot state, contract name, pressure, Company line) with the real contract
id instead of a placeholder phrase, and the duplicate rail title is removed.
Command buttons use the generated teal action plate with light labels instead
of the flat vector wood block.
2026-09-13 14:04:48 +08:00
wushenghua 936078df6c fix(m57-c): rebuild readiness on the shared asset material
Replace the page-local flat navy rails, translucent slabs and pill buttons with
the shared asset material, re-add the rail title, ground the party on one
baseline with a contact shadow and ink name plates, and move value/warning text
to a high-contrast ink-on-parchment pair. View contract node names and
z-order are unchanged; M37 readiness view contract passes.
2026-09-13 12:58:17 +08:00
wushenghua 8c797cc612 fix(readiness): rebalance party column and summary footprint 2026-09-13 12:20:05 +08:00
wushenghua 1f76b6f6ce fix(readiness): raise runtime status labels above panels 2026-09-13 11:53:18 +08:00
wushenghua dc2d86b57b fix(readiness): replace rejected static skin with unified runtime chrome 2026-09-13 11:51:37 +08:00
wushenghua 1c8f96b67c fix(readiness): unify summary and warning chrome 2026-09-13 11:34:48 +08:00
wushenghua 52eb778293 fix(readiness): label departure summary purpose 2026-09-13 11:26:12 +08:00
wushenghua 5879f967fb fix(readiness): anchor warning stack to authored card 2026-09-13 11:22:40 +08:00
wushenghua 4b6ac0f8a5 fix(readiness): remove static gear and right-stack overlap 2026-09-13 10:47:48 +08:00
wushenghua 055a1fd4c6 fix(readiness): centralize measured visual slots 2026-09-13 10:42:13 +08:00
wushenghua b45b72d6f6 fix(readiness): restore readable runtime typography 2026-09-13 10:22:50 +08:00