@operato/scene-visualizer 9.2.2 → 10.0.0-beta.10

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 (249) hide show
  1. package/dist/carrier.d.ts +263 -0
  2. package/dist/carrier.js +272 -0
  3. package/dist/carrier.js.map +1 -0
  4. package/dist/desk.d.ts +238 -3
  5. package/dist/desk.js +1 -2
  6. package/dist/desk.js.map +1 -1
  7. package/dist/editors/index.d.ts +3 -0
  8. package/dist/editors/index.js +15 -0
  9. package/dist/editors/index.js.map +1 -1
  10. package/dist/editors/property-editor-gltf-fill-targets.d.ts +20 -0
  11. package/dist/editors/property-editor-gltf-fill-targets.js +313 -0
  12. package/dist/editors/property-editor-gltf-fill-targets.js.map +1 -0
  13. package/dist/editors/property-editor-gltf-info.d.ts +25 -3
  14. package/dist/editors/property-editor-gltf-info.js +333 -73
  15. package/dist/editors/property-editor-gltf-info.js.map +1 -1
  16. package/dist/editors/property-editor-gltf-play-targets.d.ts +25 -0
  17. package/dist/editors/property-editor-gltf-play-targets.js +388 -0
  18. package/dist/editors/property-editor-gltf-play-targets.js.map +1 -0
  19. package/dist/editors/property-editor-location-increase-pattern.js +87 -95
  20. package/dist/editors/property-editor-location-increase-pattern.js.map +1 -1
  21. package/dist/editors/property-editor-stocker-location.d.ts +13 -0
  22. package/dist/editors/property-editor-stocker-location.js +151 -0
  23. package/dist/editors/property-editor-stocker-location.js.map +1 -0
  24. package/dist/editors/property-editor-stocker-ports.d.ts +8 -0
  25. package/dist/editors/property-editor-stocker-ports.js +112 -0
  26. package/dist/editors/property-editor-stocker-ports.js.map +1 -0
  27. package/dist/effects/outline.js +1 -1
  28. package/dist/effects/outline.js.map +1 -1
  29. package/dist/index.d.ts +8 -17
  30. package/dist/index.js +10 -17
  31. package/dist/index.js.map +1 -1
  32. package/dist/rack-table-3d.d.ts +16 -0
  33. package/dist/rack-table-3d.js +95 -0
  34. package/dist/rack-table-3d.js.map +1 -0
  35. package/dist/rack-table-cell.d.ts +238 -3
  36. package/dist/rack-table-cell.js +44 -51
  37. package/dist/rack-table-cell.js.map +1 -1
  38. package/dist/rack-table-location.d.ts +37 -0
  39. package/dist/rack-table-location.js +227 -0
  40. package/dist/rack-table-location.js.map +1 -0
  41. package/dist/rack-table.d.ts +13 -29
  42. package/dist/rack-table.js +121 -380
  43. package/dist/rack-table.js.map +1 -1
  44. package/dist/rack.d.ts +16 -5
  45. package/dist/rack.js +106 -19
  46. package/dist/rack.js.map +1 -1
  47. package/dist/signal-tower.d.ts +492 -0
  48. package/dist/signal-tower.js +275 -0
  49. package/dist/signal-tower.js.map +1 -0
  50. package/dist/stock-hub.d.ts +25 -0
  51. package/dist/stock-hub.js +147 -0
  52. package/dist/stock-hub.js.map +1 -0
  53. package/dist/stock.d.ts +52 -8
  54. package/dist/stock.js +223 -120
  55. package/dist/stock.js.map +1 -1
  56. package/dist/stocker-3d.d.ts +23 -0
  57. package/dist/stocker-3d.js +352 -0
  58. package/dist/stocker-3d.js.map +1 -0
  59. package/dist/stocker-port-3d.d.ts +14 -0
  60. package/dist/stocker-port-3d.js +80 -0
  61. package/dist/stocker-port-3d.js.map +1 -0
  62. package/dist/stocker-port.d.ts +254 -0
  63. package/dist/stocker-port.js +123 -0
  64. package/dist/stocker-port.js.map +1 -0
  65. package/dist/stocker.d.ts +340 -0
  66. package/dist/stocker.js +370 -0
  67. package/dist/stocker.js.map +1 -0
  68. package/dist/tank.d.ts +492 -0
  69. package/dist/tank.js +312 -0
  70. package/dist/tank.js.map +1 -0
  71. package/dist/templates/carrier.d.ts +19 -0
  72. package/dist/templates/carrier.js +20 -0
  73. package/dist/templates/carrier.js.map +1 -0
  74. package/dist/templates/cube.js +1 -1
  75. package/dist/templates/cube.js.map +1 -1
  76. package/dist/templates/cylinder.js +3 -3
  77. package/dist/templates/cylinder.js.map +1 -1
  78. package/dist/templates/index.d.ts +38 -38
  79. package/dist/templates/index.js +15 -1
  80. package/dist/templates/index.js.map +1 -1
  81. package/dist/templates/rack-table.d.ts +2 -0
  82. package/dist/templates/rack-table.js +4 -2
  83. package/dist/templates/rack-table.js.map +1 -1
  84. package/dist/templates/signal-tower.d.ts +21 -0
  85. package/dist/templates/signal-tower.js +22 -0
  86. package/dist/templates/signal-tower.js.map +1 -0
  87. package/dist/templates/sphere.d.ts +1 -0
  88. package/dist/templates/sphere.js +5 -4
  89. package/dist/templates/sphere.js.map +1 -1
  90. package/dist/templates/stock-hub.d.ts +14 -0
  91. package/dist/templates/stock-hub.js +15 -0
  92. package/dist/templates/stock-hub.js.map +1 -0
  93. package/dist/templates/stocker-port.d.ts +17 -0
  94. package/dist/templates/stocker-port.js +17 -0
  95. package/dist/templates/stocker-port.js.map +1 -0
  96. package/dist/templates/stocker.d.ts +27 -0
  97. package/dist/templates/stocker.js +38 -0
  98. package/dist/templates/stocker.js.map +1 -0
  99. package/dist/templates/tank.d.ts +21 -0
  100. package/dist/templates/tank.js +22 -0
  101. package/dist/templates/tank.js.map +1 -0
  102. package/dist/templates/vehicle.d.ts +19 -0
  103. package/dist/templates/vehicle.js +20 -0
  104. package/dist/templates/vehicle.js.map +1 -0
  105. package/dist/templates/visualizer.js +1 -1
  106. package/dist/templates/visualizer.js.map +1 -1
  107. package/dist/vehicle.d.ts +248 -0
  108. package/dist/vehicle.js +133 -0
  109. package/dist/vehicle.js.map +1 -0
  110. package/dist/visualizer.d.ts +5 -5
  111. package/dist/visualizer.js +72 -68
  112. package/dist/visualizer.js.map +1 -1
  113. package/icons/carrier.png +0 -0
  114. package/icons/signal-tower.png +0 -0
  115. package/icons/stock-hub.png +0 -0
  116. package/icons/tank.png +0 -0
  117. package/icons/vehicle.png +0 -0
  118. package/package.json +16 -18
  119. package/translations/en.json +6 -0
  120. package/translations/ja.json +5 -0
  121. package/translations/ko.json +6 -1
  122. package/translations/ms.json +5 -0
  123. package/translations/zh.json +5 -0
  124. package/dist/banner.d.ts +0 -15
  125. package/dist/banner.js +0 -76
  126. package/dist/banner.js.map +0 -1
  127. package/dist/camera.d.ts +0 -20
  128. package/dist/camera.js +0 -108
  129. package/dist/camera.js.map +0 -1
  130. package/dist/cube.d.ts +0 -13
  131. package/dist/cube.js +0 -38
  132. package/dist/cube.js.map +0 -1
  133. package/dist/cylinder.d.ts +0 -11
  134. package/dist/cylinder.js +0 -38
  135. package/dist/cylinder.js.map +0 -1
  136. package/dist/ellipse.d.ts +0 -5
  137. package/dist/ellipse.js +0 -22
  138. package/dist/ellipse.js.map +0 -1
  139. package/dist/gltf-object.d.ts +0 -20
  140. package/dist/gltf-object.js +0 -104
  141. package/dist/gltf-object.js.map +0 -1
  142. package/dist/html-overlay-element.d.ts +0 -1
  143. package/dist/html-overlay-element.js +0 -12
  144. package/dist/html-overlay-element.js.map +0 -1
  145. package/dist/light.d.ts +0 -15
  146. package/dist/light.js +0 -135
  147. package/dist/light.js.map +0 -1
  148. package/dist/polygon.d.ts +0 -17
  149. package/dist/polygon.js +0 -64
  150. package/dist/polygon.js.map +0 -1
  151. package/dist/rect.d.ts +0 -5
  152. package/dist/rect.js +0 -36
  153. package/dist/rect.js.map +0 -1
  154. package/dist/scene/component.d.ts +0 -1
  155. package/dist/scene/component.js +0 -29
  156. package/dist/scene/component.js.map +0 -1
  157. package/dist/sphere.d.ts +0 -11
  158. package/dist/sphere.js +0 -38
  159. package/dist/sphere.js.map +0 -1
  160. package/dist/sprite.d.ts +0 -9
  161. package/dist/sprite.js +0 -28
  162. package/dist/sprite.js.map +0 -1
  163. package/dist/text.d.ts +0 -1
  164. package/dist/text.js +0 -9
  165. package/dist/text.js.map +0 -1
  166. package/dist/three-container-editor.d.ts +0 -22
  167. package/dist/three-container-editor.js +0 -132
  168. package/dist/three-container-editor.js.map +0 -1
  169. package/dist/three-container.d.ts +0 -85
  170. package/dist/three-container.js +0 -565
  171. package/dist/three-container.js.map +0 -1
  172. package/dist/three-controls.d.ts +0 -11
  173. package/dist/three-controls.js +0 -616
  174. package/dist/three-controls.js.map +0 -1
  175. package/dist/three-layout.d.ts +0 -8
  176. package/dist/three-layout.js +0 -20
  177. package/dist/three-layout.js.map +0 -1
  178. package/dist/three-space.d.ts +0 -85
  179. package/dist/three-space.js +0 -570
  180. package/dist/three-space.js.map +0 -1
  181. package/dist/threed/common.d.ts +0 -22
  182. package/dist/threed/common.js +0 -19
  183. package/dist/threed/common.js.map +0 -1
  184. package/dist/threed/floor/floor.d.ts +0 -3
  185. package/dist/threed/floor/floor.js +0 -51
  186. package/dist/threed/floor/floor.js.map +0 -1
  187. package/dist/threed/html/elements.d.ts +0 -2
  188. package/dist/threed/html/elements.js +0 -21
  189. package/dist/threed/html/elements.js.map +0 -1
  190. package/dist/threed/index.d.ts +0 -15
  191. package/dist/threed/index.js +0 -16
  192. package/dist/threed/index.js.map +0 -1
  193. package/dist/threed/real-object-camera-meshed.d.ts +0 -12
  194. package/dist/threed/real-object-camera-meshed.js +0 -49
  195. package/dist/threed/real-object-camera-meshed.js.map +0 -1
  196. package/dist/threed/real-object-camera.d.ts +0 -9
  197. package/dist/threed/real-object-camera.js +0 -31
  198. package/dist/threed/real-object-camera.js.map +0 -1
  199. package/dist/threed/real-object-dom-element.d.ts +0 -9
  200. package/dist/threed/real-object-dom-element.js +0 -40
  201. package/dist/threed/real-object-dom-element.js.map +0 -1
  202. package/dist/threed/real-object-dummy.d.ts +0 -6
  203. package/dist/threed/real-object-dummy.js +0 -11
  204. package/dist/threed/real-object-dummy.js.map +0 -1
  205. package/dist/threed/real-object-extrude.d.ts +0 -21
  206. package/dist/threed/real-object-extrude.js +0 -173
  207. package/dist/threed/real-object-extrude.js.map +0 -1
  208. package/dist/threed/real-object-gltf.d.ts +0 -16
  209. package/dist/threed/real-object-gltf.js +0 -101
  210. package/dist/threed/real-object-gltf.js.map +0 -1
  211. package/dist/threed/real-object-group.d.ts +0 -5
  212. package/dist/threed/real-object-group.js +0 -11
  213. package/dist/threed/real-object-group.js.map +0 -1
  214. package/dist/threed/real-object-mesh.d.ts +0 -13
  215. package/dist/threed/real-object-mesh.js +0 -75
  216. package/dist/threed/real-object-mesh.js.map +0 -1
  217. package/dist/threed/real-object-plane.d.ts +0 -5
  218. package/dist/threed/real-object-plane.js +0 -22
  219. package/dist/threed/real-object-plane.js.map +0 -1
  220. package/dist/threed/real-object-scene.d.ts +0 -21
  221. package/dist/threed/real-object-scene.js +0 -67
  222. package/dist/threed/real-object-scene.js.map +0 -1
  223. package/dist/threed/real-object-sprite-2d.d.ts +0 -14
  224. package/dist/threed/real-object-sprite-2d.js +0 -45
  225. package/dist/threed/real-object-sprite-2d.js.map +0 -1
  226. package/dist/threed/real-object-sprite.d.ts +0 -11
  227. package/dist/threed/real-object-sprite.js +0 -50
  228. package/dist/threed/real-object-sprite.js.map +0 -1
  229. package/dist/threed/real-object-text.d.ts +0 -15
  230. package/dist/threed/real-object-text.js +0 -64
  231. package/dist/threed/real-object-text.js.map +0 -1
  232. package/dist/threed/real-object.d.ts +0 -64
  233. package/dist/threed/real-object.js +0 -260
  234. package/dist/threed/real-object.js.map +0 -1
  235. package/dist/threed/texture/canvas-texture.d.ts +0 -4
  236. package/dist/threed/texture/canvas-texture.js +0 -49
  237. package/dist/threed/texture/canvas-texture.js.map +0 -1
  238. package/dist/threed/texture/text-texture.d.ts +0 -8
  239. package/dist/threed/texture/text-texture.js +0 -79
  240. package/dist/threed/texture/text-texture.js.map +0 -1
  241. package/dist/threed/three-dimensional-container.d.ts +0 -8
  242. package/dist/threed/three-dimensional-container.js +0 -2
  243. package/dist/threed/three-dimensional-container.js.map +0 -1
  244. package/dist/threed/utils/bound-uv-generator.d.ts +0 -16
  245. package/dist/threed/utils/bound-uv-generator.js +0 -42
  246. package/dist/threed/utils/bound-uv-generator.js.map +0 -1
  247. package/dist/wall.d.ts +0 -13
  248. package/dist/wall.js +0 -45
  249. package/dist/wall.js.map +0 -1
