PhysicalMeshMaterial — the WebGL wrapper around three's MeshPhysicalMaterial.
Deliberately THIN. The house mesh material is a ShaderMaterial Luxar writes and
pins with codegen snapshots; this one is three's, and three's to pin. What the
wrapper adds is exactly the surface the rest of the viewer already assumes of a
leaf material — updateOpacity / updateIntensity / updateOffset /
updateGamma (the LuxarMaterial contract the Layers panel, exposure and the
LOD cross-fade gate on) and an applyBlendingMode that is a documented no-op —
each implemented ONCE in ./config.ts and shared with the WebGPU twin.
What it deliberately lacks, and why (spec MESH_PHYSICAL_MATERIALS_SPEC.md §3.2):
no updateCameraParams: the near fade is a house-shader feature, so this
material is filed as static by MaterialManager.register and takes no camera
broadcast;
no updateBaseColorTexture / updateColormapTexture: textures and colormaps
are house-shader features and are refused at authoring for a physical mesh;
no userData.blendingMode unless opaque — see derivePhysicalCompositing.
PhysicalMeshMaterial— the WebGL wrapper around three'sMeshPhysicalMaterial.Deliberately THIN. The house mesh material is a
ShaderMaterialLuxar writes and pins with codegen snapshots; this one is three's, and three's to pin. What the wrapper adds is exactly the surface the rest of the viewer already assumes of a leaf material —updateOpacity/updateIntensity/updateOffset/updateGamma(theLuxarMaterialcontract the Layers panel, exposure and the LOD cross-fade gate on) and anapplyBlendingModethat is a documented no-op — each implemented ONCE in./config.tsand shared with the WebGPU twin.What it deliberately lacks, and why (spec
MESH_PHYSICAL_MATERIALS_SPEC.md§3.2):updateCameraParams: the near fade is a house-shader feature, so this material is filed as static byMaterialManager.registerand takes no camera broadcast;updateBaseColorTexture/updateColormapTexture: textures and colormaps are house-shader features and are refused at authoring for a physical mesh;userData.blendingModeunless opaque — seederivePhysicalCompositing.