@needle-tools/engine 4.17.0-alpha.3 → 4.17.0-alpha.5

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 (49) hide show
  1. package/components.needle.json +1 -1
  2. package/dist/{needle-engine.bundle-DrZh9f2V.min.js → needle-engine.bundle-DoDSYT05.min.js} +116 -116
  3. package/dist/{needle-engine.bundle-O6HHU-ll.js → needle-engine.bundle-_8JVJ7-q.js} +4500 -4528
  4. package/dist/{needle-engine.bundle-glRd_Shc.umd.cjs → needle-engine.bundle-xqtPOyfD.umd.cjs} +127 -127
  5. package/dist/needle-engine.d.ts +12 -49
  6. package/dist/needle-engine.js +2 -2
  7. package/dist/needle-engine.min.js +1 -1
  8. package/dist/needle-engine.umd.cjs +1 -1
  9. package/lib/engine/engine_pmrem.js +4 -1
  10. package/lib/engine/engine_pmrem.js.map +1 -1
  11. package/lib/engine/engine_three_utils.js.map +1 -1
  12. package/lib/engine-components/AlignmentConstraint.d.ts +0 -1
  13. package/lib/engine-components/AlignmentConstraint.js +0 -1
  14. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  15. package/lib/engine-components/BasicIKConstraint.d.ts +0 -1
  16. package/lib/engine-components/BasicIKConstraint.js +0 -1
  17. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  18. package/lib/engine-components/LookAtConstraint.d.ts +1 -38
  19. package/lib/engine-components/LookAtConstraint.js +1 -58
  20. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  21. package/lib/engine-components/OffsetConstraint.d.ts +0 -1
  22. package/lib/engine-components/OffsetConstraint.js +0 -1
  23. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  24. package/lib/engine-components/OrbitControls.d.ts +11 -7
  25. package/lib/engine-components/OrbitControls.js +35 -25
  26. package/lib/engine-components/OrbitControls.js.map +1 -1
  27. package/lib/engine-components/SmoothFollow.d.ts +0 -1
  28. package/lib/engine-components/SmoothFollow.js +0 -1
  29. package/lib/engine-components/SmoothFollow.js.map +1 -1
  30. package/lib/engine-components/web/CursorFollow.d.ts +0 -1
  31. package/lib/engine-components/web/CursorFollow.js +0 -1
  32. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  33. package/lib/engine-components/web/ViewBox.d.ts +0 -1
  34. package/lib/engine-components/web/ViewBox.js +0 -1
  35. package/lib/engine-components/web/ViewBox.js.map +1 -1
  36. package/package.json +1 -1
  37. package/plugins/vite/build-pipeline.js +13 -0
  38. package/plugins/vite/dependencies.js +61 -11
  39. package/plugins/vite/poster-client.js +1 -1
  40. package/src/engine/engine_pmrem.ts +4 -1
  41. package/src/engine/engine_three_utils.ts +0 -1
  42. package/src/engine-components/AlignmentConstraint.ts +0 -1
  43. package/src/engine-components/BasicIKConstraint.ts +0 -1
  44. package/src/engine-components/LookAtConstraint.ts +2 -53
  45. package/src/engine-components/OffsetConstraint.ts +0 -1
  46. package/src/engine-components/OrbitControls.ts +30 -23
  47. package/src/engine-components/SmoothFollow.ts +0 -1
  48. package/src/engine-components/web/CursorFollow.ts +0 -1
  49. package/src/engine-components/web/ViewBox.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CursorFollow.js","sourceRoot":"","sources":["../../../src/engine-components/web/CursorFollow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CursorFollow.js","sourceRoot":"","sources":["../../../src/engine-components/web/CursorFollow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IAEvC,+BAA+B;IAC/B,MAAM,CAAU,IAAI,GAAG,cAAc,CAAC;IAEtC;;;;;;;;;;;;;;;;OAgBG;IAEH,OAAO,GAAW,CAAC,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;OAoBG;IAEH,WAAW,GAAY,IAAI,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;;OAqBG;IAEH,YAAY,GAAY,IAAI,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IAEH,aAAa,GAAY,KAAK,CAAC;IAGvB,SAAS,GAAW,CAAC,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,cAAc,CAAC,QAAiB,KAAK;QACjC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACrG,CAAC;IAED,gBAAgB;IAChB,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,gBAAgB;IAChB,QAAQ;QACJ,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC;IACD,gBAAgB;IAChB,SAAS;QACL,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;IAEO,MAAM,GAAG,CAAC,CAAC;IACX,MAAM,GAAG,CAAC,CAAC;IAEX,cAAc,GAAG,CAAC,CAAe,EAAE,EAAE;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,CAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAA;IAGD,gBAAgB;IAChB,UAAU;QACN,8DAA8D;QAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAEhF,yEAAyE;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAE5C,iDAAiD;QACjD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9D,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC;QAE7C,oDAAoD;QACpD,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnG,IAAI,SAAS,GAAG,WAAW,CAAC;QAG5B,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;YACpC,SAAS,GAAG,GAAG,CAAC;QACpB,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,WAAW,CAAC;QAChD,CAAC;QAGD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YACvB,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1G,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;gBAC9C,CAAC;gBAED,IAAG,KAAK,EAAE,CAAC;oBACP,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;QACL,CAAC;IAEL,CAAC;;AAlMD;IADC,YAAY,EAAE;6CACK;AAwBpB;IADC,YAAY,EAAE;iDACa;AAyB5B;IADC,YAAY,EAAE;kDACc;AA6B7B;IADC,YAAY,EAAE;mDACgB;AAwHnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC"}
