Skip to content

Overnight swarm report: 2026-10-16 (1.1 freeze eve)

Overnight swarm report: 2026-10-16 → 10-17

Section titled “Overnight swarm report: 2026-10-16 → 10-17”

Run: 23:05 → ~07:10 BST, on AC the whole night, no sleep gaps. Runbook: docs/overnight-swarm-runbook-2026-10-16.md. Every merge went through a bh-reviewer MERGE verdict plus a full scripts/gate.sh pass on the merged tree (the push guard enforces the gate stamp). No deploys, no remote-config publish, no App Store / TestFlight actions, no BUILD bumps, no device installs, no balance changes, no determinism re-pins, no shader edits.

You delegated polish/copy calls. Each is shipped on main; say the word and it reverts.

  1. ENEMIES → BESTIARY on the start menu (and every “Enemies codex” mention).
  2. “Quit to menu” wording in both pause looks (was “Quit”/“Main menu” mix).
  3. Death recap with no attribution says “cause not recorded” (it used to imply a flawless run).
  4. Story finale line reads “(Ascent complete. Thank you for playing.)” (was “demo complete”).
  5. Low-HP pulse eases in from 50% HP and reaches full swing at 30% (tunables LOW_PULSE_START_FRAC 0.5, LOW_PULSE_FULL_FRAC 0.3) instead of snapping on.
  6. Rift choice backdrop DIM_ALPHA 0.97: near-opaque so enemy sprites stop drawing over card text.
  7. Elite health tags: only drawn for elites that are on screen. Off-screen elites used to get tags pinned to the screen edge with no elite under them (read as orphan UI). If you wanted those as off-screen indicators, that is the thing to veto.
  8. Shop cards: one card size per TAB (a tab with fewer cards gets larger text), so card size can differ between tabs; never two sizes on screen at once.
  9. Story/tutorial dialogue on iPhone/iPad sits at the top, narrowed to stop left of the pause/feedback buttons. Longest real line wraps to 3 lines and ends ~25 units above the ship (was 28 before; shorter lines now end higher than before).
  10. Feedback panel: sentence case (Bug / Idea / Other, matching Settings), chips 3 + 2 centred, every control ≥44pt on iPhone. Panel width differs between Bug and Idea, so its edges jump when switching kind (nit, left as is). Chips were NOT restyled into the GlassPanel row family.
  11. Settings hint brighter (text.secondary, ≥15px on TV); still reads blue-grey on TV.
  12. Prism Lance (evolved Railgun) card: “2 thinner lances in a narrow fan · ×1.6 damage · keeps full pierce” (verified against weapon_railgun.gd evolve; the old text said “side by side”).
  13. Drone Bay: “Save loadout” / “▶ Deploy” (was SAVE LOADOUT).
  14. Store What’s New (all three platforms) gained one “Polish everywhere” bullet plus one platform bullet each (iPhone notch/touch targets; tvOS controller-disconnect pause; Mac Fullscreen/Windowed + controller pause). LAN lobby fix NOT claimed (Dev-only).
