@p100-web/core-three 100.2.15 → 100.2.16

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/package.json +2 -2
  2. package/dist/App.d.ts +0 -42
  3. package/dist/App.d.ts.map +0 -1
  4. package/dist/App.js +0 -182
  5. package/dist/App.js.map +0 -1
  6. package/dist/ComponentFactory.d.ts +0 -5
  7. package/dist/ComponentFactory.d.ts.map +0 -1
  8. package/dist/ComponentFactory.js +0 -13
  9. package/dist/ComponentFactory.js.map +0 -1
  10. package/dist/ThreeCanvas.d.ts +0 -56
  11. package/dist/ThreeCanvas.d.ts.map +0 -1
  12. package/dist/ThreeCanvas.js +0 -410
  13. package/dist/ThreeCanvas.js.map +0 -1
  14. package/dist/ThreeEngine.d.ts +0 -24
  15. package/dist/ThreeEngine.d.ts.map +0 -1
  16. package/dist/ThreeEngine.js +0 -102
  17. package/dist/ThreeEngine.js.map +0 -1
  18. package/dist/ThreeNodeRenderer.d.ts +0 -41
  19. package/dist/ThreeNodeRenderer.d.ts.map +0 -1
  20. package/dist/ThreeNodeRenderer.js +0 -116
  21. package/dist/ThreeNodeRenderer.js.map +0 -1
  22. package/dist/animations/ModelAnimation.d.ts +0 -23
  23. package/dist/animations/ModelAnimation.d.ts.map +0 -1
  24. package/dist/animations/ModelAnimation.js +0 -55
  25. package/dist/animations/ModelAnimation.js.map +0 -1
  26. package/dist/assets/ThreeAssetLoader.d.ts +0 -98
  27. package/dist/assets/ThreeAssetLoader.d.ts.map +0 -1
  28. package/dist/assets/ThreeAssetLoader.js +0 -489
  29. package/dist/assets/ThreeAssetLoader.js.map +0 -1
  30. package/dist/index.d.ts +0 -7
  31. package/dist/index.d.ts.map +0 -1
  32. package/dist/index.js +0 -8
  33. package/dist/index.js.map +0 -1
  34. package/dist/pcomponents/PAnimator.d.ts +0 -25
  35. package/dist/pcomponents/PAnimator.d.ts.map +0 -1
  36. package/dist/pcomponents/PAnimator.js +0 -151
  37. package/dist/pcomponents/PAnimator.js.map +0 -1
  38. package/dist/pcomponents/PBackground.d.ts +0 -17
  39. package/dist/pcomponents/PBackground.d.ts.map +0 -1
  40. package/dist/pcomponents/PBackground.js +0 -114
  41. package/dist/pcomponents/PBackground.js.map +0 -1
  42. package/dist/pcomponents/PBasicMaterial.d.ts +0 -22
  43. package/dist/pcomponents/PBasicMaterial.d.ts.map +0 -1
  44. package/dist/pcomponents/PBasicMaterial.js +0 -171
  45. package/dist/pcomponents/PBasicMaterial.js.map +0 -1
  46. package/dist/pcomponents/PCollider.d.ts +0 -18
  47. package/dist/pcomponents/PCollider.d.ts.map +0 -1
  48. package/dist/pcomponents/PCollider.js +0 -59
  49. package/dist/pcomponents/PCollider.js.map +0 -1
  50. package/dist/pcomponents/PCubeGeometry.d.ts +0 -8
  51. package/dist/pcomponents/PCubeGeometry.d.ts.map +0 -1
  52. package/dist/pcomponents/PCubeGeometry.js +0 -23
  53. package/dist/pcomponents/PCubeGeometry.js.map +0 -1
  54. package/dist/pcomponents/PEnvironment.d.ts +0 -12
  55. package/dist/pcomponents/PEnvironment.d.ts.map +0 -1
  56. package/dist/pcomponents/PEnvironment.js +0 -41
  57. package/dist/pcomponents/PEnvironment.js.map +0 -1
  58. package/dist/pcomponents/PImageCache.d.ts +0 -11
  59. package/dist/pcomponents/PImageCache.d.ts.map +0 -1
  60. package/dist/pcomponents/PImageCache.js +0 -38
  61. package/dist/pcomponents/PImageCache.js.map +0 -1
  62. package/dist/pcomponents/PLight.d.ts +0 -8
  63. package/dist/pcomponents/PLight.d.ts.map +0 -1
  64. package/dist/pcomponents/PLight.js +0 -45
  65. package/dist/pcomponents/PLight.js.map +0 -1
  66. package/dist/pcomponents/PLightDirectional.d.ts +0 -8
  67. package/dist/pcomponents/PLightDirectional.d.ts.map +0 -1
  68. package/dist/pcomponents/PLightDirectional.js +0 -36
  69. package/dist/pcomponents/PLightDirectional.js.map +0 -1
  70. package/dist/pcomponents/PMaskedMaterial.d.ts +0 -18
  71. package/dist/pcomponents/PMaskedMaterial.d.ts.map +0 -1
  72. package/dist/pcomponents/PMaskedMaterial.js +0 -200
  73. package/dist/pcomponents/PMaskedMaterial.js.map +0 -1
  74. package/dist/pcomponents/PMaterialModifier.d.ts +0 -12
  75. package/dist/pcomponents/PMaterialModifier.d.ts.map +0 -1
  76. package/dist/pcomponents/PMaterialModifier.js +0 -78
  77. package/dist/pcomponents/PMaterialModifier.js.map +0 -1
  78. package/dist/pcomponents/PModelAnnotation.d.ts +0 -11
  79. package/dist/pcomponents/PModelAnnotation.d.ts.map +0 -1
  80. package/dist/pcomponents/PModelAnnotation.js +0 -21
  81. package/dist/pcomponents/PModelAnnotation.js.map +0 -1
  82. package/dist/pcomponents/PModelAnnotations.d.ts +0 -10
  83. package/dist/pcomponents/PModelAnnotations.d.ts.map +0 -1
  84. package/dist/pcomponents/PModelAnnotations.js +0 -25
  85. package/dist/pcomponents/PModelAnnotations.js.map +0 -1
  86. package/dist/pcomponents/PModelGLTF.d.ts +0 -15
  87. package/dist/pcomponents/PModelGLTF.d.ts.map +0 -1
  88. package/dist/pcomponents/PModelGLTF.js +0 -111
  89. package/dist/pcomponents/PModelGLTF.js.map +0 -1
  90. package/dist/pcomponents/PModelNode.d.ts +0 -14
  91. package/dist/pcomponents/PModelNode.d.ts.map +0 -1
  92. package/dist/pcomponents/PModelNode.js +0 -82
  93. package/dist/pcomponents/PModelNode.js.map +0 -1
  94. package/dist/pcomponents/PPhysicalMaterial.d.ts +0 -15
  95. package/dist/pcomponents/PPhysicalMaterial.d.ts.map +0 -1
  96. package/dist/pcomponents/PPhysicalMaterial.js +0 -110
  97. package/dist/pcomponents/PPhysicalMaterial.js.map +0 -1
  98. package/dist/pcomponents/PPlaneGeometry.d.ts +0 -8
  99. package/dist/pcomponents/PPlaneGeometry.d.ts.map +0 -1
  100. package/dist/pcomponents/PPlaneGeometry.js +0 -23
  101. package/dist/pcomponents/PPlaneGeometry.js.map +0 -1
  102. package/dist/pcomponents/PProjectRoot.d.ts +0 -8
  103. package/dist/pcomponents/PProjectRoot.d.ts.map +0 -1
  104. package/dist/pcomponents/PProjectRoot.js +0 -24
  105. package/dist/pcomponents/PProjectRoot.js.map +0 -1
  106. package/dist/pcomponents/PSlider.d.ts +0 -18
  107. package/dist/pcomponents/PSlider.d.ts.map +0 -1
  108. package/dist/pcomponents/PSlider.js +0 -62
  109. package/dist/pcomponents/PSlider.js.map +0 -1
  110. package/dist/pcomponents/PSound.d.ts +0 -17
  111. package/dist/pcomponents/PSound.d.ts.map +0 -1
  112. package/dist/pcomponents/PSound.js +0 -119
  113. package/dist/pcomponents/PSound.js.map +0 -1
  114. package/dist/pcomponents/PSphereGeometry.d.ts +0 -9
  115. package/dist/pcomponents/PSphereGeometry.d.ts.map +0 -1
  116. package/dist/pcomponents/PSphereGeometry.js +0 -24
  117. package/dist/pcomponents/PSphereGeometry.js.map +0 -1
  118. package/dist/pcomponents/PSprite.d.ts +0 -13
  119. package/dist/pcomponents/PSprite.d.ts.map +0 -1
  120. package/dist/pcomponents/PSprite.js +0 -73
  121. package/dist/pcomponents/PSprite.js.map +0 -1
  122. package/dist/pcomponents/PSpriteSheet.d.ts +0 -13
  123. package/dist/pcomponents/PSpriteSheet.d.ts.map +0 -1
  124. package/dist/pcomponents/PSpriteSheet.js +0 -49
  125. package/dist/pcomponents/PSpriteSheet.js.map +0 -1
  126. package/dist/pcomponents/PText.d.ts +0 -9
  127. package/dist/pcomponents/PText.d.ts.map +0 -1
  128. package/dist/pcomponents/PText.js +0 -42
  129. package/dist/pcomponents/PText.js.map +0 -1
  130. package/dist/pcomponents/PVideoPlayer.d.ts +0 -5
  131. package/dist/pcomponents/PVideoPlayer.d.ts.map +0 -1
  132. package/dist/pcomponents/PVideoPlayer.js +0 -12
  133. package/dist/pcomponents/PVideoPlayer.js.map +0 -1
  134. package/dist/pcomponents.d.ts +0 -27
  135. package/dist/pcomponents.d.ts.map +0 -1
  136. package/dist/pcomponents.js +0 -33
  137. package/dist/pcomponents.js.map +0 -1
  138. package/dist/postprocessing/PSSRPass.d.ts +0 -19
  139. package/dist/postprocessing/PSSRPass.d.ts.map +0 -1
  140. package/dist/postprocessing/PSSRPass.js +0 -69
  141. package/dist/postprocessing/PSSRPass.js.map +0 -1
  142. package/dist/postprocessing/ThreeJsPostProcessor.d.ts +0 -32
  143. package/dist/postprocessing/ThreeJsPostProcessor.d.ts.map +0 -1
  144. package/dist/postprocessing/ThreeJsPostProcessor.js +0 -264
  145. package/dist/postprocessing/ThreeJsPostProcessor.js.map +0 -1
  146. package/dist/three/ColliderObject3D.d.ts +0 -19
  147. package/dist/three/ColliderObject3D.d.ts.map +0 -1
  148. package/dist/three/ColliderObject3D.js +0 -96
  149. package/dist/three/ColliderObject3D.js.map +0 -1
  150. package/dist/three/FreeCameraControls.d.ts +0 -32
  151. package/dist/three/FreeCameraControls.d.ts.map +0 -1
  152. package/dist/three/FreeCameraControls.js +0 -173
  153. package/dist/three/FreeCameraControls.js.map +0 -1
  154. package/dist/three/OrbitCameraControls.d.ts +0 -36
  155. package/dist/three/OrbitCameraControls.d.ts.map +0 -1
  156. package/dist/three/OrbitCameraControls.js +0 -306
  157. package/dist/three/OrbitCameraControls.js.map +0 -1
  158. package/dist/three/VrCameraControls.d.ts +0 -30
  159. package/dist/three/VrCameraControls.d.ts.map +0 -1
  160. package/dist/three/VrCameraControls.js +0 -142
  161. package/dist/three/VrCameraControls.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@p100-web/core-three",
