@needle-tools/engine 4.17.0-alpha.2 → 4.17.0-alpha.4

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.
@@ -1,5 +1,5 @@
1
1
  import { createLoaders } from "@needle-tools/gltf-progressive";
2
- import { CubeUVReflectionMapping, SRGBColorSpace, TextureLoader } from "three";
2
+ import { CubeUVReflectionMapping, EquirectangularRefractionMapping, SRGBColorSpace, TextureLoader } from "three";
3
3
  import { EXRLoader } from "three/examples/jsm/loaders/EXRLoader";
4
4
  import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
5
5
  const running = new Map();
@@ -54,6 +54,9 @@ async function internalLoadPMREM(url, renderer) {
54
54
  if (isPMREM_URL) {
55
55
  tex.mapping = CubeUVReflectionMapping;
56
56
  }
57
+ else {
58
+ tex.mapping = EquirectangularRefractionMapping;
59
+ }
57
60
  if (loader instanceof TextureLoader) {
58
61
  tex.colorSpace = SRGBColorSpace;
59
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_pmrem.js","sourceRoot":"","sources":["../../src/engine/engine_pmrem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_pmrem.js","sourceRoot":"","sources":["../../src/engine/engine_pmrem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine_three_utils.js","sourceRoot":"","sources":["../../src/engine/engine_three_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_three_utils.js","sourceRoot":"","sources":["../../src/engine/engine_three_utils.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,17 @@ import { Box3, BufferAttribute } from 'three';
2
2
  import { MeshBVH } from 'three-mesh-bvh';
3
3
  // Modified according to https://github.com/gkjohnson/three-mesh-bvh/issues/636#issuecomment-2209571751
4
4
  import { WorkerBase } from "three-mesh-bvh/src/workers/utils/WorkerBase.js";
5
- // Use Vite's ?worker import to get a Worker constructor that works correctly
6
- // in both dev (raw-served) and optimized (pre-bundled) contexts.
7
- // The previous `new URL('...', import.meta.url)` pattern broke when the file
8
- // was pre-bundled because the bundler resolved the URL relative to the source
9
- // file path rather than as a bare module specifier.
10
- import GenerateBVHWorker from 'three-mesh-bvh/src/workers/generateMeshBVH.worker.js?worker';
11
5
  export class GenerateMeshBVHWorker extends WorkerBase {
12
6
  constructor() {
13
- super(new GenerateBVHWorker());
7
+ // Worker loading: we use `new URL(specifier, import.meta.url)` + `new Worker(url)`.
8
+ // We can NOT use the Vite `?worker` import suffix (`import W from '...?worker'`) because
9
+ // that breaks pre-bundling: the ?worker query is a Vite-specific convention that doesn't
10
+ // survive the optimizer, and the issue was closed as NOT_PLANNED (vitejs/vite#10837).
11
+ // The `new URL()` pattern works in Vite 8+ thanks to PR #21434 which correctly rebases
12
+ // relative URL paths inside pre-bundled dependencies. This lets us keep three-mesh-bvh
13
+ // in optimizeDeps (no exclude needed), avoiding duplicate three.js instances.
14
+ // https://linear.app/needle/issue/NE-6572
15
+ super(new Worker(new URL('three-mesh-bvh/src/workers/generateMeshBVH.worker.js', import.meta.url), { type: 'module' }));
14
16
  this.name = 'GenerateMeshBVHWorker';
15
17
  }
16
18
  runTask(worker, geometry, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateMeshBVHWorker.js","sourceRoot":"","sources":["../../../../../src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateMeshBVHWorker.js","sourceRoot":"","sources":["../../../../../src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js"],"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.2",
3
+ "version": "4.17.0-alpha.4",
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": {
@@ -1,6 +1,7 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
2
2
  import { dirname, join } from "path";
3
3
  import { fileURLToPath } from "url";
4
+ import { needleLog } from "./logging.js";
4
5
 
5
6
  const __filename = fileURLToPath(import.meta.url);
6
7
  const __dirname = dirname(__filename);
@@ -43,9 +44,11 @@ function writeSkill(claudeDir) {
43
44
  }
44
45
  const skillPath = join(skillDir, "SKILL.md");
45
46
  const templatePath = join(__dirname, "../../SKILL.md");
46
- const content = readFileSync(templatePath, "utf8");
47
- writeFileSync(skillPath, content, "utf8");
48
- return skillPath;
47
+ if (existsSync(skillPath)) {
48
+ const content = readFileSync(templatePath, "utf8");
49
+ writeFileSync(skillPath, content, "utf8");
50
+ return skillPath;
51
+ }
49
52
  }
50
53
 
51
54
  function installClaudeSkill() {
@@ -53,5 +56,5 @@ function installClaudeSkill() {
53
56
  if (!existsSync(claudeDir)) return; // only install if developer uses Claude Code
54
57
 
55
58
  const path = writeSkill(claudeDir);
56
- console.log(`[${pluginName}] Installed Needle Engine Claude skill → ${path}`);
59
+ if (path) needleLog(`[${pluginName}] Installed Needle Engine Claude skill → ${path}`);
57
60
  }
@@ -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,14 +44,21 @@ 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 and needle-engine resolve to the same copy
48
+ // This prevents duplicates when packages (e.g. sample scripts) have their own node_modules
49
+ if (!config.resolve) config.resolve = {};
50
+ if (!config.resolve.dedupe) config.resolve.dedupe = [];
51
+ for (const pkg of ['three', '@needle-tools/engine']) {
52
+ if (!config.resolve.dedupe.includes(pkg)) {
53
+ config.resolve.dedupe.push(pkg);
54
+ }
55
+ }
47
56
  },
48
57
  },
49
58
  ]
50
59
  }
