@p100-web/core-three 100.0.60

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 (161) hide show
  1. package/dist/index.d.ts +9 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +10 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/pcomponents.d.ts +23 -0
  6. package/dist/pcomponents.d.ts.map +1 -0
  7. package/dist/pcomponents.js +29 -0
  8. package/dist/pcomponents.js.map +1 -0
  9. package/dist/src/App.d.ts +40 -0
  10. package/dist/src/App.d.ts.map +1 -0
  11. package/dist/src/App.js +171 -0
  12. package/dist/src/App.js.map +1 -0
  13. package/dist/src/ComponentFactory.d.ts +5 -0
  14. package/dist/src/ComponentFactory.d.ts.map +1 -0
  15. package/dist/src/ComponentFactory.js +17 -0
  16. package/dist/src/ComponentFactory.js.map +1 -0
  17. package/dist/src/PCanvas.d.ts +171 -0
  18. package/dist/src/PCanvas.d.ts.map +1 -0
  19. package/dist/src/PCanvas.js +992 -0
  20. package/dist/src/PCanvas.js.map +1 -0
  21. package/dist/src/ThreeEngine.d.ts +25 -0
  22. package/dist/src/ThreeEngine.d.ts.map +1 -0
  23. package/dist/src/ThreeEngine.js +102 -0
  24. package/dist/src/ThreeEngine.js.map +1 -0
  25. package/dist/src/ThreeNodeRenderer.d.ts +32 -0
  26. package/dist/src/ThreeNodeRenderer.d.ts.map +1 -0
  27. package/dist/src/ThreeNodeRenderer.js +87 -0
  28. package/dist/src/ThreeNodeRenderer.js.map +1 -0
  29. package/dist/src/media/AudioLoader.d.ts +32 -0
  30. package/dist/src/media/AudioLoader.d.ts.map +1 -0
  31. package/dist/src/media/AudioLoader.js +110 -0
  32. package/dist/src/media/AudioLoader.js.map +1 -0
  33. package/dist/src/media/EnvironmentLoader.d.ts +40 -0
  34. package/dist/src/media/EnvironmentLoader.d.ts.map +1 -0
  35. package/dist/src/media/EnvironmentLoader.js +120 -0
  36. package/dist/src/media/EnvironmentLoader.js.map +1 -0
  37. package/dist/src/media/ImageLoader.d.ts +36 -0
  38. package/dist/src/media/ImageLoader.d.ts.map +1 -0
  39. package/dist/src/media/ImageLoader.js +160 -0
  40. package/dist/src/media/ImageLoader.js.map +1 -0
  41. package/dist/src/media/MediaLoader.d.ts +14 -0
  42. package/dist/src/media/MediaLoader.d.ts.map +1 -0
  43. package/dist/src/media/MediaLoader.js +70 -0
  44. package/dist/src/media/MediaLoader.js.map +1 -0
  45. package/dist/src/media/ModelLoader.d.ts +49 -0
  46. package/dist/src/media/ModelLoader.d.ts.map +1 -0
  47. package/dist/src/media/ModelLoader.js +223 -0
  48. package/dist/src/media/ModelLoader.js.map +1 -0
  49. package/dist/src/media/VideoLoader.d.ts +35 -0
  50. package/dist/src/media/VideoLoader.d.ts.map +1 -0
  51. package/dist/src/media/VideoLoader.js +105 -0
  52. package/dist/src/media/VideoLoader.js.map +1 -0
  53. package/dist/src/pcomponents/PAnimator.d.ts +24 -0
  54. package/dist/src/pcomponents/PAnimator.d.ts.map +1 -0
  55. package/dist/src/pcomponents/PAnimator.js +129 -0
  56. package/dist/src/pcomponents/PAnimator.js.map +1 -0
  57. package/dist/src/pcomponents/PBasicMaterial.d.ts +17 -0
  58. package/dist/src/pcomponents/PBasicMaterial.d.ts.map +1 -0
  59. package/dist/src/pcomponents/PBasicMaterial.js +142 -0
  60. package/dist/src/pcomponents/PBasicMaterial.js.map +1 -0
  61. package/dist/src/pcomponents/PCollider.d.ts +11 -0
  62. package/dist/src/pcomponents/PCollider.d.ts.map +1 -0
  63. package/dist/src/pcomponents/PCollider.js +61 -0
  64. package/dist/src/pcomponents/PCollider.js.map +1 -0
  65. package/dist/src/pcomponents/PCubeGeometry.d.ts +8 -0
  66. package/dist/src/pcomponents/PCubeGeometry.d.ts.map +1 -0
  67. package/dist/src/pcomponents/PCubeGeometry.js +23 -0
  68. package/dist/src/pcomponents/PCubeGeometry.js.map +1 -0
  69. package/dist/src/pcomponents/PEnvironment.d.ts +14 -0
  70. package/dist/src/pcomponents/PEnvironment.d.ts.map +1 -0
  71. package/dist/src/pcomponents/PEnvironment.js +86 -0
  72. package/dist/src/pcomponents/PEnvironment.js.map +1 -0
  73. package/dist/src/pcomponents/PImageBackground.d.ts +14 -0
  74. package/dist/src/pcomponents/PImageBackground.d.ts.map +1 -0
  75. package/dist/src/pcomponents/PImageBackground.js +85 -0
  76. package/dist/src/pcomponents/PImageBackground.js.map +1 -0
  77. package/dist/src/pcomponents/PLight.d.ts +8 -0
  78. package/dist/src/pcomponents/PLight.d.ts.map +1 -0
  79. package/dist/src/pcomponents/PLight.js +22 -0
  80. package/dist/src/pcomponents/PLight.js.map +1 -0
  81. package/dist/src/pcomponents/PLightDirectional.d.ts +8 -0
  82. package/dist/src/pcomponents/PLightDirectional.d.ts.map +1 -0
  83. package/dist/src/pcomponents/PLightDirectional.js +36 -0
  84. package/dist/src/pcomponents/PLightDirectional.js.map +1 -0
  85. package/dist/src/pcomponents/PMaskedMaterial.d.ts +17 -0
  86. package/dist/src/pcomponents/PMaskedMaterial.d.ts.map +1 -0
  87. package/dist/src/pcomponents/PMaskedMaterial.js +214 -0
  88. package/dist/src/pcomponents/PMaskedMaterial.js.map +1 -0
  89. package/dist/src/pcomponents/PModelGLTF.d.ts +18 -0
  90. package/dist/src/pcomponents/PModelGLTF.d.ts.map +1 -0
  91. package/dist/src/pcomponents/PModelGLTF.js +98 -0
  92. package/dist/src/pcomponents/PModelGLTF.js.map +1 -0
  93. package/dist/src/pcomponents/PPhysicalMaterial.d.ts +13 -0
  94. package/dist/src/pcomponents/PPhysicalMaterial.d.ts.map +1 -0
  95. package/dist/src/pcomponents/PPhysicalMaterial.js +106 -0
  96. package/dist/src/pcomponents/PPhysicalMaterial.js.map +1 -0
  97. package/dist/src/pcomponents/PPlaneGeometry.d.ts +8 -0
  98. package/dist/src/pcomponents/PPlaneGeometry.d.ts.map +1 -0
  99. package/dist/src/pcomponents/PPlaneGeometry.js +23 -0
  100. package/dist/src/pcomponents/PPlaneGeometry.js.map +1 -0
  101. package/dist/src/pcomponents/PProjectRoot.d.ts +8 -0
  102. package/dist/src/pcomponents/PProjectRoot.d.ts.map +1 -0
  103. package/dist/src/pcomponents/PProjectRoot.js +24 -0
  104. package/dist/src/pcomponents/PProjectRoot.js.map +1 -0
  105. package/dist/src/pcomponents/PSlider.d.ts +16 -0
  106. package/dist/src/pcomponents/PSlider.d.ts.map +1 -0
  107. package/dist/src/pcomponents/PSlider.js +69 -0
  108. package/dist/src/pcomponents/PSlider.js.map +1 -0
  109. package/dist/src/pcomponents/PSound.d.ts +17 -0
  110. package/dist/src/pcomponents/PSound.d.ts.map +1 -0
  111. package/dist/src/pcomponents/PSound.js +110 -0
  112. package/dist/src/pcomponents/PSound.js.map +1 -0
  113. package/dist/src/pcomponents/PSphereGeometry.d.ts +9 -0
  114. package/dist/src/pcomponents/PSphereGeometry.d.ts.map +1 -0
  115. package/dist/src/pcomponents/PSphereGeometry.js +24 -0
  116. package/dist/src/pcomponents/PSphereGeometry.js.map +1 -0
  117. package/dist/src/pcomponents/PSprite.d.ts +14 -0
  118. package/dist/src/pcomponents/PSprite.d.ts.map +1 -0
  119. package/dist/src/pcomponents/PSprite.js +79 -0
  120. package/dist/src/pcomponents/PSprite.js.map +1 -0
  121. package/dist/src/pcomponents/PSpriteAnimation.d.ts +15 -0
  122. package/dist/src/pcomponents/PSpriteAnimation.d.ts.map +1 -0
  123. package/dist/src/pcomponents/PSpriteAnimation.js +80 -0
  124. package/dist/src/pcomponents/PSpriteAnimation.js.map +1 -0
  125. package/dist/src/pcomponents/PText.d.ts +10 -0
  126. package/dist/src/pcomponents/PText.d.ts.map +1 -0
  127. package/dist/src/pcomponents/PText.js +44 -0
  128. package/dist/src/pcomponents/PText.js.map +1 -0
  129. package/dist/src/pcomponents/PVideoBackground.d.ts +13 -0
  130. package/dist/src/pcomponents/PVideoBackground.d.ts.map +1 -0
  131. package/dist/src/pcomponents/PVideoBackground.js +85 -0
  132. package/dist/src/pcomponents/PVideoBackground.js.map +1 -0
  133. package/dist/src/pcomponents/PVideoPlayer.d.ts +5 -0
  134. package/dist/src/pcomponents/PVideoPlayer.d.ts.map +1 -0
  135. package/dist/src/pcomponents/PVideoPlayer.js +12 -0
  136. package/dist/src/pcomponents/PVideoPlayer.js.map +1 -0
  137. package/dist/src/postprocessing/PSSRPass.d.ts +19 -0
  138. package/dist/src/postprocessing/PSSRPass.d.ts.map +1 -0
  139. package/dist/src/postprocessing/PSSRPass.js +69 -0
  140. package/dist/src/postprocessing/PSSRPass.js.map +1 -0
  141. package/dist/src/postprocessing/ThreeJsPostProcessor.d.ts +32 -0
  142. package/dist/src/postprocessing/ThreeJsPostProcessor.d.ts.map +1 -0
  143. package/dist/src/postprocessing/ThreeJsPostProcessor.js +264 -0
  144. package/dist/src/postprocessing/ThreeJsPostProcessor.js.map +1 -0
  145. package/dist/src/three/ColliderObject3D.d.ts +19 -0
  146. package/dist/src/three/ColliderObject3D.d.ts.map +1 -0
  147. package/dist/src/three/ColliderObject3D.js +146 -0
  148. package/dist/src/three/ColliderObject3D.js.map +1 -0
  149. package/dist/src/three/FreeCameraControls.d.ts +30 -0
  150. package/dist/src/three/FreeCameraControls.d.ts.map +1 -0
  151. package/dist/src/three/FreeCameraControls.js +158 -0
  152. package/dist/src/three/FreeCameraControls.js.map +1 -0
  153. package/dist/src/three/OrbitCameraControls.d.ts +24 -0
  154. package/dist/src/three/OrbitCameraControls.d.ts.map +1 -0
  155. package/dist/src/three/OrbitCameraControls.js +81 -0
  156. package/dist/src/three/OrbitCameraControls.js.map +1 -0
  157. package/dist/src/three/VrCameraControls.d.ts +28 -0
  158. package/dist/src/three/VrCameraControls.d.ts.map +1 -0
  159. package/dist/src/three/VrCameraControls.js +124 -0
  160. package/dist/src/three/VrCameraControls.js.map +1 -0
  161. package/package.json +27 -0
