@layoutit/polycss-core 0.2.7 → 0.2.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.
package/dist/three.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";var g=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var A=e=>{throw TypeError(e)};var H=(e,t)=>{for(var r in t)g(e,r,{get:t[r],enumerable:!0})},R=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _(t))!D.call(e,n)&&n!==r&&g(e,n,{get:()=>t[n],enumerable:!(o=L(t,n))||o.enumerable});return e};var j=e=>R(g({},"__esModule",{value:!0}),e);var E=(e,t,r)=>t.has(e)||A("Cannot "+r);var l=(e,t,r)=>(E(e,t,"read from private field"),r?r.call(e):t.get(e)),P=(e,t,r)=>t.has(e)?A("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),d=(e,t,r,o)=>(E(e,t,"write to private field"),o?o.call(e,r):t.set(e,r),r);var q={};H(q,{AmbientLight:()=>w,DirectionalLight:()=>T,Euler:()=>f,Object3D:()=>u,OrthographicCamera:()=>C,PerspectiveCamera:()=>S,PointLight:()=>V,Vector3:()=>s,polyToThreeDirection:()=>k,polyToThreePoint:()=>B,threeToPolyDirection:()=>Y,threeToPolyPoint:()=>m,transformPointToPoly:()=>O,transformPolygonsToPoly:()=>v});module.exports=j(q);var z=Math.PI/180,F=1e-12,M=420,s=class e{constructor(t=0,r=0,o=0){this.x=t,this.y=r,this.z=o}set(t,r,o){return this.x=t,this.y=r,this.z=o,this}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}clone(){return new e(this.x,this.y,this.z)}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}cross(t){let r=this.y*t.z-this.z*t.y,o=this.z*t.x-this.x*t.z,n=this.x*t.y-this.y*t.x;return this.x=r,this.y=o,this.z=n,this}length(){return Math.hypot(this.x,this.y,this.z)}normalize(){let t=this.length();return t>F&&this.multiplyScalar(1/t),this}toArray(){return[this.x,this.y,this.z]}},y,f=class{constructor(t=0,r=0,o=0,n=()=>{}){this.order="XYZ";P(this,y);this.x=t,this.y=r,this.z=o,d(this,y,n)}set(t,r,o){return this.x=t,this.y=r,this.z=o,l(this,y).call(this),this}};y=new WeakMap;var h,u=class{constructor(){this.position=new s;this.scale=new s(1,1,1);this.up=new s(0,1,0);P(this,h,null);this.rotation=new f(0,0,0,()=>{d(this,h,null)})}lookAt(t,r,o){return d(this,h,t instanceof s?t.clone():new s(t,r??0,o??0)),this}get lookAtTarget(){return l(this,h)?.clone()??null}localToWorld(t){return X(new s(t.x*this.scale.x,t.y*this.scale.y,t.z*this.scale.z),this.rotation).add(this.position)}worldForward(){return l(this,h)?l(this,h).clone().sub(this.position).normalize():X(new s(0,0,-1),this.rotation).normalize()}};h=new WeakMap;var S=class extends u{constructor(r=50,o=1,n=.1,i=2e3){super();this.type="PerspectiveCamera";this.zoom=1;this.fov=r,this.aspect=o,this.near=n,this.far=i}toPolyCameraState(r={}){let o=r.perspective??N(this.fov,r.viewportHeight??M,this.zoom),n=$(this,r.zoom??50);return{...n,distance:n.distance-o,perspective:o}}},C=class extends u{constructor(r=-1,o=1,n=1,i=-1,a=.1,c=2e3){super();this.type="OrthographicCamera";this.zoom=1;this.left=r,this.right=o,this.top=n,this.bottom=i,this.near=a,this.far=c}toPolyCameraState(r={}){let o=Math.abs(this.top-this.bottom)||1,n=r.zoom??(r.viewportHeight??M)/o*this.zoom;return $(this,n)}},T=class extends u{constructor(r="#ffffff",o=1){super();this.target=new u;this.color=r,this.intensity=o,this.position.set(0,1,0)}toPolyDirectionalLight(){let r=this.position.clone().sub(this.target.position).normalize();return{direction:Y(r),color:this.color,intensity:this.intensity}}},V=class extends u{constructor(r="#ffffff",o=1,n=0,i=0){super();this.castShadow=!1;this.color=r,this.intensity=o,this.distance=n,this.decay=i}toPolyPointLight(){return{position:m(this.position),color:this.color,intensity:this.intensity,castShadow:this.castShadow}}},w=class{constructor(t="#ffffff",r=1){this.color=t,this.intensity=r}toPolyAmbientLight(){return{color:this.color,intensity:this.intensity}}};function m(e){let[t,r,o]=I(e);return[t,-o,r]}function B(e){return new s(e[0],e[2],-e[1])}function Y(e){let[t,r,o]=I(e);return[t,-o,r]}function k(e){return new s(e[0],e[2],-e[1])}function O(e,t){return m(t.localToWorld(W(e)))}function v(e,t){return e.map(r=>({...r,vertices:r.vertices.map(o=>O(o,t)),...r.textureTriangles?.length?{textureTriangles:r.textureTriangles.map(o=>({...o,vertices:o.vertices.map(n=>O(n,t))}))}:null}))}function $(e,t){let r=e.lookAtTarget??e.position.clone().add(e.worldForward()),o=m(e.position),n=m(r),i=o[0]-n[0],a=o[1]-n[1],c=o[2]-n[2],p=Math.hypot(i,a)||F;return{target:n,rotX:Math.atan2(p,c)/z,rotY:Math.atan2(a,i)/z,zoom:t,distance:Math.hypot(i,a,c)*t}}function X(e,t){let r=Math.cos(t.x),o=Math.sin(t.x),n=Math.cos(t.y),i=Math.sin(t.y),a=Math.cos(t.z),c=Math.sin(t.z),p=e.x,x=e.y,b=e.z;return new s(n*a*p-n*c*x+i*b,(r*c+o*a*i)*p+(r*a-o*c*i)*x-o*n*b,(o*c-r*a*i)*p+(o*a+r*c*i)*x+r*n*b)}function N(e,t,r=1){return t*r/(2*Math.tan(e*z/2))}function W(e){return e instanceof s?e.clone():new s(e[0],e[1],e[2])}function I(e){return e instanceof s?[e.x,e.y,e.z]:e}0&&(module.exports={AmbientLight,DirectionalLight,Euler,Object3D,OrthographicCamera,PerspectiveCamera,PointLight,Vector3,polyToThreeDirection,polyToThreePoint,threeToPolyDirection,threeToPolyPoint,transformPointToPoly,transformPolygonsToPoly});
@@ -0,0 +1,108 @@
1
+ import { b as PolyAmbientLight, a as PolyDirectionalLight, C as CameraState, c as PolyPointLight, V as Vec3, P as Polygon } from './camera-VU-yix11.cjs';
2
+
3
+ type Vector3Tuple = [number, number, number];
4
+ interface PolyCameraFromThreeOptions {
5
+ /** PolyCSS CSS-pixel scale per world unit. Defaults to BASE_TILE. */
6
+ zoom?: number;
7
+ /** Viewport height in CSS px for fov/frustum conversion. Defaults to 420. */
8
+ viewportHeight?: number;
9
+ }
10
+ interface PolyPerspectiveCameraFromThreeOptions extends PolyCameraFromThreeOptions {
11
+ /** CSS perspective distance in px. Defaults to the value derived from fov. */
12
+ perspective?: number;
13
+ }
14
+ type PolyOrthographicCameraFromThreeOptions = PolyCameraFromThreeOptions;
15
+ interface PolyPerspectiveCameraOptionsFromThree extends CameraState {
16
+ perspective: number;
17
+ }
18
+ type PolyOrthographicCameraOptionsFromThree = CameraState;
19
+ declare class Vector3 {
20
+ x: number;
21
+ y: number;
22
+ z: number;
23
+ constructor(x?: number, y?: number, z?: number);
24
+ set(x: number, y: number, z: number): this;
25
+ copy(v: Vector3): this;
26
+ clone(): Vector3;
27
+ add(v: Vector3): this;
28
+ sub(v: Vector3): this;
29
+ multiplyScalar(s: number): this;
30
+ dot(v: Vector3): number;
31
+ cross(v: Vector3): this;
32
+ length(): number;
33
+ normalize(): this;
34
+ toArray(): Vector3Tuple;
35
+ }
36
+ declare class Euler {
37
+ #private;
38
+ x: number;
39
+ y: number;
40
+ z: number;
41
+ readonly order = "XYZ";
42
+ constructor(x?: number, y?: number, z?: number, onChange?: () => void);
43
+ set(x: number, y: number, z: number): this;
44
+ }
45
+ declare class Object3D {
46
+ #private;
47
+ readonly position: Vector3;
48
+ readonly rotation: Euler;
49
+ readonly scale: Vector3;
50
+ up: Vector3;
51
+ constructor();
52
+ lookAt(x: number | Vector3, y?: number, z?: number): this;
53
+ get lookAtTarget(): Vector3 | null;
54
+ localToWorld(v: Vector3): Vector3;
55
+ worldForward(): Vector3;
56
+ }
57
+ declare class PerspectiveCamera extends Object3D {
58
+ readonly type = "PerspectiveCamera";
59
+ fov: number;
60
+ aspect: number;
61
+ near: number;
62
+ far: number;
63
+ zoom: number;
64
+ constructor(fov?: number, aspect?: number, near?: number, far?: number);
65
+ toPolyCameraState(options?: PolyPerspectiveCameraFromThreeOptions): PolyPerspectiveCameraOptionsFromThree;
66
+ }
67
+ declare class OrthographicCamera extends Object3D {
68
+ readonly type = "OrthographicCamera";
69
+ left: number;
70
+ right: number;
71
+ top: number;
72
+ bottom: number;
73
+ near: number;
74
+ far: number;
75
+ zoom: number;
76
+ constructor(left?: number, right?: number, top?: number, bottom?: number, near?: number, far?: number);
77
+ toPolyCameraState(options?: PolyOrthographicCameraFromThreeOptions): PolyOrthographicCameraOptionsFromThree;
78
+ }
79
+ declare class DirectionalLight extends Object3D {
80
+ readonly target: Object3D;
81
+ color: string;
82
+ intensity: number;
83
+ constructor(color?: string, intensity?: number);
84
+ toPolyDirectionalLight(): PolyDirectionalLight;
85
+ }
86
+ declare class PointLight extends Object3D {
87
+ color: string;
88
+ intensity: number;
89
+ distance: number;
90
+ decay: number;
91
+ castShadow: boolean;
92
+ constructor(color?: string, intensity?: number, distance?: number, decay?: number);
93
+ toPolyPointLight(): PolyPointLight;
94
+ }
95
+ declare class AmbientLight {
96
+ color: string;
97
+ intensity: number;
98
+ constructor(color?: string, intensity?: number);
99
+ toPolyAmbientLight(): PolyAmbientLight;
100
+ }
101
+ declare function threeToPolyPoint(v: Vector3 | Vector3Tuple): Vec3;
102
+ declare function polyToThreePoint(v: Vec3): Vector3;
103
+ declare function threeToPolyDirection(v: Vector3 | Vector3Tuple): Vec3;
104
+ declare function polyToThreeDirection(v: Vec3): Vector3;
105
+ declare function transformPointToPoly(point: Vector3 | Vector3Tuple, object: Object3D): Vec3;
106
+ declare function transformPolygonsToPoly(polygons: Polygon[], object: Object3D): Polygon[];
107
+
108
+ export { AmbientLight, DirectionalLight, Euler, Object3D, OrthographicCamera, PerspectiveCamera, PointLight, type PolyCameraFromThreeOptions, type PolyOrthographicCameraFromThreeOptions, type PolyOrthographicCameraOptionsFromThree, type PolyPerspectiveCameraFromThreeOptions, type PolyPerspectiveCameraOptionsFromThree, Vector3, type Vector3Tuple, polyToThreeDirection, polyToThreePoint, threeToPolyDirection, threeToPolyPoint, transformPointToPoly, transformPolygonsToPoly };
@@ -0,0 +1,108 @@
1
+ import { b as PolyAmbientLight, a as PolyDirectionalLight, C as CameraState, c as PolyPointLight, V as Vec3, P as Polygon } from './camera-VU-yix11.js';
2
+
3
+ type Vector3Tuple = [number, number, number];
4
+ interface PolyCameraFromThreeOptions {
5
+ /** PolyCSS CSS-pixel scale per world unit. Defaults to BASE_TILE. */
6
+ zoom?: number;
7
+ /** Viewport height in CSS px for fov/frustum conversion. Defaults to 420. */
8
+ viewportHeight?: number;
9
+ }
10
+ interface PolyPerspectiveCameraFromThreeOptions extends PolyCameraFromThreeOptions {
11
+ /** CSS perspective distance in px. Defaults to the value derived from fov. */
12
+ perspective?: number;
13
+ }
14
+ type PolyOrthographicCameraFromThreeOptions = PolyCameraFromThreeOptions;
15
+ interface PolyPerspectiveCameraOptionsFromThree extends CameraState {
16
+ perspective: number;
17
+ }
18
+ type PolyOrthographicCameraOptionsFromThree = CameraState;
19
+ declare class Vector3 {
20
+ x: number;
21
+ y: number;
22
+ z: number;
23
+ constructor(x?: number, y?: number, z?: number);
24
+ set(x: number, y: number, z: number): this;
25
+ copy(v: Vector3): this;
26
+ clone(): Vector3;
27
+ add(v: Vector3): this;
28
+ sub(v: Vector3): this;
29
+ multiplyScalar(s: number): this;
30
+ dot(v: Vector3): number;
31
+ cross(v: Vector3): this;
32
+ length(): number;
33
+ normalize(): this;
34
+ toArray(): Vector3Tuple;
35
+ }
36
+ declare class Euler {
37
+ #private;
38
+ x: number;
39
+ y: number;
40
+ z: number;
41
+ readonly order = "XYZ";
42
+ constructor(x?: number, y?: number, z?: number, onChange?: () => void);
43
+ set(x: number, y: number, z: number): this;
44
+ }
45
+ declare class Object3D {
46
+ #private;
47
+ readonly position: Vector3;
48
+ readonly rotation: Euler;
49
+ readonly scale: Vector3;
50
+ up: Vector3;
51
+ constructor();
52
+ lookAt(x: number | Vector3, y?: number, z?: number): this;
53
+ get lookAtTarget(): Vector3 | null;
54
+ localToWorld(v: Vector3): Vector3;
55
+ worldForward(): Vector3;
56
+ }
57
+ declare class PerspectiveCamera extends Object3D {
58
+ readonly type = "PerspectiveCamera";
59
+ fov: number;
60
+ aspect: number;
61
+ near: number;
62
+ far: number;
63
+ zoom: number;
64
+ constructor(fov?: number, aspect?: number, near?: number, far?: number);
65
+ toPolyCameraState(options?: PolyPerspectiveCameraFromThreeOptions): PolyPerspectiveCameraOptionsFromThree;
66
+ }
67
+ declare class OrthographicCamera extends Object3D {
68
+ readonly type = "OrthographicCamera";
69
+ left: number;
70
+ right: number;
71
+ top: number;
72
+ bottom: number;
73
+ near: number;
74
+ far: number;
75
+ zoom: number;
76
+ constructor(left?: number, right?: number, top?: number, bottom?: number, near?: number, far?: number);
77
+ toPolyCameraState(options?: PolyOrthographicCameraFromThreeOptions): PolyOrthographicCameraOptionsFromThree;
78
+ }
79
+ declare class DirectionalLight extends Object3D {
80
+ readonly target: Object3D;
81
+ color: string;
82
+ intensity: number;
83
+ constructor(color?: string, intensity?: number);
84
+ toPolyDirectionalLight(): PolyDirectionalLight;
85
+ }
86
+ declare class PointLight extends Object3D {
87
+ color: string;
88
+ intensity: number;
89
+ distance: number;
90
+ decay: number;
91
+ castShadow: boolean;
92
+ constructor(color?: string, intensity?: number, distance?: number, decay?: number);
93
+ toPolyPointLight(): PolyPointLight;
94
+ }
95
+ declare class AmbientLight {
96
+ color: string;
97
+ intensity: number;
98
+ constructor(color?: string, intensity?: number);
99
+ toPolyAmbientLight(): PolyAmbientLight;
100
+ }
101
+ declare function threeToPolyPoint(v: Vector3 | Vector3Tuple): Vec3;
102
+ declare function polyToThreePoint(v: Vec3): Vector3;
103
+ declare function threeToPolyDirection(v: Vector3 | Vector3Tuple): Vec3;
104
+ declare function polyToThreeDirection(v: Vec3): Vector3;
105
+ declare function transformPointToPoly(point: Vector3 | Vector3Tuple, object: Object3D): Vec3;
106
+ declare function transformPolygonsToPoly(polygons: Polygon[], object: Object3D): Polygon[];
107
+
108
+ export { AmbientLight, DirectionalLight, Euler, Object3D, OrthographicCamera, PerspectiveCamera, PointLight, type PolyCameraFromThreeOptions, type PolyOrthographicCameraFromThreeOptions, type PolyOrthographicCameraOptionsFromThree, type PolyPerspectiveCameraFromThreeOptions, type PolyPerspectiveCameraOptionsFromThree, Vector3, type Vector3Tuple, polyToThreeDirection, polyToThreePoint, threeToPolyDirection, threeToPolyPoint, transformPointToPoly, transformPolygonsToPoly };
package/dist/three.js ADDED
@@ -0,0 +1 @@
1
+ var z=e=>{throw TypeError(e)};var S=(e,t,r)=>t.has(e)||z("Cannot "+r);var l=(e,t,r)=>(S(e,t,"read from private field"),r?r.call(e):t.get(e)),b=(e,t,r)=>t.has(e)?z("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),y=(e,t,r,o)=>(S(e,t,"write to private field"),o?o.call(e,r):t.set(e,r),r);var g=Math.PI/180,X=1e-12,F=420,i=class e{constructor(t=0,r=0,o=0){this.x=t,this.y=r,this.z=o}set(t,r,o){return this.x=t,this.y=r,this.z=o,this}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}clone(){return new e(this.x,this.y,this.z)}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}cross(t){let r=this.y*t.z-this.z*t.y,o=this.z*t.x-this.x*t.z,n=this.x*t.y-this.y*t.x;return this.x=r,this.y=o,this.z=n,this}length(){return Math.hypot(this.x,this.y,this.z)}normalize(){let t=this.length();return t>X&&this.multiplyScalar(1/t),this}toArray(){return[this.x,this.y,this.z]}},m,P=class{constructor(t=0,r=0,o=0,n=()=>{}){this.order="XYZ";b(this,m);this.x=t,this.y=r,this.z=o,y(this,m,n)}set(t,r,o){return this.x=t,this.y=r,this.z=o,l(this,m).call(this),this}};m=new WeakMap;var h,u=class{constructor(){this.position=new i;this.scale=new i(1,1,1);this.up=new i(0,1,0);b(this,h,null);this.rotation=new P(0,0,0,()=>{y(this,h,null)})}lookAt(t,r,o){return y(this,h,t instanceof i?t.clone():new i(t,r??0,o??0)),this}get lookAtTarget(){return l(this,h)?.clone()??null}localToWorld(t){return E(new i(t.x*this.scale.x,t.y*this.scale.y,t.z*this.scale.z),this.rotation).add(this.position)}worldForward(){return l(this,h)?l(this,h).clone().sub(this.position).normalize():E(new i(0,0,-1),this.rotation).normalize()}};h=new WeakMap;var C=class extends u{constructor(r=50,o=1,n=.1,s=2e3){super();this.type="PerspectiveCamera";this.zoom=1;this.fov=r,this.aspect=o,this.near=n,this.far=s}toPolyCameraState(r={}){let o=r.perspective??L(this.fov,r.viewportHeight??F,this.zoom),n=M(this,r.zoom??50);return{...n,distance:n.distance-o,perspective:o}}},T=class extends u{constructor(r=-1,o=1,n=1,s=-1,a=.1,c=2e3){super();this.type="OrthographicCamera";this.zoom=1;this.left=r,this.right=o,this.top=n,this.bottom=s,this.near=a,this.far=c}toPolyCameraState(r={}){let o=Math.abs(this.top-this.bottom)||1,n=r.zoom??(r.viewportHeight??F)/o*this.zoom;return M(this,n)}},V=class extends u{constructor(r="#ffffff",o=1){super();this.target=new u;this.color=r,this.intensity=o,this.position.set(0,1,0)}toPolyDirectionalLight(){let r=this.position.clone().sub(this.target.position).normalize();return{direction:I(r),color:this.color,intensity:this.intensity}}},w=class extends u{constructor(r="#ffffff",o=1,n=0,s=0){super();this.castShadow=!1;this.color=r,this.intensity=o,this.distance=n,this.decay=s}toPolyPointLight(){return{position:d(this.position),color:this.color,intensity:this.intensity,castShadow:this.castShadow}}},O=class{constructor(t="#ffffff",r=1){this.color=t,this.intensity=r}toPolyAmbientLight(){return{color:this.color,intensity:this.intensity}}};function d(e){let[t,r,o]=Y(e);return[t,-o,r]}function j(e){return new i(e[0],e[2],-e[1])}function I(e){let[t,r,o]=Y(e);return[t,-o,r]}function Z(e){return new i(e[0],e[2],-e[1])}function A(e,t){return d(t.localToWorld(_(e)))}function B(e,t){return e.map(r=>({...r,vertices:r.vertices.map(o=>A(o,t)),...r.textureTriangles?.length?{textureTriangles:r.textureTriangles.map(o=>({...o,vertices:o.vertices.map(n=>A(n,t))}))}:null}))}function M(e,t){let r=e.lookAtTarget??e.position.clone().add(e.worldForward()),o=d(e.position),n=d(r),s=o[0]-n[0],a=o[1]-n[1],c=o[2]-n[2],p=Math.hypot(s,a)||X;return{target:n,rotX:Math.atan2(p,c)/g,rotY:Math.atan2(a,s)/g,zoom:t,distance:Math.hypot(s,a,c)*t}}function E(e,t){let r=Math.cos(t.x),o=Math.sin(t.x),n=Math.cos(t.y),s=Math.sin(t.y),a=Math.cos(t.z),c=Math.sin(t.z),p=e.x,f=e.y,x=e.z;return new i(n*a*p-n*c*f+s*x,(r*c+o*a*s)*p+(r*a-o*c*s)*f-o*n*x,(o*c-r*a*s)*p+(o*a+r*c*s)*f+r*n*x)}function L(e,t,r=1){return t*r/(2*Math.tan(e*g/2))}function _(e){return e instanceof i?e.clone():new i(e[0],e[1],e[2])}function Y(e){return e instanceof i?[e.x,e.y,e.z]:e}export{O as AmbientLight,V as DirectionalLight,P as Euler,u as Object3D,T as OrthographicCamera,C as PerspectiveCamera,w as PointLight,i as Vector3,Z as polyToThreeDirection,j as polyToThreePoint,I as threeToPolyDirection,d as threeToPolyPoint,A as transformPointToPoly,B as transformPolygonsToPoly};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layoutit/polycss-core",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "Pure math engine for CSS polygon mesh rendering. Zero browser globals.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -34,6 +34,18 @@
34
34
  "types": "./dist/index.d.ts",
35
35
  "import": "./dist/index.js",
36
36
  "require": "./dist/index.cjs"
37
+ },
38
+ "./three": {
39
+ "types": "./dist/three.d.ts",
40
+ "import": "./dist/three.js",
41
+ "require": "./dist/three.cjs"
42
+ }
43
+ },
44
+ "typesVersions": {
45
+ "*": {
46
+ "three": [
47
+ "dist/three.d.ts"
48
+ ]
37
49
  }
38
50
  },
39
51
  "publishConfig": {