v20.4.0
What's Changed
melonJS Team
- Renderer: two caches that never hit, one per backend (#1652) (5ab23f5)
- Examples: the 3D examples await their level load (#1651) (398c40f)
- Level: an async option on load/reload/next/previous, and a microtask deferral (#1647) (6c3cba2)
- docs: correct how the skills installer places files (#1643) (44dc944)
- Distance fog: measure the height above the camera in view space (#1645) (23f524a)
- Lit meshes: take the eye from the view's inverse, not from -Rᵀ·t (#1642) (0b8593b)
- strip-internal: widen the fast gate, and call the sibling script through pnpm (#1640) (16e3025)
- Docs: stop publishing engine internals, and give the reference its own identity (#1639) (0dbcef0)
- Audio: a sound in the preload could hang the game on a blank screen (#1638) (ab2ee59)
- Mesh: a transparent pass, so a faded mesh actually fades (#1635) (a570ed0)
- llms.txt: say 2D, 2.5D and 3D in the header too (#1623) (1107d5d)
- Distance fog: height falloff, so mist pools in low ground (#1634) (10b04cf)
- Camera3d: distance fog (#1632) (dbe807d)
- Ground shadows: drain the queue only where the world draw is finished (#1630) (0d7650d)
- Container: order floating children by depth alone, not by screen position (#1629) (b0a512e)
- Mesh: generate normals for lit geometry built without them (#1627) (646bc07)
- Mesh: skip the draw at alpha 0 instead of painting it black (#1626) (d37285e)
- Mesh: let procedural geometry supply per-vertex colours (#1625) (b716922)
Full Changelog: 20.3.0...20.4.0