Skip to content

Estella Editor v0.17.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Jul 16:47

The multiplayer and WebGPU release. Estella gains a complete server-authoritative networking stack — declare which fields replicate and entities sync across machines with interpolation, input routing, and an in-editor multiplayer preview — and the renderer boots on WebGPU with pixel parity against WebGL2, shaders emitted in both languages from one source.

Highlights

Server-authoritative multiplayer

  • Mark an entity Replicated and it spawns on every client; fields declared replicated stream as binary deltas with snapshot interpolation on the remote side.
  • Replicated.owner routes each connection's per-tick input to its entities; the handshake refuses protocol/ABI/schema drift fail-loud.
  • Editor multiplayer preview: pick 2–4 players in the Play dropdown — a listen server plus client views run side by side, zero network setup.
  • Dedicated servers on Node: the new esengine/node entry runs the same engine wasm + gameplay code headless (loadEsengineModule, createHeadlessApp, runHeadless).
  • New multiplayer-arena example; the networking guide covers the whole stack.

WebGPU render backend

  • The engine boots on WebGPU (backend: 'webgpu') with full-scene pixel parity against WebGL2.
  • Every built-in shader, filter, post-process effect and material-graph output emits in both GLSL and WGSL from one source; user .esshader files get auto-generated WGSL twins (vendored glslang + naga, no external toolchain).
  • Dual-backend pixel verification runs on every push.

Engine & pipeline

  • Mesh2D — scene-level custom-mesh renderer on the unified batch face (sorting, culling, clipping, multi-texture merging, 2D lighting for free).
  • Tiled parity — object layers spawn real colliders, hexagonal maps, multi-tileset rendering, chunked/infinite maps, external tilesets.
  • Asset pipeline — texture/audio residency with unified refcounts and memory-pressure trim, Assets.preload, cook-time auto-atlas, content-addressed cooked builds resolving path references across web / WeChat / playable.
  • Post-processing — true-LUT color grading and per-pass texture parameters.

Fixed

  • Prefab instantiation with uuid references in shipped builds.
  • Legacy tilemap scenes rendering nothing.
  • The client authority window during the replication handshake.
  • Editor: UINode moves edit layout inputs (no Yoga stomp); actionable side-module 404 hint.

SDK 0.6.0 — the networking/replication surface, Time.fixedTick, and the esengine/node entry.

See CHANGELOG.md for the complete record.