@headless-three/renderer 0.1.7 → 0.1.8

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.
Files changed (58) hide show
  1. package/README.md +227 -52
  2. package/dist/attributes.d.ts +7 -5
  3. package/dist/attributes.d.ts.map +1 -1
  4. package/dist/attributes.js +112 -36
  5. package/dist/attributes.js.map +1 -1
  6. package/dist/camera.d.ts +1 -0
  7. package/dist/camera.d.ts.map +1 -1
  8. package/dist/camera.js +52 -13
  9. package/dist/camera.js.map +1 -1
  10. package/dist/clipping.d.ts +6 -0
  11. package/dist/clipping.d.ts.map +1 -0
  12. package/dist/clipping.js +84 -0
  13. package/dist/clipping.js.map +1 -0
  14. package/dist/color.d.ts +8 -3
  15. package/dist/color.d.ts.map +1 -1
  16. package/dist/color.js +136 -11
  17. package/dist/color.js.map +1 -1
  18. package/dist/index.d.ts +770 -5
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +6208 -46
  21. package/dist/index.js.map +1 -1
  22. package/dist/layers.d.ts +3 -0
  23. package/dist/layers.d.ts.map +1 -0
  24. package/dist/layers.js +33 -0
  25. package/dist/layers.js.map +1 -0
  26. package/dist/lights.d.ts +5 -4
  27. package/dist/lights.d.ts.map +1 -1
  28. package/dist/lights.js +473 -77
  29. package/dist/lights.js.map +1 -1
  30. package/dist/loaders.d.ts +92 -0
  31. package/dist/loaders.d.ts.map +1 -0
  32. package/dist/loaders.js +858 -0
  33. package/dist/loaders.js.map +1 -0
  34. package/dist/materials.d.ts +38 -6
  35. package/dist/materials.d.ts.map +1 -1
  36. package/dist/materials.js +4236 -162
  37. package/dist/materials.js.map +1 -1
  38. package/dist/math.js +2 -2
  39. package/dist/math.js.map +1 -1
  40. package/dist/morphs.d.ts.map +1 -1
  41. package/dist/morphs.js +50 -15
  42. package/dist/morphs.js.map +1 -1
  43. package/dist/objects.d.ts +4 -0
  44. package/dist/objects.d.ts.map +1 -0
  45. package/dist/objects.js +25 -0
  46. package/dist/objects.js.map +1 -0
  47. package/dist/scene.d.ts +251 -2
  48. package/dist/scene.d.ts.map +1 -1
  49. package/dist/scene.js +3679 -105
  50. package/dist/scene.js.map +1 -1
  51. package/dist/skinning.d.ts.map +1 -1
  52. package/dist/skinning.js +37 -18
  53. package/dist/skinning.js.map +1 -1
  54. package/dist/types.d.ts +1261 -12
  55. package/dist/types.d.ts.map +1 -1
  56. package/native.d.ts +761 -3
  57. package/native.js +54 -52
  58. package/package.json +20 -9
package/dist/layers.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectLayersMatchCamera = objectLayersMatchCamera;
4
+ const DEFAULT_LAYER_MASK = 1;
5
+ function objectLayersMatchCamera(object, camera) {
6
+ const cameraLayers = camera?.layers;
7
+ if (!cameraLayers)
8
+ return true;
9
+ const objectLayers = object.layers;
10
+ layerMask(cameraLayers, 'camera.layers');
11
+ layerMask(objectLayers, 'object.layers');
12
+ if (typeof objectLayers?.test === 'function') {
13
+ const result = objectLayers.test(cameraLayers);
14
+ if (typeof result !== 'boolean') {
15
+ throw new TypeError('object.layers.test(camera.layers) must return a boolean.');
16
+ }
17
+ return result;
18
+ }
19
+ return (layerMask(objectLayers, 'object.layers') & layerMask(cameraLayers, 'camera.layers')) !== 0;
20
+ }
21
+ function layerMask(layers, label) {
22
+ if (layers == null)
23
+ return DEFAULT_LAYER_MASK;
24
+ if (typeof layers !== 'object' || Array.isArray(layers)) {
25
+ throw new TypeError(`${label} must be a layers-like object.`);
26
+ }
27
+ if (layers.mask == null)
28
+ return DEFAULT_LAYER_MASK;
29
+ if (typeof layers.mask === 'number' && Number.isFinite(layers.mask))
30
+ return layers.mask;
31
+ throw new TypeError(`${label}.mask must be a finite number.`);
32
+ }
33
+ //# sourceMappingURL=layers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layers.js","sourceRoot":"","sources":["../api/layers.ts"],"names":[],"mappings":";;AAIA,0DAmBC;AArBD,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAE5B,SAAgB,uBAAuB,CACrC,MAAyB,EACzB,MAAwB;IAExB,MAAM,YAAY,GAAG,MAAM,EAAE,MAAM,CAAA;IACnC,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAClC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IACxC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IACxC,IAAI,OAAO,YAAY,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAA;QACjF,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAA;AACpG,CAAC;AAED,SAAS,SAAS,CAAC,MAAmC,EAAE,KAAa;IACnE,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,kBAAkB,CAAA;IAC7C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,kBAAkB,CAAA;IAClD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAA;IACvF,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAA;AAC/D,CAAC"}
package/dist/lights.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { ThreeObject3DLike, NativeSceneLight } from './types';
2
- export declare function extractLights(scene: ThreeObject3DLike): NativeSceneLight[] | undefined;
3
- export declare function extractAmbientLight(scene: ThreeObject3DLike): number[] | null;
4
- export declare function extractAmbientIntensity(scene: ThreeObject3DLike): number | undefined;
1
+ import type { ThreeCameraLike, ThreeObject3DLike, NativeSceneLight } from './types';
2
+ export declare function extractLights(scene: ThreeObject3DLike, camera?: ThreeCameraLike): NativeSceneLight[] | undefined;
3
+ export declare function extractAmbientLight(scene: ThreeObject3DLike, camera?: ThreeCameraLike): number[] | null;
4
+ export declare function extractAmbientIntensity(scene: ThreeObject3DLike, camera?: ThreeCameraLike): number | undefined;
5
+ export declare function extractLightProbe(scene: ThreeObject3DLike, camera?: ThreeCameraLike): number[] | null;
5
6
  //# sourceMappingURL=lights.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lights.d.ts","sourceRoot":"","sources":["../api/lights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGlE,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,GAAG,SAAS,CAItF;AA+ID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,EAAE,GAAG,IAAI,CAa7E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAMpF"}
1
+ {"version":3,"file":"lights.d.ts","sourceRoot":"","sources":["../api/lights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAWnF,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,gBAAgB,EAAE,GAAG,SAAS,CAKhH;AAkfD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,GAAG,IAAI,CAavG;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAM9G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,GAAG,IAAI,CA0BrG"}