@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.
- package/dist/{needle-engine.bundle-CJwjIrR6.js → needle-engine.bundle-BymlzaH_.js} +2329 -2329
- package/dist/{needle-engine.bundle-D2dj69wb.umd.cjs → needle-engine.bundle-CK9xKTOH.umd.cjs} +94 -94
- package/dist/{needle-engine.bundle-CtpBqMQp.min.js → needle-engine.bundle-D-7jnOxH.min.js} +106 -106
- package/dist/needle-engine.d.ts +15 -15
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{vendor-oBh9SadS.min.js → vendor-BPp9F5vR.min.js} +1 -1
- package/dist/{vendor-DAjEh81o.js → vendor-CQMI3jTS.js} +2 -11
- package/dist/{vendor-C1ziZ1Wa.umd.cjs → vendor-CipoooTV.umd.cjs} +1 -1
- package/lib/engine/engine_pmrem.js +4 -1
- package/lib/engine/engine_pmrem.js.map +1 -1
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +9 -7
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
- package/package.json +1 -1
- package/plugins/vite/ai.js +7 -4
- package/plugins/vite/dependencies.js +64 -19
- package/src/engine/engine_pmrem.ts +4 -1
- package/src/engine/engine_three_utils.ts +0 -1
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +9 -9
|
@@ -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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAW,aAAa,EAAiB,MAAM,OAAO,CAAC;
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,uGAAuG;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAE5E,
|
|
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.
|
|
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": {
|
package/plugins/vite/ai.js
CHANGED
|
@@ -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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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
|
-
|
|
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
|
}
|