@@ -0,0 +1,9 @@
1
+ export { default as PCanvas } from "./src/PCanvas";
2
+ export { default as ThreeEngine } from "./src/ThreeEngine";
3
+ export { default as ImageLoader } from "./src/media/ImageLoader";
4
+ export { default as VideoLoader } from "./src/media/VideoLoader";
5
+ export { default as ModelLoader } from "./src/media/ModelLoader";
6
+ export { default as AudioLoader } from "./src/media/AudioLoader";
7
+ export { default as App } from "./src/App";
8
+ export * from "./pcomponents";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAE3C,cAAc,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ // p100
2
+ export { default as PCanvas } from "./src/PCanvas";
3
+ export { default as ThreeEngine } from "./src/ThreeEngine";
4
+ export { default as ImageLoader } from "./src/media/ImageLoader";
5
+ export { default as VideoLoader } from "./src/media/VideoLoader";
6
+ export { default as ModelLoader } from "./src/media/ModelLoader";
7
+ export { default as AudioLoader } from "./src/media/AudioLoader";
8
+ export { default as App } from "./src/App";
9
+ export * from "./pcomponents";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO;AAEP,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAE3C,cAAc,eAAe,CAAC"}
@@ -0,0 +1,23 @@
1
+ export { PSceneRoot, PTransform, PCallAction, PCallActions, PCompareNumber, PCompareBoolean, PCompareVariable, PCompareString, PVisibility, PDebug, PSceneContainer, PVarList, PVarWriter, PVarReader, PImageCache, PXRTools, PVideoMaterial, PImageDetector, PPlaneDetector, PControllerInput, PCameraPosition, PCameraTarget, PHud, PMoveAnimation, PMoveToAnimation, PFadeAnimation, PRotateAnimation, PScaleAnimation, } from "@p100-web/core";
2
+ export { default as PProjectRoot } from "./src/pcomponents/PProjectRoot";
3
+ export { default as PSpriteAnimation } from "./src/pcomponents/PSpriteAnimation";
4
+ export { default as PImageBackground } from "./src/pcomponents/PImageBackground";
5
+ export { default as PVideoPlayer } from "./src/pcomponents/PVideoPlayer";
6
+ export { default as PBasicMaterial } from "./src/pcomponents/PBasicMaterial";
7
+ export { default as PAnimator } from "./src/pcomponents/PAnimator";
8
+ export { default as PPlaneGeometry } from "./src/pcomponents/PPlaneGeometry";
9
+ export { default as PPhysicalMaterial } from "./src/pcomponents/PPhysicalMaterial";
10
+ export { default as PSphereGeometry } from "./src/pcomponents/PSphereGeometry";
11
+ export { default as PText } from "./src/pcomponents/PText";
12
+ export { default as PModelGLTF } from "./src/pcomponents/PModelGLTF";
13
+ export { default as PLight } from "./src/pcomponents/PLight";
14
+ export { default as PLightDirectional } from "./src/pcomponents/PLightDirectional";
15
+ export { default as PSlider } from "./src/pcomponents/PSlider";
16
+ export { default as PVideoBackground } from "./src/pcomponents/PVideoBackground";
17
+ export { default as PEnvironment } from "./src/pcomponents/PEnvironment";
18
+ export { default as PSound } from "./src/pcomponents/PSound";
19
+ export { default as PCubeGeometry } from "./src/pcomponents/PCubeGeometry";
20
+ export { default as PSprite } from "./src/pcomponents/PSprite";
21
+ export { default as PMaskedMaterial } from "./src/pcomponents/PMaskedMaterial";
22
+ export { default as PCollider } from "./src/pcomponents/PCollider";
23
+ //# sourceMappingURL=pcomponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcomponents.d.ts","sourceRoot":"","sources":["../pcomponents.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,MAAM,EACN,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,29 @@
1
+ //
2
+ // DEFAULT COMPONENTS
3
+ //
4
+ export { PSceneRoot, PTransform, PCallAction, PCallActions, PCompareNumber, PCompareBoolean, PCompareVariable, PCompareString, PVisibility, PDebug, PSceneContainer, PVarList, PVarWriter, PVarReader, PImageCache, PXRTools, PVideoMaterial, PImageDetector, PPlaneDetector, PControllerInput, PCameraPosition, PCameraTarget, PHud, PMoveAnimation, PMoveToAnimation, PFadeAnimation, PRotateAnimation, PScaleAnimation, } from "@p100-web/core";
5
+ //
6
+ // THREE OVERRIDE COMPONENTS
7
+ //
8
+ export { default as PProjectRoot } from "./src/pcomponents/PProjectRoot";
9
+ export { default as PSpriteAnimation } from "./src/pcomponents/PSpriteAnimation";
10
+ export { default as PImageBackground } from "./src/pcomponents/PImageBackground";
11
+ export { default as PVideoPlayer } from "./src/pcomponents/PVideoPlayer";
12
+ export { default as PBasicMaterial } from "./src/pcomponents/PBasicMaterial";
13
+ export { default as PAnimator } from "./src/pcomponents/PAnimator";
14
+ export { default as PPlaneGeometry } from "./src/pcomponents/PPlaneGeometry";
15
+ export { default as PPhysicalMaterial } from "./src/pcomponents/PPhysicalMaterial";
16
+ export { default as PSphereGeometry } from "./src/pcomponents/PSphereGeometry";
17
+ export { default as PText } from "./src/pcomponents/PText";
18
+ export { default as PModelGLTF } from "./src/pcomponents/PModelGLTF";
19
+ export { default as PLight } from "./src/pcomponents/PLight";
20
+ export { default as PLightDirectional } from "./src/pcomponents/PLightDirectional";
21
+ export { default as PSlider } from "./src/pcomponents/PSlider";
22
+ export { default as PVideoBackground } from "./src/pcomponents/PVideoBackground";
23
+ export { default as PEnvironment } from "./src/pcomponents/PEnvironment";
24
+ export { default as PSound } from "./src/pcomponents/PSound";
25
+ export { default as PCubeGeometry } from "./src/pcomponents/PCubeGeometry";
26
+ export { default as PSprite } from "./src/pcomponents/PSprite";
27
+ export { default as PMaskedMaterial } from "./src/pcomponents/PMaskedMaterial";
28
+ export { default as PCollider } from "./src/pcomponents/PCollider";
29
+ //# sourceMappingURL=pcomponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcomponents.js","sourceRoot":"","sources":["../pcomponents.ts"],"names":[],"mappings":"AACA,EAAE;AACF,qBAAqB;AACrB,EAAE;AAEF,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,MAAM,EACN,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,EAAE;AACF,4BAA4B;AAC5B,EAAE;AAEF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { IGameContextOwner, PNode, GameContext } from "@p100-web/core";
2
+ import PCanvas from "./PCanvas";
3
+ type EventListener = (event: string, payload: string) => void;
4
+ export type { EventListener };
5
+ export default class App implements IGameContextOwner {
6
+ canvas: HTMLCanvasElement;
7
+ url: string;
8
+ project_id: string;
9
+ language: number;
10
+ context: GameContext | null;
11
+ pcanvas: PCanvas;
12
+ private _listeners;
13
+ private _disposed;
14
+ constructor(canvas: HTMLCanvasElement, url: string, project_id: string, language: number);
15
+ init(): Promise<void>;
16
+ /**
17
+ * Trigger when application is shut down. This will remove
18
+ * events and clean resources.
19
+ */
20
+ dispose(): void;
21
+ private onP100Event;
22
+ removeEventListener(listener: EventListener): void;
23
+ addEventListener(listener: EventListener): void;
24
+ dispatchEvent(event: string, payload: string): void;
25
+ getGlobalEvents(): import("@p100-web/core").PEvent[];
26
+ private onWindowResize;
27
+ setSleepState(_value: boolean): void;
28
+ setWorkState(_value: boolean): void;
29
+ onTreeChange(): void;
30
+ catch: (error: any) => void;
31
+ onClick: () => void;
32
+ onHoverEnter: () => void;
33
+ onHoverExit: () => void;
34
+ getRenderTarget(): HTMLCanvasElement;
35
+ onLoadScene(_node: PNode): void;
36
+ onUnloadScene(_node: PNode): void;
37
+ error(msg: string, details?: any): void;
38
+ rerenderNode(): void;
39
+ }
40
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/App.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EAEjB,KAAK,EAEL,WAAW,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,OAAO,MAAM,WAAW,CAAC;AAKhC,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,GAAI,YAAW,iBAAiB;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAK;IACrB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,SAAS,CAAS;gBAGxB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM;IAkBZ,IAAI;IA+EV;;;OAGG;IACH,OAAO;IA8BP,OAAO,CAAC,WAAW,CAMjB;IAEF,mBAAmB,CAAC,QAAQ,EAAE,aAAa;IAI3C,gBAAgB,CAAC,QAAQ,EAAE,aAAa;IAIxC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAgB5C,eAAe;IASf,OAAO,CAAC,cAAc,CAIpB;IAMF,aAAa,CAAC,MAAM,EAAE,OAAO;IAC7B,YAAY,CAAC,MAAM,EAAE,OAAO;IAE5B,YAAY;IAEZ,KAAK,GAAI,OAAO,GAAG,UAEjB;IAEF,OAAO,aAAY;IAEnB,YAAY,aAIV;IAEF,WAAW,aAIT;IAEF,eAAe;IAIf,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAE/B,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAEjC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAIhC,YAAY;CACb"}
@@ -0,0 +1,171 @@
1
+ import { DBNode, Platform, Settings_Threejs, MediaManager, PFile, GameContext, } from "@p100-web/core";
2
+ import PCanvas from "./PCanvas";
3
+ import ThreeRenderer from "./ThreeEngine";
4
+ import ComponentFactory from "./ComponentFactory";
5
+ export default class App {
6
+ constructor(canvas, url, project_id, language) {
7
+ this.language = 0;
8
+ this._disposed = false;
9
+ //
10
+ // EVENTS
11
+ //
12
+ this.onP100Event = (e) => {
13
+ const event = e.detail.name;
14
+ const payload = e.detail.payload;
15
+ for (const listener of this._listeners) {
16
+ listener(event, payload);
17
+ }
18
+ };
19
+ //
20
+ // Event Listeners
21
+ //
22
+ this.onWindowResize = () => {
23
+ const width = window.innerWidth;
24
+ const height = window.innerHeight;
25
+ this.pcanvas.onWindowResize(width, height, true);
26
+ };
27
+ this.catch = (error) => {
28
+ console.error(error);
29
+ };
30
+ this.onClick = () => { };
31
+ this.onHoverEnter = () => {
32
+ if (this.canvas) {
33
+ this.canvas.style.cursor = "pointer";
34
+ }
35
+ };
36
+ this.onHoverExit = () => {
37
+ if (this.canvas) {
38
+ this.canvas.style.cursor = "inherit";
39
+ }
40
+ };
41
+ this.canvas = canvas;
42
+ this.url = url;
43
+ this.project_id = project_id;
44
+ this._listeners = [];
45
+ this.language = language || 1;
46
+ this.context = new GameContext(this, Platform.Threejs, MediaManager, new ThreeRenderer(new ComponentFactory()));
47
+ this.context.setLanguage(language);
48
+ this.pcanvas = new PCanvas(this.context);
49
+ console.log("ok");
50
+ }
51
+ async init() {
52
+ if (this._disposed)
53
+ throw new Error("Context is disposed. Create a new.");
54
+ if (!this.context)
55
+ throw new Error("No context.");
56
+ if (!this.canvas)
57
+ throw new Error("Canvas not found");
58
+ this.canvas.addEventListener("p100-out-event", this.onP100Event);
59
+ const width = window.innerWidth;
60
+ const height = window.innerHeight;
61
+ // Load project
62
+ console.log("Loading project...");
63
+ const response = await fetch(`${this.url}/projects/${this.project_id}/1/${this.language}`);
64
+ if (!response.ok)
65
+ throw new Error(`Failed to load project: ${response.status}`);
66
+ const json = await response.json();
67
+ console.log("json: ", json);
68
+ if (!json.settings)
69
+ throw new Error("Missing settings for platform");
70
+ const settings = new Settings_Threejs();
71
+ settings.init(json.settings);
72
+ // Init nodes
73
+ this.context.setPCanvas(this.pcanvas);
74
+ this.pcanvas.render(this.canvas, width, height, settings);
75
+ this.pcanvas.init(settings);
76
+ // Need to init sound on click
77
+ this.context.setupAudioListener();
78
+ // Prepare window
79
+ window.addEventListener("resize", this.onWindowResize);
80
+ // Init files
81
+ const files = json.files.map((dbFile) => new PFile(dbFile));
82
+ MediaManager.setFiles(files);
83
+ // Init events
84
+ json.events.map(this.context.registerEvent);
85
+ // Init variables
86
+ json.variables.map(this.context.registerVariable);
87
+ const dbNodes = json.nodes.map((dbNode) => new DBNode(dbNode));
88
+ const dbRoot = dbNodes.find((n) => n._parent === null && n._scene === null);
89
+ if (!dbRoot)
90
+ throw new Error("Could not find dbRoot");
91
+ const root = this.context.createRootNode(dbRoot, dbNodes);
92
+ if (root === null)
93
+ throw new Error("Could not find root node");
94
+ // Init scenes
95
+ const dbSceneRoots = dbNodes.filter((n) => n._scene !== null && n._parent === null);
96
+ dbSceneRoots.map((dbSceneRoot) => {
97
+ const dbSceneNodes = dbNodes.filter((n) => n._scene === dbSceneRoot._scene);
98
+ this.context.registerScene(dbSceneRoot, dbSceneNodes);
99
+ });
100
+ this.context.setRoot(root);
101
+ this.context.enable();
102
+ // Set camera controls
103
+ this.context.setCameraControlSettings(settings.camera);
104
+ // Set layer mask
105
+ this.context.setLayers(settings.mask);
106
+ this.context.play();
107
+ }
108
+ /**
109
+ * Trigger when application is shut down. This will remove
110
+ * events and clean resources.
111
+ */
112
+ dispose() {
113
+ this._disposed = true;
114
+ console.log("[App] dispose()");
115
+ this._listeners = [];
116
+ const canvas = this.context?.getCanvasElement();
117
+ if (canvas) {
118
+ canvas.removeEventListener("p100-out-event", this.onP100Event);
119
+ }
120
+ window.removeEventListener("resize", this.onWindowResize);
121
+ if (this.context) {
122
+ if (this.context.isRunning()) {
123
+ console.log("[App] stop()");
124
+ this.context.stop();
125
+ }
126
+ this.context.disable();
127
+ this.context.dispose(true);
128
+ this.context = null;
129
+ }
130
+ }
131
+ removeEventListener(listener) {
132
+ this._listeners = this._listeners.filter((l) => l !== listener);
133
+ }
134
+ addEventListener(listener) {
135
+ this._listeners.push(listener);
136
+ }
137
+ dispatchEvent(event, payload) {
138
+ const e = this.context?.getEvent(event)?.name || event;
139
+ const canvas = this.context?.getCanvasElement();
140
+ if (!canvas) {
141
+ throw new Error("No canvas");
142
+ }
143
+ canvas.dispatchEvent(new CustomEvent("p100-in-event", {
144
+ detail: {
145
+ name: e,
146
+ payload: payload,
147
+ },
148
+ }));
149
+ }
150
+ getGlobalEvents() {
151
+ if (this.context)
152
+ return Object.values(this.context.getEvents());
153
+ return [];
154
+ }
155
+ //
156
+ // IGameContextOwner
157
+ //
158
+ setSleepState(_value) { }
159
+ setWorkState(_value) { }
160
+ onTreeChange() { }
161
+ getRenderTarget() {
162
+ return this.canvas;
163
+ }
164
+ onLoadScene(_node) { }
165
+ onUnloadScene(_node) { }
166
+ error(msg, details) {
167
+ console.error(msg, details);
168
+ }
169
+ rerenderNode() { }
170
+ }
171
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/App.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type DBComponent, PComponent, PNode, type IComponentFactory, GameContext } from "@p100-web/core";
2
+ export default class ComponentFactory implements IComponentFactory {
3
+ component(dbComponent: DBComponent, node: PNode, gameContext: GameContext): PComponent | null;
4
+ }
5
+ //# sourceMappingURL=ComponentFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentFactory.d.ts","sourceRoot":"","sources":["../../src/ComponentFactory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,WAAW,EAChB,UAAU,EACV,KAAK,EACL,KAAK,iBAAiB,EACtB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,iBAAiB;IAChE,SAAS,CACP,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,KAAK,EACX,WAAW,EAAE,WAAW,GACvB,UAAU,GAAG,IAAI;CAgBrB"}
@@ -0,0 +1,17 @@
1
+ import * as Components from "../pcomponents";
2
+ export default class ComponentFactory {
3
+ component(dbComponent, node, gameContext) {
4
+ const Type = Components[dbComponent.primitive];
5
+ if (!Type) {
6
+ console.error("Type not found: " + dbComponent.primitive + " on: " + node.name);
7
+ return null;
8
+ }
9
+ const component = new Type(dbComponent, node, gameContext);
10
+ component.cname = dbComponent.cname;
11
+ component.comment = dbComponent.comment;
12
+ component.platform = dbComponent.platform || 0;
13
+ component.language = dbComponent.language || 0;
14
+ return component;
15
+ }
16
+ }
17
+ //# sourceMappingURL=ComponentFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentFactory.js","sourceRoot":"","sources":["../../src/ComponentFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAS7C,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,SAAS,CACP,WAAwB,EACxB,IAAW,EACX,WAAwB;QAExB,MAAM,IAAI,GAAI,UAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CACX,kBAAkB,GAAG,WAAW,CAAC,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CACjE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAe,CAAC;QACzE,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QACpC,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACxC,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC/C,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,171 @@
1
+ import { Intersection, Object3D, Object3DEventMap, PerspectiveCamera, Raycaster, Scene, Vector2, WebGLRenderer, Group, Vector3 } from "three";
2
+ import { Tween } from "@tweenjs/tween.js";
3
+ import PEnvironment from "./pcomponents/PEnvironment";
4
+ import { type IThreePostProcessingSettings, Settings_Threejs, type IPostProcessor, type IUpdate, type IUpdator, type IThreeQualitySettings, type IPCanvas, PNode, GameContext, Workers, type ICameraNode, type ICameraControls, Settings_Base } from "@p100-web/core";
5
+ export default class PCanvas implements IPCanvas {
6
+ private context;
7
+ private _disposed;
8
+ private _sceneNode;
9
+ private _rootNode;
10
+ private _cameraNode;
11
+ private _raycaster;
12
+ private _canvas;
13
+ private _renderer;
14
+ private _controls;
15
+ private _composer;
16
+ private _updates;
17
+ private _clock;
18
+ private _tweens;
19
+ private _startHoverId;
20
+ private _backgroundColor;
21
+ private _cameraUpdate;
22
+ private _hoverCanvas;
23
+ private _hoverWindow;
24
+ private _isAdmin;
25
+ constructor(context: GameContext);
26
+ render(canvas: HTMLCanvasElement, width: number, height: number, settings: Settings_Threejs): void;
27
+ /**
28
+ * Should be called after render() and restore()
29
+ */
30
+ init(settings: Settings_Threejs): void;
31
+ restore(canvas: HTMLCanvasElement, settings: Settings_Threejs): void;
32
+ disable(): void;
33
+ dispose(): void;
34
+ enable(): void;
35
+ getComposer(): IPostProcessor | null;
36
+ private _environment;
37
+ getEnvironment(): PEnvironment | null;
38
+ setEnvironment(environment: PEnvironment): void;
39
+ updateEnvironment(): void;
40
+ setBackgroundColor(bg: string): void;
41
+ clearEnvironment(environment: PEnvironment): void;
42
+ setToneMapping(value: number): void;
43
+ setToneMappingExposure(value: number): void;
44
+ setFOV(fov: number): void;
45
+ setNearFar(near?: number, far?: number): void;
46
+ private setupShadows;
47
+ getCameraNode(): ICameraNode;
48
+ setCameraControls(controls: ICameraControls | null): void;
49
+ getCameraControls(): ICameraControls | null;
50
+ private setupPostProcessing;
51
+ /**
52
+ * Base settings has changed for post processing
53
+ */
54
+ updatePostProcessingSettings(field: string, settings: IThreePostProcessingSettings): void;
55
+ onExternalEvent: (e: any) => void;
56
+ /**
57
+ * Helper function to trigger events
58
+ */
59
+ emit(type: string, detail: any, bubbles: boolean): void;
60
+ /**
61
+ * Add <canvas/> event listener
62
+ */
63
+ addEventListener(type: string, callback: (e: any) => void): void;
64
+ /**
65
+ * Add <canvas/> event listener
66
+ */
67
+ removeEventListener(type: string, callback: (e: any) => void): void;
68
+ onMouseEnter: (_event: MouseEvent) => void;
69
+ onMouseExit: (_event: MouseEvent) => void;
70
+ _stats: IUpdator | null;
71
+ registerStats(updator: IUpdator | null): void;
72
+ /**
73
+ * Event callback when mouse moves.
74
+ */
75
+ onMouseMove: (event: MouseEvent) => void;
76
+ private _wasDown;
77
+ /**
78
+ * User pressed down on canvas
79
+ */
80
+ onCanvasClickDown: (e: any) => void;
81
+ /**
82
+ * User pressed up on canvas
83
+ */
84
+ onCanvasClickUp: (e: any) => void;
85
+ /**
86
+ * Return mouse position
87
+ */
88
+ getPointer(): Vector2 | null;
89
+ getSize(): Vector2;
90
+ onWindowResize(width: number, height: number, resize: boolean): void;
91
+ getThreeSceneNode(): Scene;
92
+ getThreeRenderer(): WebGLRenderer | null;
93
+ getCanvasElement(): HTMLCanvasElement | null;
94
+ getThreeRootNode(): Group<Object3DEventMap>;
95
+ getThreeCamera(): PerspectiveCamera;
96
+ private _hasUpdators;
97
+ registerUpdate(f: IUpdate): void;
98
+ unregisterUpdate(f: IUpdate): void;
99
+ startRenderLoop(): void;
100
+ stopRenderLoop(): void;
101
+ private _hasTweens;
102
+ addTween(tween: Tween): void;
103
+ setCameraUpdate(updateFunction: (() => void) | null): void;
104
+ private _isSleeping;
105
+ private _isSleepEnabled;
106
+ private _isHoveringAdmin;
107
+ private onWindowHide;
108
+ private onWindowEnter;
109
+ private onWindowExit;
110
+ private updateHoverState;
111
+ isSleepEnabled(): boolean;
112
+ private setIsSleepEnabled;
113
+ snooze(): void;
114
+ private _debug;
115
+ updateRendererSettings(field: string, isettings: Settings_Base): void;
116
+ updateQualitySettings(field: string, isettings: Settings_Base): void;
117
+ initQualitySettings(settings: IThreeQualitySettings): void;
118
+ private _renderScale;
119
+ private _maxScale;
120
+ private _minScale;
121
+ private _adaptiveQuality;
122
+ private _estimating;
123
+ private _baseQuality;
124
+ private _currentQuality;
125
+ private _estimatedQuality;
126
+ private _performanceCounter;
127
+ _skipFrameActive: boolean;
128
+ getRenderScale(): number;
129
+ getCurrentQuality(): number;
130
+ getEstimatedQuality(): number;
131
+ getRenderInterval(): number;
132
+ private updateSkipFrameState;
133
+ private setSkipFrameActive;
134
+ private setIsAdaptiveQualityEnabled;
135
+ onPerformanceEstimated: (quality: number, fps: number, estimating: boolean) => void;
136
+ /**
137
+ * Quality is always clamped to steps of 0.05
138
+ */
139
+ private setQuality;
140
+ private updateRenderScale;
141
+ private _isWorking;
142
+ private _isSceneRunning;
143
+ onSceneRunning(): void;
144
+ onWorkStarted(_workers: Workers): void;
145
+ onWorkStopped(_workers: Workers): void;
146
+ private sleepCheck;
147
+ private sleep;
148
+ private _renderCounter;
149
+ private _renderInterval;
150
+ update: () => void;
151
+ private _isRaycasting;
152
+ private _editor;
153
+ hovered: PNode | null;
154
+ colliders: Object3D[];
155
+ addCollider(object: Object3D): void;
156
+ removeCollider(object: Object3D): void;
157
+ getRaycaster(): Raycaster;
158
+ enableRaycaster(): void;
159
+ disableRaycaster(): void;
160
+ updateEditorMode(editor: boolean): void;
161
+ private raycast;
162
+ /**
163
+ * Set current hovered object.
164
+ */
165
+ setHovered(node: any, point: Vector3 | null): void;
166
+ /**
167
+ * User hovers collider
168
+ */
169
+ onHover(intersects: Intersection<Object3D<Object3DEventMap>>[] | null): void;
170
+ }
171
+ //# sourceMappingURL=PCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PCanvas.d.ts","sourceRoot":"","sources":["../../src/PCanvas.ts"],"names":[],"mappings":"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"}