@ifc-lite/renderer 2.2.0 → 3.0.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.
Files changed (38) hide show
  1. package/README.md +3 -3
  2. package/dist/appearance-partition.d.ts +32 -0
  3. package/dist/appearance-partition.d.ts.map +1 -0
  4. package/dist/appearance-partition.js +122 -0
  5. package/dist/appearance-partition.js.map +1 -0
  6. package/dist/appearance-preview.d.ts +5 -1
  7. package/dist/appearance-preview.d.ts.map +1 -1
  8. package/dist/appearance-preview.js +42 -12
  9. package/dist/appearance-preview.js.map +1 -1
  10. package/dist/appearance-uvs.d.ts +3 -0
  11. package/dist/appearance-uvs.d.ts.map +1 -1
  12. package/dist/appearance-uvs.js +24 -0
  13. package/dist/appearance-uvs.js.map +1 -1
  14. package/dist/index.d.ts +3 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/raycast-engine.d.ts +2 -2
  19. package/dist/raycast-engine.d.ts.map +1 -1
  20. package/dist/raycast-engine.js +22 -45
  21. package/dist/raycast-engine.js.map +1 -1
  22. package/dist/raycaster.d.ts +7 -1
  23. package/dist/raycaster.d.ts.map +1 -1
  24. package/dist/raycaster.js +17 -5
  25. package/dist/raycaster.js.map +1 -1
  26. package/dist/scene-instance-materialization.d.ts +2 -1
  27. package/dist/scene-instance-materialization.d.ts.map +1 -1
  28. package/dist/scene-instance-materialization.js +7 -2
  29. package/dist/scene-instance-materialization.js.map +1 -1
  30. package/dist/scene-instance-types.d.ts +2 -0
  31. package/dist/scene-instance-types.d.ts.map +1 -1
  32. package/dist/scene.js +2 -2
  33. package/dist/scene.js.map +1 -1
  34. package/dist/snap-detector.d.ts +1 -1
  35. package/dist/snap-detector.d.ts.map +1 -1
  36. package/dist/snap-detector.js +2 -2
  37. package/dist/snap-detector.js.map +1 -1
  38. package/package.json +3 -3
package/README.md CHANGED
@@ -43,7 +43,7 @@ canvas.addEventListener('click', async (e) => {
43
43
  });
