copper3d 3.6.7 → 3.6.9

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.
@@ -32,8 +32,11 @@ export class baseScene extends commonScene {
32
32
  this.renderer.setSize(this.container.clientWidth, this.container.clientHeight);
33
33
  };
34
34
  this.renderer = renderer;
35
- this.ambientLight = new THREE.AmbientLight(0x606060, 0.8);
36
- this.directionalLight = new THREE.DirectionalLight(0xffffff, 1.0);
35
+ // three r165+ removed `useLegacyLights`; lighting is always physically
36
+ // correct now, which makes the same intensity ~1/PI as dim as the old
37
+ // (three <=0.150) legacy default. Scale by PI to keep the prior brightness.
38
+ this.ambientLight = new THREE.AmbientLight(0x606060, 0.8 * Math.PI);
39
+ this.directionalLight = new THREE.DirectionalLight(0xffffff, 1.0 * Math.PI);
37
40
  if (!(opt === null || opt === void 0 ? void 0 : opt.alpha)) {
38
41
  this.vignette = createBackground({
39
42
  aspect: this.container.clientWidth / this.container.clientHeight,
@@ -120,7 +123,7 @@ export class baseScene extends commonScene {
120
123
  }
121
124
  addLights() {
122
125
  // Hemisphere light: sky/ground for broad ambient fill
123
- const hemiLight = new THREE.HemisphereLight(0xddeeff, 0x0f0e0d, 0.6);
126
+ const hemiLight = new THREE.HemisphereLight(0xddeeff, 0x0f0e0d, 0.6 * Math.PI);
124
127
  hemiLight.name = "hemi_light";
125
128
  this.scene.add(hemiLight);
126
129
  // Main key light — front-right, slightly above
@@ -130,12 +133,12 @@ export class baseScene extends commonScene {
130
133
  this.camera.add(this.ambientLight);
131
134
  this.camera.add(this.directionalLight);
132
135
  // Fill light — opposite side to soften shadows
133
- const fillLight = new THREE.DirectionalLight(0xffffff, 0.4);
136
+ const fillLight = new THREE.DirectionalLight(0xffffff, 0.4 * Math.PI);
134
137
  fillLight.name = "fill_light";
135
138
  fillLight.position.set(-0.5, -0.2, -0.866);
136
139
  this.camera.add(fillLight);
137
140
  // Top light — illuminates the top surface that key/fill lights miss
138
- const topLight = new THREE.DirectionalLight(0xffffff, 0.5);
141
+ const topLight = new THREE.DirectionalLight(0xffffff, 0.5 * Math.PI);
139
142
  topLight.name = "top_light";
140
143
  topLight.position.set(0, 1, 0.2);
141
144
  this.camera.add(topLight);
@@ -1 +1 @@
1
- {"version":3,"file":"baseScene.js","sourceRoot":"","sources":["../../src/Scene/baseScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseScene.js","sourceRoot":"","sources":["../../src/Scene/baseScene.ts"],"names":[],"mappings":"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"}
@@ -275,6 +275,12 @@ export class copperScene extends baseScene {
275
275
  tex.setFrame(0);
276
276
  if (opts.window)
277
277
  tex.setWindow(opts.window.center, opts.window.width);
278
+ // All meshes sit at the origin (world coords live in the geometry), so their
279
+ // transparent-sort distances tie. three <=0.150 broke the tie by insertion
280
+ // order; >=0.170 resolves it per-camera, which makes the draw order flip while
281
+ // rotating (flicker / vanishing surfaces). Pin an explicit, deterministic
282
+ // order: MRI plane first (backdrop), then the surfaces in definition order.
283
+ tex.mesh.renderOrder = 0;
278
284
  const surfaceMeshes = {};
279
285
  const seqs = [];
280
286
  surfaceDefs.forEach((def, i) => {
@@ -283,6 +289,7 @@ export class copperScene extends baseScene {
283
289
  const { vtkmaterial } = copperMultipleVtk(def.opts);
284
290
  const mesh = new THREE.Mesh(geometries[0], vtkmaterial);
285
291
  mesh.name = def.name;
292
+ mesh.renderOrder = i + 1;
286
293
  this.scene.add(mesh);
287
294
  surfaceMeshes[def.name] = mesh;
288
295
  seqs.push({ mesh, geometries, offset: (_a = def.offset) !== null && _a !== void 0 ? _a : 0 });
@@ -1 +1 @@
1
- {"version":3,"file":"copperScene.js","sourceRoot":"","sources":["../../src/Scene/copperScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copperScene.js","sourceRoot":"","sources":["../../src/Scene/copperScene.ts"],"names":[],"mappings":"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"}
@@ -49752,8 +49752,11 @@ class baseScene extends commonScene {
49752
49752
  this.renderer.setSize(this.container.clientWidth, this.container.clientHeight);
49753
49753
  };
49754
49754
  this.renderer = renderer;
49755
- this.ambientLight = new AmbientLight(0x606060, 0.8);
49756
- this.directionalLight = new DirectionalLight(0xffffff, 1.0);
49755
+ // three r165+ removed `useLegacyLights`; lighting is always physically
49756
+ // correct now, which makes the same intensity ~1/PI as dim as the old
49757
+ // (three <=0.150) legacy default. Scale by PI to keep the prior brightness.
49758
+ this.ambientLight = new AmbientLight(0x606060, 0.8 * Math.PI);
49759
+ this.directionalLight = new DirectionalLight(0xffffff, 1.0 * Math.PI);
49757
49760
  if (!(opt === null || opt === void 0 ? void 0 : opt.alpha)) {
49758
49761
  this.vignette = createBackground({
49759
49762
  aspect: this.container.clientWidth / this.container.clientHeight,
@@ -49838,7 +49841,7 @@ class baseScene extends commonScene {
49838
49841
  }
49839
49842
  addLights() {
49840
49843
  // Hemisphere light: sky/ground for broad ambient fill
49841
- const hemiLight = new HemisphereLight(0xddeeff, 0x0f0e0d, 0.6);
49844
+ const hemiLight = new HemisphereLight(0xddeeff, 0x0f0e0d, 0.6 * Math.PI);
49842
49845
  hemiLight.name = "hemi_light";
49843
49846
  this.scene.add(hemiLight);
49844
49847
  // Main key light — front-right, slightly above
@@ -49848,12 +49851,12 @@ class baseScene extends commonScene {
49848
49851
  this.camera.add(this.ambientLight);
49849
49852
  this.camera.add(this.directionalLight);
49850
49853
  // Fill light — opposite side to soften shadows
49851
- const fillLight = new DirectionalLight(0xffffff, 0.4);
49854
+ const fillLight = new DirectionalLight(0xffffff, 0.4 * Math.PI);
49852
49855
  fillLight.name = "fill_light";
49853
49856
  fillLight.position.set(-0.5, -0.2, -0.866);
49854
49857
  this.camera.add(fillLight);
49855
49858
  // Top light — illuminates the top surface that key/fill lights miss
49856
- const topLight = new DirectionalLight(0xffffff, 0.5);
49859
+ const topLight = new DirectionalLight(0xffffff, 0.5 * Math.PI);
49857
49860
  topLight.name = "top_light";
49858
49861
  topLight.position.set(0, 1, 0.2);
49859
49862
  this.camera.add(topLight);
@@ -62432,6 +62435,12 @@ class copperScene extends baseScene {
62432
62435
  tex.setFrame(0);
62433
62436
  if (opts.window)
62434
62437
  tex.setWindow(opts.window.center, opts.window.width);
62438
+ // All meshes sit at the origin (world coords live in the geometry), so their
62439
+ // transparent-sort distances tie. three <=0.150 broke the tie by insertion
62440
+ // order; >=0.170 resolves it per-camera, which makes the draw order flip while
62441
+ // rotating (flicker / vanishing surfaces). Pin an explicit, deterministic
62442
+ // order: MRI plane first (backdrop), then the surfaces in definition order.
62443
+ tex.mesh.renderOrder = 0;
62435
62444
  const surfaceMeshes = {};
62436
62445
  const seqs = [];
62437
62446
  surfaceDefs.forEach((def, i) => {
@@ -62440,6 +62449,7 @@ class copperScene extends baseScene {
62440
62449
  const { vtkmaterial } = copperMultipleVtk(def.opts);
62441
62450
  const mesh = new Mesh(geometries[0], vtkmaterial);
62442
62451
  mesh.name = def.name;
62452
+ mesh.renderOrder = i + 1;
62443
62453
  this.scene.add(mesh);
62444
62454
  surfaceMeshes[def.name] = mesh;
62445
62455
  seqs.push({ mesh, geometries, offset: (_a = def.offset) !== null && _a !== void 0 ? _a : 0 });
@@ -83587,15 +83597,15 @@ function evaluateElement(element, weights) {
83587
83597
  }
83588
83598
 
83589
83599
  // import * as kiwrious from "copper3d_plugin_heart_k";
83590
- // "v3.6.7" is injected at build time by rollup @rollup/plugin-replace, sourced from package.json version.
83600
+ // "v3.6.9" is injected at build time by rollup @rollup/plugin-replace, sourced from package.json version.
83591
83601
  // When copper3d is consumed from local source (no rollup replace step), the identifier is undefined and
83592
83602
  // referencing it throws a ReferenceError — guard it so local loading still works.
83593
83603
  let _revision = "unknown";
83594
83604
  try {
83595
- _revision = "v3.6.7";
83605
+ _revision = "v3.6.9";
83596
83606
  }
83597
83607
  catch (_a) {
83598
- /* "v3.6.7" not injected (local source build) */
83608
+ /* "v3.6.9" not injected (local source build) */
83599
83609
  }
83600
83610
  const REVISION = _revision;
83601
83611
  // Expose on global so the version can be read in a production browser console via window.__COPPER3D_VERSION__
@@ -49760,8 +49760,11 @@ void main() {
49760
49760
  this.renderer.setSize(this.container.clientWidth, this.container.clientHeight);
49761
49761
  };
49762
49762
  this.renderer = renderer;
49763
- this.ambientLight = new AmbientLight(0x606060, 0.8);
49764
- this.directionalLight = new DirectionalLight(0xffffff, 1.0);
49763
+ // three r165+ removed `useLegacyLights`; lighting is always physically
49764
+ // correct now, which makes the same intensity ~1/PI as dim as the old
49765
+ // (three <=0.150) legacy default. Scale by PI to keep the prior brightness.
49766
+ this.ambientLight = new AmbientLight(0x606060, 0.8 * Math.PI);
49767
+ this.directionalLight = new DirectionalLight(0xffffff, 1.0 * Math.PI);
49765
49768
  if (!(opt === null || opt === void 0 ? void 0 : opt.alpha)) {
49766
49769
  this.vignette = createBackground({
49767
49770
  aspect: this.container.clientWidth / this.container.clientHeight,
@@ -49846,7 +49849,7 @@ void main() {
49846
49849
  }
49847
49850
  addLights() {
49848
49851
  // Hemisphere light: sky/ground for broad ambient fill
49849
- const hemiLight = new HemisphereLight(0xddeeff, 0x0f0e0d, 0.6);
49852
+ const hemiLight = new HemisphereLight(0xddeeff, 0x0f0e0d, 0.6 * Math.PI);
49850
49853
  hemiLight.name = "hemi_light";
49851
49854
  this.scene.add(hemiLight);
49852
49855
  // Main key light — front-right, slightly above
@@ -49856,12 +49859,12 @@ void main() {
49856
49859
  this.camera.add(this.ambientLight);
49857
49860
  this.camera.add(this.directionalLight);
49858
49861
  // Fill light — opposite side to soften shadows
49859
- const fillLight = new DirectionalLight(0xffffff, 0.4);
49862
+ const fillLight = new DirectionalLight(0xffffff, 0.4 * Math.PI);
49860
49863
  fillLight.name = "fill_light";
49861
49864
  fillLight.position.set(-0.5, -0.2, -0.866);
49862
49865
  this.camera.add(fillLight);
49863
49866
  // Top light — illuminates the top surface that key/fill lights miss
49864
- const topLight = new DirectionalLight(0xffffff, 0.5);
49867
+ const topLight = new DirectionalLight(0xffffff, 0.5 * Math.PI);
49865
49868
  topLight.name = "top_light";
49866
49869
  topLight.position.set(0, 1, 0.2);
49867
49870
  this.camera.add(topLight);
@@ -62440,6 +62443,12 @@ void main() {
62440
62443
  tex.setFrame(0);
62441
62444
  if (opts.window)
62442
62445
  tex.setWindow(opts.window.center, opts.window.width);
62446
+ // All meshes sit at the origin (world coords live in the geometry), so their
62447
+ // transparent-sort distances tie. three <=0.150 broke the tie by insertion
62448
+ // order; >=0.170 resolves it per-camera, which makes the draw order flip while
62449
+ // rotating (flicker / vanishing surfaces). Pin an explicit, deterministic
62450
+ // order: MRI plane first (backdrop), then the surfaces in definition order.
62451
+ tex.mesh.renderOrder = 0;
62443
62452
  const surfaceMeshes = {};
62444
62453
  const seqs = [];
62445
62454
  surfaceDefs.forEach((def, i) => {
@@ -62448,6 +62457,7 @@ void main() {
62448
62457
  const { vtkmaterial } = copperMultipleVtk(def.opts);
62449
62458
  const mesh = new Mesh(geometries[0], vtkmaterial);
62450
62459
  mesh.name = def.name;
62460
+ mesh.renderOrder = i + 1;
62451
62461
  this.scene.add(mesh);
62452
62462
  surfaceMeshes[def.name] = mesh;
62453
62463
  seqs.push({ mesh, geometries, offset: (_a = def.offset) !== null && _a !== void 0 ? _a : 0 });
@@ -83595,15 +83605,15 @@ void main() {
83595
83605
  }
83596
83606
 
83597
83607
  // import * as kiwrious from "copper3d_plugin_heart_k";
83598
- // "v3.6.7" is injected at build time by rollup @rollup/plugin-replace, sourced from package.json version.
83608
+ // "v3.6.9" is injected at build time by rollup @rollup/plugin-replace, sourced from package.json version.
83599
83609
  // When copper3d is consumed from local source (no rollup replace step), the identifier is undefined and
83600
83610
  // referencing it throws a ReferenceError — guard it so local loading still works.
83601
83611
  let _revision = "unknown";
83602
83612
  try {
83603
- _revision = "v3.6.7";
83613
+ _revision = "v3.6.9";
83604
83614
  }
83605
83615
  catch (_a) {
83606
- /* "v3.6.7" not injected (local source build) */
83616
+ /* "v3.6.9" not injected (local source build) */
83607
83617
  }
83608
83618
  const REVISION = _revision;
83609
83619
  // Expose on global so the version can be read in a production browser console via window.__COPPER3D_VERSION__
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "copper3d",
3
3
  "description": "A 3d visualisation package base on threejs provides multiple scenes and Nrrd image load funtion.",
4
- "version": "3.6.7",
4
+ "version": "3.6.9",
5
5
  "main": "dist/bundle.umd.js",
6
6
  "moudle": "dist/bundle.esm.js",
7
7
  "types": "dist/types/index.d.ts",