@ifc-lite/renderer 1.44.0 → 1.45.0
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/entity-visibility.d.ts +25 -0
- package/dist/entity-visibility.d.ts.map +1 -0
- package/dist/entity-visibility.js +34 -0
- package/dist/entity-visibility.js.map +1 -0
- package/dist/fill-bridge-anchor.d.ts +32 -0
- package/dist/fill-bridge-anchor.d.ts.map +1 -0
- package/dist/fill-bridge-anchor.js +82 -0
- package/dist/fill-bridge-anchor.js.map +1 -0
- package/dist/fill-predicates.d.ts +44 -0
- package/dist/fill-predicates.d.ts.map +1 -0
- package/dist/fill-predicates.js +65 -0
- package/dist/fill-predicates.js.map +1 -0
- package/dist/fill-triangulate.d.ts +102 -0
- package/dist/fill-triangulate.d.ts.map +1 -0
- package/dist/fill-triangulate.js +333 -0
- package/dist/fill-triangulate.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/dist/scene.d.ts +25 -0
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +71 -15
- package/dist/scene.js.map +1 -1
- package/dist/section-2d-lift.d.ts +10 -6
- package/dist/section-2d-lift.d.ts.map +1 -1
- package/dist/section-2d-lift.js +16 -10
- package/dist/section-2d-lift.js.map +1 -1
- package/dist/symbolic-overlay-pipelines.d.ts +10 -39
- package/dist/symbolic-overlay-pipelines.d.ts.map +1 -1
- package/dist/symbolic-overlay-pipelines.js +20 -163
- package/dist/symbolic-overlay-pipelines.js.map +1 -1
- package/package.json +2 -2
package/dist/section-2d-lift.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* stitched, a flipped axis is mirrored the wrong way) and are all testable with
|
|
13
13
|
* plain numbers.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import { triangulateRings } from './fill-triangulate.js';
|
|
16
16
|
/**
|
|
17
17
|
* Transform 2D coordinates to 3D coordinates on the section plane.
|
|
18
18
|
*
|
|
@@ -70,12 +70,16 @@ export function createSectionLift(axis, planePosition, flipped = false, customPl
|
|
|
70
70
|
/**
|
|
71
71
|
* Triangulate the cut polygons and lift them onto the section plane.
|
|
72
72
|
*
|
|
73
|
-
*
|
|
74
|
-
* replaces the old convex fan. The fan ignored holes and inverted
|
|
75
|
-
* CONCAVE cross-sections that arbitrary IFC profiles (and
|
|
76
|
-
* slabs) cut into, leaving the cut face uncovered — it read as
|
|
77
|
-
* shell. Section 2D points are (x, y); the triangulator works in
|
|
78
|
-
* so y maps to z.
|
|
73
|
+
* Even-odd hole-aware triangulation (shared with the IfcAnnotationFillArea
|
|
74
|
+
* fill path) replaces the old convex fan. The fan ignored holes and inverted
|
|
75
|
+
* on the CONCAVE cross-sections that arbitrary IFC profiles (and
|
|
76
|
+
* material-layer slabs) cut into, leaving the cut face uncovered — it read as
|
|
77
|
+
* a hollow shell. Section 2D points are (x, y); the triangulator works in
|
|
78
|
+
* (x, z), so y maps to z.
|
|
79
|
+
*
|
|
80
|
+
* Holes are SUBTRACTED, not merely stitched (#2516): a plane through a wall
|
|
81
|
+
* opening or a slab void used to come back with the hole's own ring bridged in
|
|
82
|
+
* but almost nothing clipped, so the cap rendered near-empty.
|
|
79
83
|
*
|
|
80
84
|
* Returns `null` when nothing survives (no polygon had three usable points),
|
|
81
85
|
* so the caller can skip buffer creation entirely.
|
|
@@ -98,12 +102,14 @@ export function buildCapFillGeometry(polygons, lift) {
|
|
|
98
102
|
const holeRings = polygon.polygon.holes
|
|
99
103
|
.filter((h) => h.length >= 3)
|
|
100
104
|
.map((h) => h.map((p) => ({ x: p.x, z: p.y })));
|
|
101
|
-
const
|
|
102
|
-
|
|
105
|
+
const { points: capPoints, triangles: tris } = triangulateRings([
|
|
106
|
+
outerRing,
|
|
107
|
+
...holeRings,
|
|
108
|
+
]);
|
|
103
109
|
if (tris.length === 0)
|
|
104
110
|
continue;
|
|
105
111
|
const baseVertex = vertexOffset;
|
|
106
|
-
for (const pt of
|
|
112
|
+
for (const pt of capPoints) {
|
|
107
113
|
const [x3d, y3d, z3d] = lift(pt.x, pt.z);
|
|
108
114
|
fillVertices.push(x3d, y3d, z3d, color[0], color[1], color[2], color[3]);
|
|
109
115
|
vertexOffset++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-2d-lift.js","sourceRoot":"","sources":["../src/section-2d-lift.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"section-2d-lift.js","sourceRoot":"","sources":["../src/section-2d-lift.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,9 @@
|
|
|
5
5
|
* viewProj)` entry point that the caller invokes from inside an existing
|
|
6
6
|
* RGBA-blended render pass.
|
|
7
7
|
*
|
|
8
|
-
* Triangulation
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* Pathological concave shapes with many holes may show tessellation glitches —
|
|
12
|
-
* an `earcut` upgrade is straightforward when it matters.
|
|
8
|
+
* Triangulation lives in `fill-triangulate.ts` and is shared with the section
|
|
9
|
+
* cut caps: rings are nested by the even-odd rule, holes are bridged in, and
|
|
10
|
+
* the result is ear-clipped.
|
|
13
11
|
*/
|
|
14
12
|
import { SymbolicTextAtlas } from './symbolic-text-atlas.js';
|
|
15
13
|
export interface SymbolicFillInput {
|
|
@@ -63,12 +61,14 @@ export declare class SymbolicFillPipeline {
|
|
|
63
61
|
constructor(device: GPUDevice, presentationFormat: GPUTextureFormat, sampleCount?: number);
|
|
64
62
|
private init;
|
|
65
63
|
/**
|
|
66
|
-
* Upload a list of fill regions. Each region is triangulated
|
|
67
|
-
*
|
|
64
|
+
* Upload a list of fill regions. Each region is triangulated by the shared
|
|
65
|
+
* even-odd triangulator (`fill-triangulate.ts`) into a single vertex buffer.
|
|
68
66
|
*
|
|
69
|
-
* Pass an empty array to clear.
|
|
70
|
-
*
|
|
71
|
-
*
|
|
67
|
+
* Pass an empty array to clear. Rings with fewer than 3 vertices are
|
|
68
|
+
* dropped, and so is any ring set that yields no triangle at all (a fully
|
|
69
|
+
* collinear bound). Inner bounds themselves are never dropped: since #2516
|
|
70
|
+
* the bridge always finds an anchor, so a hole cannot fall out of the
|
|
71
|
+
* result the way it used to when it "couldn't be merged".
|
|
72
72
|
*/
|
|
73
73
|
upload(fills: readonly SymbolicFillInput[]): void;
|
|
74
74
|
hasGeometry(): boolean;
|
|
@@ -107,33 +107,4 @@ export declare class SymbolicTextPipeline {
|
|
|
107
107
|
render(pass: GPURenderPassEncoder, viewProj: Float32Array, viewportPxWidth: number, viewportPxHeight: number, cameraRight: readonly [number, number, number], cameraUp: readonly [number, number, number], targetGlyphPx?: number): void;
|
|
108
108
|
destroy(): void;
|
|
109
109
|
}
|
|
110
|
-
/**
|
|
111
|
-
* Stitch each hole into the outer ring with a single bridge edge so the
|
|
112
|
-
* result is a simple polygon ear-clipping can handle. Mirrors mapbox/earcut's
|
|
113
|
-
* `eliminateHoles` pass:
|
|
114
|
-
*
|
|
115
|
-
* 1. For each hole, pick its rightmost (max-x) vertex as the bridge start.
|
|
116
|
-
* 2. Sort holes by descending bridge-start x so outer holes go in first.
|
|
117
|
-
* 3. Walk the outer ring for the vertex on the right side of the bridge
|
|
118
|
-
* that's "visible" from the hole — closest match wins.
|
|
119
|
-
* 4. Splice the hole (rotated to start at its bridge vertex, and reversed
|
|
120
|
-
* so its winding opposes the outer ring) into the outer ring at the
|
|
121
|
-
* anchor, closing both ends back to their starts to form a zero-area
|
|
122
|
-
* bridge edge.
|
|
123
|
-
*
|
|
124
|
-
* This breaks under pathological inputs (overlapping holes, holes outside
|
|
125
|
-
* the outer ring) but those don't occur in well-formed `IfcAnnotationFillArea`
|
|
126
|
-
* geometry — the IFC schema requires the outer bound to contain all inner
|
|
127
|
-
* bounds.
|
|
128
|
-
*/
|
|
129
|
-
export type Pt = {
|
|
130
|
-
x: number;
|
|
131
|
-
z: number;
|
|
132
|
-
};
|
|
133
|
-
export declare function joinHoles(outer: Pt[], holes: Pt[][]): Pt[];
|
|
134
|
-
/** Ear-clipping triangulation of a simple polygon. Returns triangle vertex indices. */
|
|
135
|
-
export declare function earClip(ring: ReadonlyArray<{
|
|
136
|
-
x: number;
|
|
137
|
-
z: number;
|
|
138
|
-
}>): number[][];
|
|
139
110
|
//# sourceMappingURL=symbolic-overlay-pipelines.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolic-overlay-pipelines.d.ts","sourceRoot":"","sources":["../src/symbolic-overlay-pipelines.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"symbolic-overlay-pipelines.d.ts","sourceRoot":"","sources":["../src/symbolic-overlay-pipelines.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,14 @@
|
|
|
8
8
|
* viewProj)` entry point that the caller invokes from inside an existing
|
|
9
9
|
* RGBA-blended render pass.
|
|
10
10
|
*
|
|
11
|
-
* Triangulation
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Pathological concave shapes with many holes may show tessellation glitches —
|
|
15
|
-
* an `earcut` upgrade is straightforward when it matters.
|
|
11
|
+
* Triangulation lives in `fill-triangulate.ts` and is shared with the section
|
|
12
|
+
* cut caps: rings are nested by the even-odd rule, holes are bridged in, and
|
|
13
|
+
* the result is ear-clipped.
|
|
16
14
|
*/
|
|
17
15
|
import { SymbolicTextAtlas } from './symbolic-text-atlas.js';
|
|
18
16
|
import { SYMBOLIC_FILL_WGSL, SYMBOLIC_TEXT_WGSL, } from './shaders/symbolic-overlay.wgsl.js';
|
|
19
17
|
import { PIPELINE_CONSTANTS } from './constants.js';
|
|
18
|
+
import { triangulateRings } from './fill-triangulate.js';
|
|
20
19
|
const FILL_VERTEX_STRIDE_BYTES = (3 + 4) * 4; // pos.xyz + color.rgba, 4 bytes each
|
|
21
20
|
const TEXT_INSTANCE_STRIDE_BYTES = (3 + 3 + 3 + 4 + 4 + 3 + 1 + 1 + 4 + 1) * 4;
|
|
22
21
|
// origin.xyz + rightAxis.xyz + upAxis.xyz + uvBounds.xyzw + color.rgba
|
|
@@ -137,12 +136,14 @@ export class SymbolicFillPipeline {
|
|
|
137
136
|
});
|
|
138
137
|
}
|
|
139
138
|
/**
|
|
140
|
-
* Upload a list of fill regions. Each region is triangulated
|
|
141
|
-
*
|
|
139
|
+
* Upload a list of fill regions. Each region is triangulated by the shared
|
|
140
|
+
* even-odd triangulator (`fill-triangulate.ts`) into a single vertex buffer.
|
|
142
141
|
*
|
|
143
|
-
* Pass an empty array to clear.
|
|
144
|
-
*
|
|
145
|
-
*
|
|
142
|
+
* Pass an empty array to clear. Rings with fewer than 3 vertices are
|
|
143
|
+
* dropped, and so is any ring set that yields no triangle at all (a fully
|
|
144
|
+
* collinear bound). Inner bounds themselves are never dropped: since #2516
|
|
145
|
+
* the bridge always finds an anchor, so a hole cannot fall out of the
|
|
146
|
+
* result the way it used to when it "couldn't be merged".
|
|
146
147
|
*/
|
|
147
148
|
upload(fills) {
|
|
148
149
|
this.init();
|
|
@@ -607,14 +608,14 @@ function parseBoxAlignment(s) {
|
|
|
607
608
|
return { horizontal, vertical };
|
|
608
609
|
}
|
|
609
610
|
/**
|
|
610
|
-
* Triangulate a
|
|
611
|
-
*
|
|
612
|
-
* fill pipeline's vertex layout
|
|
613
|
-
* < 3 valid vertices are silently dropped.
|
|
611
|
+
* Triangulate a fill region (outer bound plus inner bounds) and append every
|
|
612
|
+
* output triangle to `stream` as 3 x (x, y, z, r, g, b, a) entries, matching
|
|
613
|
+
* the fill pipeline's vertex layout.
|
|
614
614
|
*
|
|
615
|
-
*
|
|
616
|
-
* vertices
|
|
617
|
-
*
|
|
615
|
+
* `holesOffsets` splits the flat `points` buffer into rings; rings with fewer
|
|
616
|
+
* than 3 vertices are dropped. Which of those rings are filled and which are
|
|
617
|
+
* voids is decided by nesting, not by position, so an inner bound that itself
|
|
618
|
+
* contains an island fills that island (see `fill-triangulate.ts`).
|
|
618
619
|
*/
|
|
619
620
|
function triangulateFillTo(stream, fill) {
|
|
620
621
|
const { points, holesOffsets, worldY, color } = fill;
|
|
@@ -625,7 +626,6 @@ function triangulateFillTo(stream, fill) {
|
|
|
625
626
|
const ringStarts = [0, ...Array.from(holesOffsets), totalVerts];
|
|
626
627
|
if (ringStarts.length < 2)
|
|
627
628
|
return;
|
|
628
|
-
// Pull each ring's vertices out.
|
|
629
629
|
const rings = [];
|
|
630
630
|
for (let r = 0; r < ringStarts.length - 1; r++) {
|
|
631
631
|
const start = ringStarts[r];
|
|
@@ -640,155 +640,12 @@ function triangulateFillTo(stream, fill) {
|
|
|
640
640
|
}
|
|
641
641
|
if (rings.length === 0)
|
|
642
642
|
return;
|
|
643
|
-
|
|
644
|
-
// rightmost vertex to the nearest outer-ring vertex (the same approach
|
|
645
|
-
// earcut.js takes for polygon-with-holes input). Ear-clipping then runs on
|
|
646
|
-
// the resulting simple polygon. The hole's winding is reversed first so the
|
|
647
|
-
// combined ring's signed area stays consistent and the ear-test sign holds.
|
|
648
|
-
const outer = rings[0];
|
|
649
|
-
const holes = rings.slice(1);
|
|
650
|
-
const stitched = holes.length === 0 ? outer : joinHoles(outer, holes);
|
|
651
|
-
const triangles = earClip(stitched);
|
|
643
|
+
const { points: verts, triangles } = triangulateRings(rings);
|
|
652
644
|
for (const tri of triangles) {
|
|
653
645
|
for (const idx of tri) {
|
|
654
|
-
const v =
|
|
646
|
+
const v = verts[idx];
|
|
655
647
|
stream.push(v.x, worldY, v.z, color[0], color[1], color[2], color[3]);
|
|
656
648
|
}
|
|
657
649
|
}
|
|
658
650
|
}
|
|
659
|
-
export function joinHoles(outer, holes) {
|
|
660
|
-
if (holes.length === 0)
|
|
661
|
-
return outer;
|
|
662
|
-
const sorted = holes
|
|
663
|
-
.map((h) => {
|
|
664
|
-
let bestI = 0;
|
|
665
|
-
for (let i = 1; i < h.length; i++) {
|
|
666
|
-
if (h[i].x > h[bestI].x)
|
|
667
|
-
bestI = i;
|
|
668
|
-
}
|
|
669
|
-
return { ring: h, startIdx: bestI, startX: h[bestI].x, startZ: h[bestI].z };
|
|
670
|
-
})
|
|
671
|
-
.sort((a, b) => b.startX - a.startX);
|
|
672
|
-
let result = outer.slice();
|
|
673
|
-
for (const { ring, startIdx, startX, startZ } of sorted) {
|
|
674
|
-
// Find the outer-ring index with the smallest distance to the bridge
|
|
675
|
-
// start, preferring vertices to the right (x > startX). When nothing is
|
|
676
|
-
// to the right (hole touches the outer ring's right edge), fall back to
|
|
677
|
-
// global nearest.
|
|
678
|
-
let bestIdx = -1;
|
|
679
|
-
let bestDist = Infinity;
|
|
680
|
-
for (let i = 0; i < result.length; i++) {
|
|
681
|
-
const p = result[i];
|
|
682
|
-
if (p.x <= startX)
|
|
683
|
-
continue;
|
|
684
|
-
const d = (p.x - startX) * (p.x - startX) + (p.z - startZ) * (p.z - startZ);
|
|
685
|
-
if (d < bestDist) {
|
|
686
|
-
bestDist = d;
|
|
687
|
-
bestIdx = i;
|
|
688
|
-
}
|
|
689
|
-
}
|
|
690
|
-
if (bestIdx < 0) {
|
|
691
|
-
for (let i = 0; i < result.length; i++) {
|
|
692
|
-
const p = result[i];
|
|
693
|
-
const d = (p.x - startX) * (p.x - startX) + (p.z - startZ) * (p.z - startZ);
|
|
694
|
-
if (d < bestDist) {
|
|
695
|
-
bestDist = d;
|
|
696
|
-
bestIdx = i;
|
|
697
|
-
}
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
if (bestIdx < 0)
|
|
701
|
-
continue;
|
|
702
|
-
// Hole reversed so its winding opposes outer (outer is CCW after earClip
|
|
703
|
-
// normalisation; holes should be CW for the combined ring's area to come
|
|
704
|
-
// out right). Rotate to start at the bridge vertex.
|
|
705
|
-
const reversed = ring.slice().reverse();
|
|
706
|
-
const reversedStartIdx = ring.length - 1 - startIdx;
|
|
707
|
-
const rotated = [
|
|
708
|
-
...reversed.slice(reversedStartIdx),
|
|
709
|
-
...reversed.slice(0, reversedStartIdx),
|
|
710
|
-
];
|
|
711
|
-
result = [
|
|
712
|
-
...result.slice(0, bestIdx + 1),
|
|
713
|
-
...rotated,
|
|
714
|
-
rotated[0],
|
|
715
|
-
result[bestIdx],
|
|
716
|
-
...result.slice(bestIdx + 1),
|
|
717
|
-
];
|
|
718
|
-
}
|
|
719
|
-
return result;
|
|
720
|
-
}
|
|
721
|
-
/** Ear-clipping triangulation of a simple polygon. Returns triangle vertex indices. */
|
|
722
|
-
export function earClip(ring) {
|
|
723
|
-
const n = ring.length;
|
|
724
|
-
if (n < 3)
|
|
725
|
-
return [];
|
|
726
|
-
if (n === 3)
|
|
727
|
-
return [[0, 1, 2]];
|
|
728
|
-
// Working list of indices.
|
|
729
|
-
const indices = [];
|
|
730
|
-
// Determine winding: positive shoelace = CCW; otherwise reverse so the
|
|
731
|
-
// ear-test below uses a consistent sign.
|
|
732
|
-
let area = 0;
|
|
733
|
-
for (let i = 0; i < n; i++) {
|
|
734
|
-
const a = ring[i];
|
|
735
|
-
const b = ring[(i + 1) % n];
|
|
736
|
-
area += (a.x * b.z) - (b.x * a.z);
|
|
737
|
-
}
|
|
738
|
-
const ccw = area > 0;
|
|
739
|
-
for (let i = 0; i < n; i++) {
|
|
740
|
-
indices.push(ccw ? i : n - 1 - i);
|
|
741
|
-
}
|
|
742
|
-
const triangles = [];
|
|
743
|
-
let safety = indices.length * indices.length;
|
|
744
|
-
while (indices.length > 3 && safety-- > 0) {
|
|
745
|
-
let found = false;
|
|
746
|
-
for (let i = 0; i < indices.length; i++) {
|
|
747
|
-
const ia = indices[(i + indices.length - 1) % indices.length];
|
|
748
|
-
const ib = indices[i];
|
|
749
|
-
const ic = indices[(i + 1) % indices.length];
|
|
750
|
-
const a = ring[ia];
|
|
751
|
-
const b = ring[ib];
|
|
752
|
-
const c = ring[ic];
|
|
753
|
-
// Convex check (cross product of (b-a) × (c-b) > 0 for CCW).
|
|
754
|
-
const cross = (b.x - a.x) * (c.z - b.z) - (b.z - a.z) * (c.x - b.x);
|
|
755
|
-
if (cross <= 0)
|
|
756
|
-
continue;
|
|
757
|
-
// No other vertex inside triangle (a, b, c).
|
|
758
|
-
let containsOther = false;
|
|
759
|
-
for (let j = 0; j < indices.length; j++) {
|
|
760
|
-
const ij = indices[j];
|
|
761
|
-
if (ij === ia || ij === ib || ij === ic)
|
|
762
|
-
continue;
|
|
763
|
-
if (pointInTriangle(ring[ij], a, b, c)) {
|
|
764
|
-
containsOther = true;
|
|
765
|
-
break;
|
|
766
|
-
}
|
|
767
|
-
}
|
|
768
|
-
if (containsOther)
|
|
769
|
-
continue;
|
|
770
|
-
triangles.push([ia, ib, ic]);
|
|
771
|
-
indices.splice(i, 1);
|
|
772
|
-
found = true;
|
|
773
|
-
break;
|
|
774
|
-
}
|
|
775
|
-
if (!found)
|
|
776
|
-
break; // degenerate polygon — emit what we have
|
|
777
|
-
}
|
|
778
|
-
if (indices.length === 3) {
|
|
779
|
-
triangles.push([indices[0], indices[1], indices[2]]);
|
|
780
|
-
}
|
|
781
|
-
return triangles;
|
|
782
|
-
}
|
|
783
|
-
function pointInTriangle(p, a, b, c) {
|
|
784
|
-
const s1 = sign(p, a, b);
|
|
785
|
-
const s2 = sign(p, b, c);
|
|
786
|
-
const s3 = sign(p, c, a);
|
|
787
|
-
const hasNeg = s1 < 0 || s2 < 0 || s3 < 0;
|
|
788
|
-
const hasPos = s1 > 0 || s2 > 0 || s3 > 0;
|
|
789
|
-
return !(hasNeg && hasPos);
|
|
790
|
-
}
|
|
791
|
-
function sign(p1, p2, p3) {
|
|
792
|
-
return (p1.x - p3.x) * (p2.z - p3.z) - (p2.x - p3.x) * (p1.z - p3.z);
|
|
793
|
-
}
|
|
794
651
|
//# sourceMappingURL=symbolic-overlay-pipelines.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolic-overlay-pipelines.js","sourceRoot":"","sources":["../src/symbolic-overlay-pipelines.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"symbolic-overlay-pipelines.js","sourceRoot":"","sources":["../src/symbolic-overlay-pipelines.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/renderer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.45.0",
|
|
4
4
|
"description": "WebGPU renderer for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ifc-lite/geometry": "^3.8.
|
|
16
|
+
"@ifc-lite/geometry": "^3.8.1",
|
|
17
17
|
"@ifc-lite/spatial": "^1.14.13"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|