3
3
  "private": false,
4
- "version": "100.2.15",
4
+ "version": "100.2.16",
5
5
  "author": "Peter Drugge",
6
6
  "license": "ISC",
7
7
  "description": "",
@@ -11,7 +11,7 @@
11
11
  "typescript": "^5.4.2"
12
12
  },
13
13
  "peerDependencies": {
14
- "@p100-web/core": "^100.2.15",
14
+ "@p100-web/core": "^100.2.16",
15
15
  "three": "^0.179.1",
16
16
  "troika-three-text": "^0.52.4",
17
17
  "@tweenjs/tween.js": "^25.0.0"
package/dist/App.d.ts DELETED
@@ -1,42 +0,0 @@
1
- import { IGameContextOwner, PNode, GameContext } from "@p100-web/core";
2
- import ThreeCanvas from "./ThreeCanvas";
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: ThreeCanvas | null;
12
- private _listeners;
13
- private _disposed;
14
- constructor(canvas: HTMLCanvasElement, url: string, project_id: string, language: number, baseUrl?: string);
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(name: string, payload: string): void;
25
- getGlobalEvents(): import("@p100-web/core").PEvent[];
26
- private onWindowResize;
27
- editor_render(): void;
28
- setSleepState(_value: boolean): void;
29
- setWorkState(_value: boolean): void;
30
- onTreeChange(): void;
31
- catch: (error: any) => void;
32
- onClick: () => void;
33
- onHoverEnter: () => void;
34
- onHoverExit: () => void;
35
- getRenderTarget(): HTMLCanvasElement;
36
- onLoadScene(_node: PNode): void;
37
- onUnloadScene(_node: PNode): void;
38
- error(msg: string, details?: any): void;
39
- msg(msg: string, details?: any): void;
40
- rerenderNode(): void;
41
- }
42
- //# sourceMappingURL=App.d.ts.map
package/dist/App.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,EACL,WAAW,EAUZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,WAAW,MAAM,eAAe,CAAC;AAKxC,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,WAAW,GAAG,IAAI,CAAQ;IACnC,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,EAChB,OAAO,CAAC,EAAE,MAAM;IAWZ,IAAI;IAiGV;;;OAGG;IACH,OAAO;IA8BP,OAAO,CAAC,WAAW,CAMjB;IAEF,mBAAmB,CAAC,QAAQ,EAAE,aAAa;IAI3C,gBAAgB,CAAC,QAAQ,EAAE,aAAa;IAIxC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAe3C,eAAe;IASf,OAAO,CAAC,cAAc,CAIpB;IAMF,aAAa,IAAI,IAAI;IAErB,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,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAI9B,YAAY;CACb"}
package/dist/App.js DELETED
@@ -1,182 +0,0 @@
1
- import { Platform, GameContext, Settings_Threejs, PLink, PValueLink, } from "@p100-web/core";
2
- import ThreeEngine from "./ThreeEngine";
3
- import ComponentFactory from "./ComponentFactory";
4
- export default class App {
5
- constructor(canvas, url, project_id, language, baseUrl) {
6
- this.language = 0;
7
- this.pcanvas = null;
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, baseUrl);
47
- this.context.setLanguage(language);
48
- }
49
- async init() {
50
- if (this._disposed)
51
- throw new Error("Context is disposed. Create a new.");
52
- if (!this.context)
53
- throw new Error("No context.");
54
- if (!this.canvas)
55
- throw new Error("Canvas not found");
56
- this.canvas.addEventListener("p100-out-event", this.onP100Event);
57
- const width = window.innerWidth;
58
- const height = window.innerHeight;
59
- // Load project
60
- const url = `${this.url}/projects/${this.project_id}/1/${this.language}`;
61
- const response = await fetch(url);
62
- if (!response.ok)
63
- throw new Error(`Failed to load project: ${response.status}`);
64
- const json = (await response.json());
65
- if (!json.settings)
66
- throw new Error("Missing settings for platform");
67
- const settings = new Settings_Threejs();
68
- settings.init(json.settings);
69
- // Init engine
70
- const engine = new ThreeEngine(new ComponentFactory());
71
- this.context.setEngine(engine);
72
- this.context.setCoordinates(json.coordinates);
73
- // Init nodes
74
- this.pcanvas = engine.setupCanvas(this.canvas, this.context, width, height, settings);
75
- this.pcanvas.render(settings, true);
76
- // Need to init sound on click
77
- this.context.setupAudioListener();
78
- // Prepare window
79
- window.addEventListener("resize", this.onWindowResize);
80
- // Init files
81
- json.files.map((i) => this.context?.registerFile(i));
82
- // Init events
83
- json.events.map((i) => this.context.registerEvent(i));
84
- // Init variables
85
- json.variables.map((i) => this.context.registerVariable(i));
86
- // Init scenes
87
- json.scenes.map((i) => this.context.registerScene(i));
88
- // Init file usages
89
- json.fileUsages.map((i) => this.context.registerFileUsage(i));
90
- // Init links
91
- const links = json.links.map((dbLink) => new PLink(dbLink));
92
- // Init value links
93
- const valueLinks = json.valueLinks.map((dbLink) => new PValueLink(dbLink));
94
- // Set layer mask
95
- this.context.setLayers(settings.mask, false);
96
- const dbNodes = json.nodes;
97
- const dbRoot = dbNodes.find((n) => n.parent === 0 && n.scene === 0);
98
- if (!dbRoot)
99
- throw new Error("Could not find dbRoot");
100
- const root = this.context.createRootNode(dbRoot, dbNodes);
101
- if (root === null)
102
- throw new Error("Could not find root node");
103
- // Init scenes
104
- const dbSceneRoots = dbNodes.filter((n) => n.scene > 0 && n.parent === 0);
105
- dbSceneRoots.map((dbSceneRoot) => {
106
- const dbSceneNodes = dbNodes.filter((n) => n.scene === dbSceneRoot.scene);
107
- this.context.createRootNode(dbSceneRoot, dbSceneNodes);
108
- });
109
- this.context.linkPorts(links, valueLinks, false);
110
- this.context.setRoot(root);
111
- this.context.enable();
112
- // Set camera controls
113
- this.context.setCameraControlSettings(settings.camera);
114
- this.context.play();
115
- }
116
- /**
117
- * Trigger when application is shut down. This will remove
118
- * events and clean resources.
119
- */
120
- dispose() {
121
- this._disposed = true;
122
- console.log("[App] dispose()");
123
- this._listeners = [];
124
- const canvas = this.context?.getCanvasElement();
125
- if (canvas) {
126
- canvas.removeEventListener("p100-out-event", this.onP100Event);
127
- }
128
- window.removeEventListener("resize", this.onWindowResize);
129
- if (this.context) {
130
- if (this.context.isRunning()) {
131
- console.log("[App] stop()");
132
- this.context.stop();
133
- }
134
- this.context.disable();
135
- this.context.dispose();
136
- this.context = null;
137
- }
138
- }
139
- removeEventListener(listener) {
140
- this._listeners = this._listeners.filter((l) => l !== listener);
141
- }
142
- addEventListener(listener) {
143
- this._listeners.push(listener);
144
- }
145
- dispatchEvent(name, payload) {
146
- const canvas = this.context?.getCanvasElement();
147
- if (!canvas) {
148
- throw new Error("No canvas");
149
- }
150
- canvas.dispatchEvent(new CustomEvent("p100-in-event", {
151
- detail: {
152
- name: name,
153
- payload: payload,
154
- },
155
- }));
156
- }
157
- getGlobalEvents() {
158
- if (this.context)
159
- return Object.values(this.context.getEvents());
160
- return [];
161
- }
162
- //
163
- // IGameContextOwner
164
- //
165
- editor_render() { }
166
- setSleepState(_value) { }
167
- setWorkState(_value) { }
168
- onTreeChange() { }
169
- getRenderTarget() {
170
- return this.canvas;
171
- }
172
- onLoadScene(_node) { }
173
- onUnloadScene(_node) { }
174
- error(msg, details) {
175
- console.error(msg, details);
176
- }
177
- msg(msg, details) {
178
- console.log(msg, details);
179
- }
180
- rerenderNode() { }
181
- }
182
- //# sourceMappingURL=App.js.map
package/dist/App.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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;CAWrB"}
@@ -1,13 +0,0 @@
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("[Three] Type not found: " + dbComponent.primitive + " on: " + node.name);
7
- return null;
8
- }
9
- const component = new Type(dbComponent, node, gameContext);
10
- return component;
11
- }
12
- }
13
- //# sourceMappingURL=ComponentFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentFactory.js","sourceRoot":"","sources":["../src/ComponentFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAS5C,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,0BAA0B,GAAG,WAAW,CAAC,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CACzE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAe,CAAC;QACzE,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,56 +0,0 @@
1
- import { Intersection, Object3D, Object3DEventMap, PerspectiveCamera, Raycaster, Scene, WebGLRenderer, Group } from "three";
2
- import ThreeJsPostProcessor from "./postprocessing/ThreeJsPostProcessor";
3
- import { type IThreePostProcessingSettings, PCanvas, GameContext, Settings_Base, PEnvironment, IThreeRenderSettings } from "@p100-web/core";
4
- export default class ThreeCanvas extends PCanvas {
5
- private _sceneNode;
6
- private _rootNode;
7
- private _cameraNode;
8
- private _raycaster;
9
- private _renderer;
10
- private _composer;
11
- private _clock;
12
- private _backgroundColor;
13
- constructor(canvas: HTMLCanvasElement, context: GameContext, width: number, height: number, settings: IThreeRenderSettings);
14
- getScene<T>(): T;
15
- render(settings: IThreeRenderSettings, startLoop: boolean): void;
16
- dispose(): void;
17
- getComposer(): ThreeJsPostProcessor | null;
18
- updateEnvironment(): void;
19
- setBackgroundColor(bg: string): void;
20
- clearEnvironment(environment: PEnvironment): void;
21
- setToneMapping(value: number): void;
22
- setToneMappingExposure(value: number): void;
23
- setFOV(fov: number): void;
24
- setNearFar(near?: number, far?: number): void;
25
- private setupShadows;
26
- private setupPostProcessing;
27
- /**
28
- * Base settings has changed for post processing
29
- */
30
- updatePostProcessingSettings(field: string, settings: IThreePostProcessingSettings): void;
31
- onWindowResize(width: number, height: number, resize: boolean): void;
32
- getThreeSceneNode(): Scene;
33
- getThreeRenderer(): WebGLRenderer | null;
34
- getThreeRootNode(): Group<Object3DEventMap>;
35
- getThreeCamera(): PerspectiveCamera;
36
- updateRendererSettings(field: string, isettings: Settings_Base): void;
37
- updateCameraSettings(field: string, settings: Settings_Base): void;
38
- /**
39
- * Quality is always clamped to steps of 0.05
40
- */
41
- protected setQuality(quality: number): boolean;
42
- protected updateRenderScale(value: number): void;
43
- startRenderLoop(): void;
44
- stopRenderLoop(): void;
45
- update: () => void;
46
- _colliders: Object3D[];
47
- addCollider(object: Object3D): void;
48
- removeCollider(object: Object3D): void;
49
- getRaycaster(): Raycaster;
50
- private raycast;
51
- /**
52
- * User hovers collider
53
- */
54
- onHover(intersects: Intersection<Object3D<Object3DEventMap>>[] | null): void;
55
- }
56
- //# sourceMappingURL=ThreeCanvas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThreeCanvas.d.ts","sourceRoot":"","sources":["../src/ThreeCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,aAAa,EACb,KAAK,EAON,MAAM,OAAO,CAAC;AAEf,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AACzE,OAAO,EACL,KAAK,4BAA4B,EAGjC,OAAO,EACP,WAAW,EAEX,aAAa,EACb,YAAY,EACZ,oBAAoB,EAErB,MAAM,gBAAgB,CAAC;AAMxB,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,UAAU,CAAY;IAE9B,OAAO,CAAC,SAAS,CAA8B;IAG/C,OAAO,CAAC,SAAS,CAAqC;IAEtD,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,gBAAgB,CAA8B;gBAGpD,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,oBAAoB;IAyFhC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAIhB,MAAM,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO;IAgBzD,OAAO;IAyBP,WAAW;IAQX,iBAAiB,IAAI,IAAI;IAyBzB,kBAAkB,CAAC,EAAE,EAAE,MAAM;IAQ7B,gBAAgB,CAAC,WAAW,EAAE,YAAY;IAwB1C,cAAc,CAAC,KAAK,EAAE,MAAM;IAI5B,sBAAsB,CAAC,KAAK,EAAE,MAAM;IAIpC,MAAM,CAAC,GAAG,EAAE,MAAM;IAKlB,UAAU,CAAC,IAAI,GAAE,MAAW,EAAE,GAAG,GAAE,MAAW;IAU9C,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,4BAA4B,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,4BAA4B;IAkBxC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAoB7D,iBAAiB;IAIjB,gBAAgB;IAIhB,gBAAgB;IAIhB,cAAc;IAQd,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa;IAiB9D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAoB3D;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI9C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYhD,eAAe,IAAI,IAAI;IAKvB,cAAc,IAAI,IAAI;IAKtB,MAAM,aA0CJ;IAMF,UAAU,EAAE,QAAQ,EAAE,CAAM;IAE5B,WAAW,CAAC,MAAM,EAAE,QAAQ;IAI5B,cAAc,CAAC,MAAM,EAAE,QAAQ;IAO/B,YAAY;IAIZ,OAAO,CAAC,OAAO;IAcf;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,IAAI;CAwBtE"}