feat: add Cesium semantic inspection mode
This commit is contained in:
32
scripts/test-compress-glb.js
Normal file
32
scripts/test-compress-glb.js
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
|
||||
const assert = require("assert");
|
||||
const fs = require("fs");
|
||||
const os = require("os");
|
||||
const path = require("path");
|
||||
const { writeCompressedMetadata } = require("./compress-glb");
|
||||
|
||||
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "compress-glb-"));
|
||||
const source = path.join(tempDir, "scene.json");
|
||||
const output = path.join(tempDir, "scene-compressed.json");
|
||||
const compressedGlb = path.join(tempDir, "scene-compressed.glb");
|
||||
|
||||
fs.writeFileSync(source, `${JSON.stringify({
|
||||
asset: "scene.glb",
|
||||
assets: [
|
||||
{ id: "main", label: "Scene", type: "model", url: "scene.glb", enabled: true },
|
||||
{ id: "roads", label: "道路", type: "model", url: "scene-roads.glb", enabled: false, category: "semantic" },
|
||||
],
|
||||
}, null, 2)}\n`);
|
||||
|
||||
writeCompressedMetadata(source, compressedGlb, output);
|
||||
const metadata = JSON.parse(fs.readFileSync(output, "utf8"));
|
||||
assert.equal(metadata.asset, "scene-compressed.glb");
|
||||
assert.deepEqual(metadata.assets.map((asset) => asset.id), ["main", "roads"]);
|
||||
assert.equal(metadata.assets[0].url, "scene-compressed.glb");
|
||||
assert.equal(metadata.assets[1].url, "scene-roads.glb");
|
||||
assert.equal(metadata.assets[1].category, "semantic");
|
||||
|
||||
fs.rmSync(tempDir, { recursive: true, force: true });
|
||||
console.log("GLB compression metadata tests passed.");
|
||||
Reference in New Issue
Block a user