Minor patch this week with fixes and optimizations.
Movie keyframe connection modes (_Default_, _StartBlock_, _EndBlock_) with Split and Join operations, allowing overlapping keyframes for hard cuts.
`overlay_fps`, an on-screen frame pacing overlay showing a live frametime strip, distribution histogram and GPU time for diagnosing frame delivery.
HtmlPanel now styles `h2`, info, warning, success and strikethrough elements to match how they render on the web.
Undo/redo and full JSON operation support for binary data, so embedded terrain operations carry their binary payload across edits.
Editor gizmo drawing is dramatically faster — the handle cache is now respected and per-object LINQ/texture loads were removed (MSC main scene dropped from 55ms to 19ms).
Directional shadows are skipped for the 3D skybox, saving 64MB of memory.
Orthographic views now sort sprites by view-axis Z instead of distance for correct ordering.
Reduced navmesh allocations and tuned the network compression pool target span for lower overhead.
Window activation/focus events now work on any platform by handling them through SDL instead of Win32.
The ShaderCompiler can recompile `shader_c` files against the current engine shader sources.
Benchmark runner improvements, now exposing P50 (median) timings that are more resilient against hitches when comparing regressions.
Network debugging improvements and heartbeats are now sent as reliable packets to avoid being kicked while idle. Thanks @DEADMONSTOR!
Fixed vsync micro stutter and input latency when `fps_max` is set above the monitor refresh rate by clamping the cap and restoring drift compensation.
Fixed gizmo regressions in the editor.
Fixed painting at full opacity not removing all residuals.
Fixed `IsSceneSaved` not being evaluated for `ShowIf`/`HideIf`, and fell back to reflection to access internal members in conditional visibility attributes.
Fixed a mix-thread use-after-free by reference counting `CAudioStreamManaged`.
Fixed a malformed package exception.
Fixed map compiling by removing path narrowing/stripping that only made sense for CS2/Dota mods.
Fixed a debug assert that always fired for recursive references at higher ref depths.
Runtime flags are no longer persisted.
Storage arrays are now hidden in the terrain storage editor.
Fixed `Networking.IsActive` not being true `OnStart` by mimicking how `CreateLobbyAsync` creates lobbies. Thanks @DEADMONSTOR!
Fixed `SyncFlags.FromHost` properties being overwritten by client refresh messages. Thanks @DEADMONSTOR!
Fixed singular snapshots receiving a stale snapshot. Thanks @DEADMONSTOR!
I hate to break it to you, but you seem to be accidentally coding a web browser. Happens to the best of us. HTML and CSS are amazing. You take a bit here, a bit there, and before long you have a fully featured-web browser completely by accident.
My condolences.