altium-toolkit 1.1.32 → 1.1.33

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.
@@ -89,6 +89,14 @@ export class AltiumScene3dExternalPlacementAdapter {
89
89
  if (!placement?.bodyPositionMil || !placement?.positionMil) {
90
90
  return placement
91
91
  }
92
+ if (
93
+ AltiumScene3dExternalPlacementAdapter.#isAuthoredShapeStackPlacement(
94
+ placement
95
+ )
96
+ ) {
97
+ return placement
98
+ }
99
+
92
100
  const componentBody =
93
101
  AltiumScene3dExternalPlacementAdapter.#resolveComponentBody(
94
102
  placement,
@@ -282,6 +290,19 @@ export class AltiumScene3dExternalPlacementAdapter {
282
290
  }
283
291
  }
284
292
 
293
+ /**
294
+ * Checks whether an earlier adapter already resolved an authored carrier
295
+ * stack placement.
296
+ * @param {object} placement External model placement.
297
+ * @returns {boolean}
298
+ */
299
+ static #isAuthoredShapeStackPlacement(placement) {
300
+ return (
301
+ String(placement?.projection?.source || '').toLowerCase() ===
302
+ 'authored-shape-stack'
303
+ )
304
+ }
305
+
285
306
  /**
286
307
  * Resolves board-local SMT pad centers for mixed connector footprints.
287
308
  * @param {object} placement External model placement.