@@ -71,7 +71,6 @@ export type ViewBoxMode = "continuous" | "once";
71
71
  * @see {@link CameraComponent} - The camera component that ViewBox controls
72
72
  * @see {@link OrbitControls} - Camera controls that work alongside ViewBox
73
73
  * @see {@link DragControls} - Alternative camera controls compatible with ViewBox
74
- * @see {@link LookAtConstraint} - Another way to control camera targeting
75
74
  * @see {@link SceneSwitcher} - Can be combined with ViewBox for scene transitions
76
75
  * @see {@link Context.setCameraFocusRect} - The underlying focus rect API used by ViewBox
77
76
  * @see {@link Context.focusRectSettings} - Manual control of focus rect settings
@@ -81,7 +81,6 @@ const disabledGizmoColor = new RGBAColor(.5, .5, .5, .5);
81
81
  * @see {@link CameraComponent} - The camera component that ViewBox controls
82
82
  * @see {@link OrbitControls} - Camera controls that work alongside ViewBox
83
83
  * @see {@link DragControls} - Alternative camera controls compatible with ViewBox
84
- * @see {@link LookAtConstraint} - Another way to control camera targeting
85
84
  * @see {@link SceneSwitcher} - Can be combined with ViewBox for scene transitions
86
85
  * @see {@link Context.setCameraFocusRect} - The underlying focus rect API used by ViewBox
87
86
  * @see {@link Context.focusRectSettings} - Manual control of focus rect settings
