Skip to content

v0.9.2

Choose a tag to compare

@lslzl3000 lslzl3000 released this 31 Jul 16:54
· 30 commits to dev since this release

0.9.2 (2026-07-31)

Features

  • engine: v2 engine refactor — RenderGraph rewrite, Rapier physics, three.js-aligned math (7fdecee)
    • RenderGraph: typed RenderTarget / RenderPass / ComputePass handles; passes split into single-responsibility units (pre-depth, clear, transparent, present…); pass scheduling driven by reads/writes + explicit dependsOn edges (RenderStage removed); transient resource subsystem with lifetime-aware aliasing pool (HiZ, SceneColorPyramid, OIT/DDP, MotionVector); runtime pass hot-swap that survives canvas resize
    • physics: new @orillusion/physics-rapier backend with snapshot save/restore, vehicle controller, kinematic/dynamic body handling
    • math: three.js-aligned math library — canonical method names, mutator-style arithmetic, three.js standard instance methods + tests
    • rendering: logarithmic depth + relative-to-eye (RTE) precision for ECEF/large-scale scenes; built-in projected decals; opt-in stencil buffer; VisibleLayer bitmask filtering; earth sky & atmosphere renderers; shader preprocessor with boolean #if/#elseif and Int32 uniforms; multi-engine / per-Context3D resources; spot/point/contact shadow fixes; sRGB panorama decoding
    • samples & tests: new alpha/transparency, sprite, navmesh, skeleton IK, lightbulb and Rapier samples; new test infrastructure under test/multi (+ playwright runners); TypeDoc 0.28
  • packages: update all plugin packages to the v2 engine APIs (0698014)
  • RTE: add relative-to-eye (RTE) rendering, double-precision matrix support and CSM shadow updates for large-coordinate scenes (b1009d5)
  • particle: particle system supports RTE rendering (945709a)
  • overlay: added OverlayView with a dedicated overlay color pass (675d415)
  • matrix: added an index recycling pool to Matrix4 (893b342)
  • matrix: move wasm-matrix into core (0f1d38e)
  • TextGeometry: support single sided text (#492) (a54c302)

Bug Fixes

  • engine: improve pause/resume handling (edee564)
  • canvas: render to transparent canvas with correct alpha blending (dce2948)
  • material: fix background transparency in PBR transmission shader (de726d3)
  • lambert: fix lambert material opacity (df914e9)
  • gltf: fix KHR_materials_volume parsing (951a1d4)
  • gltf: problems during glb file parsing (#489) (d78d4bf)
  • shadow: fix shadow pass cull mode (42ba979)
  • bloom: fix bloom effect (189d833)
  • taa: resolve persistent camera drift under TAA post-processing (2aa531f)
  • sky: sky rendering with ortho camera (#467) (8004339)
  • camera: fix orthogonal camera rendering error (#466) (5dedb08)
  • atmospheric: fix atmospheric sky on Apple M3 chips (#465) (9fa23b4)
  • matrix: fixed wasmMatrix continuous rotation (29fef40)
  • lookAt: update matrix by quaternion (beccb4f)
  • frustum: fixed intersection test of bounding box and frustum (6338c2f)
  • particle: fixed particle billboard matrix (553bf0a)
  • vertexBuffer: split vertex data and vertex layout (faded84)
  • geometry: fix geometry destroy (2ae787d)
  • InstanceDraw: fix InstanceDrawComponent (64485cf)
  • texture: unable to force destroy texture (#457) (3d62dc6)
  • envMap: fix environment map reference count error (95052f9)
  • graphic: fix depth test for graphic lines (e8257bc)
  • pick: fix the precision of pixelPick meshID (1801b05)
  • pixelRatio: reset pixelRatio on resize (1d8d23b)
  • pointerEvent: remove middle pointer events (c5e369f)
  • event: CEventDispatcher properly throws the exception message (c5b345c)
  • umd: fix packages umd names (4828b65)
  • sample: fix sample depth texture (#484) (0400ab1)
  • sample: fix Shape3D / BunnySimulator / ClothSimulator / grass color samples (54539e6, e2bd519, 65ecca1, f4bea6d)

Performance Improvements

  • preprocessor: add shader parse cache to ShaderLib/Preprocessor (230c342)
  • matrix4: external epsilon for matrix4 (#486) (2befb43)
  • geometry: change default GeometryVertexType to split (696277b)

BREAKING CHANGES

  • math: methods renamed to three.js canonical names with mutator-style semantics; duplicate aliases collapsed
  • renderJob: RenderPass/RenderTarget APIs redesigned around typed handles; RenderStage removed
  • renderLayer: renderLayer → visibleLayer; RenderLayer enum → VisibleLayer