@mml-io/3d-web-client-core 0.0.0-experimental-44af53e-20250723 → 0.0.0-experimental-1f6e4fb-20250728

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/build/index.js CHANGED
@@ -1506,6 +1506,7 @@ ${before}
1506
1506
 
1507
1507
  // src/tweakpane/blades/characterFolder.ts
1508
1508
  var characterValues = {
1509
+ overrideMaterialParams: false,
1509
1510
  metalness: 0.2,
1510
1511
  roughness: 0.8,
1511
1512
  emissive: { r: 1, g: 1, b: 1 },
@@ -1520,25 +1521,45 @@ var characterOptions = {
1520
1521
  };
1521
1522
  var CharacterFolder = class {
1522
1523
  folder;
1524
+ materialParamsFolder;
1523
1525
  constructor(parentFolder, expand = false) {
1524
1526
  this.folder = parentFolder.addFolder({ title: "characterMaterial", expanded: expand });
1525
- this.folder.addBinding(characterValues, "metalness", characterOptions.metalness);
1526
- this.folder.addBinding(characterValues, "roughness", characterOptions.roughness);
1527
- this.folder.addBinding(characterValues, "emissive", {
1527
+ this.folder.addBinding(characterValues, "overrideMaterialParams", {
1528
+ label: "override material params"
1529
+ });
1530
+ this.materialParamsFolder = this.folder.addFolder({
1531
+ title: "Material Parameters",
1532
+ expanded: true
1533
+ });
1534
+ this.materialParamsFolder.addBinding(characterValues, "metalness", characterOptions.metalness);
1535
+ this.materialParamsFolder.addBinding(characterValues, "roughness", characterOptions.roughness);
1536
+ this.materialParamsFolder.addBinding(characterValues, "emissive", {
1528
1537
  color: { type: "float" }
1529
1538
  });
1530
- this.folder.addBinding(
1539
+ this.materialParamsFolder.addBinding(
1531
1540
  characterValues,
1532
1541
  "emissiveIntensity",
1533
1542
  characterOptions.emissiveIntensity
1534
1543
  );
1535
- this.folder.addBinding(characterValues, "envMapIntensity", characterOptions.envMapIntensity);
1544
+ this.materialParamsFolder.addBinding(
1545
+ characterValues,
1546
+ "envMapIntensity",
1547
+ characterOptions.envMapIntensity
1548
+ );
1549
+ this.updateMaterialParamsVisibility();
1550
+ }
1551
+ updateMaterialParamsVisibility() {
1552
+ this.materialParamsFolder.hidden = !characterValues.overrideMaterialParams;
1536
1553
  }
1537
1554
  setupChangeEvent() {
1538
1555
  this.folder.on("change", (e) => {
1539
1556
  const target = e.target.key;
1540
1557
  if (!target) return;
1541
1558
  switch (target) {
1559
+ case "overrideMaterialParams": {
1560
+ this.updateMaterialParamsVisibility();
1561
+ break;
1562
+ }
1542
1563
  case "emissive": {
1543
1564
  const value = e.value;
1544
1565
  characterValues.emissive = {
@@ -1666,15 +1687,17 @@ var CharacterMaterial = class extends MeshStandardMaterial {
1666
1687
  this.opacity = this.currentAlpha;
1667
1688
  }
1668
1689
  }
1669
- this.metalness = characterValues.metalness;
1670
- this.roughness = characterValues.roughness;
1671
- this.emissive = new Color().setRGB(
1672
- characterValues.emissive.r,
1673
- characterValues.emissive.g,
1674
- characterValues.emissive.b
1675
- );
1676
- this.emissiveIntensity = characterValues.emissiveIntensity;
1677
- this.envMapIntensity = characterValues.envMapIntensity;
1690
+ if (characterValues.overrideMaterialParams) {
1691
+ this.metalness = characterValues.metalness;
1692
+ this.roughness = characterValues.roughness;
1693
+ this.emissive = new Color().setRGB(
1694
+ characterValues.emissive.r,
1695
+ characterValues.emissive.g,
1696
+ characterValues.emissive.b
1697
+ );
1698
+ this.emissiveIntensity = characterValues.emissiveIntensity;
1699
+ this.envMapIntensity = characterValues.envMapIntensity;
1700
+ }
1678
1701
  }
1679
1702
  };
1680
1703
 
@@ -9214,7 +9237,7 @@ var sunValues = {
9214
9237
  var sunOptions = {
9215
9238
  sunPosition: {
9216
9239
  sunAzimuthalAngle: { min: 0, max: 360, step: 1 },
9217
- sunPolarAngle: { min: -90, max: 90, step: 1 }
9240
+ sunPolarAngle: { min: -95, max: 95, step: 1 }
9218
9241
  },
9219
9242
  sunIntensity: { min: 0, max: 10, step: 0.1 },
9220
9243
  skyTurbidity: { min: 1, max: 30, step: 0.1 },
@@ -9225,7 +9248,7 @@ var sunOptions = {
9225
9248
  var envValues = {
9226
9249
  skyboxAzimuthalAngle: 0,
9227
9250
  skyboxPolarAngle: 0,
9228
- envMapIntensity: 0.21,
9251
+ envMapIntensity: 0.6,
9229
9252
  skyboxIntensity: 0.9,
9230
9253
  skyboxBlurriness: 0,
9231
9254
  ambientLight: {
@@ -11494,10 +11517,11 @@ var PostProcessingFolder = class {
11494
11517
  };
11495
11518
 
11496
11519
  // src/tweakpane/blades/rendererFolder.ts
11520
+ import { NoToneMapping } from "three";
11497
11521
  var rendererValues = {
11498
11522
  shadowMap: 2,
11499
- toneMapping: 5,
11500
- exposure: 2.1
11523
+ toneMapping: 4,
11524
+ exposure: 0.75
11501
11525
  };
11502
11526
  var rendererOptions = {
11503
11527
  shadowMap: { min: 0, max: 2, step: 1 },
@@ -11556,6 +11580,7 @@ var RendererFolder = class {
11556
11580
  const value = e.value;
11557
11581
  toneMappingFolder.hidden = e.value !== 5;
11558
11582
  toneMappingPass.enabled = e.value === 5 ? true : false;
11583
+ renderer.toneMapping = e.value === 5 ? NoToneMapping : e.value;
11559
11584
  setToneMappingType(e.value);
11560
11585
  break;
11561
11586
  case "exposure":
@@ -11838,6 +11863,7 @@ var TweakPane = class {
11838
11863
  }
11839
11864
  setupCharacterController(localController) {
11840
11865
  this.characterControls.setupChangeEvent(localController);
11866
+ this.character.setupChangeEvent();
11841
11867
  }
11842
11868
  setupPostProcessingPane(postProcessingManager) {
11843
11869
  this.postProcessingFolder.setupChangeEvent(postProcessingManager);
@@ -11934,7 +11960,7 @@ import {
11934
11960
  SRGBColorSpace,
11935
11961
  Vector3 as Vector316,
11936
11962
  WebGLCubeRenderTarget,
11937
- WebGLRenderer as WebGLRenderer9
11963
+ WebGLRenderer as WebGLRenderer10
11938
11964
  } from "three";
11939
11965
  import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader.js";
11940
11966
  import { Sky } from "three/examples/jsm/objects/Sky.js";
@@ -12066,7 +12092,7 @@ var Composer = class {
12066
12092
  this.postPostScene = new Scene6();
12067
12093
  this.spawnSun = spawnSun;
12068
12094
  this.postProcessingEnabled = postProcessingEnabled;
12069
- this.renderer = new WebGLRenderer9({
12095
+ this.renderer = new WebGLRenderer10({
12070
12096
  powerPreference: "high-performance",
12071
12097
  antialias: true
12072
12098
  });