@@ -1 +1 @@
1
- {"version":3,"file":"ViewBox.js","sourceRoot":"","sources":["../../../src/engine-components/web/ViewBox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewBox.js","sourceRoot":"","sources":["../../../src/engine-components/web/ViewBox.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "4.17.0-alpha.3",
3
+ "version": "4.17.0-alpha.5",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
5
5
  "main": "dist/needle-engine.min.js",
6
6
  "exports": {
@@ -210,6 +210,19 @@ export async function needleBuildPipeline(command, config, userSettings) {
210
210
  const moved = getDirectoryStats(buildPipelineTaskResults.tempDirectory);
211
211
  const ctx = { count: 0, bytes: 0 }
212
212
  copyFilesSync(buildPipelineTaskResults.tempDirectory, buildPipelineTaskResults.outputDirectory, true, ctx);
213
+ // Clean up source files that were replaced by the build pipeline
214
+ // (e.g. .exr files that now have .pmrem.ktx2 replacements)
215
+ const outputDir = buildPipelineTaskResults.outputDirectory;
216
+ try {
217
+ for (const file of readdirSync(outputDir)) {
218
+ if (file.endsWith('.exr')) {
219
+ const replacement = file.replace(/\.exr$/i, '.pmrem.ktx2');
220
+ if (existsSync(outputDir + '/' + replacement)) {
221
+ rmSync(outputDir + '/' + file);
222
+ }
223
+ }
224
+ }
225
+ } catch { /* silent */ }
213
226
  lines.push(`${key("Copying compressed results")}: "${outputPath}" — ${moved.fileCount} file${moved.fileCount !== 1 ? 's' : ''}, ${formatBytes(moved.totalBytes)}`);
214
227
  }
215
228
  else {
@@ -1,5 +1,5 @@
1
1
  import path from 'path';
2
- import { existsSync } from 'fs';
2
+ import { existsSync, readFileSync } from 'fs';
3
3
  import { tryGetNeedleEngineVersion, tryGetPackageVersion } from '../common/version.js';
4
4
  import { needleLog } from './logging.js';
5
5
 
@@ -44,11 +44,14 @@ export function needleDependencies(command, config, userSettings) {
44
44
  config: (config, env) => {
45
45
  handleOptimizeDeps(config);
46
46
  handleManualChunks(config);
47
- // Ensure all imports of three resolve to the same copy
47
+ // Ensure all imports of three and needle-engine resolve to the same copy
48
+ // This prevents duplicates when packages (e.g. sample scripts) have their own node_modules
48
49
  if (!config.resolve) config.resolve = {};
49
50
  if (!config.resolve.dedupe) config.resolve.dedupe = [];
50
- if (!config.resolve.dedupe.includes('three')) {
51
- config.resolve.dedupe.push('three');
51
+ for (const pkg of ['three', '@needle-tools/engine']) {
52
+ if (!config.resolve.dedupe.includes(pkg)) {
53
+ config.resolve.dedupe.push(pkg);
54
+ }
52
55
  }
53
56
  },
54
57
  },
@@ -118,6 +121,18 @@ function handleManualChunks(config) {
118
121
 
119
122
  const rollupOutput = config.build[optionsKey].output;
120
123
 
124
+ // Detect Vite 8+ (Rolldown-based) which needs codeSplitting.groups instead of manualChunks.
125
+ // In Rolldown, manualChunks gets converted to a single codeSplitting group with recursive
126
+ // dependency inclusion, causing chunks like gltf-progressive to absorb three.js.
127
+ let isVite8 = false;
128
+ try {
129
+ const vitePkgPath = path.resolve(process.cwd(), 'node_modules/vite/package.json');
130
+ if (existsSync(vitePkgPath)) {
131
+ isVite8 = parseInt(JSON.parse(readFileSync(vitePkgPath, 'utf8')).version) >= 8;
132
+ }
133
+ } catch { }
134
+ needleLog("needle-dependencies", `Vite 8+ detected: ${isVite8}`);
135
+
121
136
  if (Array.isArray(rollupOutput)) {
122
137
  // append the manualChunks function to the array
123
138
  if (process.env.DEBUG) needleLog("needle-dependencies", "registering manualChunks");
@@ -128,10 +143,10 @@ function handleManualChunks(config) {
128
143
  else {
129
144
  // If preserveModules is true we can not modify the chunkFileNames
130
145
  let allowManualChunks = true;
131
- if ("manualChunks" in rollupOutput) {
146
+ if ("manualChunks" in rollupOutput || "codeSplitting" in rollupOutput) {
132
147
  allowManualChunks = false;
133
- // if the user has already defined manualChunks (even when set to undefined), we don't want to overwrite it
134
- needleLog("needle-dependencies", "manualChunks already found in vite config - will not overwrite it");
148
+ // if the user has already defined manualChunks/codeSplitting, we don't want to overwrite it
149
+ needleLog("needle-dependencies", "manualChunks/codeSplitting already found in vite config - will not overwrite it");
135
150
  }
136
151
  else if (rollupOutput.preserveModules === true) {
137
152
  allowManualChunks = false;
@@ -144,7 +159,36 @@ function handleManualChunks(config) {
144
159
 
145
160
  if (allowManualChunks) {
146
161
  if (process.env.DEBUG) needleLog("needle-dependencies", "registering manualChunks");
147
- rollupOutput.manualChunks = needleManualChunks;
162
+ if (isVite8) {
163
+ // Vite 8+ uses Rolldown which converts manualChunks into a single codeSplitting group
164
+ // with recursive dependency inclusion. This causes gltf-progressive to absorb three.js.
165
+ // Use codeSplitting.groups directly with priorities so three.js gets its own chunk.
166
+ // Priority determines which group claims a module first. With the default
167
+ // includeDependenciesRecursively: true, claimed modules pull their deps into
168
+ // the same chunk — UNLESS those deps were already claimed by a higher-priority
169
+ // group. So three.js core (priority 100) must be higher than three-examples (90)
170
+ // to prevent examples from absorbing the core lib via recursive deps.
171
+ rollupOutput.codeSplitting = {
172
+ groups: [
173
+ { name: 'three', test: /\/three\/(?:build|src)\//, priority: 100 },
174
+ { name: 'three-examples', test: /three\/examples/, priority: 90 },
175
+ { name: 'three-mesh-bvh', test: /three-mesh-bvh/, priority: 60 },
176
+ { name: 'three-animation-pointer', test: /three-animation-pointer/, priority: 60 },
177
+ { name: 'postprocessing.ao', test: /node_modules\/n8ao\//, priority: 50 },
178
+ { name: 'postprocessing', test: /node_modules\/postprocessing\//, priority: 50 },
179
+ { name: 'rapier3d', test: /@dimforge\/rapier3d/, priority: 50 },
180
+ { name: 'materialx', test: /@needle-tools\/materialx/, priority: 50 },
181
+ { name: 'three-mesh-ui', test: /node_modules\/three-mesh-ui/, priority: 50 },
182
+ { name: 'three-quarks', test: /node_modules\/three\.quarks/, priority: 50 },
183
+ { name: 'websocket-ts', test: /node_modules\/websocket-ts/, priority: 50 },
184
+ { name: 'peerjs', test: /node_modules\/peerjs/, priority: 50 },
185
+ { name: 'gltf-progressive', test: /\/gltf-progressive\//, priority: 40 },
186
+ { name: 'needle-engine', test: /@needle-tools\/engine/, priority: 30 },
187
+ ]
188
+ };
189
+ } else {
190
+ rollupOutput.manualChunks = needleManualChunks;
191
+ }
148
192
  }
149
193
 
150
194
  if (rollupOutput.chunkFileNames) {
@@ -189,9 +233,15 @@ function handleManualChunks(config) {
189
233
  try {
190
234
  const version = tryGetNeedleEngineVersion();
191
235
  if (version) {
192
- const name = `assets/needle-engine@${version}.js`;
193
- preloadScriptPaths.push(`./${name}`);
194
- return name;
236
+ // Rolldown codeSplitting can create multiple chunks with the same name.
237
+ // Only the primary chunk (with actual module content) gets the versioned name.
238
+ // Secondary chunks (small re-export wrappers) get a hash-based name.
239
+ const moduleCount = chunk.moduleIds?.length ?? Object.keys(chunk.modules ?? {}).length;
240
+ if (moduleCount > 1) {
241
+ const name = `assets/needle-engine@${version}.js`;
242
+ preloadScriptPaths.push(`./${name}`);
243
+ return name;
244
+ }
195
245
  }
196
246
  }
197
247
  catch (e) {
@@ -7,7 +7,7 @@ async function generatePoster() {
7
7
  // Keep in sync with og:image:width meta tags
8
8
  // https://developers.facebook.com/docs/sharing/best-practices/
9
9
  const width = 1080;
10
- const height = 1080;
10
+ const height = width * (9 / 16);
11
11
 
12
12
  return new Promise(res => {
13
13
  /** @ts-ignore */
@@ -1,5 +1,5 @@
1
1
  import { createLoaders } from "@needle-tools/gltf-progressive";
2
- import { CubeUVReflectionMapping, SRGBColorSpace, Texture, TextureLoader, WebGLRenderer } from "three";
2
+ import { CubeUVReflectionMapping, EquirectangularRefractionMapping, SRGBColorSpace, Texture, TextureLoader, WebGLRenderer } from "three";
3
3
  import { EXRLoader } from "three/examples/jsm/loaders/EXRLoader";
4
4
  import { KTX2Loader } from "three/examples/jsm/loaders/KTX2Loader";
5
5
  import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
@@ -67,6 +67,9 @@ async function internalLoadPMREM(url: URL, renderer: WebGLRenderer) {
67
67
  if (isPMREM_URL) {
68
68
  tex.mapping = CubeUVReflectionMapping;
69
69
  }
70
+ else {
71
+ tex.mapping = EquirectangularRefractionMapping;
72
+ }
70
73
 
71
74
  if (loader instanceof TextureLoader) {
72
75
  tex.colorSpace = SRGBColorSpace;
@@ -1,7 +1,6 @@
1
1
  import { AnimationAction, Box3, Box3Helper, Camera, Color, DepthTexture, Euler, GridHelper, Layers, Material, Mesh, MeshStandardMaterial, Object3D, OrthographicCamera, PerspectiveCamera, PlaneGeometry, Quaternion, Scene, ShadowMaterial, Texture, Uniform, Vector2Like, Vector3, WebGLRenderTarget } from "three";
2
2
  import { ShaderMaterial, WebGLRenderer } from "three";
3
3
  import { GroundedSkybox } from "three/examples/jsm/objects/GroundedSkybox.js";
4
- import { rendererReference } from "three/src/nodes/TSL.js";
5
4
 
6
5
  import { useForAutoFit } from "./engine_camera.js";
7
6
  import { Mathf } from "./engine_math.js"
@@ -29,7 +29,6 @@ import { Behaviour, GameObject } from "./Component.js";
29
29
  * @summary Aligns and scales object between two targets
30
30
  * @category Constraints
31
31
  * @group Components
32
- * @see {@link LookAtConstraint} for rotation-only constraints
33
32
  * @see {@link SmoothFollow} for following with smoothing
34
33
  **/
35
34
  export class AlignmentConstraint extends Behaviour {
@@ -31,7 +31,6 @@ import { Behaviour, GameObject } from "./Component.js";
31
31
  * @summary Two-bone inverse kinematics constraint
32
32
  * @category Animation and Sequencing
33
33
  * @group Components
34
- * @see {@link LookAtConstraint} for aim constraints
35
34
  * @see {@link AlignmentConstraint} for simpler alignment
36
35
  */
37
36
  export class BasicIKConstraint extends Behaviour {
@@ -1,58 +1,7 @@
1
- import { Object3D, Vector3 } from "three";
2
-
3
- import { serializable } from "../engine/engine_serialization_decorator.js";
4
- import type { LookAt } from "./api.js";
5
1
  import { Behaviour } from "./Component.js";
6
- import type { OrbitControls } from "./OrbitControls.js";
7
2
 
8
3
  /**
9
- * The [LookAtConstraint](https://engine.needle.tools/docs/api/LookAtConstraint) component is primarely used by {@link OrbitControls} to set the camera's focus point.
10
- * It does not have its own logic to update the look-at position.
11
- *
12
- * The constraint uses a list of source objects - the look-at target is
13
- * calculated from the first source in the `sources` array.
14
- *
15
- * **Integration with OrbitControls:**
16
- * When attached to the same GameObject as OrbitControls, this constraint
17
- * controls where the camera orbits around and looks at.
18
- *
19
- * @summary Look At Constraint for camera targeting
20
- * @category Camera and Controls
21
- * @group Components
22
- * @see {@link OrbitControls} for camera orbit controls
23
- * @see {@link SmoothFollow} for smooth position/rotation following
24
- * @see {@link LookAt} for directly making an object look at a target without using a constraint
4
+ * @deprecated LookAtConstraint has been removed. Use a plain Object3D/Transform reference on OrbitControls instead.
25
5
  */
26
6
  export class LookAtConstraint extends Behaviour {
27
-
28
- /**
29
- * When true, the constraint is active and affects the target.
30
- * Set to false to temporarily disable without removing sources.
31
- */
32
- @serializable()
33
- constraintActive: boolean = true;
34
-
35
- /**
36
- * When true, the look-at position is locked and won't update
37
- * even if source objects move.
38
- */
39
- @serializable()
40
- locked: boolean = false;
41
-
42
- /**
43
- * Objects to look at. The first object in the array is used
44
- * as the primary look-at target.
45
- */
46
- @serializable(Object3D)
47
- sources: Object3D[] = [];
48
-
49
- /**
50
- * Sets the world position that the constraint should look at.
51
- * Updates the first source object's position.
52
- * @param worldPosition The world-space position to look at
53
- */
54
- setConstraintPosition(worldPosition: Vector3) {
55
- const source = this.sources[0];
56
- if (source) source.worldPosition = worldPosition;
57
- }
58
- }
7
+ }
@@ -32,7 +32,6 @@ import { Behaviour, GameObject } from "./Component.js";
32
32
  * @category Constraints
33
33
  * @group Components
34
34
  * @see {@link SmoothFollow} for smoothed following
35
- * @see {@link LookAtConstraint} for aim constraints
36
35
  * @see {@link AlignmentConstraint} for alignment between two objects
37
36
  */
38
37
  export class OffsetConstraint extends Behaviour {
@@ -15,7 +15,6 @@ import { DeviceUtilities, getParam } from "../engine/engine_utils.js";
15
15
  import { NeedleEngineWebComponent } from "../engine/webcomponents/needle-engine.js";
16
16
  import { Camera } from "./Camera.js";
17
17
  import { Behaviour, GameObject } from "./Component.js";
18
- import { LookAtConstraint } from "./LookAtConstraint.js";
19
18
  import { SyncedTransform } from "./SyncedTransform.js";
20
19
  import { type AfterHandleInputEvent, EventSystem, EventSystemEvents } from "./ui/EventSystem.js";
21
20
  import { tryGetUIComponent } from "./ui/Utils.js";
@@ -99,7 +98,6 @@ declare module 'three/examples/jsm/controls/OrbitControls.js' {
99
98
  * @summary Camera controller using three.js OrbitControls
100
99
  * @category Camera and Controls
101
100
  * @group Components
102
- * @see {@link LookAtConstraint} for setting the look-at target
103
101
  * @see {@link SmoothFollow} for smooth camera following
104
102
  * @see {@link Camera} for camera configuration
105
103
  * @link https://threejs.org/docs/#examples/en/controls/OrbitControls
@@ -228,12 +226,19 @@ export class OrbitControls extends Behaviour implements ICameraController {
228
226
  */
229
227
  @serializable()
230
228
  enablePan: boolean = true;
231
- /** Assigning a {@link LookAtConstraint} will make the camera look at the constraint source
229
+ /** Assigning an Object3D will make the camera look at this target's position.
230
+ * The camera will orbit around this target.
232
231
  * @default null
233
232
  */
234
- @serializable(LookAtConstraint)
235
- lookAtConstraint: LookAtConstraint | null = null;
236
- /** The weight of the first lookAtConstraint source
233
+ @serializable(Object3D)
234
+ lookAtTarget: Object3D | null = null;
235
+ /** When enabled the camera will continuously follow the lookAtTarget's position every frame.
236
+ * When disabled the target is only used for the initial look direction.
237
+ * @default true
238
+ */
239
+ @serializable()
240
+ lockLookAtTarget: boolean = true;
241
+ /** The weight for the lookAtTarget interpolation
237
242
  * @default 1
238
243
  */
239
244
  @serializable()
@@ -392,11 +397,13 @@ export class OrbitControls extends Behaviour implements ICameraController {
392
397
  private _camera: Camera | null = null;
393
398
  private _syncedTransform?: SyncedTransform;
394
399
  private _didSetTarget = 0;
400
+ private _didApplyLookAtTarget = false;
395
401
 
396
402
  /** @internal */
397
403
  awake(): void {
398
404
  if (debug) console.debug("OrbitControls", this);
399
405
  this._didSetTarget = 0;
406
+ this._didApplyLookAtTarget = false;
400
407
  this._startedListeningToKeyEvents = false;
401
408
  if ((this.context.domElement as NeedleEngineWebComponent).cameraControls === false) {
402
409
  this.enabled = false;
@@ -421,6 +428,7 @@ export class OrbitControls extends Behaviour implements ICameraController {
421
428
  /** @internal */
422
429
  onEnable() {
423
430
  this._didSetTarget = 0;
431
+ this._didApplyLookAtTarget = false;
424
432
  this._enableTime = this.context.time.time;
425
433
  const cameraComponent = GameObject.getComponent(this.gameObject, Camera);
426
434
  this._camera = cameraComponent;
@@ -565,6 +573,7 @@ export class OrbitControls extends Behaviour implements ICameraController {
565
573
  };
566
574
 
567
575
  private updateTargetNow(options?: IRaycastOptions) {
576
+ if(debug) console.warn("OrbitControls: updateTargetNow is using raycasting to update the target immediately. This can be expensive and should be used with caution.", options);
568
577
  const ray = new Ray(this._cameraObject?.worldPosition, this._cameraObject?.worldForward.multiplyScalar(-1));
569
578
  const hits = this.context.physics.raycastFromRay(ray, options);
570
579
  const hit = hits.length > 0 ? hits[0] : undefined;
@@ -807,8 +816,14 @@ export class OrbitControls extends Behaviour implements ICameraController {
807
816
 
808
817
  // this._controls.zoomToCursor = this.zoomToCursor;
809
818
  if (!this.context.isInXR) {
810
- if (!freeCam && this.lookAtConstraint?.locked && !this._lookTargetLerpActive) {
811
- this.setLookTargetFromConstraint(0, this.lookAtConstraint01);
819
+ if (!freeCam && this.lookAtTarget && !this._lookTargetLerpActive) {
820
+ if (this.lockLookAtTarget) {
821
+ this.setLookTargetFromConstraint(this.lookAtConstraint01);
822
+ }
823
+ else if (!this._didApplyLookAtTarget) {
824
+ this._didApplyLookAtTarget = true;
825
+ this.setLookTargetFromConstraint(1);
826
+ }
812
827
  }
813
828
  this._controls.update(this.context.time.deltaTime);
814
829
 
@@ -1011,30 +1026,22 @@ export class OrbitControls extends Behaviour implements ICameraController {
1011
1026
  this._lookTargetLerpActive = false;
1012
1027
  }
1013
1028
 
1014
- /** Sets the look at target from an assigned lookAtConstraint source by index
1015
- * @param index The index of the source to use
1029
+ /** Sets the look at target from the assigned lookAtTarget Object3D
1016
1030
  * @param t The interpolation factor between the current look at target and the new target
1017
1031
  */
1018
- private setLookTargetFromConstraint(index: number = 0, t: number = 1): boolean {
1032
+ private setLookTargetFromConstraint(t: number = 1): boolean {
1019
1033
  if (!this._controls) return false;
1020
- if (this.lookAtConstraint?.enabled === false) return false;
1021
- const sources = this.lookAtConstraint?.sources;
1022
- if (sources && sources.length > 0) {
1023
- const target = sources[index];
1024
- if (target) {
1025
- target.getWorldPosition(this._lookTargetEndPosition);
1026
- this.lerpLookTarget(this._controls.target, this._lookTargetEndPosition, t);
1027
- return true;
1028
- }
1029
- }
1030
- return false;
1034
+ if (!this.lookAtTarget) return false;
1035
+ this.lookAtTarget.getWorldPosition(this._lookTargetEndPosition);
1036
+ this.lerpLookTarget(this._controls.target, this._lookTargetEndPosition, t);
1037
+ return true;
1031
1038
  }
1032
1039
 
1033
1040
  private lerpLookTarget(start: Vector3, position: Vector3, t: number) {
1034
1041
  if (!this._controls) return;
1035
1042
  if (t >= 1) this._controls.target.copy(position);
1036
1043
  else this._controls.target.lerpVectors(start, position, t);
1037
- if (this.lookAtConstraint) this.lookAtConstraint.setConstraintPosition(this._controls.target);
1044
+ if (this.lookAtTarget && this.lockLookAtTarget) this.lookAtTarget.worldPosition = this._controls.target;
1038
1045
  }
1039
1046
 
1040
1047
  private setTargetFromRaycast(ray?: Ray, immediateOrDuration: number | boolean = false): boolean {
@@ -54,7 +54,6 @@ import { Behaviour } from "./Component.js";
54
54
  * @summary Smoothly follows a target object's position and/or rotation
55
55
  * @category Interactivity
56
56
  * @group Components
57
- * @see {@link LookAtConstraint} for making an object look at a target (different from rotation following)
58
57
  * @see {@link Mathf} for the interpolation used
59
58
  */
60
59
  export class SmoothFollow extends Behaviour {
@@ -78,7 +78,6 @@ const debug = getParam("debugcursor");
78
78
  *
79
79
  * - Example: [Look At Cursor sample](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header/) - Combines CursorFollow with LookAt for an interactive 3D header
80
80
  *
81
- * @see {@link LookAtConstraint} - Commonly combined with CursorFollow for look-at effects
82
81
  * @see {@link PointerEvents} - For more complex pointer interaction handling
83
82
  * @see {@link DragControls} - For dragging objects in 3D space
84
83
  * @see {@link OrbitControls} - For camera controls that work alongside CursorFollow
@@ -12,7 +12,6 @@ import { RGBAColor } from "../../engine/js-extensions/RGBAColor.js";
12
12
  import type { Camera as CameraComponent } from "../Camera.js";
13
13
  import { Behaviour } from "../Component.js";
14
14
  import type { DragControls } from "../DragControls.js";
15
- import type { LookAtConstraint } from "../LookAtConstraint.js";
16
15
  import type { OrbitControls } from "../OrbitControls.js";
17
16
  import type { SceneSwitcher } from "../SceneSwitcher.js";
18
17
 
@@ -93,7 +92,6 @@ export type ViewBoxMode = "continuous" | "once";
93
92
  * @see {@link CameraComponent} - The camera component that ViewBox controls
94
93
  * @see {@link OrbitControls} - Camera controls that work alongside ViewBox
95
94
  * @see {@link DragControls} - Alternative camera controls compatible with ViewBox
96
- * @see {@link LookAtConstraint} - Another way to control camera targeting
97
95
  * @see {@link SceneSwitcher} - Can be combined with ViewBox for scene transitions
98
96
  * @see {@link Context.setCameraFocusRect} - The underlying focus rect API used by ViewBox
99
97
  * @see {@link Context.focusRectSettings} - Manual control of focus rect settings