51
60
 
52
61
  const excludeDependencies = [
53
- "three-mesh-bvh",
54
- "@needle-tools/gltf-progressive"
55
62
  ]
56
63
 
57
64
  /**
@@ -76,15 +83,6 @@ function handleOptimizeDeps(config) {
76
83
  needleLog("needle-dependencies", `Adding ${dep} to the optimizeDeps.exclude array to support workers.`);
77
84
  config.optimizeDeps.exclude.push(dep);
78
85
 
79
- // When excluding a dep, its imports of shared deps (like three)
80
- // bypass the optimizer and create duplicate module instances.
81
- // Force-include shared deps so they use the pre-bundled version.
82
- if (!config.optimizeDeps.include) config.optimizeDeps.include = [];
83
- const sharedDep = `${dep} > three`;
84
- if (!config.optimizeDeps.include.includes(sharedDep)) {
85
- config.optimizeDeps.include.push(sharedDep);
86
- }
87
-
88
86
  if (!config.server) config.server = {};
89
87
  if (!config.server.fs) config.server.fs = {};
90
88
  if (config.server.fs.strict === undefined) {
@@ -123,6 +121,18 @@ function handleManualChunks(config) {
123
121
 
124
122
  const rollupOutput = config.build[optionsKey].output;
125
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
+
126
136
  if (Array.isArray(rollupOutput)) {
127
137
  // append the manualChunks function to the array
128
138
  if (process.env.DEBUG) needleLog("needle-dependencies", "registering manualChunks");
@@ -133,10 +143,10 @@ function handleManualChunks(config) {
133
143
  else {
134
144
  // If preserveModules is true we can not modify the chunkFileNames
135
145
  let allowManualChunks = true;
136
- if ("manualChunks" in rollupOutput) {
146
+ if ("manualChunks" in rollupOutput || "codeSplitting" in rollupOutput) {
137
147
  allowManualChunks = false;
138
- // if the user has already defined manualChunks (even when set to undefined), we don't want to overwrite it
139
- 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");
140
150
  }
141
151
  else if (rollupOutput.preserveModules === true) {
142
152
  allowManualChunks = false;
@@ -149,7 +159,36 @@ function handleManualChunks(config) {
149
159
 
150
160
  if (allowManualChunks) {
151
161
  if (process.env.DEBUG) needleLog("needle-dependencies", "registering manualChunks");
152
- 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
+ }
153
192
  }
154
193
 
155
194
  if (rollupOutput.chunkFileNames) {
@@ -194,9 +233,15 @@ function handleManualChunks(config) {
194
233
  try {
195
234
  const version = tryGetNeedleEngineVersion();
196
235
  if (version) {
197
- const name = `assets/needle-engine@${version}.js`;
198
- preloadScriptPaths.push(`./${name}`);
199
- 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
+ }
200
245
  }
201
246
  }
202
247
  catch (e) {
@@ -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"
@@ -4,18 +4,18 @@ import { MeshBVH } from 'three-mesh-bvh';
4
4
  // Modified according to https://github.com/gkjohnson/three-mesh-bvh/issues/636#issuecomment-2209571751
5
5
  import { WorkerBase } from "three-mesh-bvh/src/workers/utils/WorkerBase.js";
6
6
 
7
- // Use Vite's ?worker import to get a Worker constructor that works correctly
8
- // in both dev (raw-served) and optimized (pre-bundled) contexts.
9
- // The previous `new URL('...', import.meta.url)` pattern broke when the file
10
- // was pre-bundled because the bundler resolved the URL relative to the source
11
- // file path rather than as a bare module specifier.
12
- import GenerateBVHWorker from 'three-mesh-bvh/src/workers/generateMeshBVH.worker.js?worker';
13
-
14
-
15
7
  export class GenerateMeshBVHWorker extends WorkerBase {
16
8
 
17
9
  constructor() {
18
- super(new GenerateBVHWorker());
10
+ // Worker loading: we use `new URL(specifier, import.meta.url)` + `new Worker(url)`.
11
+ // We can NOT use the Vite `?worker` import suffix (`import W from '...?worker'`) because
12
+ // that breaks pre-bundling: the ?worker query is a Vite-specific convention that doesn't
13
+ // survive the optimizer, and the issue was closed as NOT_PLANNED (vitejs/vite#10837).
14
+ // The `new URL()` pattern works in Vite 8+ thanks to PR #21434 which correctly rebases
15
+ // relative URL paths inside pre-bundled dependencies. This lets us keep three-mesh-bvh
16
+ // in optimizeDeps (no exclude needed), avoiding duplicate three.js instances.
17
+ // https://linear.app/needle/issue/NE-6572
18
+ super(new Worker(new URL('three-mesh-bvh/src/workers/generateMeshBVH.worker.js', import.meta.url), { type: 'module' }));
19
19
  this.name = 'GenerateMeshBVHWorker';
20
20
 
21
21
  }