diff --git a/CHANGELOG.md b/CHANGELOG.md index d4631a0..bc8b3fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +### 2.5.1 - UNRELEASED + +* Fixed an issue with BabylonJS mesh debugging. [#268](https://github.com/AnalyticalGraphicsInc/gltf-vscode/issues/268) +* Fixed Meshopt decompression in BabylonJS and ThreeJS. +* Update Khronos glTF-Validator to 2.0.0-dev.3.10. [KhronosGroup/glTF-Validator#240](https://github.com/KhronosGroup/glTF-Validator/pull/240) +* Update JSON schema for `KHR_materials_iridescence` to latest. + ### 2.5.0 - 2024-08-02 * Update Babylon to 7.17.2. diff --git a/package-lock.json b/package-lock.json index 3feedf1..b4a022f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "draco3dgltf": "1.5.7", "filament": "1.53.1", "gltf-import-export": "1.0.22", - "gltf-validator": "2.0.0-dev.3.9", + "gltf-validator": "2.0.0-dev.3.10", "gltumble": "^1.0.1", "json-source-map": "0.6.1", "sprintf-js": "1.1.3", @@ -1576,9 +1576,9 @@ } }, "node_modules/gltf-validator": { - "version": "2.0.0-dev.3.9", - "resolved": "https://registry.npmjs.org/gltf-validator/-/gltf-validator-2.0.0-dev.3.9.tgz", - "integrity": "sha512-9nPcAgYJwT6sbml7S3/tC+N/BkqTUSL1u8GcmUQLuwToLR0ZH8CF3i/BhVqDwlg7OmKS2GGjjEcnU/oMMeIQUQ==" + "version": "2.0.0-dev.3.10", + "resolved": "https://registry.npmjs.org/gltf-validator/-/gltf-validator-2.0.0-dev.3.10.tgz", + "integrity": "sha512-odJ4k0tRkGXiDGn78yDBg+fBbAIvBnXxh3RwAta0emSxGtyagFE8B4xELB1oYe3S5RD8Ci3uZAsZaascH2LAEQ==" }, "node_modules/gltumble": { "version": "1.0.1", @@ -3998,9 +3998,9 @@ } }, "gltf-validator": { - "version": "2.0.0-dev.3.9", - "resolved": "https://registry.npmjs.org/gltf-validator/-/gltf-validator-2.0.0-dev.3.9.tgz", - "integrity": "sha512-9nPcAgYJwT6sbml7S3/tC+N/BkqTUSL1u8GcmUQLuwToLR0ZH8CF3i/BhVqDwlg7OmKS2GGjjEcnU/oMMeIQUQ==" + "version": "2.0.0-dev.3.10", + "resolved": "https://registry.npmjs.org/gltf-validator/-/gltf-validator-2.0.0-dev.3.10.tgz", + "integrity": "sha512-odJ4k0tRkGXiDGn78yDBg+fBbAIvBnXxh3RwAta0emSxGtyagFE8B4xELB1oYe3S5RD8Ci3uZAsZaascH2LAEQ==" }, "gltumble": { "version": "1.0.1", diff --git a/package.json b/package.json index 41b9eee..ffe5850 100644 --- a/package.json +++ b/package.json @@ -404,7 +404,7 @@ "draco3dgltf": "1.5.7", "filament": "1.53.1", "gltf-import-export": "1.0.22", - "gltf-validator": "2.0.0-dev.3.9", + "gltf-validator": "2.0.0-dev.3.10", "gltumble": "^1.0.1", "json-source-map": "0.6.1", "sprintf-js": "1.1.3", diff --git a/pages/babylonView.js b/pages/babylonView.js index e896939..7264a27 100644 --- a/pages/babylonView.js +++ b/pages/babylonView.js @@ -83,9 +83,10 @@ var babylonPath = extensionRootPath + '/engines/Babylon/'; var basisPath = extensionRootPath + '/engines/Basis/'; - // via https://github.com/BabylonJS/Babylon.js/blob/cfde2ef094705213bf95547b5d1a2ef0adae79ec/localDev/index-views.html#L127-L138 - BABYLON.GLTF2.Loader.Extensions.EXT_meshopt_compression.DecoderPath = - babylonPath + "meshopt_decoder.js"; + // via https://github.com/BabylonJS/Babylon.js/blob/89160087d244a7b64bb559b444bcc2ca13fafd4e/packages/tools/tests/test/playwright/visualizationPlaywright.utils.ts#L168-L170 + BABYLON.MeshoptCompression.Configuration.decoder = { + url: babylonPath + "meshopt_decoder.js" + }; BABYLON.KhronosTextureContainer2.URLConfig = { jsDecoderModule: babylonPath + "babylon.ktx2Decoder.js", diff --git a/pages/threeView.js b/pages/threeView.js index 8639765..f67378b 100644 --- a/pages/threeView.js +++ b/pages/threeView.js @@ -5,6 +5,7 @@ import { RGBELoader } from '../node_modules/three/examples/jsm/loaders/RGBELoade import { KTX2Loader } from '../node_modules/three/examples/jsm/loaders/KTX2Loader.js'; import { DRACOLoader } from '../node_modules/three/examples/jsm/loaders/DRACOLoader.js'; import { OrbitControls } from '../node_modules/three/examples/jsm/controls/OrbitControls.js'; +import { MeshoptDecoder } from '../node_modules/three/examples/jsm/libs/meshopt_decoder.module.js'; export class ThreeView { constructor() { @@ -63,6 +64,7 @@ export class ThreeView { dracoLoader.setDecoderPath(dracoLoaderPath); loader.setDRACOLoader( dracoLoader ); + loader.setMeshoptDecoder( MeshoptDecoder ); var extensionRootPath = document.getElementById('extensionRootPath').textContent; var basisPath = extensionRootPath + '/node_modules/three/examples/jsm/libs/basis/'; diff --git a/schemas/gltf-2.0/extensions/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json b/schemas/gltf-2.0/extensions/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json index 3486328..d9b0d67 100644 --- a/schemas/gltf-2.0/extensions/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json +++ b/schemas/gltf-2.0/extensions/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json @@ -33,14 +33,14 @@ }, "iridescenceThicknessMinimum" : { "type" : "number", - "description" : "The minimum thickness of the thin-film layer given in nanometers. The value **MUST** be less than or equal to the value of `iridescenceThicknessMaximum`.", + "description" : "The minimum thickness of the thin-film layer given in nanometers.", "default" : 100, "minimum" : 0, "short_description" : "The minimum thickness of the thin-film layer given in nanometers." }, "iridescenceThicknessMaximum" : { "type" : "number", - "description" : "The maximum thickness of the thin-film layer given in nanometers. The value **MUST** be greater than or equal to the value of `iridescenceThicknessMinimum`.", + "description" : "The maximum thickness of the thin-film layer given in nanometers.", "default" : 400, "minimum" : 0, "short_description" : "The maximum thickness of the thin-film layer given in nanometers." diff --git a/server/package-lock.json b/server/package-lock.json index affb92b..f0880bb 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -10,7 +10,7 @@ "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "gltf-validator": "2.0.0-dev.3.9", + "gltf-validator": "2.0.0-dev.3.10", "json-source-map": "0.6.1", "vscode-languageserver": "^5.2.1", "vscode-uri": "^3.0.8" @@ -20,9 +20,9 @@ } }, "node_modules/gltf-validator": { - "version": "2.0.0-dev.3.9", - "resolved": "https://registry.npmjs.org/gltf-validator/-/gltf-validator-2.0.0-dev.3.9.tgz", - "integrity": "sha512-9nPcAgYJwT6sbml7S3/tC+N/BkqTUSL1u8GcmUQLuwToLR0ZH8CF3i/BhVqDwlg7OmKS2GGjjEcnU/oMMeIQUQ==" + "version": "2.0.0-dev.3.10", + "resolved": "https://registry.npmjs.org/gltf-validator/-/gltf-validator-2.0.0-dev.3.10.tgz", + "integrity": "sha512-odJ4k0tRkGXiDGn78yDBg+fBbAIvBnXxh3RwAta0emSxGtyagFE8B4xELB1oYe3S5RD8Ci3uZAsZaascH2LAEQ==" }, "node_modules/json-source-map": { "version": "0.6.1", diff --git a/server/package.json b/server/package.json index 3f22faa..5e6c170 100644 --- a/server/package.json +++ b/server/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/AnalyticalGraphicsInc/gltf-vscode" }, "dependencies": { - "gltf-validator": "2.0.0-dev.3.9", + "gltf-validator": "2.0.0-dev.3.10", "json-source-map": "0.6.1", "vscode-languageserver": "^5.2.1", "vscode-uri": "^3.0.8"