Back to Devlog
    v0.9.17
    GameplayJuly 10, 2026Release notes

    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:

    text
    client-predicted, zero reconciliation snap by construction

    Not "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:

    text
    the local exit burst is thrown ahead so you fly through it

    and a posterized afterimage ghost of your own teleport, at the entry — "arcade-deliberate: tele usage is trackable info".

    Fall Damage Moved A Whole Band

    text
    sv_falldamage_min     128 -> 256
    sv_falldamage_full    256 -> 384
    sv_falldamage_fatal   384 -> 512

    The 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.