@p100-web/core-three 100.0.65 → 100.0.67

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 (198) hide show
  1. package/dist/App.d.ts +2 -2
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +11 -10
  4. package/dist/App.js.map +1 -1
  5. package/dist/ThreeCanvas.d.ts +55 -0
  6. package/dist/ThreeCanvas.d.ts.map +1 -0
  7. package/dist/ThreeCanvas.js +430 -0
  8. package/dist/ThreeCanvas.js.map +1 -0
  9. package/dist/ThreeEngine.d.ts +5 -2
  10. package/dist/ThreeEngine.d.ts.map +1 -1
  11. package/dist/ThreeEngine.js +8 -3
  12. package/dist/ThreeEngine.js.map +1 -1
  13. package/dist/ThreeNodeRenderer.js +1 -1
  14. package/dist/ThreeNodeRenderer.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/media/EnvironmentLoader.js.map +1 -1
  20. package/dist/media/ImageLoader.d.ts +1 -1
  21. package/dist/media/ImageLoader.d.ts.map +1 -1
  22. package/dist/media/ModelLoader.js.map +1 -1
  23. package/dist/media/VideoLoader.d.ts +1 -1
  24. package/dist/media/VideoLoader.d.ts.map +1 -1
  25. package/dist/pcomponents/PCollider.js.map +1 -1
  26. package/dist/pcomponents/PEnvironment.d.ts +1 -1
  27. package/dist/pcomponents/PEnvironment.d.ts.map +1 -1
  28. package/dist/pcomponents/PEnvironment.js.map +1 -1
  29. package/dist/pcomponents/PModelGLTF.js.map +1 -1
  30. package/dist/pcomponents/PProjectRoot.js.map +1 -1
  31. package/dist/pcomponents/PSlider.js.map +1 -1
  32. package/dist/three/FreeCameraControls.d.ts +2 -2
  33. package/dist/three/FreeCameraControls.d.ts.map +1 -1
  34. package/dist/three/FreeCameraControls.js.map +1 -1
  35. package/dist/three/OrbitCameraControls.d.ts +2 -2
  36. package/dist/three/OrbitCameraControls.d.ts.map +1 -1
  37. package/dist/three/OrbitCameraControls.js +1 -0
  38. package/dist/three/OrbitCameraControls.js.map +1 -1
  39. package/dist/three/VrCameraControls.d.ts +2 -2
  40. package/dist/three/VrCameraControls.d.ts.map +1 -1
  41. package/dist/three/VrCameraControls.js.map +1 -1
  42. package/package.json +2 -8
  43. package/dist/PCanvas.d.ts +0 -171
  44. package/dist/PCanvas.d.ts.map +0 -1
  45. package/dist/PCanvas.js +0 -992
  46. package/dist/PCanvas.js.map +0 -1
  47. package/dist/src/App.d.ts +0 -40
  48. package/dist/src/App.d.ts.map +0 -1
  49. package/dist/src/App.js +0 -171
  50. package/dist/src/App.js.map +0 -1
  51. package/dist/src/ComponentFactory.d.ts +0 -5
  52. package/dist/src/ComponentFactory.d.ts.map +0 -1
  53. package/dist/src/ComponentFactory.js +0 -17
  54. package/dist/src/ComponentFactory.js.map +0 -1
  55. package/dist/src/PCanvas.d.ts +0 -171
  56. package/dist/src/PCanvas.d.ts.map +0 -1
  57. package/dist/src/PCanvas.js +0 -992
  58. package/dist/src/PCanvas.js.map +0 -1
  59. package/dist/src/ThreeEngine.d.ts +0 -25
  60. package/dist/src/ThreeEngine.d.ts.map +0 -1
  61. package/dist/src/ThreeEngine.js +0 -102
  62. package/dist/src/ThreeEngine.js.map +0 -1
  63. package/dist/src/ThreeNodeRenderer.d.ts +0 -32
  64. package/dist/src/ThreeNodeRenderer.d.ts.map +0 -1
  65. package/dist/src/ThreeNodeRenderer.js +0 -87
  66. package/dist/src/ThreeNodeRenderer.js.map +0 -1
  67. package/dist/src/media/AudioLoader.d.ts +0 -32
  68. package/dist/src/media/AudioLoader.d.ts.map +0 -1
  69. package/dist/src/media/AudioLoader.js +0 -110
  70. package/dist/src/media/AudioLoader.js.map +0 -1
  71. package/dist/src/media/EnvironmentLoader.d.ts +0 -40
  72. package/dist/src/media/EnvironmentLoader.d.ts.map +0 -1
  73. package/dist/src/media/EnvironmentLoader.js +0 -120
  74. package/dist/src/media/EnvironmentLoader.js.map +0 -1
  75. package/dist/src/media/ImageLoader.d.ts +0 -36
  76. package/dist/src/media/ImageLoader.d.ts.map +0 -1
  77. package/dist/src/media/ImageLoader.js +0 -160
  78. package/dist/src/media/ImageLoader.js.map +0 -1
  79. package/dist/src/media/MediaLoader.d.ts +0 -14
  80. package/dist/src/media/MediaLoader.d.ts.map +0 -1
  81. package/dist/src/media/MediaLoader.js +0 -70
  82. package/dist/src/media/MediaLoader.js.map +0 -1
  83. package/dist/src/media/ModelLoader.d.ts +0 -49
  84. package/dist/src/media/ModelLoader.d.ts.map +0 -1
  85. package/dist/src/media/ModelLoader.js +0 -223
  86. package/dist/src/media/ModelLoader.js.map +0 -1
  87. package/dist/src/media/VideoLoader.d.ts +0 -35
  88. package/dist/src/media/VideoLoader.d.ts.map +0 -1
  89. package/dist/src/media/VideoLoader.js +0 -105
  90. package/dist/src/media/VideoLoader.js.map +0 -1
  91. package/dist/src/pcomponents/PAnimator.d.ts +0 -24
  92. package/dist/src/pcomponents/PAnimator.d.ts.map +0 -1
  93. package/dist/src/pcomponents/PAnimator.js +0 -129
  94. package/dist/src/pcomponents/PAnimator.js.map +0 -1
  95. package/dist/src/pcomponents/PBasicMaterial.d.ts +0 -17
  96. package/dist/src/pcomponents/PBasicMaterial.d.ts.map +0 -1
  97. package/dist/src/pcomponents/PBasicMaterial.js +0 -142
  98. package/dist/src/pcomponents/PBasicMaterial.js.map +0 -1
  99. package/dist/src/pcomponents/PCollider.d.ts +0 -11
  100. package/dist/src/pcomponents/PCollider.d.ts.map +0 -1
  101. package/dist/src/pcomponents/PCollider.js +0 -61
  102. package/dist/src/pcomponents/PCollider.js.map +0 -1
  103. package/dist/src/pcomponents/PCubeGeometry.d.ts +0 -8
  104. package/dist/src/pcomponents/PCubeGeometry.d.ts.map +0 -1
  105. package/dist/src/pcomponents/PCubeGeometry.js +0 -23
  106. package/dist/src/pcomponents/PCubeGeometry.js.map +0 -1
  107. package/dist/src/pcomponents/PEnvironment.d.ts +0 -14
  108. package/dist/src/pcomponents/PEnvironment.d.ts.map +0 -1
  109. package/dist/src/pcomponents/PEnvironment.js +0 -86
  110. package/dist/src/pcomponents/PEnvironment.js.map +0 -1
  111. package/dist/src/pcomponents/PImageBackground.d.ts +0 -14
  112. package/dist/src/pcomponents/PImageBackground.d.ts.map +0 -1
  113. package/dist/src/pcomponents/PImageBackground.js +0 -85
  114. package/dist/src/pcomponents/PImageBackground.js.map +0 -1
  115. package/dist/src/pcomponents/PLight.d.ts +0 -8
  116. package/dist/src/pcomponents/PLight.d.ts.map +0 -1
  117. package/dist/src/pcomponents/PLight.js +0 -22
  118. package/dist/src/pcomponents/PLight.js.map +0 -1
  119. package/dist/src/pcomponents/PLightDirectional.d.ts +0 -8
  120. package/dist/src/pcomponents/PLightDirectional.d.ts.map +0 -1
  121. package/dist/src/pcomponents/PLightDirectional.js +0 -36
  122. package/dist/src/pcomponents/PLightDirectional.js.map +0 -1
  123. package/dist/src/pcomponents/PMaskedMaterial.d.ts +0 -17
  124. package/dist/src/pcomponents/PMaskedMaterial.d.ts.map +0 -1
  125. package/dist/src/pcomponents/PMaskedMaterial.js +0 -214
  126. package/dist/src/pcomponents/PMaskedMaterial.js.map +0 -1
  127. package/dist/src/pcomponents/PModelGLTF.d.ts +0 -18
  128. package/dist/src/pcomponents/PModelGLTF.d.ts.map +0 -1
  129. package/dist/src/pcomponents/PModelGLTF.js +0 -98
  130. package/dist/src/pcomponents/PModelGLTF.js.map +0 -1
  131. package/dist/src/pcomponents/PPhysicalMaterial.d.ts +0 -13
  132. package/dist/src/pcomponents/PPhysicalMaterial.d.ts.map +0 -1
  133. package/dist/src/pcomponents/PPhysicalMaterial.js +0 -106
  134. package/dist/src/pcomponents/PPhysicalMaterial.js.map +0 -1
  135. package/dist/src/pcomponents/PPlaneGeometry.d.ts +0 -8
  136. package/dist/src/pcomponents/PPlaneGeometry.d.ts.map +0 -1
  137. package/dist/src/pcomponents/PPlaneGeometry.js +0 -23
  138. package/dist/src/pcomponents/PPlaneGeometry.js.map +0 -1
  139. package/dist/src/pcomponents/PProjectRoot.d.ts +0 -8
  140. package/dist/src/pcomponents/PProjectRoot.d.ts.map +0 -1
  141. package/dist/src/pcomponents/PProjectRoot.js +0 -24
  142. package/dist/src/pcomponents/PProjectRoot.js.map +0 -1
  143. package/dist/src/pcomponents/PSlider.d.ts +0 -16
  144. package/dist/src/pcomponents/PSlider.d.ts.map +0 -1
  145. package/dist/src/pcomponents/PSlider.js +0 -69
  146. package/dist/src/pcomponents/PSlider.js.map +0 -1
  147. package/dist/src/pcomponents/PSound.d.ts +0 -17
  148. package/dist/src/pcomponents/PSound.d.ts.map +0 -1
  149. package/dist/src/pcomponents/PSound.js +0 -110
  150. package/dist/src/pcomponents/PSound.js.map +0 -1
  151. package/dist/src/pcomponents/PSphereGeometry.d.ts +0 -9
  152. package/dist/src/pcomponents/PSphereGeometry.d.ts.map +0 -1
  153. package/dist/src/pcomponents/PSphereGeometry.js +0 -24
  154. package/dist/src/pcomponents/PSphereGeometry.js.map +0 -1
  155. package/dist/src/pcomponents/PSprite.d.ts +0 -14
  156. package/dist/src/pcomponents/PSprite.d.ts.map +0 -1
  157. package/dist/src/pcomponents/PSprite.js +0 -79
  158. package/dist/src/pcomponents/PSprite.js.map +0 -1
  159. package/dist/src/pcomponents/PSpriteAnimation.d.ts +0 -15
  160. package/dist/src/pcomponents/PSpriteAnimation.d.ts.map +0 -1
  161. package/dist/src/pcomponents/PSpriteAnimation.js +0 -80
  162. package/dist/src/pcomponents/PSpriteAnimation.js.map +0 -1
  163. package/dist/src/pcomponents/PText.d.ts +0 -10
  164. package/dist/src/pcomponents/PText.d.ts.map +0 -1
  165. package/dist/src/pcomponents/PText.js +0 -44
  166. package/dist/src/pcomponents/PText.js.map +0 -1
  167. package/dist/src/pcomponents/PVideoBackground.d.ts +0 -13
  168. package/dist/src/pcomponents/PVideoBackground.d.ts.map +0 -1
  169. package/dist/src/pcomponents/PVideoBackground.js +0 -85
  170. package/dist/src/pcomponents/PVideoBackground.js.map +0 -1
  171. package/dist/src/pcomponents/PVideoPlayer.d.ts +0 -5
  172. package/dist/src/pcomponents/PVideoPlayer.d.ts.map +0 -1
  173. package/dist/src/pcomponents/PVideoPlayer.js +0 -12
  174. package/dist/src/pcomponents/PVideoPlayer.js.map +0 -1
  175. package/dist/src/postprocessing/PSSRPass.d.ts +0 -19
  176. package/dist/src/postprocessing/PSSRPass.d.ts.map +0 -1
  177. package/dist/src/postprocessing/PSSRPass.js +0 -69
  178. package/dist/src/postprocessing/PSSRPass.js.map +0 -1
  179. package/dist/src/postprocessing/ThreeJsPostProcessor.d.ts +0 -32
  180. package/dist/src/postprocessing/ThreeJsPostProcessor.d.ts.map +0 -1
  181. package/dist/src/postprocessing/ThreeJsPostProcessor.js +0 -264
  182. package/dist/src/postprocessing/ThreeJsPostProcessor.js.map +0 -1
  183. package/dist/src/three/ColliderObject3D.d.ts +0 -19
  184. package/dist/src/three/ColliderObject3D.d.ts.map +0 -1
  185. package/dist/src/three/ColliderObject3D.js +0 -146
  186. package/dist/src/three/ColliderObject3D.js.map +0 -1
  187. package/dist/src/three/FreeCameraControls.d.ts +0 -30
  188. package/dist/src/three/FreeCameraControls.d.ts.map +0 -1
  189. package/dist/src/three/FreeCameraControls.js +0 -158
  190. package/dist/src/three/FreeCameraControls.js.map +0 -1
  191. package/dist/src/three/OrbitCameraControls.d.ts +0 -24
  192. package/dist/src/three/OrbitCameraControls.d.ts.map +0 -1
  193. package/dist/src/three/OrbitCameraControls.js +0 -81
  194. package/dist/src/three/OrbitCameraControls.js.map +0 -1
  195. package/dist/src/three/VrCameraControls.d.ts +0 -28
  196. package/dist/src/three/VrCameraControls.d.ts.map +0 -1
  197. package/dist/src/three/VrCameraControls.js +0 -124
  198. package/dist/src/three/VrCameraControls.js.map +0 -1