44
44
  ```
45
45
 
46
- For exact world-space hits with surface normals, use `raycastScene(x, y)` — slower but returns the precise intersection point + normal.
46
+ For exact world-space hits with surface normals, use `raycastScene(x, y)` — slower but returns the precise intersection point, normal and, where provenance is unambiguous, the federation model, representation item and canonical evaluated-surface triangle.
47
47
 
48
48
  ## Section planes
49
49
 
@@ -116,5 +116,5 @@ Registered raster references are available through `renderer.getReferenceImages(
116
116
  `renderer.hasActiveClipping()` reports whether the last rendered frame applied
117
117
  section, terrain or box clipping. It reads the retained render snapshot, so
118
118
  mutating a previous options object does not change the answer.
119
- `raycastScene()` does not clip triangle hits; tools requiring an exact visible
120
- surface should refuse that operation while this query returns `true`.
119
+ `raycastScene()` applies that same clip state while walking triangles, so a
120
+ clipped front face cannot hide a visible face behind it.
@@ -0,0 +1,32 @@
1
+ import type { MeshData } from '@ifc-lite/geometry';
2
+ /** One item on either side of a partition: the triangle ordinals of a shared
3
+ * reference surface it carries, in its own triangle order. */
4
+ export interface AppearancePartitionPart {
5
+ /** Unique within this side; geometryItemId may repeat across fragments. */
6
+ readonly partId: number;
7
+ readonly geometryItemId: number;
8
+ readonly triangles: readonly number[];
9
+ }
10
+ /**
11
+ * A face-masked appearance replaces one owner's items with several items that
12
+ * together carry exactly the same triangle corners (#4404): the textured face
13
+ * set and the retained face set of an evaluated occurrence. Both sides name
14
+ * every ordinal of one reference surface exactly once, so the same record
15
+ * inverted describes the join that Undo performs.
16
+ */
17
+ export interface AppearancePartition {
18
+ /** Canonical full surface whose triangle ordinals every side partitions. */
19
+ readonly sourceGeometryItemId: number;
20
+ readonly triangleCount: number;
21
+ readonly before: readonly AppearancePartitionPart[];
22
+ readonly after: readonly AppearancePartitionPart[];
23
+ }
24
+ export declare function invertAppearancePartition(partition: AppearancePartition): AppearancePartition;
25
+ export declare function freezeAppearancePartition(partition: AppearancePartition): AppearancePartition;
26
+ /**
27
+ * Exact corner-for-corner equivalence between the two sides. Positions, the
28
+ * placement frame, ownership and the reference coverage must be identical;
29
+ * only shading normals and appearance attributes may differ.
30
+ */
31
+ export declare function validateAppearancePartition(partition: AppearancePartition, before: readonly MeshData[], after: readonly MeshData[]): void;
32
+ //# sourceMappingURL=appearance-partition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appearance-partition.d.ts","sourceRoot":"","sources":["../src/appearance-partition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAKnD;8DAC8D;AAC9D,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AACD;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB,CAE7F;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB,CAK7F;AA2ED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAuBzI"}
@@ -0,0 +1,122 @@
1
+ /** Matches the native face-mask plan's aggregate ordinal budget. */
2
+ const MAX_PARTITION_TRIANGLES = 500_000;
3
+ export function invertAppearancePartition(partition) {
4
+ return { ...partition, before: partition.after, after: partition.before };
5
+ }
6
+ export function freezeAppearancePartition(partition) {
7
+ const side = (parts) => Object.freeze(parts.map(part => Object.freeze({ partId: part.partId, geometryItemId: part.geometryItemId, triangles: Object.freeze([...part.triangles]) })));
8
+ return Object.freeze({ sourceGeometryItemId: partition.sourceGeometryItemId, triangleCount: partition.triangleCount,
9
+ before: side(partition.before), after: side(partition.after) });
10
+ }
11
+ function sameFrame(a, b) {
12
+ for (const key of ['origin', 'localToWorld']) {
13
+ const av = a[key], bv = b[key];
14
+ if (av === undefined || bv === undefined) {
15
+ if (av !== bv)
16
+ return false;
17
+ }
18
+ else if (av.length !== bv.length || av.some((value, i) => value !== bv[i]))
19
+ return false;
20
+ }
21
+ return true;
22
+ }
23
+ /** Items appear in declaration order; part identity, rather than IFC item id, is unique. */
24
+ function checkSide(side, parts, label, triangleCount, referenceSource) {
25
+ if (!side.length || side.length !== parts.length)
26
+ throw new Error(`Appearance partition ${label} does not name every part`);
27
+ const seen = new Set();
28
+ let work = 0;
29
+ side.forEach((entry, index) => {
30
+ if (!Number.isSafeInteger(entry.partId) || entry.partId < 0 || seen.has(entry.partId)
31
+ || !Number.isSafeInteger(entry.geometryItemId) || entry.geometryItemId <= 0
32
+ || parts[index].geometryItemId !== entry.geometryItemId)
33
+ throw new Error(`Appearance partition ${label} item identity does not match its part`);
34
+ seen.add(entry.partId);
35
+ if (entry.triangles.length * 3 !== parts[index].indices.length)
36
+ throw new Error(`Appearance partition ${label} triangle count does not match its part`);
37
+ const source = parts[index].appearanceSource;
38
+ if (!source || source.indices !== parts[index].indices || source.sourceIndices.length !== triangleCount * 3
39
+ || source.cornerIndices && source.cornerIndices.length !== parts[index].indices.length) {
40
+ throw new Error(`Appearance partition ${label} has invalid full-surface provenance`);
41
+ }
42
+ if (!entry.triangles.length || entry.triangles.length > triangleCount - work) {
43
+ throw new Error(`Appearance partition ${label} exceeds its triangle work budget`);
44
+ }
45
+ work += entry.triangles.length;
46
+ entry.triangles.forEach((ordinal, triangle) => {
47
+ if (!Number.isSafeInteger(ordinal) || ordinal < 0 || ordinal >= triangleCount) {
48
+ throw new Error(`Appearance partition ${label} names an invalid triangle`);
49
+ }
50
+ for (let corner = 0; corner < 3; corner++) {
51
+ const canonicalCorner = ordinal * 3 + corner;
52
+ if ((source.cornerIndices?.[triangle * 3 + corner] ?? triangle * 3 + corner) !== canonicalCorner
53
+ || source.sourceIndices[canonicalCorner] !== referenceSource[canonicalCorner]) {
54
+ throw new Error(`Appearance partition ${label} part identity does not match its canonical triangles`);
55
+ }
56
+ }
57
+ });
58
+ });
59
+ if (work !== triangleCount)
60
+ throw new Error(`Appearance partition ${label} does not cover the full surface`);
61
+ }
62
+ /** Write or compare reference-corner positions using a fixed-size allocation. */
63
+ function referenceCorners(side, parts, label, triangleCount, expected) {
64
+ const corners = expected ?? new Float32Array(triangleCount * 9);
65
+ const seen = new Uint8Array(triangleCount * 3);
66
+ side.forEach((entry, index) => {
67
+ const part = parts[index];
68
+ entry.triangles.forEach((ordinal, triangle) => {
69
+ for (let corner = 0; corner < 3; corner++) {
70
+ const reference = ordinal * 3 + corner;
71
+ if (seen[reference])
72
+ throw new Error(`Appearance partition ${label} names a triangle twice`);
73
+ seen[reference] = 1;
74
+ const vertex = part.indices[triangle * 3 + corner] * 3;
75
+ if (vertex + 2 >= part.positions.length)
76
+ throw new Error(`Appearance partition ${label} part index is out of range`);
77
+ const output = reference * 3;
78
+ for (let axis = 0; axis < 3; axis++) {
79
+ const value = part.positions[vertex + axis];
80
+ if (expected && expected[output + axis] !== value)
81
+ throw new Error('Appearance partition changes triangle geometry');
82
+ corners[output + axis] = value;
83
+ }
84
+ }
85
+ });
86
+ });
87
+ if (seen.some(value => value !== 1))
88
+ throw new Error(`Appearance partition ${label} does not provide complete coverage`);
89
+ return corners;
90
+ }
91
+ /**
92
+ * Exact corner-for-corner equivalence between the two sides. Positions, the
93
+ * placement frame, ownership and the reference coverage must be identical;
94
+ * only shading normals and appearance attributes may differ.
95
+ */
96
+ export function validateAppearancePartition(partition, before, after) {
97
+ if (!Number.isSafeInteger(partition.sourceGeometryItemId) || partition.sourceGeometryItemId <= 0
98
+ || !Number.isSafeInteger(partition.triangleCount) || partition.triangleCount <= 0
99
+ || partition.triangleCount > MAX_PARTITION_TRIANGLES
100
+ || partition.before.length > partition.triangleCount || partition.after.length > partition.triangleCount) {
101
+ throw new Error('Appearance partition full-surface identity is invalid');
102
+ }
103
+ const sourceSide = before.every(part => part.geometryItemId === partition.sourceGeometryItemId) ? before
104
+ : after.every(part => part.geometryItemId === partition.sourceGeometryItemId) ? after : undefined;
105
+ const sourceIndices = sourceSide?.[0].appearanceSource?.sourceIndices;
106
+ if (!sourceIndices || sourceIndices.length !== partition.triangleCount * 3) {
107
+ throw new Error('Appearance partition full-surface provenance does not match its source item');
108
+ }
109
+ checkSide(partition.before, before, 'original', partition.triangleCount, sourceIndices);
110
+ checkSide(partition.after, after, 'replacement', partition.triangleCount, sourceIndices);
111
+ const owner = before[0];
112
+ for (const part of [...before, ...after]) {
113
+ if (part.expressId !== owner.expressId || (part.modelIndex ?? 0) !== (owner.modelIndex ?? 0) || part.entityIds
114
+ || !sameFrame(part, owner))
115
+ throw new Error('Appearance partition cannot change ownership or placement');
116
+ if (part.normals.length !== part.positions.length || !part.normals.every(Number.isFinite))
117
+ throw new Error('Appearance partition part normals are invalid');
118
+ }
119
+ const original = referenceCorners(partition.before, before, 'original', partition.triangleCount);
120
+ referenceCorners(partition.after, after, 'replacement', partition.triangleCount, original);
121
+ }
122
+ //# sourceMappingURL=appearance-partition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appearance-partition.js","sourceRoot":"","sources":["../src/appearance-partition.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { MeshData } from '@ifc-lite/geometry';
2
+ import { type AppearancePartition } from './appearance-partition.js';
3
+ export { invertAppearancePartition, validateAppearancePartition, type AppearancePartition, type AppearancePartitionPart } from './appearance-partition.js';
2
4
  /** expressId is already federation-resolved; modelIndex is the renderer model. */
3
5
  export interface AppearanceOwner {
4
6
  readonly expressId: number;
@@ -20,8 +22,10 @@ export interface AppearanceChange {
20
22
  readonly from: number;
21
23
  readonly to: number;
22
24
  }[];
25
+ /** A face-masked owner: its parts are repartitioned corner-for-corner (#4404). */
26
+ readonly partition?: AppearancePartition;
23
27
  }
24
- export interface AppearancePreviewOptions extends Pick<AppearanceChange, 'geometryItemRemaps' | 'companionOriginals'> {
28
+ export interface AppearancePreviewOptions extends Pick<AppearanceChange, 'geometryItemRemaps' | 'companionOriginals' | 'partition'> {
25
29
  /** Canonical native originals for an occurrence absent from flat scene geometry. */
26
30
  readonly materializedOriginals?: readonly MeshData[];
27
31
  /** Host proved canonical originals exist but current visibility omits residency. */
@@ -1 +1 @@
1
- {"version":3,"file":"appearance-preview.d.ts","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appearance-preview.d.ts","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { equivalentAppearanceGeometry } from './appearance-uvs.js';
2
2
  import { sameCompanionParts } from './appearance-companions.js';
3
+ import { freezeAppearancePartition, validateAppearancePartition } from './appearance-partition.js';
4
+ // The partition is part of the preview contract; the package publishes it from here.
5
+ export { invertAppearancePartition, validateAppearancePartition } from './appearance-partition.js';
3
6
  /** Owns detached GPU originals until cancellation/commit; never exports GPU handles. */
4
7
  export class AppearancePreviewController {
5
8
  adapter;
@@ -24,6 +27,19 @@ export class AppearancePreviewController {
24
27
  if (remaps.length > captured.parts.length)
25
28
  throw new Error('Appearance item remap exceeds the original part count');
26
29
  const originals = new Set(captured.parts.map(part => part.geometryItemId));
30
+ const partition = options?.partition && freezeAppearancePartition(options.partition);
31
+ if (partition) {
32
+ // The partition names the whole owner: every original part in order,
33
+ // and replacement identities that do not collide with them.
34
+ const partIds = new Set(partition.after.map(part => part.partId));
35
+ if (remaps.length || companions || partition.before.length !== captured.parts.length
36
+ || partition.before.some((part, index) => part.geometryItemId !== captured.parts[index].geometryItemId)
37
+ || partIds.size !== partition.after.length
38
+ || partition.after.some(part => !Number.isSafeInteger(part.geometryItemId) || part.geometryItemId <= 0
39
+ || originals.has(part.geometryItemId))) {
40
+ throw new Error('Invalid appearance partition');
41
+ }
42
+ }
27
43
  const from = new Set(), to = new Set();
28
44
  for (const pair of remaps) {
29
45
  if (!Number.isSafeInteger(pair.from) || !Number.isSafeInteger(pair.to)
@@ -46,6 +62,7 @@ export class AppearancePreviewController {
46
62
  current: captured.resources,
47
63
  geometryItemRemaps,
48
64
  companionOriginals: companions && Object.freeze(companions.map(part => Object.freeze({ ...part }))),
65
+ ...(partition ? { partition } : {}),
49
66
  });
50
67
  return token;
51
68
  }
@@ -72,7 +89,9 @@ export class AppearancePreviewController {
72
89
  this.installDraft(draft, after);
73
90
  return;
74
91
  }
75
- if (parts.length !== draft.before.length)
92
+ if (draft.partition)
93
+ validateAppearancePartition(draft.partition, draft.before, parts);
94
+ else if (parts.length !== draft.before.length)
76
95
  throw new Error('Appearance preview requires every original mesh part');
77
96
  const bitmapIds = new Map();
78
97
  for (const old of draft.before)
@@ -81,17 +100,23 @@ export class AppearancePreviewController {
81
100
  for (const old of draft.after)
82
101
  if (old.textureRef)
83
102
  bitmapIds.set(old.textureRef.textureId, old.textureBitmap);
84
- for (let i = 0; i < parts.length; i++) {
85
- const p = parts[i], b = draft.before[i];
86
- if (p.expressId !== b.expressId ||
87
- p.modelIndex !== b.modelIndex ||
88
- !equivalentAppearanceGeometry(p, b, { allowNormalChanges: true }) ||
89
- p.entityIds !== b.entityIds ||
90
- p.geometryItemId !== (draft.geometryItemRemaps.find(pair => pair.from === b.geometryItemId)?.to ?? b.geometryItemId) ||
91
- p.normals.length !== p.positions.length ||
92
- !p.normals.every(Number.isFinite)) {
93
- throw new Error('Appearance preview cannot change geometry or ownership');
103
+ // One-to-one replacement: every part keeps its original's geometry and
104
+ // ownership. A partition proved its own geometry contract above.
105
+ if (!draft.partition) {
106
+ for (let i = 0; i < parts.length; i++) {
107
+ const p = parts[i], b = draft.before[i];
108
+ if (p.expressId !== b.expressId ||
109
+ p.modelIndex !== b.modelIndex ||
110
+ !equivalentAppearanceGeometry(p, b, { allowNormalChanges: true }) ||
111
+ p.entityIds !== b.entityIds ||
112
+ p.geometryItemId !== (draft.geometryItemRemaps.find(pair => pair.from === b.geometryItemId)?.to ?? b.geometryItemId) ||
113
+ p.normals.length !== p.positions.length ||
114
+ !p.normals.every(Number.isFinite)) {
115
+ throw new Error('Appearance preview cannot change geometry or ownership');
116
+ }
94
117
  }
118
+ }
119
+ for (const p of parts) {
95
120
  if (!p.texture &&
96
121
  p.textureRef &&
97
122
  p.textureBitmap &&
@@ -109,8 +134,10 @@ export class AppearancePreviewController {
109
134
  throw new Error('Appearance preview requires finite UVs and a resolved image for every part');
110
135
  }
111
136
  }
137
+ // A partitioned owner keeps the first original's live wrapper metadata:
138
+ // validation proves every replacement part shares its placement frame.
112
139
  const after = Object.freeze(parts.map((part, index) => Object.freeze({
113
- ...draft.before[index],
140
+ ...draft.before[draft.partition ? 0 : index],
114
141
  geometryItemId: part.geometryItemId,
115
142
  positions: part.positions,
116
143
  normals: part.normals,
@@ -172,6 +199,7 @@ export class AppearancePreviewController {
172
199
  ...(this.adapter.instanced?.(draft.token.owner, draft.before) ? { beforeInstanced: true } : {}),
173
200
  ...(this.adapter.instanced?.(draft.token.owner, after) ? { afterInstanced: true } : {}),
174
201
  ...(draft.geometryItemRemaps.length ? { geometryItemRemaps: draft.geometryItemRemaps } : {}),
202
+ ...(draft.partition ? { partition: draft.partition } : {}),
175
203
  }));
176
204
  let committed = false;
177
205
  return () => {
@@ -219,6 +247,8 @@ export class AppearancePreviewController {
219
247
  }
220
248
  /** End drafts, then validate every surviving history owner before GPU reset. */
221
249
  prepareRebuild(geometry, models) {
250
+ // cancel() deletes from this.drafts while we iterate, so iterate a copy.
251
+ // eslint-disable-next-line unicorn/no-useless-spread
222
252
  for (const draft of [...this.drafts.values()])
223
253
  this.cancel(draft.token);
224
254
  return this.adapter.prepareRebuild?.(geometry, models) ?? new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"appearance-preview.js","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appearance-preview.js","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import type { MeshData } from '@ifc-lite/geometry';
2
+ /** Resolve a rendered triangle to its canonical evaluated-surface ordinal.
3
+ * Returns undefined when topology provenance is absent or ambiguous. */
4
+ export declare function appearanceSourceTriangle(mesh: MeshData, triangleIndex: number): number | undefined;
2
5
  /** Bind canonical final triangle corners, expanding welded vertices only for
3
6
  * appearance. Geometry coordinates and triangle order remain exactly unchanged. */
4
7
  export declare function expandAppearanceCorners(mesh: MeshData, canonicalSourceIndices: ArrayLike<number>, canonicalCornerUvs: ArrayLike<number>, canonicalTargetIndices: ArrayLike<number>, canonicalTargetCornerNormals: ArrayLike<number>, canonicalTargetVertexCount: number): MeshData;
@@ -1 +1 @@
1
- {"version":3,"file":"appearance-uvs.d.ts","sourceRoot":"","sources":["../src/appearance-uvs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;mFACmF;AACnF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,EACd,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,EACzC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,EACrC,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,EACzC,4BAA4B,EAAE,SAAS,CAAC,MAAM,CAAC,EAC/C,0BAA0B,EAAE,MAAM,GACjC,QAAQ,CA+EV;AAED;8EAC8E;AAC9E,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,QAAQ,EACX,CAAC,EAAE,QAAQ,EACX,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7C,OAAO,CAkDT"}
1
+ {"version":3,"file":"appearance-uvs.d.ts","sourceRoot":"","sources":["../src/appearance-uvs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;wEACwE;AACxE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAuBpB;AAED;mFACmF;AACnF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,EACd,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,EACzC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,EACrC,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,EACzC,4BAA4B,EAAE,SAAS,CAAC,MAAM,CAAC,EAC/C,0BAA0B,EAAE,MAAM,GACjC,QAAQ,CA+EV;AAED;8EAC8E;AAC9E,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,QAAQ,EACX,CAAC,EAAE,QAAQ,EACX,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7C,OAAO,CAkDT"}
@@ -1,3 +1,27 @@
1
+ /** Resolve a rendered triangle to its canonical evaluated-surface ordinal.
2
+ * Returns undefined when topology provenance is absent or ambiguous. */
3
+ export function appearanceSourceTriangle(mesh, triangleIndex) {
4
+ const source = mesh.appearanceSource;
5
+ if (!source ||
6
+ source.kind !== 'canonical-item' ||
7
+ source.indices !== mesh.indices ||
8
+ mesh.indices.length % 3 !== 0 ||
9
+ source.sourceIndices.length % 3 !== 0 ||
10
+ !Number.isSafeInteger(triangleIndex) ||
11
+ triangleIndex < 0 ||
12
+ triangleIndex * 3 + 2 >= mesh.indices.length ||
13
+ (source.cornerIndices && source.cornerIndices.length !== mesh.indices.length))
14
+ return undefined;
15
+ const first = triangleIndex * 3;
16
+ const corners = [0, 1, 2].map(offset => source.cornerIndices?.[first + offset] ?? first + offset);
17
+ if (corners.some(corner => !Number.isSafeInteger(corner) || corner < 0 || corner >= source.sourceIndices.length))
18
+ return undefined;
19
+ const ordinal = Math.floor(corners[0] / 3);
20
+ if (corners.some(corner => Math.floor(corner / 3) !== ordinal) ||
21
+ new Set(corners.map(corner => corner % 3)).size !== 3)
22
+ return undefined;
23
+ return ordinal;
24
+ }
1
25
  /** Bind canonical final triangle corners, expanding welded vertices only for
2
26
  * appearance. Geometry coordinates and triangle order remain exactly unchanged. */
3
27
  export function expandAppearanceCorners(mesh, canonicalSourceIndices, canonicalCornerUvs, canonicalTargetIndices, canonicalTargetCornerNormals, canonicalTargetVertexCount) {
@@ -1 +1 @@
1
- {"version":3,"file":"appearance-uvs.js","sourceRoot":"","sources":["../src/appearance-uvs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appearance-uvs.js","sourceRoot":"","sources":["../src/appearance-uvs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,9 +6,9 @@ export type { AdapterInfoSnapshot } from './device.js';
6
6
  export { RenderPipeline } from './pipeline.js';
7
7
  export { Camera } from './camera.js';
8
8
  export type { SceneContents } from './scene-contents.js';
9
- export { expandAppearanceCorners, equivalentAppearanceGeometry } from './appearance-uvs.js';
9
+ export { appearanceSourceTriangle, expandAppearanceCorners, equivalentAppearanceGeometry } from './appearance-uvs.js';
10
10
  export { sameCompanionParts } from './appearance-companions.js';
11
- export type { AppearancePreview, AppearanceOwner, AppearanceToken, AppearanceChange } from './appearance-preview.js';
11
+ export { invertAppearancePartition, validateAppearancePartition, type AppearancePreview, type AppearanceOwner, type AppearanceToken, type AppearanceChange, type AppearancePartition, type AppearancePartitionPart } from './appearance-preview.js';
12
12
  import type { AppearancePreview } from './appearance-preview.js';
13
13
  export type { ReferenceImages, ReferenceImageInput, ReferenceImageHit, ReferenceCorners } from './reference-image-types.js';
14
14
  export type { ProjectionMode } from './camera-state.js';
@@ -736,7 +736,7 @@ export declare class Renderer {
736
736
  pickRect(x0: number, y0: number, x1: number, y1: number, options?: PickOptions): Promise<Set<number>>;
737
737
  /** Whether the last rendered frame clipped surfaces (section, terrain or box). */
738
738
  hasActiveClipping(): boolean;
739
- /** Exact surface raycast in CSS canvas coordinates; does not apply clipping. */
739
+ /** Exact visible-surface raycast in CSS canvas coordinates. */
740
740
  raycastScene(x: number, y: number, options?: PickOptions & {
741
741
  snapOptions?: Partial<SnapOptions>;
742
742
  }): {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,8 +7,9 @@
7
7
  export { WebGPUDevice } from './device.js';
8
8
  export { RenderPipeline } from './pipeline.js';
9
9
  export { Camera } from './camera.js';
10
- export { expandAppearanceCorners, equivalentAppearanceGeometry } from './appearance-uvs.js';
10
+ export { appearanceSourceTriangle, expandAppearanceCorners, equivalentAppearanceGeometry } from './appearance-uvs.js';
11
11
  export { sameCompanionParts } from './appearance-companions.js';
12
+ export { invertAppearancePartition, validateAppearancePartition } from './appearance-preview.js';
12
13
  import { createReferenceImageManager } from './reference-image-host.js';
13
14
  import { resizeRendererViewport } from './renderer-viewport.js';
14
15
  export { pickFitPolicy } from './camera-fit-policy.js';
@@ -2977,9 +2978,9 @@ export class Renderer {
2977
2978
  hasActiveClipping() {
2978
2979
  return this._activePickSection !== null || this._activePickClipBox !== null;
2979
2980
  }
2980
- /** Exact surface raycast in CSS canvas coordinates; does not apply clipping. */
2981
+ /** Exact visible-surface raycast in CSS canvas coordinates. */
2981
2982
  raycastScene(x, y, options) {
2982
- return this.raycastEngine.raycastScene(x, y, options);
2983
+ return this.raycastEngine.raycastScene(x, y, options, this.activePickClip());
2983
2984
  }
2984
2985
  /**
2985
2986
  * Raycast with magnetic edge snapping behavior