@opsydyn/effect-three 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.0](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-v0.1.0...effect-three-v0.2.0) (2026-10-19)
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ - **effect-three:** `RenderKit.drawsLabels` is gone; a render kit names its `shading` instead. Code that spreads a renderer factory to instrument it is unaffected.
8
+
9
+ ### Features
10
+
11
+ - **effect-three:** render kits name their kind of material; label engines may draw with TSL ([8059fde](https://github.com/opsydyn/fold-kit-experiments/commit/8059fde41349297dea0c7c3383361333dc6a25ad))
12
+ - **samples:** agent-driven XR room, WebGPU label fallback, Drei audit, WebGPU labels spike ([6f3c1a8](https://github.com/opsydyn/fold-kit-experiments/commit/6f3c1a88aee302f5a62c94a75419ded6f572f4d3))
13
+
3
14
  ## 0.1.0 (2026-10-18)
4
15
 
5
16
  ### Features
package/README.md CHANGED
@@ -144,7 +144,7 @@ Everything needed for deterministic headless tests ships with the package:
144
144
  - `recordingRendererFactory()`: counts renders and records viewport and disposal.
145
145
  - `createManualFrames()`: frames run when you call `step()`.
146
146
  - Effect's `TestClock`: scene time comes from the `Clock` service's monotonic reading.
147
- - **Renderers:** `webglRendererFactory` (the default) or `webgpuRendererFactory` (three's `WebGPURenderer`: WebGPU where available, its WebGL 2 backend otherwise), each carrying its render kit (`@opsydyn/effect-three/webgl` or `/webgpu`). Labels need WebGL. See [ADR-010](../../docs/effect-three/adr/010-webgpu-renderer.md).
147
+ - **Renderers:** `webglRendererFactory` (the default) or `webgpuRendererFactory` (three's `WebGPURenderer`: WebGPU where available, its WebGL 2 backend otherwise), each carrying its render kit (`@opsydyn/effect-three/webgl` or `/webgpu`). Under WebGPU, labels draw with `troikaLabels` from `@opsydyn/effect-three-troika/webgpu`. See [ADR-010](../../docs/effect-three/adr/010-webgpu-renderer.md).
148
148
  - `createSceneGraph()`: the synchronous kernel on its own, with `object(key)` and resource `stats()` for assertions. Pass `kit: webglKit` (from `@opsydyn/effect-three/webgl`) to draw skies, shader grids and contact shadows; `webglRendererFactory` carries it for you.
149
149
 
150
150
  ## Stability
@@ -159,8 +159,6 @@ patch.
159
159
 
160
160
  - **WebXR on `WebGPURenderer`** is wired but untested: the headset emulator the tests use
161
161
  (IWER) cannot render into it. WebXR on the WebGL renderer is tested.
162
- - **Labels are not drawn under WebGPU**: troika builds WebGL shaders and has no WebGPU
163
- path. A scene with labels draws everything else.
164
162
  - **DOM overlay** (`xr({ domOverlay: true })`) is checked only in the session request; the
165
163
  emulator has no overlay.
166
164
 
@@ -4363,7 +4363,7 @@ var createSceneGraph2 = (options = {}) => {
4363
4363
  return entry;
4364
4364
  }
4365
4365
  case "Label": {
4366
- const hosted = options.kit?.drawsLabels === false ? undefined : options.labels?.create(node, invalidate);
4366
+ const hosted = options.kit?.shading === "tsl" ? options.labels?.createTsl?.(node, invalidate) : options.labels?.create(node, invalidate);
4367
4367
  const material = node.material === null ? undefined : store.acquireMaterial(node.material);
4368
4368
  hosted?.setMaterial(material);
4369
4369
  const entry = { _tag: "Label", node, object: new Group, hosted, material };
@@ -5114,5 +5114,5 @@ var createSceneGraph2 = (options = {}) => {
5114
5114
  };
5115
5115
  export { handJoints2, clipTime2, clipRunning2, createPose2, resetPose2, float2, builtinBehaviours2, spinAngle2, writeRotation2, buildMaterial2, updateMaterial2, vec3Equals2, rotationEquals2, shapeEquals2, geometryRefEquals2, instanceEquals2, instancesEqual2, behaviourEquals2, animationEquals2, transitionEquals2, materialRefEquals2, cameraEquals2, renderSettingsEquals2, effectsEqual2, viewsEqual2, resourcesEqual2, overlaysEqual2, environmentEquals2, skyEquals2, contactShadowsEquals2, bodyEquals2, physicsEquals2, xrEquals2, capacityFor2, createPerformanceMonitor2, easeProgress2, startTween2, applyTween2, fixed2, spin2, box2, sphere2, plane2, cylinder2, torus2, cone2, capsule2, ring2, circle2, text2, instant2, ease2, basic2, lambert2, phong2, standard2, physical2, normalMaterial2, shadowMaterial2, grid2, shaderGrid2, sharedGeometry2, lentGeometry2, sharedMaterial2, group2, headSpace2, jointSpace2, controllerSpace2, anchorSpace2, planeSpace2, meshSpace2, xrMeshGeometryId2, xrMesh2, xrAnchor2, mesh2, body2, interactionGroups2, cuboidCollider2, ballCollider2, capsuleCollider2, cylinderCollider2, coneCollider2, velocityMotor2, positionMotor2, physics2, bodyRef2, joint2, fixedJoint2, sphericalJoint2, revoluteJoint2, prismaticJoint2, ropeJoint2, springJoint2, glide2, xr2, instance2, instances2, behave2, play2, borrowed2, label2, colorRange2, ambientLight2, directionalLight2, pointLight2, spotLight2, hemisphereLight2, perspectiveCamera2, orthographicCamera2, bloom2, vignette2, film2, renderSettings2, view2, renderTexture2, environment2, sunPositionFromAngles2, sky2, contactShadows2, overlay2, scene2, emptyIndex2, indexScene2, changedFields2, diff2, createResourceStore2, createSceneClock2, createManualFrames2, createGatedFrames2, createFramePacer2, defaultOrbit2, orbitOptions2, rotateCamera2, dollyCamera2, panCamera2, dollyCameraToward2, orbit2, orbitKey2, autoRotated2, fitCamera2, clipCamera2, placeOverlays2, interactionBits2, colliderFor2, describedColliders2, collidersFor2, colliderSignature2, locomote2, teleport2, glided2, createXrTracker2, environmentPresets2, environmentPresetUrl2, stagePresets2, stage2, centerOffset2, stageBounds2, noModifiers2, pointOnPlane2, createPicker2, createPointerTracker2, createSceneLoop2, recordingRendererFactory2, createSceneGraph2 };
5116
5116
 
5117
- //# debugId=45D70156AEB5E57864756E2164756E21
5118
- //# sourceMappingURL=index-ef8pbv9g.js.map
5117
+ //# debugId=C47554518AE363C364756E2164756E21
5118
+ //# sourceMappingURL=index-01kwfekm.js.map