@scenoco-three/core 0.1.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.
Files changed (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/dist/components/Follow.d.ts +15 -0
  4. package/dist/components/Follow.js +41 -0
  5. package/dist/components/LookAt.d.ts +11 -0
  6. package/dist/components/LookAt.js +30 -0
  7. package/dist/components/Oscillator.d.ts +13 -0
  8. package/dist/components/Oscillator.js +42 -0
  9. package/dist/components/Rotator.d.ts +5 -0
  10. package/dist/components/Rotator.js +21 -0
  11. package/dist/core/Component.d.ts +60 -0
  12. package/dist/core/Component.js +63 -0
  13. package/dist/core/Engine.d.ts +169 -0
  14. package/dist/core/Engine.js +468 -0
  15. package/dist/core/NodeRegistry.d.ts +99 -0
  16. package/dist/core/NodeRegistry.js +87 -0
  17. package/dist/core/Registry.d.ts +55 -0
  18. package/dist/core/Registry.js +28 -0
  19. package/dist/core/System.d.ts +33 -0
  20. package/dist/core/System.js +23 -0
  21. package/dist/core/decorators.d.ts +50 -0
  22. package/dist/core/decorators.js +142 -0
  23. package/dist/dsl/PrefabRef.d.ts +36 -0
  24. package/dist/dsl/PrefabRef.js +33 -0
  25. package/dist/dsl/bundle-format.d.ts +74 -0
  26. package/dist/dsl/bundle-format.js +41 -0
  27. package/dist/dsl/bundle-shared.d.ts +18 -0
  28. package/dist/dsl/bundle-shared.js +33 -0
  29. package/dist/dsl/compiled.d.ts +64 -0
  30. package/dist/dsl/compiled.js +1 -0
  31. package/dist/dsl/deserialize.d.ts +9 -0
  32. package/dist/dsl/deserialize.js +125 -0
  33. package/dist/dsl/instantiate.d.ts +40 -0
  34. package/dist/dsl/instantiate.js +111 -0
  35. package/dist/dsl/nodes.d.ts +1 -0
  36. package/dist/dsl/nodes.js +10 -0
  37. package/dist/dsl/types.d.ts +45 -0
  38. package/dist/dsl/types.js +120 -0
  39. package/dist/index.d.ts +13 -0
  40. package/dist/index.js +17 -0
  41. package/dist/internal.d.ts +7 -0
  42. package/dist/internal.js +7 -0
  43. package/dist/nodes/base.d.ts +31 -0
  44. package/dist/nodes/base.js +27 -0
  45. package/dist/nodes/geometry/BoxGeometry.d.ts +13 -0
  46. package/dist/nodes/geometry/BoxGeometry.js +44 -0
  47. package/dist/nodes/geometry/CylinderGeometry.d.ts +11 -0
  48. package/dist/nodes/geometry/CylinderGeometry.js +36 -0
  49. package/dist/nodes/geometry/PlaneGeometry.d.ts +11 -0
  50. package/dist/nodes/geometry/PlaneGeometry.js +36 -0
  51. package/dist/nodes/geometry/SphereGeometry.d.ts +10 -0
  52. package/dist/nodes/geometry/SphereGeometry.js +32 -0
  53. package/dist/nodes/geometry/TorusGeometry.d.ts +11 -0
  54. package/dist/nodes/geometry/TorusGeometry.js +36 -0
  55. package/dist/nodes/index.d.ts +36 -0
  56. package/dist/nodes/index.js +46 -0
  57. package/dist/nodes/manifest.d.ts +18 -0
  58. package/dist/nodes/manifest.js +64 -0
  59. package/dist/nodes/material/LineBasicMaterial.d.ts +11 -0
  60. package/dist/nodes/material/LineBasicMaterial.js +41 -0
  61. package/dist/nodes/material/MeshBasicMaterial.d.ts +11 -0
  62. package/dist/nodes/material/MeshBasicMaterial.js +41 -0
  63. package/dist/nodes/material/MeshStandardMaterial.d.ts +14 -0
  64. package/dist/nodes/material/MeshStandardMaterial.js +56 -0
  65. package/dist/nodes/material/PointsMaterial.d.ts +12 -0
  66. package/dist/nodes/material/PointsMaterial.js +46 -0
  67. package/dist/nodes/material/SpriteMaterial.d.ts +11 -0
  68. package/dist/nodes/material/SpriteMaterial.js +41 -0
  69. package/dist/nodes/object3d/AmbientLight.d.ts +7 -0
  70. package/dist/nodes/object3d/AmbientLight.js +26 -0
  71. package/dist/nodes/object3d/ArrayCamera.d.ts +5 -0
  72. package/dist/nodes/object3d/ArrayCamera.js +20 -0
  73. package/dist/nodes/object3d/BatchedMesh.d.ts +7 -0
  74. package/dist/nodes/object3d/BatchedMesh.js +31 -0
  75. package/dist/nodes/object3d/Bone.d.ts +5 -0
  76. package/dist/nodes/object3d/Bone.js +18 -0
  77. package/dist/nodes/object3d/DirectionalLight.d.ts +7 -0
  78. package/dist/nodes/object3d/DirectionalLight.js +29 -0
  79. package/dist/nodes/object3d/Group.d.ts +5 -0
  80. package/dist/nodes/object3d/Group.js +18 -0
  81. package/dist/nodes/object3d/HemisphereLight.d.ts +8 -0
  82. package/dist/nodes/object3d/HemisphereLight.js +30 -0
  83. package/dist/nodes/object3d/InstancedMesh.d.ts +6 -0
  84. package/dist/nodes/object3d/InstancedMesh.js +28 -0
  85. package/dist/nodes/object3d/LOD.d.ts +5 -0
  86. package/dist/nodes/object3d/LOD.js +20 -0
  87. package/dist/nodes/object3d/Line.d.ts +5 -0
  88. package/dist/nodes/object3d/Line.js +21 -0
  89. package/dist/nodes/object3d/LineLoop.d.ts +5 -0
  90. package/dist/nodes/object3d/LineLoop.js +21 -0
  91. package/dist/nodes/object3d/LineSegments.d.ts +5 -0
  92. package/dist/nodes/object3d/LineSegments.js +21 -0
  93. package/dist/nodes/object3d/Mesh.d.ts +5 -0
  94. package/dist/nodes/object3d/Mesh.js +21 -0
  95. package/dist/nodes/object3d/Object3D.d.ts +5 -0
  96. package/dist/nodes/object3d/Object3D.js +18 -0
  97. package/dist/nodes/object3d/OrthographicCamera.d.ts +11 -0
  98. package/dist/nodes/object3d/OrthographicCamera.js +42 -0
  99. package/dist/nodes/object3d/PerspectiveCamera.d.ts +8 -0
  100. package/dist/nodes/object3d/PerspectiveCamera.js +31 -0
  101. package/dist/nodes/object3d/PointLight.d.ts +9 -0
  102. package/dist/nodes/object3d/PointLight.js +34 -0
  103. package/dist/nodes/object3d/Points.d.ts +5 -0
  104. package/dist/nodes/object3d/Points.js +21 -0
  105. package/dist/nodes/object3d/RectAreaLight.d.ts +9 -0
  106. package/dist/nodes/object3d/RectAreaLight.js +34 -0
  107. package/dist/nodes/object3d/Scene.d.ts +5 -0
  108. package/dist/nodes/object3d/Scene.js +22 -0
  109. package/dist/nodes/object3d/SkinnedMesh.d.ts +5 -0
  110. package/dist/nodes/object3d/SkinnedMesh.js +23 -0
  111. package/dist/nodes/object3d/SpotLight.d.ts +11 -0
  112. package/dist/nodes/object3d/SpotLight.js +42 -0
  113. package/dist/nodes/object3d/Sprite.d.ts +5 -0
  114. package/dist/nodes/object3d/Sprite.js +21 -0
  115. package/dist/nodes/setting/Background.d.ts +6 -0
  116. package/dist/nodes/setting/Background.js +22 -0
  117. package/dist/nodes/setting/Fog.d.ts +8 -0
  118. package/dist/nodes/setting/Fog.js +30 -0
  119. package/dist/nodes/setting/FogExp2.d.ts +7 -0
  120. package/dist/nodes/setting/FogExp2.js +27 -0
  121. package/dist/nodes/targets.d.ts +5 -0
  122. package/dist/nodes/targets.js +5 -0
  123. package/package.json +42 -0
@@ -0,0 +1,34 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { RectAreaLight } from 'three';
8
+ import { Object3DNode } from '../base.js';
9
+ import { node, property } from '../../core/decorators.js';
10
+ let RectAreaLightNode = class RectAreaLightNode extends Object3DNode {
11
+ color = 0xffffff;
12
+ intensity = 1;
13
+ width = 10;
14
+ height = 10;
15
+ build() {
16
+ return new RectAreaLight(this.color, this.intensity, this.width, this.height);
17
+ }
18
+ };
19
+ __decorate([
20
+ property({ type: 'color', default: 0xffffff })
21
+ ], RectAreaLightNode.prototype, "color", void 0);
22
+ __decorate([
23
+ property({ type: 'float', default: 1 })
24
+ ], RectAreaLightNode.prototype, "intensity", void 0);
25
+ __decorate([
26
+ property({ type: 'float', default: 10 })
27
+ ], RectAreaLightNode.prototype, "width", void 0);
28
+ __decorate([
29
+ property({ type: 'float', default: 10 })
30
+ ], RectAreaLightNode.prototype, "height", void 0);
31
+ RectAreaLightNode = __decorate([
32
+ node({ name: 'RectAreaLight', description: 'Uniform light across a rectangle (works with MeshStandardMaterial)' })
33
+ ], RectAreaLightNode);
34
+ export { RectAreaLightNode };
@@ -0,0 +1,5 @@
1
+ import { Group } from 'three';
2
+ import { Object3DNode } from '../base.js';
3
+ export declare class SceneNode extends Object3DNode {
4
+ build(): Group;
5
+ }
@@ -0,0 +1,22 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Group } from 'three';
8
+ import { Object3DNode } from '../base.js';
9
+ import { node } from '../../core/decorators.js';
10
+ let SceneNode = class SceneNode extends Object3DNode {
11
+ build() {
12
+ return new Group();
13
+ }
14
+ };
15
+ SceneNode = __decorate([
16
+ node({
17
+ name: 'Scene',
18
+ kind: 'scene',
19
+ description: 'Root of a scene file',
20
+ })
21
+ ], SceneNode);
22
+ export { SceneNode };
@@ -0,0 +1,5 @@
1
+ import { SkinnedMesh } from 'three';
2
+ import { Object3DNode } from '../base.js';
3
+ export declare class SkinnedMeshNode extends Object3DNode {
4
+ build(): SkinnedMesh;
5
+ }
@@ -0,0 +1,23 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { SkinnedMesh } from 'three';
8
+ import { Object3DNode } from '../base.js';
9
+ import { node } from '../../core/decorators.js';
10
+ // The skeleton is bound at runtime (a component calls `.bind(skeleton)`); the
11
+ // tag carries the geometry/material like a Mesh.
12
+ let SkinnedMeshNode = class SkinnedMeshNode extends Object3DNode {
13
+ build() {
14
+ return new SkinnedMesh();
15
+ }
16
+ };
17
+ SkinnedMeshNode = __decorate([
18
+ node({
19
+ name: 'SkinnedMesh',
20
+ description: 'A mesh deformed by a skeleton; skeleton bound by a component',
21
+ })
22
+ ], SkinnedMeshNode);
23
+ export { SkinnedMeshNode };
@@ -0,0 +1,11 @@
1
+ import { SpotLight } from 'three';
2
+ import { Object3DNode } from '../base.js';
3
+ export declare class SpotLightNode extends Object3DNode {
4
+ color: number;
5
+ intensity: number;
6
+ distance: number;
7
+ angle: number;
8
+ penumbra: number;
9
+ decay: number;
10
+ build(): SpotLight;
11
+ }
@@ -0,0 +1,42 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { SpotLight } from 'three';
8
+ import { Object3DNode } from '../base.js';
9
+ import { node, property } from '../../core/decorators.js';
10
+ let SpotLightNode = class SpotLightNode extends Object3DNode {
11
+ color = 0xffffff;
12
+ intensity = 1;
13
+ distance = 0;
14
+ angle = Math.PI / 3;
15
+ penumbra = 0;
16
+ decay = 2;
17
+ build() {
18
+ return new SpotLight(this.color, this.intensity, this.distance, this.angle, this.penumbra, this.decay);
19
+ }
20
+ };
21
+ __decorate([
22
+ property({ type: 'color', default: 0xffffff })
23
+ ], SpotLightNode.prototype, "color", void 0);
24
+ __decorate([
25
+ property({ type: 'float', default: 1 })
26
+ ], SpotLightNode.prototype, "intensity", void 0);
27
+ __decorate([
28
+ property({ type: 'float', default: 0, description: 'Range; 0 = infinite' })
29
+ ], SpotLightNode.prototype, "distance", void 0);
30
+ __decorate([
31
+ property({ type: 'float', default: Math.PI / 3, description: 'Cone half-angle in radians (max PI/2)' })
32
+ ], SpotLightNode.prototype, "angle", void 0);
33
+ __decorate([
34
+ property({ type: 'float', default: 0, description: 'Soft-edge fraction 0..1' })
35
+ ], SpotLightNode.prototype, "penumbra", void 0);
36
+ __decorate([
37
+ property({ type: 'float', default: 2 })
38
+ ], SpotLightNode.prototype, "decay", void 0);
39
+ SpotLightNode = __decorate([
40
+ node({ name: 'SpotLight', description: 'Cone of light emitted from a point in a direction' })
41
+ ], SpotLightNode);
42
+ export { SpotLightNode };
@@ -0,0 +1,5 @@
1
+ import { Sprite } from 'three';
2
+ import { Object3DNode } from '../base.js';
3
+ export declare class SpriteNode extends Object3DNode {
4
+ build(): Sprite;
5
+ }
@@ -0,0 +1,21 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Sprite } from 'three';
8
+ import { Object3DNode } from '../base.js';
9
+ import { node } from '../../core/decorators.js';
10
+ let SpriteNode = class SpriteNode extends Object3DNode {
11
+ build() {
12
+ return new Sprite();
13
+ }
14
+ };
15
+ SpriteNode = __decorate([
16
+ node({
17
+ name: 'Sprite',
18
+ description: 'A camera-facing textured quad: optional SpriteMaterial, no geometry',
19
+ })
20
+ ], SpriteNode);
21
+ export { SpriteNode };
@@ -0,0 +1,6 @@
1
+ import { Attachment } from '../base.js';
2
+ import type { AttachContext } from '../../core/NodeRegistry.js';
3
+ export declare class BackgroundAttachment extends Attachment {
4
+ color: number;
5
+ attach(ctx: AttachContext): void;
6
+ }
@@ -0,0 +1,22 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Color } from 'three';
8
+ import { Attachment } from '../base.js';
9
+ import { attachment, property } from '../../core/decorators.js';
10
+ let BackgroundAttachment = class BackgroundAttachment extends Attachment {
11
+ color = 0xffffff;
12
+ attach(ctx) {
13
+ ctx.scene.background = new Color(this.color);
14
+ }
15
+ };
16
+ __decorate([
17
+ property({ type: 'color', default: 0xffffff })
18
+ ], BackgroundAttachment.prototype, "color", void 0);
19
+ BackgroundAttachment = __decorate([
20
+ attachment({ name: 'Background', target: 'Scene', group: 'background', description: 'Solid background color for the scene' })
21
+ ], BackgroundAttachment);
22
+ export { BackgroundAttachment };
@@ -0,0 +1,8 @@
1
+ import { Attachment } from '../base.js';
2
+ import type { AttachContext } from '../../core/NodeRegistry.js';
3
+ export declare class FogAttachment extends Attachment {
4
+ color: number;
5
+ near: number;
6
+ far: number;
7
+ attach(ctx: AttachContext): void;
8
+ }
@@ -0,0 +1,30 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Fog } from 'three';
8
+ import { Attachment } from '../base.js';
9
+ import { attachment, property } from '../../core/decorators.js';
10
+ let FogAttachment = class FogAttachment extends Attachment {
11
+ color = 0xffffff;
12
+ near = 1;
13
+ far = 1000;
14
+ attach(ctx) {
15
+ ctx.scene.fog = new Fog(this.color, this.near, this.far);
16
+ }
17
+ };
18
+ __decorate([
19
+ property({ type: 'color', default: 0xffffff })
20
+ ], FogAttachment.prototype, "color", void 0);
21
+ __decorate([
22
+ property({ type: 'float', default: 1 })
23
+ ], FogAttachment.prototype, "near", void 0);
24
+ __decorate([
25
+ property({ type: 'float', default: 1000 })
26
+ ], FogAttachment.prototype, "far", void 0);
27
+ FogAttachment = __decorate([
28
+ attachment({ name: 'Fog', target: 'Scene', group: 'fog', description: 'Linear fog that fades distant objects between near and far' })
29
+ ], FogAttachment);
30
+ export { FogAttachment };
@@ -0,0 +1,7 @@
1
+ import { Attachment } from '../base.js';
2
+ import type { AttachContext } from '../../core/NodeRegistry.js';
3
+ export declare class FogExp2Attachment extends Attachment {
4
+ color: number;
5
+ density: number;
6
+ attach(ctx: AttachContext): void;
7
+ }
@@ -0,0 +1,27 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { FogExp2 } from 'three';
8
+ import { Attachment } from '../base.js';
9
+ import { attachment, property } from '../../core/decorators.js';
10
+ // Shares group 'fog' with <Fog>, so a scene can declare at most one of them.
11
+ let FogExp2Attachment = class FogExp2Attachment extends Attachment {
12
+ color = 0xffffff;
13
+ density = 0.00025;
14
+ attach(ctx) {
15
+ ctx.scene.fog = new FogExp2(this.color, this.density);
16
+ }
17
+ };
18
+ __decorate([
19
+ property({ type: 'color', default: 0xffffff })
20
+ ], FogExp2Attachment.prototype, "color", void 0);
21
+ __decorate([
22
+ property({ type: 'float', default: 0.00025 })
23
+ ], FogExp2Attachment.prototype, "density", void 0);
24
+ FogExp2Attachment = __decorate([
25
+ attachment({ name: 'FogExp2', target: 'Scene', group: 'fog', description: 'Exponential-squared fog (denser, distance-based)' })
26
+ ], FogExp2Attachment);
27
+ export { FogExp2Attachment };
@@ -0,0 +1,5 @@
1
+ import { Line, Mesh, Points, Sprite } from 'three';
2
+ /** Nodes that accept a geometry attachment (mesh family + lines + points). */
3
+ export declare const GEOMETRY_TARGETS: (typeof Mesh | typeof Line | typeof Points)[];
4
+ /** Nodes that accept a material attachment (geometry-bearing nodes + sprites). */
5
+ export declare const MATERIAL_TARGETS: (typeof Mesh | typeof Line | typeof Points | typeof Sprite)[];
@@ -0,0 +1,5 @@
1
+ import { Line, Mesh, Points, Sprite } from 'three';
2
+ /** Nodes that accept a geometry attachment (mesh family + lines + points). */
3
+ export const GEOMETRY_TARGETS = [Mesh, Line, Points];
4
+ /** Nodes that accept a material attachment (geometry-bearing nodes + sprites). */
5
+ export const MATERIAL_TARGETS = [Mesh, Line, Points, Sprite];
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@scenoco-three/core",
3
+ "version": "0.1.0",
4
+ "description": "SceNoCo runtime: a component-based scene framework for Three.js (Engine, Component, registry, bundle loader)",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "keywords": ["three", "threejs", "scene", "components", "ecs", "gamedev", "engine"],
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ },
18
+ "./internal": {
19
+ "types": "./dist/internal.d.ts",
20
+ "import": "./dist/internal.js"
21
+ },
22
+ "./nodes": {
23
+ "types": "./dist/nodes/index.d.ts",
24
+ "import": "./dist/nodes/index.js"
25
+ },
26
+ "./nodes/*": "./dist/nodes/*"
27
+ },
28
+ "files": [
29
+ "dist"
30
+ ],
31
+ "//sideEffects": "Only the built-in node modules self-register on import; everything else is pure, so bundlers can tree-shake unused node tags (and their three classes) when scenes import only the ones they use.",
32
+ "sideEffects": [
33
+ "./dist/nodes/**"
34
+ ],
35
+ "scripts": {
36
+ "build": "tsc -p tsconfig.build.json",
37
+ "typecheck": "tsc --noEmit -p tsconfig.json"
38
+ },
39
+ "peerDependencies": {
40
+ "three": ">=0.160.0"
41
+ }
42
+ }