Thrown Ahead So You Fly Through It
Teleporters and jumppads went live with client prediction and zero reconciliation snap by construction, fall damage moved a whole band, and the manga UI rollout landed.
Teleporters Went Live
trigger_teleport → misc_teleporter_dest, and trigger_push → target_position, sharing one TriggerTable via extractTriggerVolumes and evaluated inside the shared `MovementProfile`.
The consequence is the whole point:
client-predicted, zero reconciliation snap by constructionNot "we tuned the prediction to match the server". Inside the movement profile, there is no second implementation to disagree with.
Q3 AimAtTarget per-position and per-fire removes the fixed-velocity re-fire apex overshoot — measured at +28u. Exit momentum is redirected in full 3D, Warsow style. Telefrag is DamageType.Telefrag at 9999 armor-piercing. Fall-damage tracking is cleared on teleport. Over 30 tests, browser-validated on wdm2 with four teleporter pairs and the mega pad.
There is also a deliberate decision in here worth quoting, because it is the game choosing to be worse at something on purpose:
the local exit burst is thrown ahead so you fly through itand a posterized afterimage ghost of your own teleport, at the entry — "arcade-deliberate: tele usage is trackable info".
Fall Damage Moved A Whole Band
sv_falldamage_min 128 -> 256
sv_falldamage_full 256 -> 384
sv_falldamage_fatal 384 -> 512The ramp now starts at 256u, is full at 384u, and crushes you at 512u. About five jump-heights, a 51u apex, is now damage-free. A [FallDamage] server-console diagnostic logs raw drop, crouch-softened effective drop and the band (SAFE, RAMP, CRUSH, FATAL), with 8 regression tests. Spec in docs/research/THEMEUPDATES-0.9.17.md.
Also Here
The manga UI rollout: lobby Social and Chat columns, the ready room, a "GAME STARTING" overlay, the GamePanel shell, and shared primitives .w-panel-backdrop, .w-slab, .w-ticket, .w-stamp, .w-btn in WashikiTheme.css. Team headers cyan for alpha/udon, magenta for bravo/soba. The READY key goes from a gold outline to filling and pulsing.
Blade-drop mesh leak fixed — a bone-attached third-person weapon tracked as PlayerModelInstance.attachedWeapon and disposed in both the gib and ragdoll paths. First-person projectile muzzle convergence starts at the view-model muzzle, 34u forward and 9u down, converging onto the true trajectory over 220ms.
And a crouch get-up flick fixed by making camera offsets pure functions of the simulation clock instead of advancing per simulate() call. One of the tests: "replaying the same sim time ten times changes nothing".
Known Unverified Items
Browser passes are owed for blade-dash reconciliation snap, fall-damage feel on real ledges — use the [FallDamage] log — and every UI surface, since that work is visual-only CSS with no headless coverage.