@helix3/helix-cli 0.1.13-helix3.144 → 0.1.13-helix3.145
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/compiler.js +19 -17
- package/dist/sceneImport/compiler.js.map +1 -1
- package/dist/sceneImport/helsinkiTiles.d.ts +31 -0
- package/dist/sceneImport/helsinkiTiles.js +52 -0
- package/dist/sceneImport/helsinkiTiles.js.map +1 -0
- package/dist/sceneImport/obj.d.ts +27 -0
- package/dist/sceneImport/obj.js +110 -66
- package/dist/sceneImport/obj.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -8,15 +8,11 @@ const node_path_1 = require("node:path");
|
|
|
8
8
|
const archive_1 = require("./archive");
|
|
9
9
|
const fbx_1 = require("./fbx");
|
|
10
10
|
const obj_1 = require("./obj");
|
|
11
|
+
const helsinkiTiles_1 = require("./helsinkiTiles");
|
|
11
12
|
const package_1 = require("./package");
|
|
12
13
|
const types_1 = require("./types");
|
|
13
14
|
const HELSINKI_SHA = '38cdce6d0a1570aa0b11bc74ba955d08ac422867d69cf0d1af1d19ad20110a32';
|
|
14
15
|
const BISTRO_SHA = '0d50e3c724c6c5da19f8eb99ad3f53e36fec37ffa2df9621f9ccf0603f3934e1';
|
|
15
|
-
const HELSINKI_MEMBERS = {
|
|
16
|
-
proxyObj: '672496d1/Tile_+033_+019_L13.obj',
|
|
17
|
-
detailObj: '672496d1/Tile_+033_+019_L16_000.obj',
|
|
18
|
-
detailTexture: '672496d1/Tile_+033_+019_L16_000_0.jpg',
|
|
19
|
-
};
|
|
20
16
|
const BISTRO_MEMBERS = {
|
|
21
17
|
fbx: 'Bistro_v5_2/BistroInterior.fbx',
|
|
22
18
|
};
|
|
@@ -53,34 +49,40 @@ async function compileHelsinki(archivePath, outputDir) {
|
|
|
53
49
|
const profile = sourceProfile('helsinki-672496d1');
|
|
54
50
|
const work = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'helix-helsinki-'));
|
|
55
51
|
try {
|
|
56
|
-
const
|
|
52
|
+
const detailMembers = (0, helsinkiTiles_1.helsinkiDetailMembers)(helsinkiTiles_1.HELSINKI_DETAIL_LEVEL);
|
|
57
53
|
const files = await (0, archive_1.extractArchiveMembers)({
|
|
58
54
|
archivePath,
|
|
59
55
|
expectedSha256: profile.sha256,
|
|
60
|
-
members
|
|
56
|
+
members: [
|
|
57
|
+
helsinkiTiles_1.HELSINKI_PROXY_OBJ,
|
|
58
|
+
...detailMembers.flatMap((member) => [member.obj, member.texture]),
|
|
59
|
+
],
|
|
61
60
|
outputDir: work,
|
|
62
61
|
});
|
|
63
62
|
const cellOrigin = [6500, 4500, 0];
|
|
64
63
|
const proxy = await (0, obj_1.compileObjGlb)({
|
|
65
|
-
sourceName: (0, node_path_1.basename)(
|
|
66
|
-
obj: await (0, promises_1.readFile)(required(files,
|
|
64
|
+
sourceName: (0, node_path_1.basename)(helsinkiTiles_1.HELSINKI_PROXY_OBJ),
|
|
65
|
+
obj: await (0, promises_1.readFile)(required(files, helsinkiTiles_1.HELSINKI_PROXY_OBJ)),
|
|
67
66
|
localOrigin: cellOrigin,
|
|
68
67
|
receipt: profile.receipt,
|
|
69
68
|
axisMapping: helsinkiToHelix,
|
|
70
69
|
});
|
|
71
70
|
proxy.filename = 'helsinki-672496d1-l13.proxy.glb';
|
|
72
|
-
const detail = await (0, obj_1.
|
|
73
|
-
sourceName:
|
|
74
|
-
|
|
71
|
+
const detail = await (0, obj_1.compileObjParts)({
|
|
72
|
+
sourceName: `${helsinkiTiles_1.HELSINKI_TILE_PREFIX}_L${helsinkiTiles_1.HELSINKI_DETAIL_LEVEL}.obj`,
|
|
73
|
+
parts: await Promise.all(detailMembers.map(async (member) => ({
|
|
74
|
+
name: (0, node_path_1.basename)(member.obj),
|
|
75
|
+
obj: await (0, promises_1.readFile)(required(files, member.obj)),
|
|
76
|
+
texture: {
|
|
77
|
+
bytes: await (0, promises_1.readFile)(required(files, member.texture)),
|
|
78
|
+
mimeType: 'image/jpeg',
|
|
79
|
+
},
|
|
80
|
+
}))),
|
|
75
81
|
localOrigin: cellOrigin,
|
|
76
82
|
receipt: profile.receipt,
|
|
77
|
-
texture: {
|
|
78
|
-
bytes: await (0, promises_1.readFile)(required(files, HELSINKI_MEMBERS.detailTexture)),
|
|
79
|
-
mimeType: 'image/jpeg',
|
|
80
|
-
},
|
|
81
83
|
axisMapping: helsinkiToHelix,
|
|
82
84
|
});
|
|
83
|
-
detail.filename =
|
|
85
|
+
detail.filename = `helsinki-672496d1-l${helsinkiTiles_1.HELSINKI_DETAIL_LEVEL}.detail.glb`;
|
|
84
86
|
return (0, package_1.createSceneV2Package)({
|
|
85
87
|
outputDir,
|
|
86
88
|
title: 'Helsinki 672496d1',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/sceneImport/compiler.ts"],"names":[],"mappings":";;AAwBA,8DAsBC;AAED,0DASC;AAzDD,+CAAoE;AACpE,qCAAiC;AACjC,yCAA2C;AAC3C,uCAA0E;AAC1E,+BAA+C;AAC/C,+
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/sceneImport/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const HELSINKI_TILE = "672496d1";
|
|
2
|
+
export declare const HELSINKI_TILE_PREFIX = "Tile_+033_+019";
|
|
3
|
+
export declare const HELSINKI_PROXY_OBJ = "672496d1/Tile_+033_+019_L13.obj";
|
|
4
|
+
/**
|
|
5
|
+
* Which refinement level of the photogrammetry quadtree becomes the streamed
|
|
6
|
+
* detail mesh. The source stores levels 13 through 21; 16 is a single mesh for
|
|
7
|
+
* the whole 250 m tile and is visibly coarse underfoot, while each further
|
|
8
|
+
* level quadruples the piece count and roughly triples the bytes.
|
|
9
|
+
*
|
|
10
|
+
* 18 is also the deepest level this importer can address at all. Levels 16-18
|
|
11
|
+
* are a COMPLETE quadtree (1, 4, 16 pieces), but the source prunes and
|
|
12
|
+
* re-splits below that -- level 19 carries 68 pieces where a complete tree
|
|
13
|
+
* would have 64, and levels 20 and 21 carry 68 as well. Generated paths stop
|
|
14
|
+
* describing the archive at that point, so reaching deeper means reading the
|
|
15
|
+
* real tree out of the inventory rather than raising this number.
|
|
16
|
+
*/
|
|
17
|
+
export declare const HELSINKI_DETAIL_LEVEL = 18;
|
|
18
|
+
export declare const HELSINKI_MAX_COMPLETE_LEVEL = 18;
|
|
19
|
+
/**
|
|
20
|
+
* Every mesh at `level` beneath the tile's single level-16 node.
|
|
21
|
+
*
|
|
22
|
+
* The quadtree names each piece by its path from the root: level 16 is `000`,
|
|
23
|
+
* level 17 is `000` plus one base-4 digit, level 18 `000` plus two, and so on.
|
|
24
|
+
* The paths are generated rather than read back from the archive so the
|
|
25
|
+
* extractor keeps its explicit allowlist -- nothing is extracted because the
|
|
26
|
+
* archive happened to name it.
|
|
27
|
+
*/
|
|
28
|
+
export declare function helsinkiDetailMembers(level: number): Array<{
|
|
29
|
+
obj: string;
|
|
30
|
+
texture: string;
|
|
31
|
+
}>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Addressing for the Helsinki 3D photogrammetry archive's quadtree.
|
|
3
|
+
//
|
|
4
|
+
// Kept in its own module with no heavy imports: `compiler.ts` pulls in the FBX
|
|
5
|
+
// loader, which is ESM-only and cannot be required from the Jest environment,
|
|
6
|
+
// so anything a test needs to reach must not sit behind it.
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.HELSINKI_MAX_COMPLETE_LEVEL = exports.HELSINKI_DETAIL_LEVEL = exports.HELSINKI_PROXY_OBJ = exports.HELSINKI_TILE_PREFIX = exports.HELSINKI_TILE = void 0;
|
|
9
|
+
exports.helsinkiDetailMembers = helsinkiDetailMembers;
|
|
10
|
+
exports.HELSINKI_TILE = '672496d1';
|
|
11
|
+
exports.HELSINKI_TILE_PREFIX = 'Tile_+033_+019';
|
|
12
|
+
exports.HELSINKI_PROXY_OBJ = `${exports.HELSINKI_TILE}/${exports.HELSINKI_TILE_PREFIX}_L13.obj`;
|
|
13
|
+
/**
|
|
14
|
+
* Which refinement level of the photogrammetry quadtree becomes the streamed
|
|
15
|
+
* detail mesh. The source stores levels 13 through 21; 16 is a single mesh for
|
|
16
|
+
* the whole 250 m tile and is visibly coarse underfoot, while each further
|
|
17
|
+
* level quadruples the piece count and roughly triples the bytes.
|
|
18
|
+
*
|
|
19
|
+
* 18 is also the deepest level this importer can address at all. Levels 16-18
|
|
20
|
+
* are a COMPLETE quadtree (1, 4, 16 pieces), but the source prunes and
|
|
21
|
+
* re-splits below that -- level 19 carries 68 pieces where a complete tree
|
|
22
|
+
* would have 64, and levels 20 and 21 carry 68 as well. Generated paths stop
|
|
23
|
+
* describing the archive at that point, so reaching deeper means reading the
|
|
24
|
+
* real tree out of the inventory rather than raising this number.
|
|
25
|
+
*/
|
|
26
|
+
exports.HELSINKI_DETAIL_LEVEL = 18;
|
|
27
|
+
exports.HELSINKI_MAX_COMPLETE_LEVEL = 18;
|
|
28
|
+
/**
|
|
29
|
+
* Every mesh at `level` beneath the tile's single level-16 node.
|
|
30
|
+
*
|
|
31
|
+
* The quadtree names each piece by its path from the root: level 16 is `000`,
|
|
32
|
+
* level 17 is `000` plus one base-4 digit, level 18 `000` plus two, and so on.
|
|
33
|
+
* The paths are generated rather than read back from the archive so the
|
|
34
|
+
* extractor keeps its explicit allowlist -- nothing is extracted because the
|
|
35
|
+
* archive happened to name it.
|
|
36
|
+
*/
|
|
37
|
+
function helsinkiDetailMembers(level) {
|
|
38
|
+
if (!Number.isInteger(level) ||
|
|
39
|
+
level < 16 ||
|
|
40
|
+
level > exports.HELSINKI_MAX_COMPLETE_LEVEL) {
|
|
41
|
+
throw new Error(`Helsinki detail level must be an integer 16-${exports.HELSINKI_MAX_COMPLETE_LEVEL}; deeper levels prune the quadtree and cannot be addressed by generated paths (got ${level})`);
|
|
42
|
+
}
|
|
43
|
+
let paths = ['000'];
|
|
44
|
+
for (let depth = 16; depth < level; depth += 1) {
|
|
45
|
+
paths = paths.flatMap((path) => ['0', '1', '2', '3'].map((digit) => path + digit));
|
|
46
|
+
}
|
|
47
|
+
return paths.map((path) => ({
|
|
48
|
+
obj: `${exports.HELSINKI_TILE}/${exports.HELSINKI_TILE_PREFIX}_L${level}_${path}.obj`,
|
|
49
|
+
texture: `${exports.HELSINKI_TILE}/${exports.HELSINKI_TILE_PREFIX}_L${level}_${path}_0.jpg`,
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=helsinkiTiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helsinkiTiles.js","sourceRoot":"","sources":["../../src/sceneImport/helsinkiTiles.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,4DAA4D;;;AA8B5D,sDAoBC;AAhDY,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,kBAAkB,GAAG,GAAG,qBAAa,IAAI,4BAAoB,UAAU,CAAC;AACrF;;;;;;;;;;;;GAYG;AACU,QAAA,qBAAqB,GAAG,EAAE,CAAC;AAC3B,QAAA,2BAA2B,GAAG,EAAE,CAAC;AAE9C;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACnC,KAAa;IAEb,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,GAAG,EAAE;QACV,KAAK,GAAG,mCAA2B,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+CAA+C,mCAA2B,sFAAsF,KAAK,GAAG,CACzK,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,GAAG,EAAE,GAAG,qBAAa,IAAI,4BAAoB,KAAK,KAAK,IAAI,IAAI,MAAM;QACrE,OAAO,EAAE,GAAG,qBAAa,IAAI,4BAAoB,KAAK,KAAK,IAAI,IAAI,QAAQ;KAC5E,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { CompiledSceneArtifact, SourceConversionReceipt, Vec3 } from './types';
|
|
2
2
|
type AxisMapping = (source: Vec3) => Vec3;
|
|
3
|
+
export type ObjSourcePart = {
|
|
4
|
+
/** Distinguishes this part's materials from every other part's. */
|
|
5
|
+
name: string;
|
|
6
|
+
obj: Buffer;
|
|
7
|
+
texture?: {
|
|
8
|
+
bytes: Buffer;
|
|
9
|
+
mimeType: 'image/jpeg' | 'image/png';
|
|
10
|
+
};
|
|
11
|
+
};
|
|
3
12
|
export declare function compileObjGlb(input: {
|
|
4
13
|
sourceName: string;
|
|
5
14
|
obj: Buffer;
|
|
@@ -11,4 +20,22 @@ export declare function compileObjGlb(input: {
|
|
|
11
20
|
};
|
|
12
21
|
axisMapping?: AxisMapping;
|
|
13
22
|
}): Promise<CompiledSceneArtifact>;
|
|
23
|
+
/**
|
|
24
|
+
* Compile one GLB from several source OBJs that share a coordinate space.
|
|
25
|
+
*
|
|
26
|
+
* A photogrammetry quadtree stores each refinement level as N sibling meshes,
|
|
27
|
+
* each with its OWN texture atlas -- level 18 of a Helsinki tile is 16 pieces,
|
|
28
|
+
* not one. Compiling a single piece throws away fifteen sixteenths of the tile,
|
|
29
|
+
* so the only way to serve a deeper level as one resource is to carry every
|
|
30
|
+
* sibling and its texture into the same document. Materials are namespaced per
|
|
31
|
+
* part, because sibling OBJs reuse the same `usemtl` names against different
|
|
32
|
+
* atlases and merging them would paint one part with another's texture.
|
|
33
|
+
*/
|
|
34
|
+
export declare function compileObjParts(input: {
|
|
35
|
+
sourceName: string;
|
|
36
|
+
parts: ObjSourcePart[];
|
|
37
|
+
localOrigin: Vec3;
|
|
38
|
+
receipt: SourceConversionReceipt;
|
|
39
|
+
axisMapping?: AxisMapping;
|
|
40
|
+
}): Promise<CompiledSceneArtifact>;
|
|
14
41
|
export {};
|
package/dist/sceneImport/obj.js
CHANGED
|
@@ -1,83 +1,127 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compileObjGlb = compileObjGlb;
|
|
4
|
+
exports.compileObjParts = compileObjParts;
|
|
4
5
|
const node_crypto_1 = require("node:crypto");
|
|
5
6
|
const core_1 = require("@gltf-transform/core");
|
|
6
7
|
const spawnProbe_1 = require("./spawnProbe");
|
|
7
8
|
const types_1 = require("./types");
|
|
8
9
|
async function compileObjGlb(input) {
|
|
10
|
+
return compileObjParts({
|
|
11
|
+
sourceName: input.sourceName,
|
|
12
|
+
parts: [
|
|
13
|
+
{
|
|
14
|
+
name: input.sourceName,
|
|
15
|
+
obj: input.obj,
|
|
16
|
+
...(input.texture ? { texture: input.texture } : {}),
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
localOrigin: input.localOrigin,
|
|
20
|
+
receipt: input.receipt,
|
|
21
|
+
...(input.axisMapping ? { axisMapping: input.axisMapping } : {}),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Compile one GLB from several source OBJs that share a coordinate space.
|
|
26
|
+
*
|
|
27
|
+
* A photogrammetry quadtree stores each refinement level as N sibling meshes,
|
|
28
|
+
* each with its OWN texture atlas -- level 18 of a Helsinki tile is 16 pieces,
|
|
29
|
+
* not one. Compiling a single piece throws away fifteen sixteenths of the tile,
|
|
30
|
+
* so the only way to serve a deeper level as one resource is to carry every
|
|
31
|
+
* sibling and its texture into the same document. Materials are namespaced per
|
|
32
|
+
* part, because sibling OBJs reuse the same `usemtl` names against different
|
|
33
|
+
* atlases and merging them would paint one part with another's texture.
|
|
34
|
+
*/
|
|
35
|
+
async function compileObjParts(input) {
|
|
9
36
|
(0, types_1.assertFiniteVec3)(input.localOrigin, 'local origin');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
throw new Error(`${input.sourceName} contains no triangles`);
|
|
37
|
+
if (!input.parts.length)
|
|
38
|
+
throw new Error(`${input.sourceName} has no source parts`);
|
|
13
39
|
const document = new core_1.Document();
|
|
14
40
|
const buffer = document.createBuffer();
|
|
15
41
|
const scene = document.createScene('scene');
|
|
16
42
|
const materialByName = new Map();
|
|
17
43
|
let textureCount = 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
indices.push(indices.length);
|
|
34
|
-
positions.push(...vertex.position);
|
|
35
|
-
if (vertex.normal)
|
|
36
|
-
normals.push(...vertex.normal);
|
|
37
|
-
if (vertex.uv)
|
|
38
|
-
uvs.push(...vertex.uv);
|
|
39
|
-
}
|
|
44
|
+
const allTriangles = [];
|
|
45
|
+
const bounds = {
|
|
46
|
+
min: [Infinity, Infinity, Infinity],
|
|
47
|
+
max: [-Infinity, -Infinity, -Infinity],
|
|
48
|
+
};
|
|
49
|
+
let groupCount = 0;
|
|
50
|
+
for (const part of input.parts) {
|
|
51
|
+
const parsed = parseObj(part.obj.toString('utf8'), input.localOrigin, input.axisMapping);
|
|
52
|
+
if (!parsed.triangles.length)
|
|
53
|
+
throw new Error(`${part.name} contains no triangles`);
|
|
54
|
+
allTriangles.push(...parsed.triangles);
|
|
55
|
+
groupCount += parsed.groups.length;
|
|
56
|
+
for (let axis = 0; axis < 3; axis++) {
|
|
57
|
+
bounds.min[axis] = Math.min(bounds.min[axis], parsed.bounds.min[axis]);
|
|
58
|
+
bounds.max[axis] = Math.max(bounds.max[axis], parsed.bounds.max[axis]);
|
|
40
59
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
let texture;
|
|
61
|
+
if (part.texture) {
|
|
62
|
+
texture = document
|
|
63
|
+
.createTexture(`${part.name}-base-color`)
|
|
64
|
+
.setImage(new Uint8Array(part.texture.bytes))
|
|
65
|
+
.setMimeType(part.texture.mimeType);
|
|
66
|
+
textureCount += 1;
|
|
67
|
+
}
|
|
68
|
+
for (const group of parsed.groups) {
|
|
69
|
+
const positions = [];
|
|
70
|
+
const normals = [];
|
|
71
|
+
const uvs = [];
|
|
72
|
+
const indices = [];
|
|
73
|
+
for (const triangle of group.triangles) {
|
|
74
|
+
for (const vertex of triangle) {
|
|
75
|
+
indices.push(indices.length);
|
|
76
|
+
positions.push(...vertex.position);
|
|
77
|
+
if (vertex.normal)
|
|
78
|
+
normals.push(...vertex.normal);
|
|
79
|
+
if (vertex.uv)
|
|
80
|
+
uvs.push(...vertex.uv);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const primitive = document
|
|
84
|
+
.createPrimitive()
|
|
85
|
+
.setMode(4)
|
|
86
|
+
.setIndices(document
|
|
58
87
|
.createAccessor()
|
|
59
|
-
.setType('
|
|
60
|
-
.setArray(new
|
|
88
|
+
.setType('SCALAR')
|
|
89
|
+
.setArray(new Uint32Array(indices))
|
|
90
|
+
.setBuffer(buffer))
|
|
91
|
+
.setAttribute('POSITION', document
|
|
92
|
+
.createAccessor()
|
|
93
|
+
.setType('VEC3')
|
|
94
|
+
.setArray(new Float32Array(positions))
|
|
61
95
|
.setBuffer(buffer));
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
material
|
|
96
|
+
const normalsOut = normals.length === positions.length ? normals : computeFlatNormals(positions);
|
|
97
|
+
primitive.setAttribute('NORMAL', document.createAccessor().setType('VEC3').setArray(new Float32Array(normalsOut)).setBuffer(buffer));
|
|
98
|
+
if (uvs.length * 3 === positions.length * 2) {
|
|
99
|
+
primitive.setAttribute('TEXCOORD_0', document
|
|
100
|
+
.createAccessor()
|
|
101
|
+
.setType('VEC2')
|
|
102
|
+
.setArray(new Float32Array(uvs))
|
|
103
|
+
.setBuffer(buffer));
|
|
104
|
+
}
|
|
105
|
+
const materialKey = `${part.name}\u0000${group.material}`;
|
|
106
|
+
let material = materialByName.get(materialKey);
|
|
107
|
+
if (!material) {
|
|
108
|
+
material = document
|
|
109
|
+
.createMaterial(group.material)
|
|
110
|
+
.setBaseColorFactor([0.72, 0.72, 0.72, 1])
|
|
111
|
+
.setRoughnessFactor(1)
|
|
112
|
+
.setMetallicFactor(0);
|
|
113
|
+
if (texture && group.material !== 'default') {
|
|
114
|
+
material.setBaseColorTexture(texture);
|
|
115
|
+
// glTF multiplies the sampled base color by this factor. The neutral fallback gray is
|
|
116
|
+
// only for untextured proxies; retaining it here darkens source imagery by 28%.
|
|
117
|
+
material.setBaseColorFactor([1, 1, 1, 1]);
|
|
118
|
+
}
|
|
119
|
+
materialByName.set(materialKey, material);
|
|
75
120
|
}
|
|
76
|
-
|
|
121
|
+
primitive.setMaterial(material);
|
|
122
|
+
const mesh = document.createMesh(group.name).addPrimitive(primitive);
|
|
123
|
+
scene.addChild(document.createNode(group.name).setMesh(mesh));
|
|
77
124
|
}
|
|
78
|
-
primitive.setMaterial(material);
|
|
79
|
-
const mesh = document.createMesh(group.name).addPrimitive(primitive);
|
|
80
|
-
scene.addChild(document.createNode(group.name).setMesh(mesh));
|
|
81
125
|
}
|
|
82
126
|
document.getRoot().setExtras({
|
|
83
127
|
helixSource: {
|
|
@@ -91,16 +135,16 @@ async function compileObjGlb(input) {
|
|
|
91
135
|
filename: input.sourceName.replace(/\.obj$/i, '.glb'),
|
|
92
136
|
bytes,
|
|
93
137
|
contentSha256: (0, node_crypto_1.createHash)('sha256').update(bytes).digest('hex'),
|
|
94
|
-
bounds
|
|
138
|
+
bounds,
|
|
95
139
|
summary: {
|
|
96
|
-
triangles:
|
|
140
|
+
triangles: allTriangles.length,
|
|
97
141
|
materials: materialByName.size,
|
|
98
142
|
textures: textureCount,
|
|
99
|
-
nodes:
|
|
143
|
+
nodes: groupCount,
|
|
100
144
|
},
|
|
101
145
|
spawn: (0, spawnProbe_1.probeSpawn)({
|
|
102
|
-
triangles:
|
|
103
|
-
bounds
|
|
146
|
+
triangles: allTriangles.map((triangle) => [triangle[0].position, triangle[1].position, triangle[2].position]),
|
|
147
|
+
bounds,
|
|
104
148
|
clearanceHeightM: 1.9,
|
|
105
149
|
}),
|
|
106
150
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obj.js","sourceRoot":"","sources":["../../src/sceneImport/obj.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"obj.js","sourceRoot":"","sources":["../../src/sceneImport/obj.ts"],"names":[],"mappings":";;AAeA,sCAqBC;AAaD,0CAsIC;AAvLD,6CAAyC;AACzC,+CAAwD;AACxD,6CAA8D;AAE9D,mCAA2C;AAWpC,KAAK,UAAU,aAAa,CAAC,KAOnC;IACC,OAAO,eAAe,CAAC;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,KAAK,CAAC,UAAU;gBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD;SACF;QACD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,eAAe,CAAC,KAMrC;IACC,IAAA,wBAAgB,EAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,sBAAsB,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,eAAQ,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkD,CAAC;IACjF,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAW;QACrB,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACnC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACvC,CAAC;IACF,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC;QACpF,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,OAA0D,CAAC;QAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,GAAG,QAAQ;iBACf,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,aAAa,CAAC;iBACxC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC5C,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtC,YAAY,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACnC,IAAI,MAAM,CAAC,MAAM;wBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAClD,IAAI,MAAM,CAAC,EAAE;wBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ;iBACvB,eAAe,EAAE;iBACjB,OAAO,CAAC,CAAC,CAAC;iBACV,UAAU,CACT,QAAQ;iBACL,cAAc,EAAE;iBAChB,OAAO,CAAC,QAAQ,CAAC;iBACjB,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;iBAClC,SAAS,CAAC,MAAM,CAAC,CACrB;iBACA,YAAY,CACX,UAAU,EACV,QAAQ;iBACL,cAAc,EAAE;iBAChB,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;iBACrC,SAAS,CAAC,MAAM,CAAC,CACrB,CAAC;YACJ,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACjG,SAAS,CAAC,YAAY,CACpB,QAAQ,EACR,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CACnG,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,YAAY,CACpB,YAAY,EACZ,QAAQ;qBACL,cAAc,EAAE;qBAChB,OAAO,CAAC,MAAM,CAAC;qBACf,QAAQ,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;qBAC/B,SAAS,CAAC,MAAM,CAAC,CACrB,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1D,IAAI,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,QAAQ;qBAChB,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;qBAC9B,kBAAkB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;qBACzC,kBAAkB,CAAC,CAAC,CAAC;qBACrB,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC5C,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBACtC,sFAAsF;oBACtF,gFAAgF;oBAChF,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACrE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;IACD,CAAC;IACD,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;QAC3B,WAAW,EAAE;YACX,GAAG,KAAK,CAAC,OAAO;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B;KACF,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,aAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;QACrD,KAAK;QACL,aAAa,EAAE,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/D,MAAM;QACN,OAAO,EAAE;YACP,SAAS,EAAE,YAAY,CAAC,MAAM;YAC9B,SAAS,EAAE,cAAc,CAAC,IAAI;YAC9B,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,UAAU;SAClB;QACD,KAAK,EAAE,IAAA,uBAAU,EAAC;YAChB,SAAS,EAAE,YAAY,CAAC,GAAG,CACzB,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAkB,CACtF;YACD,MAAM;YACN,gBAAgB,EAAE,GAAG;SACtB,CAAC;KACH,CAAC;AACJ,CAAC;AAKD,SAAS,QAAQ,CAAC,IAAY,EAAE,MAAY,EAAE,WAAyB;IACrE,MAAM,SAAS,GAAW,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAW,EAAE,CAAC;IAC3B,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwE,CAAC;IAC/F,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,MAAM,MAAM,GAAW;QACrB,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACnF,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;KACpF,CAAC;IACF,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,YAAY,GAAG,SAAS,CAAC;IAC7B,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,UAAU,GAAG,CAAC,EAAE,CAAS,CAAC;YAC3F,MAAM,KAAK,GAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,IAAA,wBAAgB,EAAC,MAAM,EAAE,yBAAyB,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,UAAU,GAAG,CAAC,EAAE,CAAS,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,8BAA8B,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/F,uFAAuF;YACvF,sFAAsF;YACtF,iFAAiF;YACjF,gFAAgF;YAChF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC9C,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,UAAU,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACtG,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrG,MAAM,GAAG,GAAG,GAAG,UAAU,KAAK,YAAY,EAAE,CAAC;YAC7C,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBACxF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;wBACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;wBACrE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CACtB,KAAa,EACb,SAAiB,EACjB,GAA4B,EAC5B,OAAe,EACf,UAAkB;IAElB,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,yBAAyB,UAAU,EAAE,CAAC,CAAC;IAC1F,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,mBAAmB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,uBAAuB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,OAAO,CAAI,MAAW,EAAE,GAAW,EAAE,KAAa;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,KAAa;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AACtF,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,SAA4B;IACtD,MAAM,OAAO,GAAG,IAAI,KAAK,CAAS,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/C,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC3B,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC3B,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,EAAE,IAAI,MAAM,CAAC;QAAC,EAAE,IAAI,MAAM,CAAC;QAAC,EAAE,IAAI,MAAM,CAAC;QACzC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|