@helix3/helix-cli 0.1.13-helix3.151 → 0.1.13-helix3.153
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/dist/sceneImport/externalTextures.d.ts +42 -0
- package/dist/sceneImport/externalTextures.js +127 -0
- package/dist/sceneImport/externalTextures.js.map +1 -0
- package/dist/sceneImport/package.js +72 -3
- package/dist/sceneImport/package.js.map +1 -1
- package/dist/sceneImport/proxy.js +37 -4
- package/dist/sceneImport/proxy.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE ONE HACKY STEP. Delete this file the day gltf-transform can author an
|
|
3
|
+
* external-URI texture in a GLB, and nothing else has to change.
|
|
4
|
+
*
|
|
5
|
+
* Why it exists. A texture shared by N meshes should be ONE file fetched once
|
|
6
|
+
* and ONE GPU upload, not N copies. glTF supports exactly that -- `images[].uri`
|
|
7
|
+
* is legal inside a .glb -- but gltf-transform v4 cannot author it:
|
|
8
|
+
*
|
|
9
|
+
* - `texture.setImage(bytes)` -> the payload is inlined into the BIN chunk.
|
|
10
|
+
* - `texture.setURI(name)` with no image -> it emits `{"name":…,"mimeType":…}`
|
|
11
|
+
* carrying NEITHER `uri` NOR `bufferView`, and the texture still points at
|
|
12
|
+
* it. That is a dangling image: invalid glTF, and it renders as nothing.
|
|
13
|
+
*
|
|
14
|
+
* Both were verified by decoding the GLB JSON chunk, not inferred.
|
|
15
|
+
*
|
|
16
|
+
* The saving grace is how little is missing. gltf-transform already drops the
|
|
17
|
+
* bufferView and re-indexes everything correctly; the ONLY absent field is the
|
|
18
|
+
* `uri` string. So this does not rewrite buffer views or re-index anything --
|
|
19
|
+
* it decodes the JSON chunk, writes one field per image, and re-encodes. That
|
|
20
|
+
* is the whole hack, and it is deliberately the whole hack: anything more
|
|
21
|
+
* ambitious here would be a second glTF writer.
|
|
22
|
+
*
|
|
23
|
+
* Measured stakes for the Pacifica mall: 372 distinct textures shared is
|
|
24
|
+
* 140.6 MB on the wire and 288.6 MiB of GPU. The same textures embedded per-GLB
|
|
25
|
+
* is 1,390.3 MB and ~3,016 MiB -- 9.9x and 10.5x -- because every copy is a
|
|
26
|
+
* distinct GPU image.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Gives every image named in `uriByImageName` an `images[].uri`, so the GLB
|
|
30
|
+
* REFERENCES a shared texture file instead of carrying its bytes.
|
|
31
|
+
*
|
|
32
|
+
* Refuses rather than emits a broken asset:
|
|
33
|
+
* - a named image that does not exist in the GLB is a caller bug (the name is
|
|
34
|
+
* the only join key, so a typo would silently externalize nothing);
|
|
35
|
+
* - an image that still has a `bufferView` would end up with both a uri and
|
|
36
|
+
* inline bytes, which is ambiguous and means the payload was never removed;
|
|
37
|
+
* - ANY image left with neither `uri` nor `bufferView` is a dangling
|
|
38
|
+
* reference. This is checked across ALL images, not just the ones asked
|
|
39
|
+
* for, because that is the exact state gltf-transform produces on its own
|
|
40
|
+
* and it renders as nothing rather than failing loudly.
|
|
41
|
+
*/
|
|
42
|
+
export declare function externalizeGlbTextureUris(bytes: Uint8Array, uriByImageName: ReadonlyMap<string, string>): Uint8Array;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* THE ONE HACKY STEP. Delete this file the day gltf-transform can author an
|
|
4
|
+
* external-URI texture in a GLB, and nothing else has to change.
|
|
5
|
+
*
|
|
6
|
+
* Why it exists. A texture shared by N meshes should be ONE file fetched once
|
|
7
|
+
* and ONE GPU upload, not N copies. glTF supports exactly that -- `images[].uri`
|
|
8
|
+
* is legal inside a .glb -- but gltf-transform v4 cannot author it:
|
|
9
|
+
*
|
|
10
|
+
* - `texture.setImage(bytes)` -> the payload is inlined into the BIN chunk.
|
|
11
|
+
* - `texture.setURI(name)` with no image -> it emits `{"name":…,"mimeType":…}`
|
|
12
|
+
* carrying NEITHER `uri` NOR `bufferView`, and the texture still points at
|
|
13
|
+
* it. That is a dangling image: invalid glTF, and it renders as nothing.
|
|
14
|
+
*
|
|
15
|
+
* Both were verified by decoding the GLB JSON chunk, not inferred.
|
|
16
|
+
*
|
|
17
|
+
* The saving grace is how little is missing. gltf-transform already drops the
|
|
18
|
+
* bufferView and re-indexes everything correctly; the ONLY absent field is the
|
|
19
|
+
* `uri` string. So this does not rewrite buffer views or re-index anything --
|
|
20
|
+
* it decodes the JSON chunk, writes one field per image, and re-encodes. That
|
|
21
|
+
* is the whole hack, and it is deliberately the whole hack: anything more
|
|
22
|
+
* ambitious here would be a second glTF writer.
|
|
23
|
+
*
|
|
24
|
+
* Measured stakes for the Pacifica mall: 372 distinct textures shared is
|
|
25
|
+
* 140.6 MB on the wire and 288.6 MiB of GPU. The same textures embedded per-GLB
|
|
26
|
+
* is 1,390.3 MB and ~3,016 MiB -- 9.9x and 10.5x -- because every copy is a
|
|
27
|
+
* distinct GPU image.
|
|
28
|
+
*/
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.externalizeGlbTextureUris = externalizeGlbTextureUris;
|
|
31
|
+
const GLB_MAGIC = 0x46546c67; // 'glTF'
|
|
32
|
+
const CHUNK_JSON = 0x4e4f534a; // 'JSON'
|
|
33
|
+
function splitGlb(bytes) {
|
|
34
|
+
const buf = Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
35
|
+
if (buf.length < 12 || buf.readUInt32LE(0) !== GLB_MAGIC) {
|
|
36
|
+
throw new Error('externalizeGlbTextureUris: not a GLB (bad magic)');
|
|
37
|
+
}
|
|
38
|
+
const version = buf.readUInt32LE(4);
|
|
39
|
+
const declared = buf.readUInt32LE(8);
|
|
40
|
+
if (declared !== buf.length) {
|
|
41
|
+
throw new Error(`externalizeGlbTextureUris: GLB header length ${declared} != actual ${buf.length}`);
|
|
42
|
+
}
|
|
43
|
+
const chunks = [];
|
|
44
|
+
let offset = 12;
|
|
45
|
+
while (offset + 8 <= buf.length) {
|
|
46
|
+
const length = buf.readUInt32LE(offset);
|
|
47
|
+
const type = buf.readUInt32LE(offset + 4);
|
|
48
|
+
const start = offset + 8;
|
|
49
|
+
if (start + length > buf.length) {
|
|
50
|
+
throw new Error('externalizeGlbTextureUris: chunk overruns the GLB');
|
|
51
|
+
}
|
|
52
|
+
chunks.push({ type, data: buf.subarray(start, start + length) });
|
|
53
|
+
offset = start + length;
|
|
54
|
+
}
|
|
55
|
+
return { version, chunks };
|
|
56
|
+
}
|
|
57
|
+
function joinGlb(version, chunks) {
|
|
58
|
+
// Every chunk is 4-byte aligned. JSON pads with spaces, binary with zeroes --
|
|
59
|
+
// padding JSON with NUL bytes produces a file some parsers accept and others
|
|
60
|
+
// reject on the trailing garbage, which is the worst kind of bug to ship.
|
|
61
|
+
const parts = [];
|
|
62
|
+
let total = 12;
|
|
63
|
+
for (const chunk of chunks) {
|
|
64
|
+
const pad = (4 - (chunk.data.length % 4)) % 4;
|
|
65
|
+
const filler = Buffer.alloc(pad, chunk.type === CHUNK_JSON ? 0x20 : 0x00);
|
|
66
|
+
const header = Buffer.alloc(8);
|
|
67
|
+
header.writeUInt32LE(chunk.data.length + pad, 0);
|
|
68
|
+
header.writeUInt32LE(chunk.type, 4);
|
|
69
|
+
parts.push(header, chunk.data, filler);
|
|
70
|
+
total += 8 + chunk.data.length + pad;
|
|
71
|
+
}
|
|
72
|
+
const head = Buffer.alloc(12);
|
|
73
|
+
head.writeUInt32LE(GLB_MAGIC, 0);
|
|
74
|
+
head.writeUInt32LE(version, 4);
|
|
75
|
+
head.writeUInt32LE(total, 8);
|
|
76
|
+
return new Uint8Array(Buffer.concat([head, ...parts], total));
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Gives every image named in `uriByImageName` an `images[].uri`, so the GLB
|
|
80
|
+
* REFERENCES a shared texture file instead of carrying its bytes.
|
|
81
|
+
*
|
|
82
|
+
* Refuses rather than emits a broken asset:
|
|
83
|
+
* - a named image that does not exist in the GLB is a caller bug (the name is
|
|
84
|
+
* the only join key, so a typo would silently externalize nothing);
|
|
85
|
+
* - an image that still has a `bufferView` would end up with both a uri and
|
|
86
|
+
* inline bytes, which is ambiguous and means the payload was never removed;
|
|
87
|
+
* - ANY image left with neither `uri` nor `bufferView` is a dangling
|
|
88
|
+
* reference. This is checked across ALL images, not just the ones asked
|
|
89
|
+
* for, because that is the exact state gltf-transform produces on its own
|
|
90
|
+
* and it renders as nothing rather than failing loudly.
|
|
91
|
+
*/
|
|
92
|
+
function externalizeGlbTextureUris(bytes, uriByImageName) {
|
|
93
|
+
if (uriByImageName.size === 0)
|
|
94
|
+
return bytes;
|
|
95
|
+
const { version, chunks } = splitGlb(bytes);
|
|
96
|
+
const jsonChunk = chunks.find((chunk) => chunk.type === CHUNK_JSON);
|
|
97
|
+
if (!jsonChunk)
|
|
98
|
+
throw new Error('externalizeGlbTextureUris: GLB has no JSON chunk');
|
|
99
|
+
const gltf = JSON.parse(jsonChunk.data.toString('utf8'));
|
|
100
|
+
const images = gltf.images ?? [];
|
|
101
|
+
const seen = new Set();
|
|
102
|
+
for (const image of images) {
|
|
103
|
+
const uri = image.name === undefined ? undefined : uriByImageName.get(image.name);
|
|
104
|
+
if (uri === undefined)
|
|
105
|
+
continue;
|
|
106
|
+
if (image.bufferView !== undefined) {
|
|
107
|
+
throw new Error(`externalizeGlbTextureUris: image "${image.name}" still carries a bufferView; ` +
|
|
108
|
+
'its payload must be removed before it can be externalized');
|
|
109
|
+
}
|
|
110
|
+
image.uri = uri;
|
|
111
|
+
seen.add(image.name);
|
|
112
|
+
}
|
|
113
|
+
const missing = [...uriByImageName.keys()].filter((name) => !seen.has(name));
|
|
114
|
+
if (missing.length > 0) {
|
|
115
|
+
throw new Error(`externalizeGlbTextureUris: no image named ${missing.map((m) => `"${m}"`).join(', ')} in this GLB`);
|
|
116
|
+
}
|
|
117
|
+
const dangling = images
|
|
118
|
+
.filter((image) => image.uri === undefined && image.bufferView === undefined)
|
|
119
|
+
.map((image) => image.name ?? '(unnamed)');
|
|
120
|
+
if (dangling.length > 0) {
|
|
121
|
+
throw new Error(`externalizeGlbTextureUris: ${dangling.length} image(s) have neither uri nor bufferView ` +
|
|
122
|
+
`(${dangling.join(', ')}) — that is a dangling reference and renders as nothing`);
|
|
123
|
+
}
|
|
124
|
+
jsonChunk.data = Buffer.from(JSON.stringify(gltf), 'utf8');
|
|
125
|
+
return joinGlb(version, chunks);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=externalTextures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externalTextures.js","sourceRoot":"","sources":["../../src/sceneImport/externalTextures.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const proxy_1 = require("./proxy");
|
|
|
13
13
|
const types_1 = require("./types");
|
|
14
14
|
const streamLayout_1 = require("./streamLayout");
|
|
15
15
|
const gltfIo_1 = require("./gltfIo");
|
|
16
|
+
const externalTextures_1 = require("./externalTextures");
|
|
16
17
|
/**
|
|
17
18
|
* The World-build endpoint's multipart limits, taken from the shared contract
|
|
18
19
|
* rather than re-typed here: a package can sit under the aggregate cap and
|
|
@@ -397,6 +398,8 @@ async function createSceneV2MultiAssetPackage(input) {
|
|
|
397
398
|
// with no proxy costs one GLB and two resource declarations (detail + a
|
|
398
399
|
// collider pointing back at that same detail file).
|
|
399
400
|
const meshesWithProxy = [...input.resources.values()].filter((compiled) => compiled.proxy).length;
|
|
401
|
+
// Shared textures are files and resources like any other, and a cap checked
|
|
402
|
+
// before they were counted is a cap that passes and then fails at upload.
|
|
400
403
|
const emittedFiles = input.resources.size + meshesWithProxy;
|
|
401
404
|
const emittedResources = input.resources.size * 2 + meshesWithProxy;
|
|
402
405
|
// The multipart file count is a PUBLISH-time constraint, and `loadSceneV2Package`
|
|
@@ -490,8 +493,11 @@ async function createSceneV2MultiAssetPackage(input) {
|
|
|
490
493
|
const resources = [];
|
|
491
494
|
const members = [];
|
|
492
495
|
let totalResourceBytes = 0;
|
|
496
|
+
const sharedTextures = new Map();
|
|
493
497
|
for (const detailHash of [...canonicalDetail.keys()].sort()) {
|
|
494
|
-
|
|
498
|
+
// The FILENAME keeps the pre-lift hash (it is only a name); the declared
|
|
499
|
+
// integrity and byte count come from the artifact that actually ships.
|
|
500
|
+
const compiledDetail = await liftSharedTextures(canonicalDetail.get(detailHash), sharedTextures);
|
|
495
501
|
const detailPath = `assets/${meshBaseName(detailHash)}.detail.glb`;
|
|
496
502
|
const detailResource = resourceIdFor('detail', detailHash);
|
|
497
503
|
resources.push(resource(detailResource, detailPath, compiledDetail));
|
|
@@ -502,7 +508,7 @@ async function createSceneV2MultiAssetPackage(input) {
|
|
|
502
508
|
totalResourceBytes += compiledDetail.bytes.length;
|
|
503
509
|
}
|
|
504
510
|
for (const proxyHash of [...canonicalProxy.keys()].sort()) {
|
|
505
|
-
const compiledProxy = canonicalProxy.get(proxyHash);
|
|
511
|
+
const compiledProxy = await liftSharedTextures(canonicalProxy.get(proxyHash), sharedTextures);
|
|
506
512
|
const proxyPath = `assets/${meshBaseName(proxyHash)}.proxy.glb`;
|
|
507
513
|
const proxyResource = resourceIdFor('proxy', proxyHash);
|
|
508
514
|
const colliderResource = resourceIdFor('collider', proxyHash);
|
|
@@ -510,6 +516,23 @@ async function createSceneV2MultiAssetPackage(input) {
|
|
|
510
516
|
members.push([proxyPath, compiledProxy.bytes]);
|
|
511
517
|
totalResourceBytes += compiledProxy.bytes.length;
|
|
512
518
|
}
|
|
519
|
+
// Shared textures. Declared `required: false` because a mesh renders (untextured)
|
|
520
|
+
// without them, so a single failed texture must not fail the whole Scene.
|
|
521
|
+
for (const sha of [...sharedTextures.keys()].sort()) {
|
|
522
|
+
const texture = sharedTextures.get(sha);
|
|
523
|
+
const texturePath = `assets/${texture.filename}`;
|
|
524
|
+
resources.push({
|
|
525
|
+
id: `resource.texture.${sha.slice(0, 12)}`,
|
|
526
|
+
kind: 'texture',
|
|
527
|
+
source: { kind: 'bundle', assetId: `asset.${sha.slice(0, 24)}`, uri: texturePath },
|
|
528
|
+
integrity: { sha256: sha },
|
|
529
|
+
bytes: texture.bytes.length,
|
|
530
|
+
mimeType: 'image/ktx2',
|
|
531
|
+
required: false,
|
|
532
|
+
});
|
|
533
|
+
members.push([texturePath, texture.bytes]);
|
|
534
|
+
totalResourceBytes += texture.bytes.length;
|
|
535
|
+
}
|
|
513
536
|
for (const key of input.resources.keys()) {
|
|
514
537
|
const detailHash = detailHashByKey.get(key);
|
|
515
538
|
detailResourceByKey.set(key, resourceIdFor('detail', detailHash));
|
|
@@ -861,7 +884,53 @@ function assertSourceReceipt(receipt) {
|
|
|
861
884
|
}
|
|
862
885
|
(0, types_1.assertSourceRights)(receipt.rights);
|
|
863
886
|
}
|
|
864
|
-
|
|
887
|
+
/**
|
|
888
|
+
* Moves a mesh's embedded KTX2 payloads into `shared`, leaving the mesh
|
|
889
|
+
* referencing them by filename, and returns the rewritten artifact.
|
|
890
|
+
*
|
|
891
|
+
* This is the LAST thing done to a mesh's bytes, and it has to be. gltf-transform
|
|
892
|
+
* cannot read a GLB whose images carry a uri instead of a bufferView -- not to
|
|
893
|
+
* simplify it, not to measure it, not at all ("Missing resource URI or buffer
|
|
894
|
+
* view", verified both with the uri present and with it stripped). So every
|
|
895
|
+
* pass that inspects geometry runs first, on the embedded bytes, and this runs
|
|
896
|
+
* at emit time on the way to disk. Anything added later that re-reads an
|
|
897
|
+
* artifact must run BEFORE this, or it will fail on textured meshes only.
|
|
898
|
+
*
|
|
899
|
+
* Keyed by payload sha256, so a texture on forty meshes becomes one file, one
|
|
900
|
+
* download and one GPU image. The filename IS the content hash, which is what
|
|
901
|
+
* lets separately-published groups resolve to bytes an earlier group fetched.
|
|
902
|
+
*/
|
|
903
|
+
async function liftSharedTextures(artifact, shared) {
|
|
904
|
+
if (!artifact.bytes.includes('image/ktx2'))
|
|
905
|
+
return artifact;
|
|
906
|
+
const document = await (0, gltfIo_1.sceneGltfIo)().readBinary(new Uint8Array(artifact.bytes));
|
|
907
|
+
const uriByImageName = new Map();
|
|
908
|
+
for (const texture of document.getRoot().listTextures()) {
|
|
909
|
+
if (texture.getMimeType() !== 'image/ktx2')
|
|
910
|
+
continue;
|
|
911
|
+
const image = texture.getImage();
|
|
912
|
+
if (!image)
|
|
913
|
+
continue;
|
|
914
|
+
const payload = Buffer.from(image);
|
|
915
|
+
const sha = (0, node_crypto_1.createHash)('sha256').update(payload).digest('hex');
|
|
916
|
+
const filename = `tex-${sha.slice(0, 24)}.ktx2`;
|
|
917
|
+
if (!shared.has(sha))
|
|
918
|
+
shared.set(sha, { filename, bytes: payload });
|
|
919
|
+
texture.setName(filename);
|
|
920
|
+
texture.setImage(null);
|
|
921
|
+
texture.setURI(filename);
|
|
922
|
+
uriByImageName.set(filename, filename);
|
|
923
|
+
}
|
|
924
|
+
if (uriByImageName.size === 0)
|
|
925
|
+
return artifact;
|
|
926
|
+
const written = Buffer.from(await (0, gltfIo_1.sceneGltfIo)().writeBinary(document));
|
|
927
|
+
const bytes = Buffer.from((0, externalTextures_1.externalizeGlbTextureUris)(written, uriByImageName));
|
|
928
|
+
return { ...artifact, bytes, contentSha256: (0, node_crypto_1.createHash)('sha256').update(bytes).digest('hex') };
|
|
929
|
+
}
|
|
930
|
+
function resource(id, uri, artifact,
|
|
931
|
+
// 'texture' is in the union so shared textures, which are built inline rather
|
|
932
|
+
// than through this helper, still widen the declared resource type.
|
|
933
|
+
kind = 'model') {
|
|
865
934
|
return {
|
|
866
935
|
id,
|
|
867
936
|
kind,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/sceneImport/package.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/sceneImport/package.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,10 +137,43 @@ async function positionWeldedProxy(document, targetTriangles) {
|
|
|
137
137
|
const triangles = mesh.listPrimitives().filter((primitive) => primitive.getMode() === 4);
|
|
138
138
|
if (triangles.length < 2)
|
|
139
139
|
continue;
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
// joinPrimitives requires a shared MATERIAL as well as a shared mode, and
|
|
141
|
+
// filtering on mode alone was enough only while every primitive in a mesh
|
|
142
|
+
// happened to carry the same material. A mesh with real per-slot textures
|
|
143
|
+
// has several, and the call then throws "Requires >=2 Primitives, sharing
|
|
144
|
+
// the same Material and Mode" — a hard compile failure, from geometry that
|
|
145
|
+
// is about to have every attribute except POSITION stripped anyway.
|
|
146
|
+
//
|
|
147
|
+
// Grouping by material is a no-op for the single-material case (one group,
|
|
148
|
+
// same join, byte-identical output) and joins per material otherwise.
|
|
149
|
+
// The compatibility contract is material + mode + ATTRIBUTE SET + indexed-
|
|
150
|
+
// ness, so the key has to carry all of it. Grouping on material alone still
|
|
151
|
+
// throws the moment one primitive has TEXCOORD_0 and its neighbour does not.
|
|
152
|
+
const materialIndex = new Map();
|
|
153
|
+
const byCompatibility = new Map();
|
|
154
|
+
for (const primitive of triangles) {
|
|
155
|
+
const material = primitive.getMaterial() ?? null;
|
|
156
|
+
if (!materialIndex.has(material))
|
|
157
|
+
materialIndex.set(material, materialIndex.size);
|
|
158
|
+
const key = [
|
|
159
|
+
materialIndex.get(material),
|
|
160
|
+
[...primitive.listSemantics()].sort().join(','),
|
|
161
|
+
primitive.getIndices() ? 'indexed' : 'nonindexed',
|
|
162
|
+
].join('|');
|
|
163
|
+
const group = byCompatibility.get(key);
|
|
164
|
+
if (group)
|
|
165
|
+
group.push(primitive);
|
|
166
|
+
else
|
|
167
|
+
byCompatibility.set(key, [primitive]);
|
|
168
|
+
}
|
|
169
|
+
for (const group of byCompatibility.values()) {
|
|
170
|
+
if (group.length < 2)
|
|
171
|
+
continue;
|
|
172
|
+
const joined = (0, functions_1.joinPrimitives)(group);
|
|
173
|
+
for (const primitive of group)
|
|
174
|
+
mesh.removePrimitive(primitive);
|
|
175
|
+
mesh.addPrimitive(joined);
|
|
176
|
+
}
|
|
144
177
|
}
|
|
145
178
|
for (const mesh of document.getRoot().listMeshes()) {
|
|
146
179
|
for (const primitive of mesh.listPrimitives()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/sceneImport/proxy.ts"],"names":[],"mappings":";;;AAiBA,oDAmBC;AAkFD,kEAQC;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/sceneImport/proxy.ts"],"names":[],"mappings":"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"}
|