pcb-scene3d-viewer 1.1.1 → 1.1.2
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/docs/api.md +10 -0
- package/package.json +2 -2
- package/src/PcbScene3dAdjustmentControlBinder.mjs +667 -0
- package/src/PcbScene3dComponentAdjustment.mjs +174 -0
- package/src/PcbScene3dComponentAdjustmentRegistry.mjs +95 -0
- package/src/PcbScene3dController.mjs +214 -197
- package/src/PcbScene3dCopperFactory.mjs +4 -1
- package/src/PcbScene3dCutoutGeometryFilter.mjs +9 -3
- package/src/PcbScene3dExternalModels.mjs +56 -71
- package/src/PcbScene3dGeometryBoundsResolver.mjs +78 -0
- package/src/PcbScene3dModelBounds.mjs +267 -0
- package/src/PcbScene3dModelSearchPlacement.mjs +40 -0
- package/src/PcbScene3dPadFactory.mjs +221 -20
- package/src/PcbScene3dRenderGroupVisibility.mjs +23 -1
- package/src/PcbScene3dRuntime.mjs +62 -51
- package/src/PcbScene3dSelectionInspectorRenderer.mjs +581 -0
- package/src/PcbScene3dSelectionResolver.mjs +42 -0
- package/src/PcbScene3dSilkscreenFactory.mjs +4 -1
- package/src/PcbScene3dText.mjs +3 -0
- package/src/styles/scene3d.css +142 -0
package/src/styles/scene3d.css
CHANGED
|
@@ -209,6 +209,148 @@ body.is-viewer-mode.is-viewer-3d .scene-3d {
|
|
|
209
209
|
word-break: break-word;
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
.scene-3d__adjustment-target {
|
|
213
|
+
display: grid;
|
|
214
|
+
gap: 0.16rem;
|
|
215
|
+
min-width: 0;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.scene-3d__adjustment-target span {
|
|
219
|
+
color: var(--muted);
|
|
220
|
+
font-size: 0.72rem;
|
|
221
|
+
font-weight: 700;
|
|
222
|
+
text-transform: uppercase;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.scene-3d__adjustment-target strong {
|
|
226
|
+
min-width: 0;
|
|
227
|
+
overflow-wrap: anywhere;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.scene-3d__adjustments {
|
|
231
|
+
display: grid;
|
|
232
|
+
gap: 0.65rem;
|
|
233
|
+
min-width: 0;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.scene-3d__adjustment-group {
|
|
237
|
+
display: grid;
|
|
238
|
+
gap: 0.45rem;
|
|
239
|
+
min-width: 0;
|
|
240
|
+
margin: 0;
|
|
241
|
+
padding: 0.62rem;
|
|
242
|
+
border: 1px solid rgba(95, 112, 124, 0.14);
|
|
243
|
+
border-radius: 8px;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.scene-3d__adjustment-group legend {
|
|
247
|
+
padding: 0 0.24rem;
|
|
248
|
+
color: var(--text);
|
|
249
|
+
font-size: 0.82rem;
|
|
250
|
+
font-weight: 700;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.scene-3d__adjustment-row {
|
|
254
|
+
display: grid;
|
|
255
|
+
grid-template-columns: 1.15rem minmax(0, 1fr);
|
|
256
|
+
align-items: center;
|
|
257
|
+
gap: 0.42rem;
|
|
258
|
+
min-width: 0;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.scene-3d__adjustment-row > span:first-child {
|
|
262
|
+
color: var(--text);
|
|
263
|
+
font-weight: 700;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.scene-3d__adjustment-input-wrap {
|
|
267
|
+
position: relative;
|
|
268
|
+
display: block;
|
|
269
|
+
min-width: 0;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.scene-3d__adjustment-row input {
|
|
273
|
+
width: 100%;
|
|
274
|
+
min-width: 0;
|
|
275
|
+
box-sizing: border-box;
|
|
276
|
+
border: 1px solid rgba(95, 112, 124, 0.18);
|
|
277
|
+
border-radius: 6px;
|
|
278
|
+
padding: 0.38rem 1.7rem 0.38rem 0.45rem;
|
|
279
|
+
background: rgba(255, 255, 255, 0.82);
|
|
280
|
+
color: var(--text);
|
|
281
|
+
font: inherit;
|
|
282
|
+
font-variant-numeric: tabular-nums;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.scene-3d__adjustment-row input:focus {
|
|
286
|
+
outline: 2px solid rgba(20, 197, 230, 0.36);
|
|
287
|
+
outline-offset: 1px;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.scene-3d__adjustment-stepper {
|
|
291
|
+
position: absolute;
|
|
292
|
+
top: 0.22rem;
|
|
293
|
+
right: 0.22rem;
|
|
294
|
+
bottom: 0.22rem;
|
|
295
|
+
display: grid;
|
|
296
|
+
width: 1.12rem;
|
|
297
|
+
grid-template-rows: 1fr 1fr;
|
|
298
|
+
overflow: hidden;
|
|
299
|
+
border-radius: 4px;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.scene-3d__adjustment-stepper button {
|
|
303
|
+
position: relative;
|
|
304
|
+
border: 0;
|
|
305
|
+
border-bottom: 1px solid rgba(95, 112, 124, 0.2);
|
|
306
|
+
padding: 0;
|
|
307
|
+
background: rgba(95, 112, 124, 0.14);
|
|
308
|
+
color: var(--text);
|
|
309
|
+
cursor: pointer;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.scene-3d__adjustment-stepper button:last-child {
|
|
313
|
+
border-bottom: 0;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.scene-3d__adjustment-stepper button:hover {
|
|
317
|
+
background: rgba(95, 112, 124, 0.22);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.scene-3d__adjustment-stepper button::before {
|
|
321
|
+
content: '';
|
|
322
|
+
position: absolute;
|
|
323
|
+
top: 50%;
|
|
324
|
+
left: 50%;
|
|
325
|
+
width: 0;
|
|
326
|
+
height: 0;
|
|
327
|
+
transform: translate(-50%, -50%);
|
|
328
|
+
border-right: 0.22rem solid transparent;
|
|
329
|
+
border-left: 0.22rem solid transparent;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.scene-3d__adjustment-stepper [data-scene-3d-adjustment-step='up']::before {
|
|
333
|
+
border-bottom: 0.28rem solid currentColor;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.scene-3d__adjustment-stepper [data-scene-3d-adjustment-step='down']::before {
|
|
337
|
+
border-top: 0.28rem solid currentColor;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.scene-3d__adjustment-reset {
|
|
341
|
+
justify-self: start;
|
|
342
|
+
border: 1px solid rgba(95, 112, 124, 0.16);
|
|
343
|
+
border-radius: 8px;
|
|
344
|
+
padding: 0.45rem 0.65rem;
|
|
345
|
+
background: rgba(255, 255, 255, 0.78);
|
|
346
|
+
color: var(--text);
|
|
347
|
+
cursor: pointer;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.scene-3d__adjustment-reset:hover {
|
|
351
|
+
border-color: rgba(184, 90, 37, 0.34);
|
|
352
|
+
}
|
|
353
|
+
|
|
212
354
|
.scene-3d__diagnostics {
|
|
213
355
|
padding: 0.9rem 1rem;
|
|
214
356
|
border-radius: 18px;
|