Kronos v4 pre-alpha
A large jump since v0.3.0-beta — real 3D modeling tools, a working video
pipeline for Movie Maker, moderation/age-gating enforcement, and a
self-contained Linux build that no longer needs anything installed
separately. This is a pre-alpha: expect rough edges.
3D Maker / Modeling
- GPU vertex displacement sculpt brushes — Grab, Clay Strips, Pinch,
and Smooth now actually deform mesh geometry on the GPU. - Non-destructive modifier stack — Mirror, Array, Solidify,
Subdivision, and Boolean modifiers, stacked and re-orderable. - Real Catmull-Clark subdivision, plus zero-friction PBR
auto-instantiation when a mesh is created. - Vertex/edge/face sub-object picking with a real gizmo in the
viewport, for direct mesh editing. - Freshly-spawned Sphere and Cube primitives now auto-attach a real
editable mesh component (valid topology + UV coordinates), so sculpt
brushes and PBR textures work immediately — no more manual "convert to
editable" step first. - Viewport click-to-select fix: clicking into the 3D viewport to
select an object now works on the very first click, even when that
click is also the one bringing the viewport window into focus
(previously the first click was silently swallowed). - Fixed a shutdown-time use-after-free and sampler leak in the offscreen
render target; added a brush-size ring indicator in the 3D Maker
viewport. - Mouse-wheel viewport zoom; a real native OS file dialog for asset
import (replacing the old in-app picker). - Un-clipped the "Add Primitive" dropdown; removed feature-gating between
Beginner/Professional modes (nothing is hidden behind a mode anymore);
added a vertical tool column.
Movie Maker / Video
- Real libav-backed MP4 decoding (
core::VideoDecoder) — actual
video files decode, not placeholders. - MP4 import with 3D-over-2D compositing and envelope-driven
playback on the timeline. - NLE clip-timeline plugin and Media Bin, fully wired into the
Studio build. - Drag-and-drop Effects Library: Bloom, Color Grade, Chromatic
Aberration, Vignette — drag straight onto a clip. - Real audio waveform peak display rendered on timeline clips.
- Live viewport camera and depth-of-field now driven directly by the
cinematic rail's actual physical camera, instead of an approximation. - Camera badge overlay added to the Movie Maker viewport.
Moderation & Safety
- Automated moderation queue (
moderation_queuetable): a
classifier (e.g. Gemini) can now flag chat, voice transcripts, UGC
assets, or movie exports for review before anyone reports them —
separate from the existing human-report flow, with its own
resolve/dismiss/audit trail. - Real age-gating enforcement, checked live at both places content
actually gets served — direct session join and matchmaking ticket
queueing — not just hidden from the catalog listing (which a client
that already knows the game's slug could bypass entirely). - Self-serve birthdate submission endpoint, feeding a live
age_verifiedlookup (checked on every request, the same pattern
admin-role checks already use — no stale token can carry a
verification claim past a revocation).
Platform / Entitlements
- Added
EntitlementManager,PluginRegistry, andTerrainGenerator
to the engine core.
Packaging — installation friction removed
Previous builds needed the host machine to already have the full
ffmpeg/codec stack, curl+TLS/SSH, and GTK/Cairo/Pango installed
separately. The Linux release asset below is now fully
self-contained: every one of those ~130 shared libraries — the entire
ffmpeg + libav codec stack, curl with TLS/SSH, GTK/Cairo/Pango,
SDL2, and libstdc++/libgcc (the C++ runtime itself) — ships in lib/
next to the binaries. Extract and run; no separate install step, no
system package manager involved.
Two things genuinely cannot be bundled, because they must come from the
host by nature (verified against a clean container with none of the
above pre-installed):
- A Vulkan-capable GPU driver (NVIDIA/AMD/Intel) — a hardware
driver, not an application dependency. - glibc, and this build's floor is high: it was compiled on a
system running glibc 2.44. If your distro's glibc is
meaningfully older, the binaries will refuse to start with a
GLIBC_2.xx not founderror — check withldd --version. This is
the one real remaining requirement, not a missing-dependency bug.
Known rough edges (pre-alpha)
- Cylinder/Plane/Torus primitives don't yet get an editable mesh
component on spawn (Sphere/Cube only, for now). - Monaco-based script editing isn't implemented on this platform yet;
falls back to a built-in ImGui text editor.
Requirements: Linux x86_64, a Vulkan-capable GPU with an
up-to-date driver, glibc 2.44+ (see Packaging note above).