Train Merge What
1 b793ad4b, ce29018e Bestiary copy (no dead powerup claim, Summoner/Warp naming); results screen shows real enemy names + a “next goal” line (1.1 item)
2 8f7d311f, c012d213 Mac Fullscreen/Windowed setting; controller-disconnect auto-pause + reconnect prompt
3 d1da3e0c, 56b8ad09, b027e098 Big level-up cards (1.1 item); ATV LAN lobby Siri Remote fix; feel-probe tool (objective “feel” metrics)
4 4fcdf5ee Damage attribution on the death screen
– bc0d1dcf tvOS Menu-on-root investigation (docs verdict, device check is yours)
5 1d1a85a6 iPhone start-menu footer + title inside the safe area (1.1 item)
6 3452c2c0 UI sounds on results/Drone Bay/feedback; Backspace closes shop + Drone Bay; honest recap line
7 1f2c4b59 HP low-pulse ramp; equip prompt follows the input device (no “PRESS A” on touch/keyboard)
8 b6fb9c58 BESTIARY label; “Quit to menu”
9 21a12398 Copy 2: Scatter/Beam story lines (auto-aim truth), warp wording, rift hints, Hull wording
10 ff5067c4 Feedback panel ticks on every input path; shared MenuNav.text_field_focused
11 153f6bfe Ship screen closes on Backspace; HUD HP number font
12 e8e82608 Bestiary scrolls + touch browse + CLOSE; truthful close hints; Aim readout; TV-safe edge indicators
13 be2c71d0 Rift choice hides HUD banner/autopilot tag; ui_capture fixes
14 45818de4 Level-up titles aligned, RECOMMENDED tab; stats rung numbers never collide or drop
15 63cc44e3 Death screen layout: full names, aligned bars, 15px TV text, KILLED BY one line
16 3a74aa45 Elite tags on-screen only + safe-area clamp; tutorial objective card backing plate
17 2ac45392 Shop cards: per-tab sizing, UNLOCK tag only when unowned, clearer pips
18 265c85e6 Feedback panel / Drone Bay / Settings casing, contrast, layout
19 20902d3c Story/tutorial dialogue fits its text, clears HUD buttons, mirrored right speakers
20 e9f4b81f + c54add74 Prism Lance copy; killer-name fit test covers “shot” variants; co-op HP labels overlap fixed
21 a910ba7b Feedback panel ≥44pt touch targets on iPhone
22 093d254f Store copy 1.1c: What’s New ×3 refreshed against all of the above (iOS 3884 / tvOS 3959 / Mac 3941 chars)
23 cbd00c06 improvement-batch1 salvage: Bestiary “n / m DISCOVERED” counter, truthful codex/story copy (Centurion, Summoner), boss cues + reactions survive busy frames, element colours from sim data (not in the store What’s New: minor)

Every merge added its line to the unbuilt build: null entry in control/src/whats_new.js.

  • tvOS Menu on root → Home: investigated (bc0d1dcf), needs your ATV check before anything ships.
  • Device checks named in RELEASE-1.1 for merged items: controller disconnect (ATV, switch the pad off mid-run), Mac window mode, LAN lobby (ATV, Dev-only screen), big level-up card sizes.
  • Device-test branches untouched (yours, on BUILD 332 rc-1.1-combined): app-clip, beta-skin, sfx-synth-all, alpha-fix-final, boot-loading-cover, fix-online-lobby-atv. Their store-copy lines stay in each What’s New file’s # PENDING block.
  • Code-picker UI sounds: deferred, ui/online_lobby.gd is owned by fix-online-lobby-atv.
  • HUD HP number is dead code in store builds (never shown); left in place.
  • Footer test lacks an iPhone SE profile (co-op SE overflow only matters for 1.2).
  • Leftover review nits (no action taken): short Pilot shop cards on TV have empty space above their tags; iPad UNLOCK tag sits ~10px from a 3-digit price (a 4-digit price would collide, none exists); feedback panel touch height computed on open only (fine while landscape-locked).
  1. Your BUILD 332 device verdicts → merge (or drop) each device-test branch.
  2. A Dev install of current main on iPhone (A17, baked) / iPad / ATV to eyeball tonight’s UI polish: none of it touched shaders, but it is a lot of UI.
  3. BUILD bump + store pre-flight per docs/reference/builds-and-releases.md.
  4. Paste What’s New from marketing/appstore/whats_new_1.1_{ios,tvos,macos}.txt (delete # lines and the PENDING block; re-count if branches merge).
  5. docs/RELEASE-1.1.md is ticked for everything merged tonight (salvage and caption 3 ticked in this commit).

origin/main cbd00c06 (train 23, the last merge), full scripts/gate.sh PASS on that exact tree: test-count guard 595/595 scripts, 6738 passing, 0 failing, 0 risky/pending, determinism baselines unchanged, boot smoke + device-boot smoke OK, tutorial lesson trace ok. Count went 590 → 595 scripts overnight (new fit/regression tests).

  • Every branch got a bh-reviewer verdict; most needed 2-3 rounds (DO NOT MERGE → fix → MERGE). I overrode one MERGE myself (results layout had dropped your “(base)” suffix from d67ae3aa).
  • One worker edited a shader; reverted before review (StyleBoxFlat plate instead).
  • A shared GUT_LOG between concurrent gates caused false failures early on; every gate got its own log after that.
  • Train 16’s first gate failed on a What’s New item in the wrong shape (string, not {text, where}); the push guard refused the ungated tree as designed.
  • W15 (salvage) stalled once with unpushed commits; I pushed them and sent the branch for review.