@@ -1,69 +0,0 @@
1
- import { PSlider as PSliderBase, } from "@p100-web/core";
2
- export default class PSlider extends PSliderBase {
3
- constructor() {
4
- super(...arguments);
5
- this.el = null;
6
- this._width = 0.0;
7
- this.native_onHoverEnter = (point) => {
8
- const percent = this.getPercent(point);
9
- console.log("native_onHoverEnter: ", percent);
10
- this.outevent_onHoverEnter?.emit(this.node.id, this);
11
- };
12
- this.native_onHoverExit = () => {
13
- console.log("native_onHoverExit: ");
14
- this.outevent_onHoverExit?.emit(this.node.id, this);
15
- };
16
- this.native_onClick = () => {
17
- console.log("native_onClick: ");
18
- this.outevent_onClick?.emit(this.node.id, this);
19
- };
20
- }
21
- render() {
22
- this.el = this.node.getEl();
23
- this.node.collider = this;
24
- // If we have a parent, add us directly
25
- if (this.node.hasEl()) {
26
- this.addColliderNode();
27
- }
28
- }
29
- addColliderNode() {
30
- if (!this.node.hasEl()) {
31
- return;
32
- }
33
- this.computeBounds();
34
- const mesh = this.node.getEl();
35
- // Add to the raycaster
36
- mesh.layers.mask = 3;
37
- mesh.userData.collider = this;
38
- this.context.getPCanvas().addCollider(mesh);
39
- }
40
- getColliderObject() {
41
- throw new Error("Method not implemented.");
42
- }
43
- unrender() {
44
- if (!this.node.hasEl()) {
45
- return;
46
- }
47
- const nodeEl = this.node.getEl();
48
- nodeEl.layers.mask = 1;
49
- nodeEl.userData.collider = null;
50
- this.context.getPCanvas().removeCollider(nodeEl);
51
- }
52
- computeBounds() {
53
- const mesh = this.node.getEl();
54
- if (mesh) {
55
- mesh.geometry.computeBoundingSphere();
56
- mesh.geometry.computeBoundingBox();
57
- this._width =
58
- mesh.geometry.boundingBox.max.x - mesh.geometry.boundingBox.min.x;
59
- }
60
- }
61
- //
62
- // EVENTS
63
- //
64
- getPercent(point) {
65
- const localPoint = this.el.worldToLocal(point.clone());
66
- return localPoint.x / this._width + 0.5;
67
- }
68
- }
69
- //# sourceMappingURL=PSlider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSlider.js","sourceRoot":"","sources":["../../../src/pcomponents/PSlider.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { Audio as StaticAudio, PositionalAudio } from "three";
2
- import { PSound as PSoundBase } from "@p100-web/core";
3
- import { IAudioLoader, PFile } from "@p100-web/core";
4
- export default class PSound extends PSoundBase implements IAudioLoader {
5
- _staticSound: StaticAudio | null;
6
- _positionalSound: PositionalAudio | null;
7
- _waitingForPlay: boolean;
8
- render(): void;
9
- unrender(): void;
10
- onAudioLoaded: (_file: PFile, buffer: AudioBuffer) => void;
11
- disposeAudio(): void;
12
- loadAudio: () => void;
13
- onEnded: () => void;
14
- callback_onPlay: () => void;
15
- callback_onStop: () => void;
16
- }
17
- //# sourceMappingURL=PSound.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSound.d.ts","sourceRoot":"","sources":["../../../src/pcomponents/PSound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,eAAe,EAAiB,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAW,YAAW,YAAY;IACpE,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAQ;IAChD,eAAe,UAAS;IAExB,MAAM;IAMN,QAAQ;IAUR,aAAa,GAAI,OAAO,KAAK,EAAE,QAAQ,WAAW,UAiBhD;IAEF,YAAY;IAmBZ,SAAS,aAYP;IAMF,OAAO,aAEL;IAEF,eAAe,aAgBb;IAEF,eAAe,aAMb;CACH"}
@@ -1,110 +0,0 @@
1
- import { Audio as StaticAudio, PositionalAudio } from "three";
2
- import { PSound as PSoundBase } from "@p100-web/core";
3
- export default class PSound extends PSoundBase {
4
- constructor() {
5
- super(...arguments);
6
- this._staticSound = null;
7
- this._positionalSound = null;
8
- this._waitingForPlay = false;
9
- //
10
- // LOADING
11
- //
12
- this.onAudioLoaded = (_file, buffer) => {
13
- if (this._positionalSound) {
14
- const sound = this._positionalSound;
15
- sound.setBuffer(buffer);
16
- sound.setVolume(this.volume);
17
- sound.setRefDistance(this.distance);
18
- sound.setLoop(this.loop);
19
- sound.onEnded = this.onEnded;
20
- this._positionalSound = sound;
21
- }
22
- else if (this._staticSound) {
23
- const sound = this._staticSound;
24
- sound.setBuffer(buffer);
25
- sound.setVolume(this.volume);
26
- sound.onEnded = this.onEnded;
27
- sound.setLoop(this.loop);
28
- this._staticSound = sound;
29
- }
30
- };
31
- this.loadAudio = () => {
32
- if (this.file_sound !== null) {
33
- const audioListener = this.context.getAudioListener();
34
- if (this.positional) {
35
- this._positionalSound = new PositionalAudio(audioListener);
36
- this.node.set_el(this._positionalSound, false);
37
- }
38
- else {
39
- this._staticSound = new StaticAudio(audioListener);
40
- this.node.set_el(this._staticSound, false);
41
- }
42
- this.context.audioLoader().load(this, this.file_sound);
43
- }
44
- };
45
- //
46
- // EVENTS
47
- //
48
- this.onEnded = () => {
49
- this.outevent_onEnd?.emit(null, this);
50
- };
51
- this.callback_onPlay = () => {
52
- if (this.positional) {
53
- if (this._positionalSound !== null) {
54
- this._positionalSound.play();
55
- this.outevent_onStart?.emit(null, this);
56
- }
57
- else {
58
- console.error("Positional sound not loaded", this);
59
- }
60
- }
61
- else {
62
- if (this._staticSound !== null) {
63
- this._staticSound.play();
64
- this.outevent_onStart?.emit(null, this);
65
- }
66
- else {
67
- console.error("Static sound not loaded", this);
68
- }
69
- }
70
- };
71
- this.callback_onStop = () => {
72
- if (this._positionalSound?.isPlaying) {
73
- this._positionalSound.stop();
74
- }
75
- else if (this._staticSound?.isPlaying) {
76
- this._staticSound.stop();
77
- }
78
- };
79
- }
80
- render() {
81
- if (!this.context.editor) {
82
- this.loadAudio();
83
- }
84
- }
85
- unrender() {
86
- if (!this.context.editor) {
87
- this.disposeAudio();
88
- }
89
- }
90
- disposeAudio() {
91
- if (this.file_sound !== null) {
92
- this.context.audioLoader().disposeAudio(this, this.file_sound);
93
- }
94
- // Positional sound
95
- if (this._positionalSound !== null) {
96
- if (this._positionalSound.isPlaying)
97
- this._positionalSound.stop();
98
- this._positionalSound.onEnded = undefined;
99
- this._positionalSound = null;
100
- }
101
- // Static sound
102
- else if (this._staticSound !== null) {
103
- if (this._staticSound?.isPlaying)
104
- this._staticSound.stop();
105
- this._staticSound.onEnded = undefined;
106
- this._staticSound = null;
107
- }
108
- }
109
- }
110
- //# sourceMappingURL=PSound.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSound.js","sourceRoot":"","sources":["../../../src/pcomponents/PSound.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { SphereGeometry } from "three";
2
- import { PSphereGeometry as PSphereGeometryBase } from "@p100-web/core";
3
- export default class PSphereGeometry extends PSphereGeometryBase {
4
- el: SphereGeometry | null;
5
- unrender(): void;
6
- render(): void;
7
- debug(): void;
8
- }
9
- //# sourceMappingURL=PSphereGeometry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSphereGeometry.d.ts","sourceRoot":"","sources":["../../../src/pcomponents/PSphereGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,mBAAmB;IAC9D,EAAE,EAAE,cAAc,GAAG,IAAI,CAAQ;IAEjC,QAAQ;IAOR,MAAM;IAeN,KAAK;CACN"}
@@ -1,24 +0,0 @@
1
- import { Mesh, SphereGeometry } from "three";
2
- import { PSphereGeometry as PSphereGeometryBase } from "@p100-web/core";
3
- export default class PSphereGeometry extends PSphereGeometryBase {
4
- constructor() {
5
- super(...arguments);
6
- this.el = null;
7
- }
8
- unrender() {
9
- if (this.el !== null) {
10
- this.el.dispose();
11
- this.el = null;
12
- }
13
- }
14
- render() {
15
- const geometry = new SphereGeometry(this.radius, (this.segments + 1) * 12, (this.segments + 1) * 12);
16
- this.el = geometry;
17
- const mesh = new Mesh(geometry);
18
- mesh.castShadow = this.castShadow;
19
- mesh.receiveShadow = this.receiveShadow;
20
- this.node.set_el(mesh, false);
21
- }
22
- debug() { }
23
- }
24
- //# sourceMappingURL=PSphereGeometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSphereGeometry.js","sourceRoot":"","sources":["../../../src/pcomponents/PSphereGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,mBAAmB;IAAhE;;QACE,OAAE,GAA0B,IAAI,CAAC;IAyBnC,CAAC;IAvBC,QAAQ;QACN,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,QAAQ,GAAG,IAAI,cAAc,CACjC,IAAI,CAAC,MAAM,EACX,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,EACxB,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CACzB,CAAC;QACF,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,KAAI,CAAC;CACX"}
@@ -1,14 +0,0 @@
1
- import { SpriteMaterial } from "three";
2
- import { PSprite as PSpriteBase } from "@p100-web/core";
3
- import { IImageLoader, PFile } from "@p100-web/core";
4
- export default class PSprite extends PSpriteBase implements IImageLoader {
5
- protected _material_back: SpriteMaterial | null;
6
- protected _material_front: SpriteMaterial | null;
7
- _cacheKey: number;
8
- private _unrenderMaterial;
9
- _unrender(unrender: boolean): void;
10
- unrender(): void;
11
- render(): void;
12
- onImageLoaded(file: PFile, data: any, cacheKey: number): void;
13
- }
14
- //# sourceMappingURL=PSprite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSprite.d.ts","sourceRoot":"","sources":["../../../src/pcomponents/PSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAA2B,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAY,YAAW,YAAY;IACtE,SAAS,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAQ;IACvD,SAAS,CAAC,eAAe,EAAE,cAAc,GAAG,IAAI,CAAQ;IAExD,SAAS,SAAK;IAEd,OAAO,CAAC,iBAAiB;IAYzB,SAAS,CAAC,QAAQ,EAAE,OAAO;IAe3B,QAAQ;IAIR,MAAM;IAmCN,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAa9D"}
@@ -1,79 +0,0 @@
1
- import { Sprite, SpriteMaterial, SRGBColorSpace, Texture } from "three";
2
- import { PSprite as PSpriteBase } from "@p100-web/core";
3
- export default class PSprite extends PSpriteBase {
4
- constructor() {
5
- super(...arguments);
6
- this._material_back = null;
7
- this._material_front = null;
8
- this._cacheKey = 0;
9
- }
10
- _unrenderMaterial(material, unrender) {
11
- if (material.map) {
12
- material.map.dispose();
13
- material.map = null;
14
- }
15
- material.needsUpdate = true;
16
- // Dispose material
17
- if (unrender) {
18
- material.dispose();
19
- }
20
- }
21
- _unrender(unrender) {
22
- if (this.file_image) {
23
- this.context
24
- .imageLoader()
25
- .disposeImage(this, this.file_image, this._cacheKey);
26
- this._cacheKey = 0;
27
- }
28
- if (this._material_back)
29
- this._unrenderMaterial(this._material_back, unrender);
30
- if (this._material_front)
31
- this._unrenderMaterial(this._material_front, unrender);
32
- this._material_back = null;
33
- this._material_front = null;
34
- }
35
- unrender() {
36
- this._unrender(true);
37
- }
38
- render() {
39
- this._material_back = new SpriteMaterial({
40
- color: this.color,
41
- transparent: true,
42
- opacity: this.opacity * 0.25,
43
- depthTest: false,
44
- depthWrite: false,
45
- });
46
- this._material_front = new SpriteMaterial({
47
- color: this.color,
48
- transparent: true,
49
- opacity: this.opacity,
50
- depthTest: true,
51
- depthWrite: false,
52
- });
53
- const mesh_back = new Sprite(this._material_back);
54
- const mesh_front = new Sprite(this._material_front);
55
- mesh_back.renderOrder = 9999;
56
- mesh_front.renderOrder = 9999;
57
- mesh_front.add(mesh_back);
58
- this.node.set_el(mesh_front, false);
59
- if (this.file_image !== null) {
60
- this.context.imageLoader().load(this, this.file_image);
61
- }
62
- }
63
- //
64
- // IImageLoader
65
- //
66
- onImageLoaded(file, data, cacheKey) {
67
- this._cacheKey = cacheKey;
68
- const texture = new Texture();
69
- texture.userData.id = file._id;
70
- texture.image = data;
71
- texture.needsUpdate = true;
72
- texture.colorSpace = SRGBColorSpace;
73
- this._material_back.map = texture;
74
- this._material_front.map = texture;
75
- this._material_back.needsUpdate = true;
76
- this._material_front.needsUpdate = true;
77
- }
78
- }
79
- //# sourceMappingURL=PSprite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSprite.js","sourceRoot":"","sources":["../../../src/pcomponents/PSprite.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { PSpriteAnimation as PSpriteAnimationBase } from "@p100-web/core";
2
- export default class PSpriteAnimation extends PSpriteAnimationBase {
3
- private _tween;
4
- private _state;
5
- private _target;
6
- private _lastFrame;
7
- stop(): void;
8
- render(): void;
9
- unrender(): void;
10
- private setTarget;
11
- callback_startAnimation(): void;
12
- setFrame: (state: any) => void;
13
- callback_stopAnimation(): void;
14
- }
15
- //# sourceMappingURL=PSpriteAnimation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSpriteAnimation.d.ts","sourceRoot":"","sources":["../../../src/pcomponents/PSpriteAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG1E,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,oBAAoB;IAChE,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,UAAU,CAAM;IAExB,IAAI;IAIJ,MAAM;IAEN,QAAQ;IAQR,OAAO,CAAC,SAAS;IAiBjB,uBAAuB,IAAI,IAAI;IA0B/B,QAAQ,GAAI,OAAO,GAAG,UAepB;IAEF,sBAAsB,IAAI,IAAI;CAS/B"}
@@ -1,80 +0,0 @@
1
- import { Tween } from "@tweenjs/tween.js";
2
- import { PSpriteAnimation as PSpriteAnimationBase } from "@p100-web/core";
3
- export default class PSpriteAnimation extends PSpriteAnimationBase {
4
- constructor() {
5
- super(...arguments);
6
- this._tween = null;
7
- this._state = { x: 0 };
8
- this._target = null;
9
- this._lastFrame = -1;
10
- this.setFrame = (state) => {
11
- const index = Math.floor(state.x);
12
- if (index === this._lastFrame) {
13
- return;
14
- }
15
- this._lastFrame = index;
16
- const width = this.size.x;
17
- const height = this.size.y;
18
- const currentColumn = index % width;
19
- this._target.offset.x = currentColumn / width;
20
- const currentRow = Math.floor(index / width);
21
- this._target.offset.y = 1 - 1 / height - currentRow / height;
22
- };
23
- }
24
- stop() {
25
- this._target = null;
26
- }
27
- render() { }
28
- unrender() {
29
- this._target = null;
30
- if (this._tween !== null) {
31
- this._tween.stop();
32
- this._tween = null;
33
- }
34
- }
35
- setTarget() {
36
- const material = this.node.material;
37
- if (!material || !material.isImageMaterial) {
38
- this.context.error("Sprite Animation requires an Image Material component.");
39
- return false;
40
- }
41
- const texture = material.getTexture();
42
- if (texture === null) {
43
- this.context.error("Sprite Animation requires a Texture.");
44
- return false;
45
- }
46
- this._target = texture;
47
- return true;
48
- }
49
- callback_startAnimation() {
50
- if (!this.node.isRunning() || !this.node.hasEl()) {
51
- return;
52
- }
53
- if (this._target === null)
54
- this.setTarget();
55
- if (this._tween !== null) {
56
- this._tween.stop();
57
- this._tween = null;
58
- }
59
- const target = {
60
- x: this.size.x * this.size.y - 1,
61
- };
62
- this._lastFrame = -1;
63
- this._tween = new Tween(this._state)
64
- .to(target, this.duration)
65
- .repeat(this.loop ? Infinity : 1)
66
- .onUpdate(this.setFrame)
67
- .start();
68
- this.context.addTween(this._tween);
69
- }
70
- callback_stopAnimation() {
71
- if (!this.node.isRunning() || !this.node.hasEl()) {
72
- return;
73
- }
74
- if (this._tween !== null) {
75
- this._tween.stop();
76
- this._tween = null;
77
- }
78
- }
79
- }
80
- //# sourceMappingURL=PSpriteAnimation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PSpriteAnimation.js","sourceRoot":"","sources":["../../../src/pcomponents/PSpriteAnimation.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { Text } from "troika-three-text";
2
- import { PText as PTextBase } from "@p100-web/core";
3
- export default class PText extends PTextBase {
4
- protected _el: Text | null;
5
- dispose(): void;
6
- callback_setText: (payloadValue: string | null) => void;
7
- render(): void;
8
- unrender(): void;
9
- }
10
- //# sourceMappingURL=PText.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PText.d.ts","sourceRoot":"","sources":["../../../src/pcomponents/PText.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,SAAS;IAC1C,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAQ;IAElC,OAAO;IAIP,gBAAgB,GAAI,cAAc,MAAM,GAAG,IAAI,UAM7C;IAEF,MAAM;IAqBN,QAAQ;CAMT"}
@@ -1,44 +0,0 @@
1
- // @ts-ignore
2
- import { Text } from "troika-three-text";
3
- import { PText as PTextBase } from "@p100-web/core";
4
- export default class PText extends PTextBase {
5
- constructor() {
6
- super(...arguments);
7
- this._el = null;
8
- this.callback_setText = (payloadValue) => {
9
- if (this._el !== null) {
10
- this._el.text = (payloadValue || "").replace(/\\n/g, "\n");
11
- this._el.sync();
12
- }
13
- this.outevent_onSetText?.emit(payloadValue, this);
14
- };
15
- }
16
- dispose() {
17
- if (this.file_font)
18
- this.context.releaseFile(this.file_font);
19
- }
20
- render() {
21
- // Create:
22
- const el = new Text();
23
- this._el = el;
24
- // Set properties to configure:
25
- el.text = this.text.replace(/\\n/g, "\n");
26
- el.fontSize = this.fontSize;
27
- el.font = this.file_font ? this.context.s3Url + this.file_font.url : null;
28
- el.color = this.color;
29
- el.anchorX = this.textAlign;
30
- el.anchorY = this.verticalAlign;
31
- el.outlineColor = this.outlineColor;
32
- el.outlineWidth = this.outlineWidth > 0 ? this.outlineWidth + "%" : 0;
33
- // Update the rendering:
34
- el.sync();
35
- this.node.set_el(el, false);
36
- }
37
- unrender() {
38
- if (this._el) {
39
- this._el.dispose();
40
- this._el = null;
41
- }
42
- }
43
- }
44
- //# sourceMappingURL=PText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PText.js","sourceRoot":"","sources":["../../../src/pcomponents/PText.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,SAAS;IAA5C;;QACY,QAAG,GAAgB,IAAI,CAAC;QAMlC,qBAAgB,GAAG,CAAC,YAA2B,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;IA6BJ,CAAC;IAvCC,OAAO;QACL,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAUD,MAAM;QACJ,UAAU;QACV,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAEd,+BAA+B;QAC/B,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1C,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACtB,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QAChC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACpC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,wBAAwB;QACxB,EAAE,CAAC,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- import { MeshBasicMaterial, SphereGeometry } from "three";
2
- import { PVideoBackground as PVideoBackgroundBase } from "@p100-web/core";
3
- import { type IVideoLoader, PFile } from "@p100-web/core";
4
- export default class PVideoBackground extends PVideoBackgroundBase implements IVideoLoader {
5
- material: MeshBasicMaterial | null;
6
- geometry: SphereGeometry | null;
7
- _waitingForPlay: boolean;
8
- protected getVideo(): HTMLVideoElement | null;
9
- _dispose(unrender: boolean): void;
10
- render(): void;
11
- onVideoLoaded(file: PFile, data: any): void;
12
- }
13
- //# sourceMappingURL=PVideoBackground.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PVideoBackground.d.ts","sourceRoot":"","sources":["../../../src/pcomponents/PVideoBackground.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EACjB,cAAc,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,gBACnB,SAAQ,oBACR,YAAW,YAAY;IAEvB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC1C,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAQ;IAEvC,eAAe,UAAS;IAExB,SAAS,CAAC,QAAQ,IAAI,gBAAgB,GAAG,IAAI;IAQ7C,QAAQ,CAAC,QAAQ,EAAE,OAAO;IAmC1B,MAAM;IAkCN,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;CAW5C"}
@@ -1,85 +0,0 @@
1
- import { BackSide, MathUtils, Mesh, MeshBasicMaterial, SphereGeometry, SRGBColorSpace, Vector2, VideoTexture, } from "three";
2
- import { PVideoBackground as PVideoBackgroundBase } from "@p100-web/core";
3
- import { FileSubType } from "@p100-web/core";
4
- export default class PVideoBackground extends PVideoBackgroundBase {
5
- constructor() {
6
- super(...arguments);
7
- this.material = null;
8
- this.geometry = null;
9
- this._waitingForPlay = false;
10
- }
11
- getVideo() {
12
- return this.material?.map?.source?.data || null;
13
- }
14
- //
15
- // PComponent
16
- //
17
- _dispose(unrender) {
18
- const video = this.getVideo();
19
- if (video) {
20
- this.removeEvents();
21
- video.pause();
22
- }
23
- if (this.file_texture) {
24
- this.context.videoLoader().disposeVideo(this, this.file_texture);
25
- }
26
- // Check if we should dispose Material
27
- if (this.material) {
28
- // Do we have a texture as well?
29
- if (this.material.map) {
30
- this.material.map.dispose();
31
- this.material.map.source.data = null;
32
- this.material.map = null;
33
- }
34
- this.material.needsUpdate = true;
35
- // Dispose material
36
- if (unrender) {
37
- this.material.dispose();
38
- this.material = null;
39
- }
40
- }
41
- if (unrender && this.geometry !== null) {
42
- this.geometry.dispose();
43
- this.geometry = null;
44
- }
45
- }
46
- render() {
47
- const geometry = new SphereGeometry(this.radius, 64, 64);
48
- this.geometry = geometry;
49
- const mesh = new Mesh(geometry);
50
- mesh.castShadow = false;
51
- mesh.receiveShadow = false;
52
- this.node.set_el(mesh, false);
53
- if (!this.node.hasEl())
54
- return;
55
- mesh.rotation.y = MathUtils.degToRad(this.rotation);
56
- const material = new MeshBasicMaterial({
57
- color: 0xffffff,
58
- map: null,
59
- side: BackSide,
60
- transparent: false,
61
- fog: false,
62
- // shadowSide: DoubleSide,
63
- });
64
- this.material = material;
65
- mesh.material = material;
66
- mesh.scale.x = mesh.scale.x * -1;
67
- if (this.file_texture !== null) {
68
- this.context.videoLoader().load(this, this.file_texture);
69
- }
70
- }
71
- //
72
- // IVideoLoader
73
- //
74
- onVideoLoaded(file, data) {
75
- if (this.material !== null) {
76
- const texture = new VideoTexture(data);
77
- texture.colorSpace = SRGBColorSpace;
78
- if (file.subType === FileSubType.Stereo)
79
- texture.repeat = new Vector2(1, 0.5);
80
- this.material.map = texture;
81
- this.material.needsUpdate = true;
82
- }
83
- }
84
- }
85
- //# sourceMappingURL=PVideoBackground.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PVideoBackground.js","sourceRoot":"","sources":["../../../src/pcomponents/PVideoBackground.ts"],"names":[],"mappings":"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"}