Repository navigation
67js 0.16.0
Highlights
- GPU path tracer:
backend: 'gpu'renders the 1080p demo room in about 40 s, against 586 s on the CPU. The light bake can use it too (#302) - Outlines and toon shading with
environment.lines(#285) - Subsurface scattering for skin, wax and leaves with the material
subsurfaceblock (#283) - 3D Gaussian splats from a standard PLY file, as an addon (#288)
environment.viewTransformpicks ACES, AgX or neutral, and AgX now matches Blender 5.2 (#282)- Easing curves and
cubic-bezieron keyframes, within 1e-4 of Blender (#286)
Agents and MCP
- Recipes place catalog GLB assets next to terrain and procedural meshes, and render jobs draw them (#320)
- A
vegetationnode plants one tree or a seeded forest over terrain, with seasons and wind (#321) motion.drivedrives a car model along a path with real steering, reverse and brake lights (#322)- Crowds of up to 1,000 walkers draw in one batch per material (#323)
- Clips retarget between characters, feet stay planted, and morph targets key by name (#325)
- Materials can play an image sequence as their colour map (#339)
- The new
scene_walkmaptool finds where a character can walk (#553) - The MCP schema now accepts every environment and node field the engine reads (#490)
Rendering
- Up to 16 point, 8 spot and 7 area lights, from 8, 8 and 4 (#261)
- Water got depth fade, soft shadows on the bed, refraction, and a reflection that survives rough water and costs less (#349)
- Default fog fits the scene size, so the far side of a big world no longer fades out (#263)
volumeFogtakesheightFallofffor valley mist that thins with height- Sunlit rooms get softer bounced light by default, and
bake.irradianceGridadds Cycles-like multi-bounce light (#506) - Far trees no longer pop darker when they switch level, and big forests can use impostor cards (#432)
- Reversed-Z depth and a z-fighting warning that names both parts and the fix (#310)
- Mesh blend softens the seam where a rock or a trunk meets the ground (#478)
- Your own post passes and a GLSL hook on materials (#405)
- Plain scenes draw faster, and far shadow cascades redraw less often (#388)
glTF
- Many more real-world files load: meshopt, WebP, spec-gloss, optional extensions, skeleton-only clips and common Sketchfab defects (#496)
- KTX2 textures stay GPU-compressed, about a quarter of the memory (#304)
- Large texture sets scale down instead of throwing, and the default limits are higher (#260)
Animation and physics
- Cloth follows moving characters, and steps live with pins and tearing (#326)
renderer.updatePartsis about 6 times faster for matrix and colour updates (#299)
Tools, docs and site
- Video export encodes in the browser: a 4,488-frame film took 21 s instead of 140 s (#301)
- Path traced jobs can use Intel Open Image Denoise (#303)
- The docs are now interactive learn pages with live examples, plus an API reference (#508)
- The showcase worlds show their first frame sooner and stream the rest in (#445)
- Agent benchmarks against three.js code and the Blender MCP on the same tasks (#31)
Breaking changes
- Skin, morph, water, foliage, terrain, liquid and splat shaders moved into addons. A renderer that draws those parts without the import throws and names it. Recipes and loaders import them on their own (#281)
- glTF limit errors are one
RangeErrorthat names every limit the file goes over. Match on the option name, not the old message (#458) material.lightMaskdefaults to-1, every light (#261)normalizeAgentLookreturnsfogDensity: nullfor fog that fits the scene (#263)
Install: npm install @codepawlhq/67js@0.16.0