package/dist/banner.js DELETED
@@ -1,76 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /*
3
- * Copyright © HatioLab Inc. All rights reserved.
4
- */
5
- import * as THREE from 'three';
6
- import { RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
7
- import { RealObject } from './threed/real-object.js';
8
- const NATURE = {
9
- mutable: false,
10
- resizable: true,
11
- rotatable: true,
12
- properties: [
13
- {
14
- type: 'color',
15
- label: 'box-color',
16
- name: 'boxColor',
17
- property: 'boxColor'
18
- }
19
- ],
20
- help: 'scene/component/banner'
21
- };
22
- export class Banner3D extends RealObject {
23
- build() {
24
- super.build();
25
- var { width = 1, height = 1, depth = 1 } = this.component.state;
26
- this.object3d.add(this.createCube(width, height, depth));
27
- let textureBoard = this.createTextureBoard(width, depth);
28
- textureBoard.position.set(0, 0, 0.5 * height + 1);
29
- this.object3d.add(textureBoard);
30
- }
31
- createCube(w, h, d) {
32
- var { boxColor = '#ccaa76' } = this.component.state;
33
- var geometry = new THREE.BoxGeometry(w, d, h);
34
- var material = new THREE.MeshStandardMaterial({
35
- color: boxColor,
36
- side: THREE.FrontSide
37
- });
38
- var cube = new THREE.Mesh(geometry, material);
39
- cube.castShadow = true;
40
- return cube;
41
- }
42
- createTextureBoard(w, h) {
43
- var boardMaterial;
44
- let { fillStyle = '#ccaa76' } = this.component.state;
45
- const texture = RealObject.buildFillStyleTexture(this.component);
46
- if (texture) {
47
- boardMaterial = new THREE.MeshStandardMaterial({ map: texture });
48
- }
49
- else {
50
- boardMaterial = new THREE.MeshStandardMaterial({
51
- color: fillStyle || '#ccaa76',
52
- side: THREE.FrontSide
53
- });
54
- }
55
- var boardGeometry = new THREE.PlaneGeometry(w, h, 1, 1);
56
- var boardMesh = new THREE.Mesh(boardGeometry, boardMaterial);
57
- boardMesh.castShadow = true;
58
- return boardMesh;
59
- }
60
- }
61
- let Banner = class Banner extends RectPath(Shape) {
62
- is3dish() {
63
- return true;
64
- }
65
- get nature() {
66
- return NATURE;
67
- }
68
- buildRealObject() {
69
- return new Banner3D(this);
70
- }
71
- };
72
- Banner = __decorate([
73
- sceneComponent('banner')
74
- ], Banner);
75
- export { Banner };
76
- //# sourceMappingURL=banner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport * as THREE from 'three'\nimport { Component, ComponentNature, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\nimport { RealObject } from './threed/real-object.js'\nimport { RealObjectMesh } from './threed/real-object-mesh.js'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'color',\n label: 'box-color',\n name: 'boxColor',\n property: 'boxColor'\n }\n ],\n help: 'scene/component/banner'\n}\n\nexport class Banner3D extends RealObject {\n build() {\n super.build()\n\n var { width = 1, height = 1, depth = 1 } = this.component.state\n\n this.object3d.add(this.createCube(width, height, depth))\n\n let textureBoard = this.createTextureBoard(width, depth)\n textureBoard.position.set(0, 0, 0.5 * height + 1)\n this.object3d.add(textureBoard)\n }\n\n createCube(w: number, h: number, d: number) {\n var { boxColor = '#ccaa76' } = this.component.state\n\n var geometry = new THREE.BoxGeometry(w, d, h)\n var material = new THREE.MeshStandardMaterial({\n color: boxColor,\n side: THREE.FrontSide\n })\n\n var cube = new THREE.Mesh(geometry, material)\n cube.castShadow = true\n\n return cube\n }\n\n createTextureBoard(w: number, h: number) {\n var boardMaterial\n\n let { fillStyle = '#ccaa76' } = this.component.state\n const texture = RealObject.buildFillStyleTexture(this.component)\n\n if (texture) {\n boardMaterial = new THREE.MeshStandardMaterial({ map: texture })\n } else {\n boardMaterial = new THREE.MeshStandardMaterial({\n color: fillStyle || '#ccaa76',\n side: THREE.FrontSide\n })\n }\n\n var boardGeometry = new THREE.PlaneGeometry(w, h, 1, 1)\n var boardMesh = new THREE.Mesh(boardGeometry, boardMaterial)\n boardMesh.castShadow = true\n\n return boardMesh\n }\n}\n\n@sceneComponent('banner')\nexport class Banner extends RectPath(Shape) {\n is3dish() {\n return true\n }\n\n get nature() {\n return NATURE\n }\n\n buildRealObject(): RealObject | undefined {\n return new Banner3D(this)\n }\n}\n"]}
package/dist/camera.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import { ComponentNature, Shape } from '@hatiolab/things-scene';
2
- import * as THREE from 'three';
3
- import { RealObject } from './threed/real-object.js';
4
- export declare class Camera3D extends RealObject<THREE.Mesh> {
5
- camera?: THREE.PerspectiveCamera;
6
- helper?: THREE.CameraHelper;
7
- protected getObject3dInstance(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>;
8
- updateCamera(): void;
9
- build(): void;
10
- }
11
- declare const Camera_base: typeof Shape;
12
- export declare class Camera extends Camera_base {
13
- static _image: HTMLImageElement;
14
- is3dish(): boolean;
15
- static get image(): HTMLImageElement;
16
- render(context: CanvasRenderingContext2D): void;
17
- buildRealObject(): RealObject | undefined;
18
- get nature(): ComponentNature;
19
- }
20
- export {};
package/dist/camera.js DELETED
@@ -1,108 +0,0 @@
1
- var Camera_1;
2
- import { __decorate } from "tslib";
3
- /*
4
- * Copyright © HatioLab Inc. All rights reserved.
5
- */
6
- import { RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
7
- import * as THREE from 'three';
8
- import { RealObject } from './threed/real-object.js';
9
- const DEFAULT = {
10
- far: 100000,
11
- fov: 80,
12
- near: 1,
13
- zoom: 1
14
- };
15
- const NATURE = {
16
- mutable: false,
17
- resizable: true,
18
- rotatable: true,
19
- properties: [
20
- {
21
- type: 'number',
22
- label: 'near',
23
- name: 'near'
24
- },
25
- {
26
- type: 'number',
27
- label: 'far',
28
- name: 'far'
29
- },
30
- {
31
- type: 'number',
32
- label: 'fov',
33
- name: 'fov'
34
- },
35
- {
36
- type: 'number',
37
- label: 'zoom',
38
- name: 'zoom'
39
- },
40
- {
41
- type: 'checkbox',
42
- label: 'show-helper',
43
- name: 'showHelper'
44
- }
45
- ],
46
- help: 'scene/component/camera'
47
- };
48
- export class Camera3D extends RealObject {
49
- getObject3dInstance() {
50
- return new THREE.Mesh();
51
- }
52
- updateCamera() {
53
- var { near = DEFAULT.near, far = DEFAULT.far, fov = DEFAULT.fov, zoom = DEFAULT.zoom, showHelper } = this.component.state;
54
- this.camera.far = far;
55
- this.camera.fov = fov;
56
- this.camera.near = near;
57
- this.camera.zoom = zoom;
58
- if (showHelper) {
59
- if (!this.helper) {
60
- this.helper = new THREE.CameraHelper(this.camera);
61
- this.object3d.add(this.helper);
62
- }
63
- }
64
- else if (this.helper) {
65
- this.object3d.remove(this.helper);
66
- delete this.helper;
67
- }
68
- }
69
- build() {
70
- super.build();
71
- var { width = 0, height = 0, depth = 0, fillStyle = 'lightgray' } = this.component.state;
72
- this.object3d.geometry = new THREE.BoxGeometry(width, depth, height);
73
- this.object3d.material = new THREE.MeshStandardMaterial({ color: fillStyle, side: THREE.FrontSide });
74
- this.camera = new THREE.PerspectiveCamera();
75
- this.camera.position.set(0, 0, 0);
76
- this.object3d.add(this.camera);
77
- this.object3d.lookAt(0, 0, 0);
78
- this.updateCamera();
79
- }
80
- }
81
- let Camera = Camera_1 = class Camera extends RectPath(Shape) {
82
- is3dish() {
83
- return true;
84
- }
85
- static get image() {
86
- if (!Camera_1._image) {
87
- Camera_1._image = new Image();
88
- Camera_1._image.src = new URL('../icons/camera-big.png', import.meta.url).href;
89
- }
90
- return Camera_1._image;
91
- }
92
- render(context) {
93
- var { left, top, width, height } = this.bounds;
94
- context.beginPath();
95
- this.drawImage(context, Camera_1.image, left, top, width, height);
96
- }
97
- buildRealObject() {
98
- return new Camera3D(this);
99
- }
100
- get nature() {
101
- return NATURE;
102
- }
103
- };
104
- Camera = Camera_1 = __decorate([
105
- sceneComponent('camera')
106
- ], Camera);
107
- export { Camera };
108
- //# sourceMappingURL=camera.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Component, ComponentNature, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\nimport * as THREE from 'three'\nimport { RealObject } from './threed/real-object.js'\n\nconst DEFAULT = {\n far: 100000,\n fov: 80,\n near: 1,\n zoom: 1\n}\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'near',\n name: 'near'\n },\n {\n type: 'number',\n label: 'far',\n name: 'far'\n },\n {\n type: 'number',\n label: 'fov',\n name: 'fov'\n },\n {\n type: 'number',\n label: 'zoom',\n name: 'zoom'\n },\n {\n type: 'checkbox',\n label: 'show-helper',\n name: 'showHelper'\n }\n ],\n help: 'scene/component/camera'\n}\n\nexport class Camera3D extends RealObject<THREE.Mesh> {\n camera?: THREE.PerspectiveCamera\n helper?: THREE.CameraHelper\n\n protected getObject3dInstance() {\n return new THREE.Mesh()\n }\n\n updateCamera() {\n var {\n near = DEFAULT.near,\n far = DEFAULT.far,\n fov = DEFAULT.fov,\n zoom = DEFAULT.zoom,\n showHelper\n } = this.component.state\n\n this.camera!.far = far\n this.camera!.fov = fov\n this.camera!.near = near\n this.camera!.zoom = zoom\n\n if (showHelper) {\n if (!this.helper) {\n this.helper = new THREE.CameraHelper(this.camera!)\n this.object3d.add(this.helper)\n }\n } else if (this.helper) {\n this.object3d.remove(this.helper)\n delete this.helper\n }\n }\n\n build() {\n super.build()\n\n var { width = 0, height = 0, depth = 0, fillStyle = 'lightgray' } = this.component.state\n\n this.object3d.geometry = new THREE.BoxGeometry(width, depth, height)\n this.object3d.material = new THREE.MeshStandardMaterial({ color: fillStyle, side: THREE.FrontSide })\n\n this.camera = new THREE.PerspectiveCamera()\n this.camera.position.set(0, 0, 0)\n\n this.object3d.add(this.camera)\n this.object3d.lookAt(0, 0, 0)\n\n this.updateCamera()\n }\n}\n\n@sceneComponent('camera')\nexport class Camera extends RectPath(Shape) {\n static _image: HTMLImageElement\n\n is3dish() {\n return true\n }\n\n static get image() {\n if (!Camera._image) {\n Camera._image = new Image()\n Camera._image.src = new URL('../icons/camera-big.png', import.meta.url).href\n }\n\n return Camera._image\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Camera.image, left, top, width, height)\n }\n\n buildRealObject(): RealObject | undefined {\n return new Camera3D(this)\n }\n\n get nature(): ComponentNature {\n return NATURE\n }\n}\n"]}
package/dist/cube.d.ts DELETED
@@ -1,13 +0,0 @@
1
- import { ComponentNature, Shape } from '@hatiolab/things-scene';
2
- import { RealObject } from './threed/real-object.js';
3
- import { RealObjectMesh } from './threed/real-object-mesh.js';
4
- export declare class Cube3D extends RealObjectMesh {
5
- buildGeometry(): void;
6
- }
7
- declare const Cube_base: typeof Shape;
8
- export declare class Cube extends Cube_base {
9
- is3dish(): boolean;
10
- buildRealObject(): RealObject | undefined;
11
- get nature(): ComponentNature;
12
- }
13
- export {};
package/dist/cube.js DELETED
@@ -1,38 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /*
3
- * Copyright © HatioLab Inc. All rights reserved.
4
- */
5
- import { RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
6
- import * as THREE from 'three';
7
- import { RealObjectMesh } from './threed/real-object-mesh.js';
8
- const NATURE = {
9
- mutable: false,
10
- resizable: true,
11
- rotatable: true,
12
- properties: [],
13
- help: 'scene/component/cube'
14
- };
15
- export class Cube3D extends RealObjectMesh {
16
- buildGeometry() {
17
- var { width = 0, height = 0, depth = 0 } = this.component.state;
18
- let geometry = new THREE.BoxGeometry(1, 1, 1);
19
- geometry.scale(width, depth, height);
20
- this.object3d.geometry = geometry;
21
- }
22
- }
23
- let Cube = class Cube extends RectPath(Shape) {
24
- is3dish() {
25
- return true;
26
- }
27
- buildRealObject() {
28
- return new Cube3D(this);
29
- }
30
- get nature() {
31
- return NATURE;
32
- }
33
- };
34
- Cube = __decorate([
35
- sceneComponent('cube')
36
- ], Cube);
37
- export { Cube };
38
- //# sourceMappingURL=cube.js.map
package/dist/cube.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cube.js","sourceRoot":"","sources":["../src/cube.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAA8B,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACpG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,sBAAsB;CAC7B,CAAA;AAED,MAAM,OAAO,MAAO,SAAQ,cAAc;IACxC,aAAa;QACX,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;QAE/D,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7C,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAEpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACnC,CAAC;CACF;AAGM,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,QAAQ,CAAC,KAAK,CAAC;IACvC,OAAO;QACL,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAZY,IAAI;IADhB,cAAc,CAAC,MAAM,CAAC;GACV,IAAI,CAYhB","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Component, ComponentNature, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\nimport * as THREE from 'three'\nimport { RealObject } from './threed/real-object.js'\nimport { RealObjectMesh } from './threed/real-object-mesh.js'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [],\n help: 'scene/component/cube'\n}\n\nexport class Cube3D extends RealObjectMesh {\n buildGeometry() {\n var { width = 0, height = 0, depth = 0 } = this.component.state\n\n let geometry = new THREE.BoxGeometry(1, 1, 1)\n geometry.scale(width, depth, height)\n\n this.object3d.geometry = geometry\n }\n}\n\n@sceneComponent('cube')\nexport class Cube extends RectPath(Shape) {\n is3dish() {\n return true\n }\n\n buildRealObject(): RealObject | undefined {\n return new Cube3D(this)\n }\n\n get nature() {\n return NATURE\n }\n}\n"]}
@@ -1,11 +0,0 @@
1
- import { ComponentNature, Ellipse } from '@hatiolab/things-scene';
2
- import { RealObject } from './threed/real-object.js';
3
- import { RealObjectMesh } from './threed/real-object-mesh.js';
4
- export declare class Cylinder3D extends RealObjectMesh {
5
- buildGeometry(): void;
6
- }
7
- export declare class Cylinder extends Ellipse {
8
- is3dish(): boolean;
9
- buildRealObject(): RealObject | undefined;
10
- get nature(): ComponentNature;
11
- }
package/dist/cylinder.js DELETED
@@ -1,38 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /*
3
- * Copyright © HatioLab Inc. All rights reserved.
4
- */
5
- import { Ellipse, sceneComponent } from '@hatiolab/things-scene';
6
- import * as THREE from 'three';
7
- import { RealObjectMesh } from './threed/real-object-mesh.js';
8
- const NATURE = {
9
- mutable: false,
10
- resizable: true,
11
- rotatable: true,
12
- properties: [],
13
- help: 'scene/component/cylinder'
14
- };
15
- export class Cylinder3D extends RealObjectMesh {
16
- buildGeometry() {
17
- var { depth = 0, rx = 0, ry = 0 } = this.component.state;
18
- let geometry = new THREE.CylinderGeometry(1, 1, 1, 25);
19
- geometry.scale(rx, depth, ry);
20
- this.object3d.geometry = geometry;
21
- }
22
- }
23
- let Cylinder = class Cylinder extends Ellipse {
24
- is3dish() {
25
- return true;
26
- }
27
- buildRealObject() {
28
- return new Cylinder3D(this);
29
- }
30
- get nature() {
31
- return NATURE;
32
- }
33
- };
34
- Cylinder = __decorate([
35
- sceneComponent('cylinder')
36
- ], Cylinder);
37
- export { Cylinder };
38
- //# sourceMappingURL=cylinder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cylinder.js","sourceRoot":"","sources":["../src/cylinder.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAA8B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,0BAA0B;CACjC,CAAA;AAED,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,aAAa;QACX,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;QAExD,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACnC,CAAC;CACF;AAGM,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,OAAO;IACnC,OAAO;QACL,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAZY,QAAQ;IADpB,cAAc,CAAC,UAAU,CAAC;GACd,QAAQ,CAYpB","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Component, ComponentNature, Ellipse, sceneComponent } from '@hatiolab/things-scene'\nimport * as THREE from 'three'\nimport { RealObject } from './threed/real-object.js'\nimport { RealObjectMesh } from './threed/real-object-mesh.js'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [],\n help: 'scene/component/cylinder'\n}\n\nexport class Cylinder3D extends RealObjectMesh {\n buildGeometry() {\n var { depth = 0, rx = 0, ry = 0 } = this.component.state\n\n let geometry = new THREE.CylinderGeometry(1, 1, 1, 25)\n geometry.scale(rx, depth, ry)\n\n this.object3d.geometry = geometry\n }\n}\n\n@sceneComponent('cylinder')\nexport class Cylinder extends Ellipse {\n is3dish() {\n return true\n }\n\n buildRealObject(): RealObject | undefined {\n return new Cylinder3D(this)\n }\n\n get nature() {\n return NATURE\n }\n}\n"]}
package/dist/ellipse.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import * as THREE from 'three';
2
- import { RealObjectExtrude } from './threed/real-object-extrude.js';
3
- export declare class EllipseExtrude extends RealObjectExtrude {
4
- get shape(): THREE.Shape;
5
- }
package/dist/ellipse.js DELETED
@@ -1,22 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import { Ellipse } from '@hatiolab/things-scene';
5
- import * as THREE from 'three';
6
- import { RealObjectExtrude } from './threed/real-object-extrude.js';
7
- export class EllipseExtrude extends RealObjectExtrude {
8
- get shape() {
9
- var { cx = 0, cy = 0, rx = 1, ry = 1, startAngle = 0, endAngle = 2 * Math.PI, anticlockwise = false } = this.component.state;
10
- const curve = new THREE.EllipseCurve(cx, cy, // ax, aY
11
- Math.abs(rx), Math.abs(ry), // xRadius, yRadius
12
- startAngle, endAngle, // aStartAngle, aEndAngle
13
- anticlockwise, // aClockwise
14
- 0 // aRotation
15
- );
16
- return new THREE.Shape(curve.getPoints(50));
17
- }
18
- }
19
- Ellipse.prototype.buildRealObject = function () {
20
- return new EllipseExtrude(this);
21
- };
22
- //# sourceMappingURL=ellipse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ellipse.js","sourceRoot":"","sources":["../src/ellipse.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IACnD,IAAI,KAAK;QACP,IAAI,EACF,EAAE,GAAG,CAAC,EACN,EAAE,GAAG,CAAC,EACN,EAAE,GAAG,CAAC,EACN,EAAE,GAAG,CAAC,EACN,UAAU,GAAG,CAAC,EACd,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,EACtB,aAAa,GAAG,KAAK,EACtB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAClC,EAAE,EACF,EAAE,EAAE,SAAS;QACb,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EACZ,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,mBAAmB;QACjC,UAAU,EACV,QAAQ,EAAE,yBAAyB;QACnC,aAAa,EAAE,aAAa;QAC5B,CAAC,CAAC,YAAY;SACf,CAAA;QAED,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;CACF;AAED,OAAO,CAAC,SAAS,CAAC,eAAe,GAAG;IAClC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Ellipse } from '@hatiolab/things-scene'\nimport * as THREE from 'three'\nimport { RealObjectExtrude } from './threed/real-object-extrude.js'\n\nexport class EllipseExtrude extends RealObjectExtrude {\n get shape() {\n var {\n cx = 0,\n cy = 0,\n rx = 1,\n ry = 1,\n startAngle = 0,\n endAngle = 2 * Math.PI,\n anticlockwise = false\n } = this.component.state\n\n const curve = new THREE.EllipseCurve(\n cx,\n cy, // ax, aY\n Math.abs(rx),\n Math.abs(ry), // xRadius, yRadius\n startAngle,\n endAngle, // aStartAngle, aEndAngle\n anticlockwise, // aClockwise\n 0 // aRotation\n )\n\n return new THREE.Shape(curve.getPoints(50))\n }\n}\n\nEllipse.prototype.buildRealObject = function () {\n return new EllipseExtrude(this)\n}\n"]}
@@ -1,20 +0,0 @@
1
- import { ComponentNature, Control, Shape } from '@hatiolab/things-scene';
2
- import { RealObject } from './threed/real-object.js';
3
- declare const GLTFObject_base: typeof Shape;
4
- export declare class GLTFObject extends GLTFObject_base {
5
- static _image: HTMLImageElement;
6
- is3dish(): boolean;
7
- static get image(): HTMLImageElement;
8
- get controls(): Array<Control> | undefined;
9
- render(context: CanvasRenderingContext2D): void;
10
- buildRealObject(): RealObject | undefined;
11
- get nature(): ComponentNature;
12
- get source(): any;
13
- set source(source: any);
14
- set dimension(dimension: {
15
- width: number;
16
- height: number;
17
- depth: number;
18
- });
19
- }
20
- export {};
@@ -1,104 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- var GLTFObject_1;
5
- import { __decorate } from "tslib";
6
- import { RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
7
- import { RealObjectGLTF } from './threed/real-object-gltf.js';
8
- const BASE_URL_ALIAS = '$base_url';
9
- const NATURE = {
10
- mutable: false,
11
- resizable: true,
12
- rotatable: true,
13
- properties: [
14
- {
15
- type: 'gltf-selector',
16
- label: 'url',
17
- name: 'src',
18
- property: {
19
- displayField: 'id',
20
- displayFullUrl: true,
21
- baseUrlAlias: BASE_URL_ALIAS,
22
- defaultStorage: '3d-model',
23
- storageFilters: {
24
- type: Array,
25
- value: [
26
- {
27
- name: 'category',
28
- value: 'image'
29
- }
30
- ]
31
- },
32
- useUpload: true,
33
- category: 'application'
34
- },
35
- observe: function (src) {
36
- const info = this.parentNode.querySelector('[name=gltfInfo]');
37
- info.src = src;
38
- }
39
- },
40
- {
41
- type: 'gltf-info',
42
- label: '',
43
- name: 'gltfInfo',
44
- readonly: true,
45
- property: {
46
- action: (component, options) => {
47
- component.set(options);
48
- }
49
- },
50
- editor: {
51
- fullwidth: true
52
- }
53
- }
54
- ],
55
- 'value-property': 'source',
56
- help: 'scene/component/gltf-object'
57
- };
58
- let GLTFObject = GLTFObject_1 = class GLTFObject extends RectPath(Shape) {
59
- is3dish() {
60
- return true;
61
- }
62
- static get image() {
63
- if (!GLTFObject_1._image) {
64
- GLTFObject_1._image = new Image();
65
- GLTFObject_1._image.src = new URL('../icons/canvasicon-gltf.png', import.meta.url).href;
66
- }
67
- return GLTFObject_1._image;
68
- }
69
- get controls() {
70
- return [];
71
- }
72
- render(context) {
73
- var { left, top, width, height } = this.bounds;
74
- context.beginPath();
75
- this.drawImage(context, GLTFObject_1.image, left, top, width, height);
76
- }
77
- buildRealObject() {
78
- return new RealObjectGLTF(this);
79
- }
80
- get nature() {
81
- return NATURE;
82
- }
83
- get source() {
84
- return this.getState('src');
85
- }
86
- set source(source) {
87
- this.setState('src', source);
88
- }
89
- set dimension(dimension) {
90
- var _a;
91
- const { width = 1, height = 1, depth = 1 } = dimension;
92
- this.setState({
93
- width,
94
- height,
95
- depth
96
- });
97
- (_a = this.realObject) === null || _a === void 0 ? void 0 : _a.updateDimension();
98
- }
99
- };
100
- GLTFObject = GLTFObject_1 = __decorate([
101
- sceneComponent('gltf-object')
102
- ], GLTFObject);
103
- export { GLTFObject };
104
- //# sourceMappingURL=gltf-object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gltf-object.js","sourceRoot":"","sources":["../src/gltf-object.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Control, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\nimport { RealObject } from './threed/real-object.js'\n\nimport { RealObjectGLTF } from './threed/real-object-gltf.js'\n\nconst BASE_URL_ALIAS = '$base_url'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'gltf-selector',\n label: 'url',\n name: 'src',\n property: {\n displayField: 'id',\n displayFullUrl: true,\n baseUrlAlias: BASE_URL_ALIAS,\n defaultStorage: '3d-model',\n storageFilters: {\n type: Array,\n value: [\n {\n name: 'category',\n value: 'image'\n }\n ]\n },\n useUpload: true,\n category: 'application'\n },\n observe: function (this: HTMLElement, src: string) {\n const info: any = this.parentNode!.querySelector('[name=gltfInfo]')\n info.src = src\n }\n },\n {\n type: 'gltf-info',\n label: '',\n name: 'gltfInfo',\n readonly: true,\n property: {\n action: (component: GLTFObject, options: any) => {\n component.set(options)\n }\n },\n editor: {\n fullwidth: true\n }\n }\n ],\n 'value-property': 'source',\n help: 'scene/component/gltf-object'\n}\n\n@sceneComponent('gltf-object')\nexport class GLTFObject extends RectPath(Shape) {\n static _image: HTMLImageElement\n\n is3dish() {\n return true\n }\n\n static get image() {\n if (!GLTFObject._image) {\n GLTFObject._image = new Image()\n GLTFObject._image.src = new URL('../icons/canvasicon-gltf.png', import.meta.url).href\n }\n\n return GLTFObject._image\n }\n\n get controls(): Array<Control> | undefined {\n return []\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, GLTFObject.image, left, top, width, height)\n }\n\n buildRealObject(): RealObject | undefined {\n return new RealObjectGLTF(this)\n }\n\n get nature() {\n return NATURE\n }\n\n get source() {\n return this.getState('src')\n }\n\n set source(source) {\n this.setState('src', source)\n }\n\n set dimension(dimension: { width: number; height: number; depth: number }) {\n const { width = 1, height = 1, depth = 1 } = dimension\n this.setState({\n width,\n height,\n depth\n })\n\n this.realObject?.updateDimension()\n }\n}\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import { HTMLOverlayContainer, HTMLOverlayElement } from '@hatiolab/things-scene';
5
- import { RealObjectDomElement } from './threed/real-object-dom-element.js';
6
- HTMLOverlayElement.prototype.buildRealObject = function () {
7
- return new RealObjectDomElement(this);
8
- };
9
- HTMLOverlayContainer.prototype.buildRealObject = function () {
10
- return new RealObjectDomElement(this);
11
- };
12
- //# sourceMappingURL=html-overlay-element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-overlay-element.js","sourceRoot":"","sources":["../src/html-overlay-element.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAE1E,kBAAkB,CAAC,SAAS,CAAC,eAAe,GAAG;IAC7C,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAA;AAED,oBAAoB,CAAC,SAAS,CAAC,eAAe,GAAG;IAC/C,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { HTMLOverlayContainer, HTMLOverlayElement } from '@hatiolab/things-scene'\nimport { RealObjectDomElement } from './threed/real-object-dom-element.js'\n\nHTMLOverlayElement.prototype.buildRealObject = function () {\n return new RealObjectDomElement(this)\n}\n\nHTMLOverlayContainer.prototype.buildRealObject = function () {\n return new RealObjectDomElement(this)\n}\n"]}
package/dist/light.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { Anchor, ComponentNature, Ellipse } from '@hatiolab/things-scene';
2
- import * as THREE from 'three';
3
- import { RealObject } from './threed/real-object.js';
4
- export declare class LightObject extends RealObject<THREE.Light> {
5
- helper?: THREE.CameraHelper;
6
- updatePointLight(): void;
7
- protected getObject3dInstance(): THREE.Light;
8
- update(): void;
9
- }
10
- export declare class PointLight extends Ellipse {
11
- is3dish(): boolean;
12
- buildRealObject(): RealObject | undefined;
13
- get anchors(): Array<Anchor>;
14
- get nature(): ComponentNature;
15
- }