@hatiolab/things-scene 9.0.0-beta.9 → 9.0.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 (353) hide show
  1. package/README.md +76 -11
  2. package/package.json +30 -14
  3. package/things-scene-min.js +74 -2
  4. package/things-scene-min.js.map +1 -0
  5. package/things-scene.d.ts +49 -7
  6. package/things-scene.mjs +61 -31
  7. package/things-scene.mjs.map +1 -0
  8. package/.prettierrc +0 -21
  9. package/assets/icon-audio.png +0 -0
  10. package/assets/icon-gif-viewer.png +0 -0
  11. package/assets/images/spinner.png +0 -0
  12. package/babel.config.js +0 -22
  13. package/db.sqlite +0 -0
  14. package/dist/animation/animate.d.ts +0 -4
  15. package/dist/animation/animations/animation.d.ts +0 -14
  16. package/dist/animation/animations/fade.d.ts +0 -4
  17. package/dist/animation/animations/heartbeat.d.ts +0 -4
  18. package/dist/animation/animations/moving.d.ts +0 -4
  19. package/dist/animation/animations/outline.d.ts +0 -10
  20. package/dist/animation/animations/rotation.d.ts +0 -4
  21. package/dist/animation/animations/vibration.d.ts +0 -4
  22. package/dist/animation/compile.d.ts +0 -1
  23. package/dist/animation/delta.d.ts +0 -19
  24. package/dist/animation/index.d.ts +0 -1
  25. package/dist/command/command-change.d.ts +0 -7
  26. package/dist/command/command-migrate.d.ts +0 -4
  27. package/dist/command/command-migrate.js +0 -85
  28. package/dist/command/command-migrate.js.map +0 -1
  29. package/dist/command/command.d.ts +0 -5
  30. package/dist/command/snapshot-commander.d.ts +0 -15
  31. package/dist/components/anchor/anchor.d.ts +0 -128
  32. package/dist/components/anchor/ellipse-anchors.d.ts +0 -2
  33. package/dist/components/anchor/ellipse-anchors.js +0 -38
  34. package/dist/components/anchor/ellipse-anchors.js.map +0 -1
  35. package/dist/components/anchor/rect-anchors.d.ts +0 -10
  36. package/dist/components/audio.d.ts +0 -25
  37. package/dist/components/audio.js +0 -141
  38. package/dist/components/audio.js.map +0 -1
  39. package/dist/components/cloud.d.ts +0 -13
  40. package/dist/components/cloud.js +0 -31
  41. package/dist/components/cloud.js.map +0 -1
  42. package/dist/components/component.d.ts +0 -227
  43. package/dist/components/component.js +0 -912
  44. package/dist/components/component.js.map +0 -1
  45. package/dist/components/container-abstract.d.ts +0 -51
  46. package/dist/components/container-abstract.js +0 -372
  47. package/dist/components/container-abstract.js.map +0 -1
  48. package/dist/components/container.d.ts +0 -38
  49. package/dist/components/container.js +0 -75
  50. package/dist/components/container.js.map +0 -1
  51. package/dist/components/data/data-mapping.d.ts +0 -16
  52. package/dist/components/data/data.d.ts +0 -8
  53. package/dist/components/data/evaluator.d.ts +0 -1
  54. package/dist/components/donut.d.ts +0 -15
  55. package/dist/components/donut.js +0 -74
  56. package/dist/components/donut.js.map +0 -1
  57. package/dist/components/drawer/draw-image-pendable.d.ts +0 -1
  58. package/dist/components/drawer/effect.d.ts +0 -1
  59. package/dist/components/drawer/fill.d.ts +0 -14
  60. package/dist/components/drawer/format.d.ts +0 -1
  61. package/dist/components/drawer/line.d.ts +0 -3
  62. package/dist/components/drawer/stroke.d.ts +0 -1
  63. package/dist/components/drawer/text-wrapper.d.ts +0 -10
  64. package/dist/components/drawer/text.d.ts +0 -3
  65. package/dist/components/ellipse.d.ts +0 -35
  66. package/dist/components/ellipse.js +0 -99
  67. package/dist/components/ellipse.js.map +0 -1
  68. package/dist/components/file/ondropfile.d.ts +0 -1
  69. package/dist/components/fit/fit.d.ts +0 -15
  70. package/dist/components/geometry/transcoord.d.ts +0 -41
  71. package/dist/components/geometry/union.d.ts +0 -6
  72. package/dist/components/gif-view.d.ts +0 -18
  73. package/dist/components/gif-view.js +0 -116
  74. package/dist/components/gif-view.js.map +0 -1
  75. package/dist/components/global-ref.d.ts +0 -36
  76. package/dist/components/global-ref.js +0 -128
  77. package/dist/components/global-ref.js.map +0 -1
  78. package/dist/components/group.d.ts +0 -15
  79. package/dist/components/group.js +0 -145
  80. package/dist/components/group.js.map +0 -1
  81. package/dist/components/html/elements.d.ts +0 -2
  82. package/dist/components/html/fill.d.ts +0 -1
  83. package/dist/components/html/reposition.d.ts +0 -1
  84. package/dist/components/html/shadow.d.ts +0 -1
  85. package/dist/components/html-overlay-container.d.ts +0 -27
  86. package/dist/components/html-overlay-container.js +0 -14
  87. package/dist/components/html-overlay-container.js.map +0 -1
  88. package/dist/components/html-overlay-element.d.ts +0 -25
  89. package/dist/components/html-overlay-element.js +0 -9
  90. package/dist/components/html-overlay-element.js.map +0 -1
  91. package/dist/components/image-view.d.ts +0 -19
  92. package/dist/components/image-view.js +0 -180
  93. package/dist/components/image-view.js.map +0 -1
  94. package/dist/components/index.d.ts +0 -32
  95. package/dist/components/index.js +0 -39
  96. package/dist/components/index.js.map +0 -1
  97. package/dist/components/info-window.d.ts +0 -41
  98. package/dist/components/info-window.js +0 -425
  99. package/dist/components/info-window.js.map +0 -1
  100. package/dist/components/line.d.ts +0 -91
  101. package/dist/components/line.js +0 -303
  102. package/dist/components/line.js.map +0 -1
  103. package/dist/components/local-ref.d.ts +0 -47
  104. package/dist/components/local-ref.js +0 -103
  105. package/dist/components/local-ref.js.map +0 -1
  106. package/dist/components/mixins/connectable.d.ts +0 -45
  107. package/dist/components/mixins/data-source.d.ts +0 -9
  108. package/dist/components/mixins/html-element.d.ts +0 -24
  109. package/dist/components/mixins/move-handle.d.ts +0 -11
  110. package/dist/components/mixins/rect-path.d.ts +0 -13
  111. package/dist/components/mixins/value-holder.d.ts +0 -18
  112. package/dist/components/mutater/bounds.d.ts +0 -10
  113. package/dist/components/mutater/path.d.ts +0 -5
  114. package/dist/components/ortholine.d.ts +0 -21
  115. package/dist/components/ortholine.js +0 -814
  116. package/dist/components/ortholine.js.map +0 -1
  117. package/dist/components/outline/ellipse-outline.d.ts +0 -4
  118. package/dist/components/outline/ellipse-outline.js +0 -11
  119. package/dist/components/outline/ellipse-outline.js.map +0 -1
  120. package/dist/components/outline/path-outline.d.ts +0 -1
  121. package/dist/components/path.d.ts +0 -5
  122. package/dist/components/path.js +0 -40
  123. package/dist/components/path.js.map +0 -1
  124. package/dist/components/polygon.d.ts +0 -40
  125. package/dist/components/polygon.js +0 -157
  126. package/dist/components/polygon.js.map +0 -1
  127. package/dist/components/polyline.d.ts +0 -18
  128. package/dist/components/polyline.js +0 -102
  129. package/dist/components/polyline.js.map +0 -1
  130. package/dist/components/popup.d.ts +0 -48
  131. package/dist/components/popup.js +0 -138
  132. package/dist/components/popup.js.map +0 -1
  133. package/dist/components/rect.d.ts +0 -26
  134. package/dist/components/rect.js +0 -91
  135. package/dist/components/rect.js.map +0 -1
  136. package/dist/components/retention/retention-manager.d.ts +0 -8
  137. package/dist/components/root-container.d.ts +0 -90
  138. package/dist/components/root-container.js +0 -478
  139. package/dist/components/root-container.js.map +0 -1
  140. package/dist/components/ruler.d.ts +0 -16
  141. package/dist/components/ruler.js +0 -77
  142. package/dist/components/ruler.js.map +0 -1
  143. package/dist/components/shape.d.ts +0 -25
  144. package/dist/components/shape.js +0 -80
  145. package/dist/components/shape.js.map +0 -1
  146. package/dist/components/star.d.ts +0 -13
  147. package/dist/components/star.js +0 -80
  148. package/dist/components/star.js.map +0 -1
  149. package/dist/components/text/substitutor.d.ts +0 -3
  150. package/dist/components/text.d.ts +0 -8
  151. package/dist/components/text.js +0 -15
  152. package/dist/components/text.js.map +0 -1
  153. package/dist/components/three-container.d.ts +0 -60
  154. package/dist/components/three-container.js +0 -515
  155. package/dist/components/three-container.js.map +0 -1
  156. package/dist/components/triangle.d.ts +0 -15
  157. package/dist/components/triangle.js +0 -76
  158. package/dist/components/triangle.js.map +0 -1
  159. package/dist/const.d.ts +0 -39
  160. package/dist/core/collection.d.ts +0 -8
  161. package/dist/core/debug.d.ts +0 -1
  162. package/dist/core/deep-equals.d.ts +0 -1
  163. package/dist/core/dom-to-image.d.ts +0 -127
  164. package/dist/core/event.d.ts +0 -92
  165. package/dist/core/index.d.ts +0 -2
  166. package/dist/core/list.d.ts +0 -32
  167. package/dist/core/logger.d.ts +0 -3
  168. package/dist/core/memoize.d.ts +0 -6
  169. package/dist/core/mixin.d.ts +0 -1
  170. package/dist/core/obj-accessor.d.ts +0 -1
  171. package/dist/core/reference-map.d.ts +0 -14
  172. package/dist/core/round-rect.d.ts +0 -19
  173. package/dist/core/script-loader.d.ts +0 -3
  174. package/dist/core/snapshot-taker.d.ts +0 -12
  175. package/dist/core/stack.d.ts +0 -2
  176. package/dist/core/timecapsule.d.ts +0 -18
  177. package/dist/core/utils.d.ts +0 -9
  178. package/dist/decorator/anchors-decorator.d.ts +0 -31
  179. package/dist/decorator/data-spread-decorator.d.ts +0 -1
  180. package/dist/decorator/decotag-decorator.d.ts +0 -1
  181. package/dist/decorator/index.d.ts +0 -2
  182. package/dist/decorator/link-decorator.d.ts +0 -1
  183. package/dist/effect/gradation.d.ts +0 -1
  184. package/dist/effect/index.d.ts +0 -1
  185. package/dist/effect/shadow.d.ts +0 -2
  186. package/dist/effect/turn.d.ts +0 -1
  187. package/dist/event/event-engine.d.ts +0 -12
  188. package/dist/event/event-pump.d.ts +0 -11
  189. package/dist/event/event-tracker.d.ts +0 -21
  190. package/dist/event/index.d.ts +0 -2
  191. package/dist/event/ua-event-handler.d.ts +0 -32
  192. package/dist/event-map/event-map.d.ts +0 -9
  193. package/dist/event-map/index.d.ts +0 -1
  194. package/dist/event-map/move-handler.d.ts +0 -1
  195. package/dist/event-map/text-editor-lite.d.ts +0 -1
  196. package/dist/index.d.ts +0 -1
  197. package/dist/index.js +0 -3
  198. package/dist/index.js.map +0 -1
  199. package/dist/layer/action/emphasize.d.ts +0 -2
  200. package/dist/layer/action/popup.d.ts +0 -5
  201. package/dist/layer/action/pressed.d.ts +0 -2
  202. package/dist/layer/add-layer.d.ts +0 -42
  203. package/dist/layer/add-layer.js +0 -142
  204. package/dist/layer/add-layer.js.map +0 -1
  205. package/dist/layer/decotag-layer.d.ts +0 -27
  206. package/dist/layer/decotag-layer.js +0 -105
  207. package/dist/layer/decotag-layer.js.map +0 -1
  208. package/dist/layer/guide-layer.d.ts +0 -44
  209. package/dist/layer/guide-layer.js +0 -261
  210. package/dist/layer/guide-layer.js.map +0 -1
  211. package/dist/layer/index.d.ts +0 -7
  212. package/dist/layer/index.js +0 -11
  213. package/dist/layer/index.js.map +0 -1
  214. package/dist/layer/layer.d.ts +0 -32
  215. package/dist/layer/layer.js +0 -155
  216. package/dist/layer/layer.js.map +0 -1
  217. package/dist/layer/model-layer.d.ts +0 -46
  218. package/dist/layer/model-layer.js +0 -402
  219. package/dist/layer/model-layer.js.map +0 -1
  220. package/dist/layer/modeler/anchor-handler.d.ts +0 -36
  221. package/dist/layer/modeler/control-handler.d.ts +0 -18
  222. package/dist/layer/modeler/focus-outline.d.ts +0 -5
  223. package/dist/layer/modeler/group-outline.d.ts +0 -5
  224. package/dist/layer/modeler/index.d.ts +0 -7
  225. package/dist/layer/modeler/path-handler.d.ts +0 -22
  226. package/dist/layer/modeler/resizer.d.ts +0 -13
  227. package/dist/layer/modeler/rotator.d.ts +0 -15
  228. package/dist/layer/modeler/rotator.js +0 -120
  229. package/dist/layer/modeler/rotator.js.map +0 -1
  230. package/dist/layer/modeling-layer.d.ts +0 -66
  231. package/dist/layer/modeling-layer.js +0 -451
  232. package/dist/layer/modeling-layer.js.map +0 -1
  233. package/dist/layer/selection/selected-finder.d.ts +0 -1
  234. package/dist/layer/selection-layer.d.ts +0 -42
  235. package/dist/layer/selection-layer.js +0 -307
  236. package/dist/layer/selection-layer.js.map +0 -1
  237. package/dist/layer/shift-layer.d.ts +0 -18
  238. package/dist/layer/shift-layer.js +0 -61
  239. package/dist/layer/shift-layer.js.map +0 -1
  240. package/dist/layout/absolute.d.ts +0 -8
  241. package/dist/layout/card.d.ts +0 -7
  242. package/dist/layout/html-absolute.d.ts +0 -8
  243. package/dist/layout/index.d.ts +0 -8
  244. package/dist/layout/index.js +0 -12
  245. package/dist/layout/index.js.map +0 -1
  246. package/dist/layout/layout.d.ts +0 -11
  247. package/dist/layout/linear-horizontal.d.ts +0 -7
  248. package/dist/layout/linear-vertical.d.ts +0 -7
  249. package/dist/layout/table.d.ts +0 -9
  250. package/dist/layout/three.d.ts +0 -8
  251. package/dist/layout/three.js +0 -20
  252. package/dist/layout/three.js.map +0 -1
  253. package/dist/license/license.d.ts +0 -18
  254. package/dist/model/compile.d.ts +0 -1
  255. package/dist/model/compile.js +0 -28
  256. package/dist/model/compile.js.map +0 -1
  257. package/dist/model/duplicate.d.ts +0 -1
  258. package/dist/model/index.d.ts +0 -3
  259. package/dist/model/selector.d.ts +0 -2
  260. package/dist/style/compile.d.ts +0 -1
  261. package/dist/style/index.d.ts +0 -1
  262. package/dist/things-scene/api/add-start.d.ts +0 -1
  263. package/dist/things-scene/api/add.d.ts +0 -5
  264. package/dist/things-scene/api/align.d.ts +0 -1
  265. package/dist/things-scene/api/change.d.ts +0 -2
  266. package/dist/things-scene/api/clipboard.d.ts +0 -3
  267. package/dist/things-scene/api/distribute.d.ts +0 -1
  268. package/dist/things-scene/api/duplicate.d.ts +0 -4
  269. package/dist/things-scene/api/fullscreen.d.ts +0 -1
  270. package/dist/things-scene/api/group.d.ts +0 -8
  271. package/dist/things-scene/api/group.js +0 -78
  272. package/dist/things-scene/api/group.js.map +0 -1
  273. package/dist/things-scene/api/ids.d.ts +0 -4
  274. package/dist/things-scene/api/index.d.ts +0 -15
  275. package/dist/things-scene/api/listener.d.ts +0 -3
  276. package/dist/things-scene/api/remove.d.ts +0 -4
  277. package/dist/things-scene/api/symmetry.d.ts +0 -2
  278. package/dist/things-scene/api/symmetry.js +0 -39
  279. package/dist/things-scene/api/symmetry.js.map +0 -1
  280. package/dist/things-scene/api/to-data-url.d.ts +0 -1
  281. package/dist/things-scene/api/to-data-url.js +0 -69
  282. package/dist/things-scene/api/to-data-url.js.map +0 -1
  283. package/dist/things-scene/api/zorder.d.ts +0 -2
  284. package/dist/things-scene/application-context.d.ts +0 -40
  285. package/dist/things-scene/config.d.ts +0 -4
  286. package/dist/things-scene/create.d.ts +0 -20
  287. package/dist/things-scene/fps.d.ts +0 -1
  288. package/dist/things-scene/index.d.ts +0 -17
  289. package/dist/things-scene/index.js +0 -23
  290. package/dist/things-scene/index.js.map +0 -1
  291. package/dist/things-scene/polyfill.d.ts +0 -2
  292. package/dist/things-scene/scene.d.ts +0 -155
  293. package/dist/things-scene/version.d.ts +0 -2
  294. package/dist/threed/common.d.ts +0 -22
  295. package/dist/threed/control/three-controls.d.ts +0 -11
  296. package/dist/threed/control/three-controls.js +0 -620
  297. package/dist/threed/control/three-controls.js.map +0 -1
  298. package/dist/threed/html/elements.d.ts +0 -2
  299. package/dist/threed/real-object-camera-meshed.d.ts +0 -12
  300. package/dist/threed/real-object-camera-meshed.js +0 -49
  301. package/dist/threed/real-object-camera-meshed.js.map +0 -1
  302. package/dist/threed/real-object-camera.d.ts +0 -9
  303. package/dist/threed/real-object-camera.js +0 -31
  304. package/dist/threed/real-object-camera.js.map +0 -1
  305. package/dist/threed/real-object-dom-element.d.ts +0 -20
  306. package/dist/threed/real-object-dom-element.js +0 -78
  307. package/dist/threed/real-object-dom-element.js.map +0 -1
  308. package/dist/threed/real-object-dummy.d.ts +0 -6
  309. package/dist/threed/real-object-dummy.js +0 -11
  310. package/dist/threed/real-object-dummy.js.map +0 -1
  311. package/dist/threed/real-object-extrude.d.ts +0 -19
  312. package/dist/threed/real-object-extrude.js +0 -171
  313. package/dist/threed/real-object-extrude.js.map +0 -1
  314. package/dist/threed/real-object-gltf.d.ts +0 -15
  315. package/dist/threed/real-object-gltf.js +0 -97
  316. package/dist/threed/real-object-gltf.js.map +0 -1
  317. package/dist/threed/real-object-group.d.ts +0 -5
  318. package/dist/threed/real-object-group.js +0 -11
  319. package/dist/threed/real-object-group.js.map +0 -1
  320. package/dist/threed/real-object-mesh.d.ts +0 -11
  321. package/dist/threed/real-object-mesh.js +0 -55
  322. package/dist/threed/real-object-mesh.js.map +0 -1
  323. package/dist/threed/real-object-plane.d.ts +0 -6
  324. package/dist/threed/real-object-plane.js +0 -23
  325. package/dist/threed/real-object-plane.js.map +0 -1
  326. package/dist/threed/real-object-scene.d.ts +0 -21
  327. package/dist/threed/real-object-scene.js +0 -89
  328. package/dist/threed/real-object-scene.js.map +0 -1
  329. package/dist/threed/real-object-sprite.d.ts +0 -12
  330. package/dist/threed/real-object-sprite.js +0 -35
  331. package/dist/threed/real-object-sprite.js.map +0 -1
  332. package/dist/threed/real-object-text.d.ts +0 -16
  333. package/dist/threed/real-object-text.js +0 -70
  334. package/dist/threed/real-object-text.js.map +0 -1
  335. package/dist/threed/real-object.d.ts +0 -48
  336. package/dist/threed/real-object.js +0 -199
  337. package/dist/threed/real-object.js.map +0 -1
  338. package/dist/threed/texture/text-texture.d.ts +0 -8
  339. package/dist/threed/three-dimensional-container.d.ts +0 -7
  340. package/dist/threed/three-dimensional-container.js +0 -2
  341. package/dist/threed/three-dimensional-container.js.map +0 -1
  342. package/dist/threed/utils/bound-uv-generator.d.ts +0 -16
  343. package/dist/types.d.ts +0 -53
  344. package/dist/types.js +0 -368
  345. package/dist/types.js.map +0 -1
  346. package/rollup.config.js +0 -40
  347. package/schema.graphql +0 -4557
  348. package/src/index.js +0 -5
  349. package/things-board.js +0 -9
  350. package/things-scene-ie.js +0 -2
  351. package/things-scene-ie.js.LICENSE.txt +0 -15
  352. package/things-scene-min.js.LICENSE.txt +0 -15
  353. package/tsconfig.json +0 -9
@@ -1,199 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import * as THREE from 'three';
5
- import { SCALE_MIN } from './common';
6
- export default class RealObject {
7
- constructor(component) {
8
- this._component = component;
9
- this.object3d = this.getObject3dInstance();
10
- //@ts-ignore
11
- this.component.on('change', (after, before) => {
12
- this.onchange(after, before);
13
- });
14
- }
15
- update() {
16
- this.clear();
17
- this.build();
18
- this.updateTransform();
19
- this.updateAlpha();
20
- this.updateHidden();
21
- }
22
- getObject3dInstance() {
23
- return new THREE.Object3D();
24
- }
25
- build() {
26
- this.object3d.userData.context = this;
27
- this.object3d.castShadow = true;
28
- this.object3d.name = this.component.state.id;
29
- }
30
- get component() {
31
- return this._component;
32
- }
33
- get threeContainer() {
34
- var component = this.component;
35
- while (component) {
36
- if ('is3dContainer' in component && component.is3dContainer()) {
37
- return component;
38
- }
39
- component = component.parent;
40
- }
41
- }
42
- dispose() {
43
- this.clear();
44
- }
45
- clear() {
46
- this.object3d.children.slice().forEach((child) => {
47
- if (child['dispose'])
48
- child['dispose']();
49
- if (child['geometry'] && child['geometry']['dispose'])
50
- child['geometry']['dispose']();
51
- if (child['material'] && child['material']['dispose'])
52
- child['material']['dispose']();
53
- if (child['texture'] && child['texture']['dispose'])
54
- child['texture']['dispose']();
55
- this.object3d.remove(child);
56
- });
57
- this.object3d.userData = {};
58
- return this.object3d.clear();
59
- }
60
- /**
61
- * Component의 상태값의 변화를 Object3D에 반영 - translate, rotation, scale
62
- */
63
- updateTransform() {
64
- // var {
65
- // scale: { x: sx = 1, y: sy = 1, z: sz = 1 } = UNIT_SCALE,
66
- // translate: { x: tx = 0, y: ty = 0, z: tz = 0 } = UNIT_TRANSLATE,
67
- // rotate: { x: rx = 0, y: ry = 0, z: rz = 0 } = UNIT_ROTATE
68
- // } = this.component.state
69
- var { x: tx, y: ty, z: tz } = this.position;
70
- var { x: rx, y: ry, z: rz } = this.rotation;
71
- var { x: sx, y: sy, z: sz } = this.scale;
72
- this.object3d.position.set(tx, ty, tz);
73
- this.object3d.rotation.set(rx, ry, rz);
74
- this.object3d.scale.set(Math.max(sx, SCALE_MIN), Math.max(sy, SCALE_MIN), Math.max(sz, SCALE_MIN));
75
- }
76
- get position() {
77
- return {
78
- x: this.cx || 0,
79
- y: this.cz || 0,
80
- z: this.cy || 0
81
- };
82
- }
83
- get rotation() {
84
- const { rotationX = 0, rotationY = 0, rotation = 0 } = this.component.state;
85
- return {
86
- x: rotationX,
87
- y: rotationY,
88
- z: rotation
89
- };
90
- }
91
- get scale() {
92
- const { scale = 1 } = this.component.state;
93
- return {
94
- x: scale,
95
- y: scale,
96
- z: scale
97
- };
98
- }
99
- get cx() {
100
- var { left = 0, width = 0 } = this.component.bounds;
101
- var { width: parentWidth = 0 } = this.component.parent.bounds;
102
- return left + width / 2 - parentWidth / 2;
103
- }
104
- get cy() {
105
- var { top = 0, height = 0 } = this.component.bounds;
106
- var { height: parentHeight = 0 } = this.component.parent.bounds;
107
- return top + height / 2 - parentHeight / 2;
108
- }
109
- get cz() {
110
- var { zPos = 0, depth = 1 } = this.component.state;
111
- return zPos + depth / 2;
112
- }
113
- /**
114
- * Object3D 모델의 변화를 Component의 모델값에 반영
115
- */
116
- // updateTransformReverse() {
117
- // var { rotation, position, scale } = this.object3d
118
- // this.component.set({
119
- // rotate: {
120
- // x: rotation.x,
121
- // y: rotation.y,
122
- // z: rotation.z
123
- // },
124
- // translate: {
125
- // x: position.x,
126
- // y: position.y,
127
- // z: position.z
128
- // },
129
- // scale: {
130
- // x: scale.x,
131
- // y: scale.y,
132
- // z: scale.z
133
- // }
134
- // })
135
- // }
136
- /* update functions - 전체적인 rebuilding이 필요하지 않은 update 기능 들임 */
137
- updatePosition() {
138
- var { x = 0, y = 0, z = 0 } = this.position;
139
- this.object3d.position.set(x, y, z);
140
- }
141
- updateRotate() {
142
- var { x = 0, y = 0, z = 0 } = this.rotation;
143
- this.object3d.rotation.set(x, y, z);
144
- }
145
- updateScale() {
146
- var { x = 1, y = 1, z = 1 } = this.scale;
147
- this.object3d.scale.set(Math.max(x, SCALE_MIN), Math.max(y, SCALE_MIN), Math.max(z, SCALE_MIN));
148
- }
149
- updateDimension() {
150
- this.update();
151
- }
152
- updateAlpha() {
153
- var { alpha } = this.component.state;
154
- alpha = alpha == undefined ? 1 : alpha;
155
- this.object3d.traverse((o) => {
156
- var materials = o.material;
157
- if (!o.material)
158
- return;
159
- if (!Array.isArray(materials)) {
160
- materials = [materials];
161
- }
162
- materials.forEach((m) => {
163
- m.opacity *= alpha;
164
- m.transparent = alpha < 1;
165
- });
166
- });
167
- }
168
- updateHidden() {
169
- this.object3d.visible = !this.component.state.hidden;
170
- }
171
- onchange(after, before) {
172
- if (hasProperty(this.rebuildingProperties, after)) {
173
- this.update();
174
- return;
175
- }
176
- if (hasProperty(['cx', 'cy', 'cz', 'zPos', 'left', 'top'], after)) {
177
- this.updateDimension();
178
- }
179
- if (hasProperty(['width', 'height', 'depth'], after)) {
180
- this.updateDimension();
181
- }
182
- if ('scale' in after) {
183
- this.updateScale();
184
- }
185
- if ('hidden' in after) {
186
- this.updateHidden();
187
- }
188
- if ('alpha' in after) {
189
- this.updateAlpha();
190
- }
191
- }
192
- get rebuildingProperties() {
193
- return ['width', 'height', 'depth', 'fillStyle', 'strokeStyle', 'text', 'path'];
194
- }
195
- }
196
- function hasProperty(props, obj) {
197
- return props.findIndex(prop => prop in obj) !== -1;
198
- }
199
- //# sourceMappingURL=real-object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"real-object.js","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, Properties } from '@hatiolab/things-scene'\nimport * as THREE from 'three'\n\nimport { SCALE_MIN } from './common'\nimport { ThreeDimensionalContainer } from './three-dimensional-container'\n\nexport default abstract class RealObject<T extends THREE.Object3D = THREE.Object3D> {\n protected _component: Component\n public object3d: T\n\n constructor(component: Component) {\n this._component = component\n this.object3d = this.getObject3dInstance()\n\n //@ts-ignore\n this.component.on('change', (after: Properties, before: Properties) => {\n this.onchange(after, before)\n })\n }\n\n update() {\n this.clear()\n this.build()\n\n this.updateTransform()\n this.updateAlpha()\n this.updateHidden()\n }\n\n protected getObject3dInstance(): T {\n return new THREE.Object3D() as T\n }\n\n build() {\n this.object3d.userData.context = this\n this.object3d.castShadow = true\n this.object3d.name = this.component.state.id\n }\n\n get component(): Component {\n return this._component!\n }\n\n get threeContainer(): ThreeDimensionalContainer | undefined {\n var component = this.component\n\n while (component) {\n if ('is3dContainer' in component && (component as ThreeDimensionalContainer).is3dContainer()) {\n return component as ThreeDimensionalContainer\n }\n component = component.parent\n }\n }\n\n dispose() {\n this.clear()\n }\n\n clear() {\n this.object3d.children.slice().forEach((child: any) => {\n if (child['dispose']) child['dispose']()\n if (child['geometry'] && child['geometry']['dispose']) child['geometry']['dispose']()\n if (child['material'] && child['material']['dispose']) child['material']['dispose']()\n if (child['texture'] && child['texture']['dispose']) child['texture']['dispose']()\n this.object3d.remove(child)\n })\n\n this.object3d.userData = {}\n return this.object3d.clear()\n }\n\n /**\n * Component의 상태값의 변화를 Object3D에 반영 - translate, rotation, scale\n */\n updateTransform() {\n // var {\n // scale: { x: sx = 1, y: sy = 1, z: sz = 1 } = UNIT_SCALE,\n // translate: { x: tx = 0, y: ty = 0, z: tz = 0 } = UNIT_TRANSLATE,\n // rotate: { x: rx = 0, y: ry = 0, z: rz = 0 } = UNIT_ROTATE\n // } = this.component.state\n\n var { x: tx, y: ty, z: tz } = this.position\n var { x: rx, y: ry, z: rz } = this.rotation\n var { x: sx, y: sy, z: sz } = this.scale\n\n this.object3d.position.set(tx, ty, tz)\n this.object3d.rotation.set(rx, ry, rz)\n this.object3d.scale.set(Math.max(sx, SCALE_MIN), Math.max(sy, SCALE_MIN), Math.max(sz, SCALE_MIN))\n }\n\n get position() {\n return {\n x: this.cx || 0,\n y: this.cz || 0,\n z: this.cy || 0\n }\n }\n\n get rotation() {\n const { rotationX = 0, rotationY = 0, rotation = 0 } = this.component.state\n\n return {\n x: rotationX,\n y: rotationY,\n z: rotation\n }\n }\n\n get scale() {\n const { scale = 1 } = this.component.state\n\n return {\n x: scale,\n y: scale,\n z: scale\n }\n }\n\n get cx() {\n var { left = 0, width = 0 } = this.component.bounds\n var { width: parentWidth = 0 } = this.component.parent.bounds\n\n return left + width / 2 - parentWidth / 2\n }\n\n get cy() {\n var { top = 0, height = 0 } = this.component.bounds\n var { height: parentHeight = 0 } = this.component.parent.bounds\n\n return top + height / 2 - parentHeight / 2\n }\n\n get cz() {\n var { zPos = 0, depth = 1 } = this.component.state\n\n return zPos + depth / 2\n }\n\n /**\n * Object3D 모델의 변화를 Component의 모델값에 반영\n */\n // updateTransformReverse() {\n // var { rotation, position, scale } = this.object3d\n\n // this.component.set({\n // rotate: {\n // x: rotation.x,\n // y: rotation.y,\n // z: rotation.z\n // },\n // translate: {\n // x: position.x,\n // y: position.y,\n // z: position.z\n // },\n // scale: {\n // x: scale.x,\n // y: scale.y,\n // z: scale.z\n // }\n // })\n // }\n\n /* update functions - 전체적인 rebuilding이 필요하지 않은 update 기능 들임 */\n updatePosition() {\n var { x = 0, y = 0, z = 0 } = this.position\n this.object3d.position.set(x, y, z)\n }\n\n updateRotate() {\n var { x = 0, y = 0, z = 0 } = this.rotation\n this.object3d.rotation.set(x, y, z)\n }\n\n updateScale() {\n var { x = 1, y = 1, z = 1 } = this.scale\n this.object3d.scale.set(Math.max(x, SCALE_MIN), Math.max(y, SCALE_MIN), Math.max(z, SCALE_MIN))\n }\n\n updateDimension() {\n this.update()\n }\n\n updateAlpha() {\n var { alpha } = this.component.state\n\n alpha = alpha == undefined ? 1 : alpha\n\n this.object3d.traverse((o: any) => {\n var materials = o.material\n if (!o.material) return\n\n if (!Array.isArray(materials)) {\n materials = [materials]\n }\n\n materials.forEach((m: any) => {\n m.opacity *= alpha\n m.transparent = alpha < 1\n })\n })\n }\n\n updateHidden() {\n this.object3d.visible = !this.component.state.hidden\n }\n\n onchange(after: Properties, before: Properties) {\n if (hasProperty(this.rebuildingProperties, after)) {\n this.update()\n return\n }\n\n if (hasProperty(['cx', 'cy', 'cz', 'zPos', 'left', 'top'], after)) {\n this.updateDimension()\n }\n\n if (hasProperty(['width', 'height', 'depth'], after)) {\n this.updateDimension()\n }\n\n if ('scale' in after) {\n this.updateScale()\n }\n\n if ('hidden' in after) {\n this.updateHidden()\n }\n\n if ('alpha' in after) {\n this.updateAlpha()\n }\n }\n\n get rebuildingProperties(): string[] {\n return ['width', 'height', 'depth', 'fillStyle', 'strokeStyle', 'text', 'path']\n }\n}\n\nfunction hasProperty(props: string[], obj: object) {\n return props.findIndex(prop => prop in obj) !== -1\n}\n"]}
@@ -1,8 +0,0 @@
1
- import * as THREE from 'three';
2
- export declare function fontStyle(bold: boolean, italic: boolean, fontSize: number, fontFamily: string): string;
3
- export declare function drawTextTexture(canvas: HTMLCanvasElement, text: string, textStyle: any): void;
4
- export declare function textTexture(text: string, width: number, height: number, textStyle: any): THREE.CanvasTexture;
5
- export declare function textBounds(text: string, textStyle: any): {
6
- width: number;
7
- height: number;
8
- };
@@ -1,7 +0,0 @@
1
- import { Component } from '@hatiolab/things-scene';
2
- export interface ThreeDimensionalContainer extends Component {
3
- is3dContainer(): boolean;
4
- get scene3d(): THREE.Scene | undefined;
5
- get renderer3d(): THREE.WebGLRenderer | undefined;
6
- get mixer(): THREE.AnimationMixer | undefined;
7
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=three-dimensional-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"three-dimensional-container.js","sourceRoot":"","sources":["../../src/threed/three-dimensional-container.ts"],"names":[],"mappings":"","sourcesContent":["import { Component } from '@hatiolab/things-scene'\n\nexport interface ThreeDimensionalContainer extends Component {\n is3dContainer(): boolean\n get scene3d(): THREE.Scene | undefined\n get renderer3d(): THREE.WebGLRenderer | undefined\n get mixer(): THREE.AnimationMixer | undefined\n}\n"]}
@@ -1,16 +0,0 @@
1
- import * as THREE from 'three';
2
- type ExtrudedOptions = {
3
- depth: number;
4
- };
5
- export default class BoundUVGenerator {
6
- bb?: THREE.Box2;
7
- extrudedShape?: THREE.Shape;
8
- extrudedOptions?: ExtrudedOptions;
9
- setShape({ extrudedShape, extrudedOptions }: {
10
- extrudedShape: THREE.Shape;
11
- extrudedOptions: ExtrudedOptions;
12
- }): void;
13
- generateTopUV(geometry: THREE.BufferGeometry, vertices: number[], indexA: number, indexB: number, indexC: number): THREE.Vector2[];
14
- generateSideWallUV(geometry: THREE.BufferGeometry, vertices: number[], indexA: number, indexB: number, indexC: number, indexD: number): THREE.Vector2[];
15
- }
16
- export {};
package/dist/types.d.ts DELETED
@@ -1,53 +0,0 @@
1
- import Component from './components/component';
2
- export type Properties = {
3
- [key: string]: any;
4
- };
5
- type DIMENSION = {
6
- x: number;
7
- y: number;
8
- };
9
- type POSITION = DIMENSION;
10
- type BOUNDS = {
11
- left: number;
12
- top: number;
13
- width: number;
14
- height: number;
15
- };
16
- export type ComponentNature = {
17
- mutable?: boolean;
18
- resizable?: boolean;
19
- rotatable?: boolean;
20
- properties?: {
21
- type: string;
22
- label: string;
23
- name: string;
24
- placeholder?: string;
25
- observe?: (this: HTMLElement, value: any) => void;
26
- property?: {
27
- options?: any;
28
- [key: string]: any;
29
- } | string;
30
- }[];
31
- 'value-property'?: string;
32
- valueProperty?: string;
33
- help?: string;
34
- };
35
- export type Anchor = {
36
- name: string;
37
- position: POSITION;
38
- bounds?: BOUNDS;
39
- inout?: 'in' | 'out' | 'inout';
40
- type?: string;
41
- multiplicity?: number;
42
- draw?: (this: Anchor, context: CanvasRenderingContext2D, component: Component) => void;
43
- filter?: (this: Anchor, linkEnd?: LinkEnd) => boolean;
44
- template?: any;
45
- [prop: string]: any;
46
- };
47
- type LinkEnd = {
48
- component: Component;
49
- anchor: Anchor;
50
- position: POSITION;
51
- fromto: 'from' | 'to';
52
- };
53
- export {};