ducjs 2.3.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.
- package/README.md +2 -2
- package/dist/enums.d.ts +135 -0
- package/dist/enums.js +155 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.js +8 -4
- package/dist/lazy-files.d.ts +44 -0
- package/dist/lazy-files.js +129 -0
- package/dist/parse.d.ts +21 -55
- package/dist/parse.js +58 -1445
- package/dist/restore/index.d.ts +0 -1
- package/dist/restore/index.js +0 -1
- package/dist/restore/restoreDataState.d.ts +6 -10
- package/dist/restore/restoreDataState.js +117 -127
- package/dist/restore/restoreElements.d.ts +1 -1
- package/dist/restore/restoreElements.js +37 -494
- package/dist/serialize.d.ts +11 -4
- package/dist/serialize.js +58 -2545
- package/dist/technical/index.d.ts +0 -1
- package/dist/technical/index.js +0 -1
- package/dist/technical/scopes.d.ts +1 -1
- package/dist/technical/scopes.js +1 -1
- package/dist/transform.d.ts +12 -0
- package/dist/transform.js +442 -0
- package/dist/types/elements/index.d.ts +120 -693
- package/dist/types/elements/typeChecks.d.ts +6 -3
- package/dist/types/elements/typeChecks.js +9 -8
- package/dist/types/geometryTypes.d.ts +1 -1
- package/dist/types/index.d.ts +38 -305
- package/dist/utils/constants.d.ts +21 -100
- package/dist/utils/constants.js +29 -212
- package/dist/utils/elements/freedrawElement.d.ts +6 -0
- package/dist/utils/elements/freedrawElement.js +28 -11
- package/dist/utils/elements/index.d.ts +3 -14
- package/dist/utils/elements/index.js +7 -99
- package/dist/utils/elements/linearElement.d.ts +2 -2
- package/dist/utils/elements/newElement.d.ts +2 -12
- package/dist/utils/elements/newElement.js +32 -52
- package/dist/utils/elements/textElement.d.ts +3 -3
- package/dist/utils/elements/textElement.js +44 -17
- package/dist/utils/math/index.d.ts +5 -4
- package/dist/utils/math/index.js +3 -3
- package/dist/utils/shape.js +2 -2
- package/dist/utils/state/index.d.ts +0 -1
- package/dist/utils/state/index.js +5 -71
- package/dist/utils/traverse.d.ts +8 -0
- package/dist/utils/traverse.js +37 -0
- package/dist/version-control.d.ts +61 -0
- package/dist/version-control.js +84 -0
- package/dist/wasm.d.ts +20 -0
- package/dist/wasm.js +52 -0
- package/package.json +2 -2
- package/dist/flatbuffers/duc/alternate-units.d.ts +0 -21
- package/dist/flatbuffers/duc/alternate-units.js +0 -66
- package/dist/flatbuffers/duc/angular-unit-system.d.ts +0 -17
- package/dist/flatbuffers/duc/angular-unit-system.js +0 -50
- package/dist/flatbuffers/duc/angular-units-format.d.ts +0 -7
- package/dist/flatbuffers/duc/angular-units-format.js +0 -10
- package/dist/flatbuffers/duc/axis.d.ts +0 -5
- package/dist/flatbuffers/duc/axis.js +0 -8
- package/dist/flatbuffers/duc/bezier-mirroring.d.ts +0 -5
- package/dist/flatbuffers/duc/bezier-mirroring.js +0 -8
- package/dist/flatbuffers/duc/blending.d.ts +0 -9
- package/dist/flatbuffers/duc/blending.js +0 -12
- package/dist/flatbuffers/duc/block-attachment.d.ts +0 -4
- package/dist/flatbuffers/duc/block-attachment.js +0 -7
- package/dist/flatbuffers/duc/boolean-operation.d.ts +0 -6
- package/dist/flatbuffers/duc/boolean-operation.js +0 -9
- package/dist/flatbuffers/duc/bound-element.d.ts +0 -17
- package/dist/flatbuffers/duc/bound-element.js +0 -48
- package/dist/flatbuffers/duc/checkpoint.d.ts +0 -22
- package/dist/flatbuffers/duc/checkpoint.js +0 -75
- package/dist/flatbuffers/duc/column-layout.d.ts +0 -22
- package/dist/flatbuffers/duc/column-layout.js +0 -72
- package/dist/flatbuffers/duc/column-type.d.ts +0 -5
- package/dist/flatbuffers/duc/column-type.js +0 -8
- package/dist/flatbuffers/duc/custom-hatch-pattern.d.ts +0 -23
- package/dist/flatbuffers/duc/custom-hatch-pattern.js +0 -71
- package/dist/flatbuffers/duc/datum-bracket-style.d.ts +0 -5
- package/dist/flatbuffers/duc/datum-bracket-style.js +0 -8
- package/dist/flatbuffers/duc/datum-reference.d.ts +0 -17
- package/dist/flatbuffers/duc/datum-reference.js +0 -49
- package/dist/flatbuffers/duc/datum-target-type.d.ts +0 -6
- package/dist/flatbuffers/duc/datum-target-type.js +0 -9
- package/dist/flatbuffers/duc/decimal-separator.d.ts +0 -4
- package/dist/flatbuffers/duc/decimal-separator.js +0 -7
- package/dist/flatbuffers/duc/delta.d.ts +0 -22
- package/dist/flatbuffers/duc/delta.js +0 -75
- package/dist/flatbuffers/duc/dictionary-entry.d.ts +0 -17
- package/dist/flatbuffers/duc/dictionary-entry.js +0 -49
- package/dist/flatbuffers/duc/dimension-baseline-data.d.ts +0 -14
- package/dist/flatbuffers/duc/dimension-baseline-data.js +0 -40
- package/dist/flatbuffers/duc/dimension-bindings.d.ts +0 -17
- package/dist/flatbuffers/duc/dimension-bindings.js +0 -50
- package/dist/flatbuffers/duc/dimension-continue-data.d.ts +0 -14
- package/dist/flatbuffers/duc/dimension-continue-data.js +0 -40
- package/dist/flatbuffers/duc/dimension-definition-points.d.ts +0 -21
- package/dist/flatbuffers/duc/dimension-definition-points.js +0 -64
- package/dist/flatbuffers/duc/dimension-ext-line-style.d.ts +0 -18
- package/dist/flatbuffers/duc/dimension-ext-line-style.js +0 -57
- package/dist/flatbuffers/duc/dimension-fit-rule.d.ts +0 -6
- package/dist/flatbuffers/duc/dimension-fit-rule.js +0 -9
- package/dist/flatbuffers/duc/dimension-fit-style.d.ts +0 -19
- package/dist/flatbuffers/duc/dimension-fit-style.js +0 -58
- package/dist/flatbuffers/duc/dimension-line-style.d.ts +0 -16
- package/dist/flatbuffers/duc/dimension-line-style.js +0 -49
- package/dist/flatbuffers/duc/dimension-symbol-style.d.ts +0 -22
- package/dist/flatbuffers/duc/dimension-symbol-style.js +0 -72
- package/dist/flatbuffers/duc/dimension-text-placement.d.ts +0 -5
- package/dist/flatbuffers/duc/dimension-text-placement.js +0 -8
- package/dist/flatbuffers/duc/dimension-tolerance-style.d.ts +0 -24
- package/dist/flatbuffers/duc/dimension-tolerance-style.js +0 -71
- package/dist/flatbuffers/duc/dimension-type.d.ts +0 -15
- package/dist/flatbuffers/duc/dimension-type.js +0 -18
- package/dist/flatbuffers/duc/dimension-units-format.d.ts +0 -7
- package/dist/flatbuffers/duc/dimension-units-format.js +0 -10
- package/dist/flatbuffers/duc/dimension-validation-rules.d.ts +0 -25
- package/dist/flatbuffers/duc/dimension-validation-rules.js +0 -74
- package/dist/flatbuffers/duc/document-grid-align-items.d.ts +0 -5
- package/dist/flatbuffers/duc/document-grid-align-items.js +0 -8
- package/dist/flatbuffers/duc/document-grid-config.d.ts +0 -22
- package/dist/flatbuffers/duc/document-grid-config.js +0 -73
- package/dist/flatbuffers/duc/duc-arrow-element.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-arrow-element.js +0 -49
- package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.js +0 -44
- package/dist/flatbuffers/duc/duc-block-attribute-definition.d.ts +0 -22
- package/dist/flatbuffers/duc/duc-block-attribute-definition.js +0 -64
- package/dist/flatbuffers/duc/duc-block-collection-entry.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-block-collection-entry.js +0 -48
- package/dist/flatbuffers/duc/duc-block-collection.d.ts +0 -31
- package/dist/flatbuffers/duc/duc-block-collection.js +0 -97
- package/dist/flatbuffers/duc/duc-block-duplication-array.d.ts +0 -19
- package/dist/flatbuffers/duc/duc-block-duplication-array.js +0 -64
- package/dist/flatbuffers/duc/duc-block-instance-element.d.ts +0 -10
- package/dist/flatbuffers/duc/duc-block-instance-element.js +0 -28
- package/dist/flatbuffers/duc/duc-block-instance.d.ts +0 -32
- package/dist/flatbuffers/duc/duc-block-instance.js +0 -100
- package/dist/flatbuffers/duc/duc-block-metadata.d.ts +0 -26
- package/dist/flatbuffers/duc/duc-block-metadata.js +0 -90
- package/dist/flatbuffers/duc/duc-block.d.ts +0 -36
- package/dist/flatbuffers/duc/duc-block.js +0 -112
- package/dist/flatbuffers/duc/duc-common-style.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-common-style.js +0 -44
- package/dist/flatbuffers/duc/duc-dimension-element.d.ts +0 -45
- package/dist/flatbuffers/duc/duc-dimension-element.js +0 -120
- package/dist/flatbuffers/duc/duc-dimension-style.d.ts +0 -28
- package/dist/flatbuffers/duc/duc-dimension-style.js +0 -76
- package/dist/flatbuffers/duc/duc-doc-element.d.ts +0 -39
- package/dist/flatbuffers/duc/duc-doc-element.js +0 -110
- package/dist/flatbuffers/duc/duc-doc-style.d.ts +0 -19
- package/dist/flatbuffers/duc/duc-doc-style.js +0 -52
- package/dist/flatbuffers/duc/duc-element-base.d.ts +0 -100
- package/dist/flatbuffers/duc/duc-element-base.js +0 -315
- package/dist/flatbuffers/duc/duc-element-styles-base.d.ts +0 -30
- package/dist/flatbuffers/duc/duc-element-styles-base.js +0 -103
- package/dist/flatbuffers/duc/duc-ellipse-element.d.ts +0 -22
- package/dist/flatbuffers/duc/duc-ellipse-element.js +0 -73
- package/dist/flatbuffers/duc/duc-embeddable-element.d.ts +0 -14
- package/dist/flatbuffers/duc/duc-embeddable-element.js +0 -41
- package/dist/flatbuffers/duc/duc-external-file-data.d.ts +0 -27
- package/dist/flatbuffers/duc/duc-external-file-data.js +0 -92
- package/dist/flatbuffers/duc/duc-external-file-entry.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-external-file-entry.js +0 -44
- package/dist/flatbuffers/duc/duc-feature-control-frame-element.d.ts +0 -31
- package/dist/flatbuffers/duc/duc-feature-control-frame-element.js +0 -89
- package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +0 -22
- package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +0 -60
- package/dist/flatbuffers/duc/duc-frame-element.d.ts +0 -14
- package/dist/flatbuffers/duc/duc-frame-element.js +0 -41
- package/dist/flatbuffers/duc/duc-free-draw-element.d.ts +0 -52
- package/dist/flatbuffers/duc/duc-free-draw-element.js +0 -154
- package/dist/flatbuffers/duc/duc-free-draw-ends.d.ts +0 -18
- package/dist/flatbuffers/duc/duc-free-draw-ends.js +0 -56
- package/dist/flatbuffers/duc/duc-global-state.d.ts +0 -37
- package/dist/flatbuffers/duc/duc-global-state.js +0 -121
- package/dist/flatbuffers/duc/duc-group.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-group.js +0 -44
- package/dist/flatbuffers/duc/duc-hatch-style.d.ts +0 -28
- package/dist/flatbuffers/duc/duc-hatch-style.js +0 -79
- package/dist/flatbuffers/duc/duc-head.d.ts +0 -19
- package/dist/flatbuffers/duc/duc-head.js +0 -57
- package/dist/flatbuffers/duc/duc-image-element.d.ts +0 -35
- package/dist/flatbuffers/duc/duc-image-element.js +0 -91
- package/dist/flatbuffers/duc/duc-image-filter.d.ts +0 -15
- package/dist/flatbuffers/duc/duc-image-filter.js +0 -48
- package/dist/flatbuffers/duc/duc-layer-overrides.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-layer-overrides.js +0 -44
- package/dist/flatbuffers/duc/duc-layer.d.ts +0 -21
- package/dist/flatbuffers/duc/duc-layer.js +0 -59
- package/dist/flatbuffers/duc/duc-leader-element.d.ts +0 -22
- package/dist/flatbuffers/duc/duc-leader-element.js +0 -60
- package/dist/flatbuffers/duc/duc-leader-style.d.ts +0 -27
- package/dist/flatbuffers/duc/duc-leader-style.js +0 -79
- package/dist/flatbuffers/duc/duc-line-reference.d.ts +0 -15
- package/dist/flatbuffers/duc/duc-line-reference.js +0 -43
- package/dist/flatbuffers/duc/duc-line.d.ts +0 -15
- package/dist/flatbuffers/duc/duc-line.js +0 -43
- package/dist/flatbuffers/duc/duc-linear-element-base.d.ts +0 -38
- package/dist/flatbuffers/duc/duc-linear-element-base.js +0 -124
- package/dist/flatbuffers/duc/duc-linear-element.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-linear-element.js +0 -49
- package/dist/flatbuffers/duc/duc-local-state.d.ts +0 -68
- package/dist/flatbuffers/duc/duc-local-state.js +0 -206
- package/dist/flatbuffers/duc/duc-mermaid-element.d.ts +0 -23
- package/dist/flatbuffers/duc/duc-mermaid-element.js +0 -65
- package/dist/flatbuffers/duc/duc-model-element.d.ts +0 -26
- package/dist/flatbuffers/duc/duc-model-element.js +0 -79
- package/dist/flatbuffers/duc/duc-parametric-element.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-parametric-element.js +0 -44
- package/dist/flatbuffers/duc/duc-path.d.ts +0 -26
- package/dist/flatbuffers/duc/duc-path.js +0 -69
- package/dist/flatbuffers/duc/duc-pdf-element.d.ts +0 -19
- package/dist/flatbuffers/duc/duc-pdf-element.js +0 -51
- package/dist/flatbuffers/duc/duc-plot-element.d.ts +0 -19
- package/dist/flatbuffers/duc/duc-plot-element.js +0 -52
- package/dist/flatbuffers/duc/duc-plot-style.d.ts +0 -11
- package/dist/flatbuffers/duc/duc-plot-style.js +0 -32
- package/dist/flatbuffers/duc/duc-point-binding.d.ts +0 -26
- package/dist/flatbuffers/duc/duc-point-binding.js +0 -73
- package/dist/flatbuffers/duc/duc-point.d.ts +0 -18
- package/dist/flatbuffers/duc/duc-point.js +0 -57
- package/dist/flatbuffers/duc/duc-polygon-element.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-polygon-element.js +0 -49
- package/dist/flatbuffers/duc/duc-rectangle-element.d.ts +0 -14
- package/dist/flatbuffers/duc/duc-rectangle-element.js +0 -41
- package/dist/flatbuffers/duc/duc-region.d.ts +0 -19
- package/dist/flatbuffers/duc/duc-region.js +0 -51
- package/dist/flatbuffers/duc/duc-stack-base.d.ts +0 -27
- package/dist/flatbuffers/duc/duc-stack-base.js +0 -78
- package/dist/flatbuffers/duc/duc-stack-element-base.d.ts +0 -23
- package/dist/flatbuffers/duc/duc-stack-element-base.js +0 -65
- package/dist/flatbuffers/duc/duc-stack-like-styles.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-stack-like-styles.js +0 -48
- package/dist/flatbuffers/duc/duc-table-auto-size.d.ts +0 -15
- package/dist/flatbuffers/duc/duc-table-auto-size.js +0 -48
- package/dist/flatbuffers/duc/duc-table-cell-entry.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-table-cell-entry.js +0 -44
- package/dist/flatbuffers/duc/duc-table-cell-span.d.ts +0 -15
- package/dist/flatbuffers/duc/duc-table-cell-span.js +0 -48
- package/dist/flatbuffers/duc/duc-table-cell-style.d.ts +0 -22
- package/dist/flatbuffers/duc/duc-table-cell-style.js +0 -59
- package/dist/flatbuffers/duc/duc-table-cell.d.ts +0 -27
- package/dist/flatbuffers/duc/duc-table-cell.js +0 -72
- package/dist/flatbuffers/duc/duc-table-column-entry.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-table-column-entry.js +0 -44
- package/dist/flatbuffers/duc/duc-table-column.d.ts +0 -18
- package/dist/flatbuffers/duc/duc-table-column.js +0 -51
- package/dist/flatbuffers/duc/duc-table-element.d.ts +0 -51
- package/dist/flatbuffers/duc/duc-table-element.js +0 -167
- package/dist/flatbuffers/duc/duc-table-row-entry.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-table-row-entry.js +0 -44
- package/dist/flatbuffers/duc/duc-table-row.d.ts +0 -18
- package/dist/flatbuffers/duc/duc-table-row.js +0 -51
- package/dist/flatbuffers/duc/duc-table-style.d.ts +0 -20
- package/dist/flatbuffers/duc/duc-table-style.js +0 -57
- package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.d.ts +0 -14
- package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.js +0 -40
- package/dist/flatbuffers/duc/duc-text-dynamic-element-source.d.ts +0 -17
- package/dist/flatbuffers/duc/duc-text-dynamic-element-source.js +0 -49
- package/dist/flatbuffers/duc/duc-text-dynamic-part.d.ts +0 -22
- package/dist/flatbuffers/duc/duc-text-dynamic-part.js +0 -58
- package/dist/flatbuffers/duc/duc-text-dynamic-source-data.d.ts +0 -9
- package/dist/flatbuffers/duc/duc-text-dynamic-source-data.js +0 -26
- package/dist/flatbuffers/duc/duc-text-dynamic-source.d.ts +0 -19
- package/dist/flatbuffers/duc/duc-text-dynamic-source.js +0 -58
- package/dist/flatbuffers/duc/duc-text-element.d.ts +0 -33
- package/dist/flatbuffers/duc/duc-text-element.js +0 -94
- package/dist/flatbuffers/duc/duc-text-style.d.ts +0 -41
- package/dist/flatbuffers/duc/duc-text-style.js +0 -120
- package/dist/flatbuffers/duc/duc-ucs.d.ts +0 -16
- package/dist/flatbuffers/duc/duc-ucs.js +0 -49
- package/dist/flatbuffers/duc/duc-view.d.ts +0 -24
- package/dist/flatbuffers/duc/duc-view.js +0 -71
- package/dist/flatbuffers/duc/duc-viewport-element.d.ts +0 -36
- package/dist/flatbuffers/duc/duc-viewport-element.js +0 -102
- package/dist/flatbuffers/duc/duc-viewport-style.d.ts +0 -13
- package/dist/flatbuffers/duc/duc-viewport-style.js +0 -40
- package/dist/flatbuffers/duc/duc-xray-element.d.ts +0 -23
- package/dist/flatbuffers/duc/duc-xray-element.js +0 -66
- package/dist/flatbuffers/duc/duc-xray-style.d.ts +0 -14
- package/dist/flatbuffers/duc/duc-xray-style.js +0 -40
- package/dist/flatbuffers/duc/dynamic-snap-settings.d.ts +0 -17
- package/dist/flatbuffers/duc/dynamic-snap-settings.js +0 -56
- package/dist/flatbuffers/duc/element-background.d.ts +0 -14
- package/dist/flatbuffers/duc/element-background.js +0 -41
- package/dist/flatbuffers/duc/element-content-base.d.ts +0 -29
- package/dist/flatbuffers/duc/element-content-base.js +0 -80
- package/dist/flatbuffers/duc/element-content-preference.d.ts +0 -8
- package/dist/flatbuffers/duc/element-content-preference.js +0 -11
- package/dist/flatbuffers/duc/element-stroke.d.ts +0 -24
- package/dist/flatbuffers/duc/element-stroke.js +0 -66
- package/dist/flatbuffers/duc/element-wrapper.d.ts +0 -16
- package/dist/flatbuffers/duc/element-wrapper.js +0 -49
- package/dist/flatbuffers/duc/element.d.ts +0 -51
- package/dist/flatbuffers/duc/element.js +0 -110
- package/dist/flatbuffers/duc/exported-data-state.d.ts +0 -102
- package/dist/flatbuffers/duc/exported-data-state.js +0 -341
- package/dist/flatbuffers/duc/fcfbetween-modifier.d.ts +0 -17
- package/dist/flatbuffers/duc/fcfbetween-modifier.js +0 -48
- package/dist/flatbuffers/duc/fcfdatum-definition.d.ts +0 -16
- package/dist/flatbuffers/duc/fcfdatum-definition.js +0 -43
- package/dist/flatbuffers/duc/fcfdatum-style.d.ts +0 -14
- package/dist/flatbuffers/duc/fcfdatum-style.js +0 -41
- package/dist/flatbuffers/duc/fcfframe-modifiers.d.ts +0 -22
- package/dist/flatbuffers/duc/fcfframe-modifiers.js +0 -65
- package/dist/flatbuffers/duc/fcflayout-style.d.ts +0 -17
- package/dist/flatbuffers/duc/fcflayout-style.js +0 -56
- package/dist/flatbuffers/duc/fcfprojected-zone-modifier.d.ts +0 -13
- package/dist/flatbuffers/duc/fcfprojected-zone-modifier.js +0 -40
- package/dist/flatbuffers/duc/fcfsegment-row.d.ts +0 -17
- package/dist/flatbuffers/duc/fcfsegment-row.js +0 -55
- package/dist/flatbuffers/duc/fcfsymbol-style.d.ts +0 -13
- package/dist/flatbuffers/duc/fcfsymbol-style.js +0 -40
- package/dist/flatbuffers/duc/feature-control-frame-segment.d.ts +0 -22
- package/dist/flatbuffers/duc/feature-control-frame-segment.js +0 -65
- package/dist/flatbuffers/duc/feature-modifier.d.ts +0 -18
- package/dist/flatbuffers/duc/feature-modifier.js +0 -21
- package/dist/flatbuffers/duc/gdt-symbol.d.ts +0 -22
- package/dist/flatbuffers/duc/gdt-symbol.js +0 -25
- package/dist/flatbuffers/duc/geometric-point.d.ts +0 -10
- package/dist/flatbuffers/duc/geometric-point.js +0 -27
- package/dist/flatbuffers/duc/grid-display-type.d.ts +0 -6
- package/dist/flatbuffers/duc/grid-display-type.js +0 -9
- package/dist/flatbuffers/duc/grid-settings.d.ts +0 -54
- package/dist/flatbuffers/duc/grid-settings.js +0 -165
- package/dist/flatbuffers/duc/grid-style.d.ts +0 -26
- package/dist/flatbuffers/duc/grid-style.js +0 -74
- package/dist/flatbuffers/duc/grid-type.d.ts +0 -7
- package/dist/flatbuffers/duc/grid-type.js +0 -10
- package/dist/flatbuffers/duc/handle-type.d.ts +0 -4
- package/dist/flatbuffers/duc/handle-type.js +0 -7
- package/dist/flatbuffers/duc/hatch-pattern-line.d.ts +0 -35
- package/dist/flatbuffers/duc/hatch-pattern-line.js +0 -93
- package/dist/flatbuffers/duc/hatch-style.d.ts +0 -5
- package/dist/flatbuffers/duc/hatch-style.js +0 -8
- package/dist/flatbuffers/duc/identified-common-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-common-style.js +0 -44
- package/dist/flatbuffers/duc/identified-dimension-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-dimension-style.js +0 -44
- package/dist/flatbuffers/duc/identified-doc-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-doc-style.js +0 -44
- package/dist/flatbuffers/duc/identified-fcfstyle.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-fcfstyle.js +0 -44
- package/dist/flatbuffers/duc/identified-grid-settings.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-grid-settings.js +0 -44
- package/dist/flatbuffers/duc/identified-hatch-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-hatch-style.js +0 -44
- package/dist/flatbuffers/duc/identified-leader-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-leader-style.js +0 -44
- package/dist/flatbuffers/duc/identified-snap-settings.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-snap-settings.js +0 -44
- package/dist/flatbuffers/duc/identified-stack-like-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-stack-like-style.js +0 -44
- package/dist/flatbuffers/duc/identified-table-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-table-style.js +0 -44
- package/dist/flatbuffers/duc/identified-text-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-text-style.js +0 -44
- package/dist/flatbuffers/duc/identified-ucs.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-ucs.js +0 -44
- package/dist/flatbuffers/duc/identified-view.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-view.js +0 -44
- package/dist/flatbuffers/duc/identified-viewport-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-viewport-style.js +0 -44
- package/dist/flatbuffers/duc/identified-xray-style.d.ts +0 -16
- package/dist/flatbuffers/duc/identified-xray-style.js +0 -44
- package/dist/flatbuffers/duc/identifier.d.ts +0 -20
- package/dist/flatbuffers/duc/identifier.js +0 -57
- package/dist/flatbuffers/duc/image-crop.d.ts +0 -23
- package/dist/flatbuffers/duc/image-crop.js +0 -80
- package/dist/flatbuffers/duc/image-status.d.ts +0 -5
- package/dist/flatbuffers/duc/image-status.js +0 -8
- package/dist/flatbuffers/duc/isometric-grid-settings.d.ts +0 -15
- package/dist/flatbuffers/duc/isometric-grid-settings.js +0 -48
- package/dist/flatbuffers/duc/jsonpatch-operation.d.ts +0 -23
- package/dist/flatbuffers/duc/jsonpatch-operation.js +0 -64
- package/dist/flatbuffers/duc/layer-snap-filters.d.ts +0 -23
- package/dist/flatbuffers/duc/layer-snap-filters.js +0 -76
- package/dist/flatbuffers/duc/layer-validation-rules.d.ts +0 -17
- package/dist/flatbuffers/duc/layer-validation-rules.js +0 -54
- package/dist/flatbuffers/duc/leader-block-content.d.ts +0 -25
- package/dist/flatbuffers/duc/leader-block-content.js +0 -85
- package/dist/flatbuffers/duc/leader-content-data.d.ts +0 -9
- package/dist/flatbuffers/duc/leader-content-data.js +0 -26
- package/dist/flatbuffers/duc/leader-content-type.d.ts +0 -4
- package/dist/flatbuffers/duc/leader-content-type.js +0 -7
- package/dist/flatbuffers/duc/leader-content.d.ts +0 -19
- package/dist/flatbuffers/duc/leader-content.js +0 -58
- package/dist/flatbuffers/duc/leader-text-block-content.d.ts +0 -14
- package/dist/flatbuffers/duc/leader-text-block-content.js +0 -40
- package/dist/flatbuffers/duc/line-head.d.ts +0 -17
- package/dist/flatbuffers/duc/line-head.js +0 -20
- package/dist/flatbuffers/duc/line-spacing-type.d.ts +0 -5
- package/dist/flatbuffers/duc/line-spacing-type.js +0 -8
- package/dist/flatbuffers/duc/line-spacing.d.ts +0 -16
- package/dist/flatbuffers/duc/line-spacing.js +0 -49
- package/dist/flatbuffers/duc/linear-unit-system.d.ts +0 -24
- package/dist/flatbuffers/duc/linear-unit-system.js +0 -75
- package/dist/flatbuffers/duc/margins.d.ts +0 -19
- package/dist/flatbuffers/duc/margins.js +0 -64
- package/dist/flatbuffers/duc/mark-ellipse-center.d.ts +0 -4
- package/dist/flatbuffers/duc/mark-ellipse-center.js +0 -7
- package/dist/flatbuffers/duc/material-condition.d.ts +0 -5
- package/dist/flatbuffers/duc/material-condition.js +0 -8
- package/dist/flatbuffers/duc/object-snap-mode.d.ts +0 -22
- package/dist/flatbuffers/duc/object-snap-mode.js +0 -25
- package/dist/flatbuffers/duc/paragraph-formatting.d.ts +0 -33
- package/dist/flatbuffers/duc/paragraph-formatting.js +0 -106
- package/dist/flatbuffers/duc/parametric-source-type.d.ts +0 -4
- package/dist/flatbuffers/duc/parametric-source-type.js +0 -7
- package/dist/flatbuffers/duc/parametric-source.d.ts +0 -20
- package/dist/flatbuffers/duc/parametric-source.js +0 -57
- package/dist/flatbuffers/duc/plot-layout.d.ts +0 -14
- package/dist/flatbuffers/duc/plot-layout.js +0 -41
- package/dist/flatbuffers/duc/point-binding-point.d.ts +0 -15
- package/dist/flatbuffers/duc/point-binding-point.js +0 -48
- package/dist/flatbuffers/duc/polar-grid-settings.d.ts +0 -17
- package/dist/flatbuffers/duc/polar-grid-settings.js +0 -56
- package/dist/flatbuffers/duc/polar-tracking-settings.d.ts +0 -29
- package/dist/flatbuffers/duc/polar-tracking-settings.js +0 -90
- package/dist/flatbuffers/duc/primary-units.d.ts +0 -16
- package/dist/flatbuffers/duc/primary-units.js +0 -44
- package/dist/flatbuffers/duc/pruning-level.d.ts +0 -5
- package/dist/flatbuffers/duc/pruning-level.js +0 -8
- package/dist/flatbuffers/duc/snap-marker-settings.d.ts +0 -23
- package/dist/flatbuffers/duc/snap-marker-settings.js +0 -79
- package/dist/flatbuffers/duc/snap-marker-shape.d.ts +0 -6
- package/dist/flatbuffers/duc/snap-marker-shape.js +0 -9
- package/dist/flatbuffers/duc/snap-marker-style-entry.d.ts +0 -16
- package/dist/flatbuffers/duc/snap-marker-style-entry.js +0 -43
- package/dist/flatbuffers/duc/snap-marker-style.d.ts +0 -17
- package/dist/flatbuffers/duc/snap-marker-style.js +0 -49
- package/dist/flatbuffers/duc/snap-mode.d.ts +0 -4
- package/dist/flatbuffers/duc/snap-mode.js +0 -7
- package/dist/flatbuffers/duc/snap-override-behavior.d.ts +0 -5
- package/dist/flatbuffers/duc/snap-override-behavior.js +0 -8
- package/dist/flatbuffers/duc/snap-override.d.ts +0 -17
- package/dist/flatbuffers/duc/snap-override.js +0 -49
- package/dist/flatbuffers/duc/snap-settings.d.ts +0 -75
- package/dist/flatbuffers/duc/snap-settings.js +0 -245
- package/dist/flatbuffers/duc/stack-format-properties.d.ts +0 -18
- package/dist/flatbuffers/duc/stack-format-properties.js +0 -57
- package/dist/flatbuffers/duc/stack-format.d.ts +0 -21
- package/dist/flatbuffers/duc/stack-format.js +0 -64
- package/dist/flatbuffers/duc/stacked-text-align.d.ts +0 -5
- package/dist/flatbuffers/duc/stacked-text-align.js +0 -8
- package/dist/flatbuffers/duc/standard-overrides.d.ts +0 -63
- package/dist/flatbuffers/duc/standard-overrides.js +0 -162
- package/dist/flatbuffers/duc/standard-styles.d.ts +0 -77
- package/dist/flatbuffers/duc/standard-styles.js +0 -285
- package/dist/flatbuffers/duc/standard-units.d.ts +0 -16
- package/dist/flatbuffers/duc/standard-units.js +0 -44
- package/dist/flatbuffers/duc/standard-validation.d.ts +0 -16
- package/dist/flatbuffers/duc/standard-validation.js +0 -44
- package/dist/flatbuffers/duc/standard-view-settings.d.ts +0 -35
- package/dist/flatbuffers/duc/standard-view-settings.js +0 -124
- package/dist/flatbuffers/duc/standard.d.ts +0 -33
- package/dist/flatbuffers/duc/standard.js +0 -90
- package/dist/flatbuffers/duc/string-value-entry.d.ts +0 -17
- package/dist/flatbuffers/duc/string-value-entry.js +0 -49
- package/dist/flatbuffers/duc/stroke-cap.d.ts +0 -5
- package/dist/flatbuffers/duc/stroke-cap.js +0 -8
- package/dist/flatbuffers/duc/stroke-join.d.ts +0 -5
- package/dist/flatbuffers/duc/stroke-join.js +0 -8
- package/dist/flatbuffers/duc/stroke-placement.d.ts +0 -5
- package/dist/flatbuffers/duc/stroke-placement.js +0 -8
- package/dist/flatbuffers/duc/stroke-preference.d.ts +0 -6
- package/dist/flatbuffers/duc/stroke-preference.js +0 -9
- package/dist/flatbuffers/duc/stroke-side-preference.d.ts +0 -8
- package/dist/flatbuffers/duc/stroke-side-preference.js +0 -11
- package/dist/flatbuffers/duc/stroke-sides.d.ts +0 -24
- package/dist/flatbuffers/duc/stroke-sides.js +0 -67
- package/dist/flatbuffers/duc/stroke-style.d.ts +0 -37
- package/dist/flatbuffers/duc/stroke-style.js +0 -111
- package/dist/flatbuffers/duc/stroke-width.d.ts +0 -5
- package/dist/flatbuffers/duc/stroke-width.js +0 -8
- package/dist/flatbuffers/duc/table-cell-alignment.d.ts +0 -11
- package/dist/flatbuffers/duc/table-cell-alignment.js +0 -14
- package/dist/flatbuffers/duc/table-flow-direction.d.ts +0 -4
- package/dist/flatbuffers/duc/table-flow-direction.js +0 -7
- package/dist/flatbuffers/duc/text-align.d.ts +0 -5
- package/dist/flatbuffers/duc/text-align.js +0 -8
- package/dist/flatbuffers/duc/text-column.d.ts +0 -15
- package/dist/flatbuffers/duc/text-column.js +0 -48
- package/dist/flatbuffers/duc/text-field-source-property.d.ts +0 -13
- package/dist/flatbuffers/duc/text-field-source-property.js +0 -16
- package/dist/flatbuffers/duc/text-field-source-type.d.ts +0 -4
- package/dist/flatbuffers/duc/text-field-source-type.js +0 -7
- package/dist/flatbuffers/duc/text-flow-direction.d.ts +0 -6
- package/dist/flatbuffers/duc/text-flow-direction.js +0 -9
- package/dist/flatbuffers/duc/tiling-properties.d.ts +0 -21
- package/dist/flatbuffers/duc/tiling-properties.js +0 -75
- package/dist/flatbuffers/duc/tolerance-clause.d.ts +0 -27
- package/dist/flatbuffers/duc/tolerance-clause.js +0 -84
- package/dist/flatbuffers/duc/tolerance-display.d.ts +0 -7
- package/dist/flatbuffers/duc/tolerance-display.js +0 -10
- package/dist/flatbuffers/duc/tolerance-type.d.ts +0 -5
- package/dist/flatbuffers/duc/tolerance-type.js +0 -8
- package/dist/flatbuffers/duc/tolerance-zone-type.d.ts +0 -7
- package/dist/flatbuffers/duc/tolerance-zone-type.js +0 -10
- package/dist/flatbuffers/duc/tracking-line-style.d.ts +0 -26
- package/dist/flatbuffers/duc/tracking-line-style.js +0 -74
- package/dist/flatbuffers/duc/unit-precision.d.ts +0 -19
- package/dist/flatbuffers/duc/unit-precision.js +0 -64
- package/dist/flatbuffers/duc/unit-system-base.d.ts +0 -20
- package/dist/flatbuffers/duc/unit-system-base.js +0 -65
- package/dist/flatbuffers/duc/unit-system.d.ts +0 -4
- package/dist/flatbuffers/duc/unit-system.js +0 -7
- package/dist/flatbuffers/duc/version-base.d.ts +0 -27
- package/dist/flatbuffers/duc/version-base.js +0 -80
- package/dist/flatbuffers/duc/version-graph-metadata.d.ts +0 -15
- package/dist/flatbuffers/duc/version-graph-metadata.js +0 -48
- package/dist/flatbuffers/duc/version-graph.d.ts +0 -31
- package/dist/flatbuffers/duc/version-graph.js +0 -94
- package/dist/flatbuffers/duc/vertical-align.d.ts +0 -5
- package/dist/flatbuffers/duc/vertical-align.js +0 -8
- package/dist/flatbuffers/duc/viewport-shade-plot.d.ts +0 -6
- package/dist/flatbuffers/duc/viewport-shade-plot.js +0 -9
- package/dist/flatbuffers/duc/youtube-states.d.ts +0 -8
- package/dist/flatbuffers/duc/youtube-states.js +0 -11
- package/dist/flatbuffers/duc.d.ts +0 -234
- package/dist/flatbuffers/duc.js +0 -236
- package/dist/restore/restoreStandards.d.ts +0 -8
- package/dist/restore/restoreStandards.js +0 -224
- package/dist/technical/standards.d.ts +0 -124
- package/dist/technical/standards.js +0 -10
- package/dist/utils/elements/viewportElement.d.ts +0 -6
- package/dist/utils/elements/viewportElement.js +0 -9
- package/dist/utils/state/grid.d.ts +0 -7
- package/dist/utils/state/grid.js +0 -25
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export * from "./typeChecks";
|
|
2
|
-
import {
|
|
3
|
-
import { BEZIER_MIRRORING, BLENDING,
|
|
4
|
-
import { Standard, StandardUnits } from "../../technical/standards";
|
|
2
|
+
import { PrecisionValue, Scope } from "..";
|
|
3
|
+
import { BEZIER_MIRRORING, BLENDING, BOOLEAN_OPERATION, ELEMENT_CONTENT_PREFERENCE, HATCH_STYLE, IMAGE_STATUS, LINE_HEAD, LINE_SPACING_TYPE, STROKE_CAP, STROKE_JOIN, STROKE_PLACEMENT, STROKE_PREFERENCE, STROKE_SIDE_PREFERENCE, TEXT_ALIGN, VERTICAL_ALIGN } from "../../enums";
|
|
5
4
|
import { FONT_FAMILY, FREEDRAW_EASINGS } from "../../utils/constants";
|
|
6
|
-
import {
|
|
5
|
+
import { GeometricPoint, Percentage, Radian, ScaleFactor } from "../geometryTypes";
|
|
7
6
|
import { MakeBrand, MarkNonNullable, MarkOptional, Merge, ValueOf } from "../utility-types";
|
|
8
7
|
/**
|
|
9
8
|
* Base styles that all elements share
|
|
@@ -52,8 +51,6 @@ export type _DucElementBase = Readonly<_DucElementStylesBase & {
|
|
|
52
51
|
versionNonce: number;
|
|
53
52
|
/** Whether the element is a plot (i.e. visible on plotting) */
|
|
54
53
|
isPlot: boolean;
|
|
55
|
-
/** Whether the element is annotative (scales with DucViewport) */
|
|
56
|
-
isAnnotative: boolean;
|
|
57
54
|
/** Whether the element is deleted */
|
|
58
55
|
isDeleted: boolean;
|
|
59
56
|
/**
|
|
@@ -134,7 +131,7 @@ export type DucGenericElement = DucSelectionElement | DucRectangleElement;
|
|
|
134
131
|
* no computed data. The list of all DucElements should be shareable
|
|
135
132
|
* between peers and contain no state local to the peer.
|
|
136
133
|
*/
|
|
137
|
-
export type DucElement = DucGenericElement | DucTextElement | DucLinearElement | DucFreeDrawElement | DucArrowElement | DucImageElement | DucFrameElement | DucEmbeddableElement | DucTableElement | DucDocElement | DucEllipseElement | DucPolygonElement | DucModelElement |
|
|
134
|
+
export type DucElement = DucGenericElement | DucTextElement | DucLinearElement | DucFreeDrawElement | DucArrowElement | DucImageElement | DucFrameElement | DucEmbeddableElement | DucTableElement | DucDocElement | DucEllipseElement | DucPolygonElement | DucModelElement | DucPlotElement | DucPdfElement;
|
|
138
135
|
export type DucElementTypes = DucElement["type"];
|
|
139
136
|
export type NonDeleted<TElement extends DucElement> = TElement & {
|
|
140
137
|
isDeleted: boolean;
|
|
@@ -142,16 +139,16 @@ export type NonDeleted<TElement extends DucElement> = TElement & {
|
|
|
142
139
|
export type NonDeletedDucElement = NonDeleted<DucElement> & {
|
|
143
140
|
idx?: number;
|
|
144
141
|
};
|
|
145
|
-
export type DucBinderElement = DucLinearElement |
|
|
146
|
-
export type DucBindableElement = DucRectangleElement | DucPolygonElement | DucEllipseElement | DucTextElement | DucImageElement | DucEmbeddableElement | DucFrameElement | DucTableElement | DucDocElement |
|
|
142
|
+
export type DucBinderElement = DucLinearElement | DucArrowElement;
|
|
143
|
+
export type DucBindableElement = DucRectangleElement | DucPolygonElement | DucEllipseElement | DucTextElement | DucImageElement | DucEmbeddableElement | DucFrameElement | DucTableElement | DucDocElement | DucLinearElement | DucPdfElement;
|
|
147
144
|
export type DucTextContainer = DucRectangleElement | DucPolygonElement | DucEllipseElement | DucArrowElement;
|
|
148
145
|
export type DucFlowchartNodeElement = DucRectangleElement | DucPolygonElement | DucEllipseElement;
|
|
149
|
-
export type RectangularElement = DucRectangleElement | DucPolygonElement | DucFrameLikeElement | DucEmbeddableElement | DucImageElement | DucTextElement | DucSelectionElement | DucDocElement | DucTableElement |
|
|
150
|
-
export type DucStackLikeElement = DucPlotElement |
|
|
151
|
-
export type DucLinearLikeElement = DucLinearElement |
|
|
146
|
+
export type RectangularElement = DucRectangleElement | DucPolygonElement | DucFrameLikeElement | DucEmbeddableElement | DucImageElement | DucTextElement | DucSelectionElement | DucDocElement | DucTableElement | DucPlotElement | DucPdfElement;
|
|
147
|
+
export type DucStackLikeElement = DucPlotElement | DucFrameElement;
|
|
148
|
+
export type DucLinearLikeElement = DucLinearElement | DucArrowElement;
|
|
152
149
|
export type DucFrameLikeElement = DucPlotElement | DucFrameElement;
|
|
153
150
|
export type DucIframeLikeElement = DucEmbeddableElement | DucTableElement | DucDocElement;
|
|
154
|
-
export type ElementConstructorOpts = MarkOptional<Omit<DucGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "blockIds" | "instanceId" | "frameId" | "index" | "boundElements" | "seed" | "version" | "versionNonce" | "link" | "background" | "stroke" | "roundness" | "locked" | "opacity" | "customData" | "isVisible" | "description" | "scope" | "blending" | "isPlot" | "
|
|
151
|
+
export type ElementConstructorOpts = MarkOptional<Omit<DucGenericElement, "id" | "type" | "isDeleted" | "updated">, "width" | "height" | "angle" | "groupIds" | "blockIds" | "instanceId" | "frameId" | "index" | "boundElements" | "seed" | "version" | "versionNonce" | "link" | "background" | "stroke" | "roundness" | "locked" | "opacity" | "customData" | "isVisible" | "description" | "scope" | "blending" | "isPlot" | "regionIds" | "layerId">;
|
|
155
152
|
export type ElementUpdate<TElement extends DucElement> = Omit<Partial<TElement>, "id" | "version" | "versionNonce" | "updated">;
|
|
156
153
|
export type DucElementType = DucElement["type"];
|
|
157
154
|
export type DucCommonStyle = {
|
|
@@ -320,11 +317,20 @@ export type DucEmbeddableElement = _DucElementBase & {
|
|
|
320
317
|
* Configuration for PDF grid layout
|
|
321
318
|
*/
|
|
322
319
|
export type DocumentGridConfig = {
|
|
320
|
+
/** 1 = single, 2 = two-up, n = grid */
|
|
323
321
|
columns: number;
|
|
322
|
+
/** Horizontal spacing (px) */
|
|
324
323
|
gapX: number;
|
|
324
|
+
/** Vertical spacing (px) */
|
|
325
325
|
gapY: number;
|
|
326
|
-
|
|
326
|
+
/** Cover page behavior for 2+ columns */
|
|
327
327
|
firstPageAlone: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* The scale factor of the element (Drawing Units / Real World Units).
|
|
330
|
+
* The scale factor is strictly a ratio and is unitless.
|
|
331
|
+
* Example: 1:300 => 0.00333, 1:1 => 1, 5:1 => 5
|
|
332
|
+
*/
|
|
333
|
+
scale: number;
|
|
328
334
|
};
|
|
329
335
|
export type DucPdfElement = _DucElementBase & {
|
|
330
336
|
type: "pdf";
|
|
@@ -332,117 +338,10 @@ export type DucPdfElement = _DucElementBase & {
|
|
|
332
338
|
/** Configuration for rendering the document in a grid layout */
|
|
333
339
|
gridConfig: DocumentGridConfig;
|
|
334
340
|
};
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
source: string;
|
|
338
|
-
/** if not provided, the theme will be the same as the document's theme, or default to 'default'
|
|
339
|
-
* we decided to go with a string type because of the unpredictably of having different themes
|
|
340
|
-
*/
|
|
341
|
-
theme?: string;
|
|
342
|
-
svgPath: string | null;
|
|
343
|
-
};
|
|
344
|
-
export type TableCellAlignment = ValueOf<typeof TABLE_CELL_ALIGNMENT>;
|
|
345
|
-
export type TableFlowDirection = ValueOf<typeof TABLE_FLOW_DIRECTION>;
|
|
346
|
-
/**
|
|
347
|
-
* Defines the styling for an individual cell or a default for all cells.
|
|
348
|
-
* These properties can be overridden at the row, column, and individual cell levels.
|
|
349
|
-
*/
|
|
350
|
-
export type DucTableCellStyle = _DucElementStylesBase & {
|
|
351
|
-
/** The text style for content within the cell */
|
|
352
|
-
textStyle: DucTextStyle;
|
|
353
|
-
/** Margin space inside the cell, between the content and the border */
|
|
354
|
-
margins: {
|
|
355
|
-
top: PrecisionValue;
|
|
356
|
-
right: PrecisionValue;
|
|
357
|
-
bottom: PrecisionValue;
|
|
358
|
-
left: PrecisionValue;
|
|
359
|
-
};
|
|
360
|
-
/** The alignment of content within the cell */
|
|
361
|
-
alignment: TableCellAlignment;
|
|
362
|
-
};
|
|
363
|
-
/**
|
|
364
|
-
* Defines the overall style for a DucTableElement.
|
|
365
|
-
* It sets the defaults for rows, columns, and cells, which can be
|
|
366
|
-
* individually overridden.
|
|
367
|
-
*/
|
|
368
|
-
export type DucTableStyle = {
|
|
369
|
-
/** The direction in which new rows are added */
|
|
370
|
-
flowDirection: TableFlowDirection;
|
|
371
|
-
/** Default style for the header row(s) */
|
|
372
|
-
headerRowStyle: DucTableCellStyle;
|
|
373
|
-
/** Default style for the data row(s) */
|
|
374
|
-
dataRowStyle: DucTableCellStyle;
|
|
375
|
-
/** Default style for the data column(s) */
|
|
376
|
-
dataColumnStyle: DucTableCellStyle;
|
|
377
|
-
};
|
|
378
|
-
export type DucTableColumn = {
|
|
379
|
-
id: string;
|
|
380
|
-
width: PrecisionValue;
|
|
381
|
-
/** Style overrides for this column */
|
|
382
|
-
styleOverrides?: Partial<DucTableCellStyle>;
|
|
383
|
-
};
|
|
384
|
-
export type DucTableRow = {
|
|
385
|
-
id: string;
|
|
386
|
-
height: PrecisionValue;
|
|
387
|
-
/** Style overrides for this row */
|
|
388
|
-
styleOverrides?: Partial<DucTableCellStyle>;
|
|
389
|
-
};
|
|
390
|
-
export type DucTableCell = {
|
|
391
|
-
rowId: string;
|
|
392
|
-
columnId: string;
|
|
393
|
-
/**
|
|
394
|
-
* The content of the cell, stored as a Markdown string. This allows for rich text
|
|
395
|
-
* within cells without complicating the table's main data structure.
|
|
396
|
-
*/
|
|
397
|
-
data: string;
|
|
398
|
-
/**
|
|
399
|
-
* Defines if and how this cell merges with adjacent cells.
|
|
400
|
-
* A span of 1 means no merging.
|
|
401
|
-
* The root cell of a merge (top-left) holds the content and span data.
|
|
402
|
-
* Other cells covered by the span are effectively hidden.
|
|
403
|
-
*/
|
|
404
|
-
span?: {
|
|
405
|
-
/** Number of columns this cell spans to the right */
|
|
406
|
-
columns: number;
|
|
407
|
-
/** Number of rows this cell spans downwards */
|
|
408
|
-
rows: number;
|
|
409
|
-
};
|
|
410
|
-
/** Whether the content of this cell can be edited */
|
|
411
|
-
locked: boolean;
|
|
412
|
-
/**
|
|
413
|
-
* Style overrides for this specific cell.
|
|
414
|
-
* Any property set here will take precedence over row, column, and table styles.
|
|
415
|
-
*/
|
|
416
|
-
styleOverrides?: Partial<DucTableCellStyle>;
|
|
417
|
-
};
|
|
418
|
-
/**
|
|
419
|
-
* A structured table element composed of rows, columns, and cells.
|
|
420
|
-
* Its data is normalized for efficient updates, and styling is applied
|
|
421
|
-
* hierarchically. The element's base `stroke` and `background` style the
|
|
422
|
-
* outer border and fill.
|
|
423
|
-
*/
|
|
424
|
-
export type DucTableElement = _DucElementBase & DucTableStyle & {
|
|
341
|
+
/** Source of truth is the linked xlsx file */
|
|
342
|
+
export type DucTableElement = _DucElementBase & {
|
|
425
343
|
type: "table";
|
|
426
|
-
|
|
427
|
-
columnOrder: readonly string[];
|
|
428
|
-
/** An ordered list of row IDs, defining the vertical layout */
|
|
429
|
-
rowOrder: readonly string[];
|
|
430
|
-
/** A record of all column definitions, keyed by their ID */
|
|
431
|
-
columns: Record<string, DucTableColumn>;
|
|
432
|
-
/** A record of all row definitions, keyed by their ID */
|
|
433
|
-
rows: Record<string, DucTableRow>;
|
|
434
|
-
/**
|
|
435
|
-
* A record of all cell data, keyed by a composite "rowId:columnId" string.
|
|
436
|
-
* This flat structure is efficient for lookups and updates.
|
|
437
|
-
*/
|
|
438
|
-
cells: Record<string, DucTableCell>;
|
|
439
|
-
/** Number of top rows to be treated as headers, using the headerRowStyle */
|
|
440
|
-
headerRowCount: number;
|
|
441
|
-
/** Whether table auto-sizes to content */
|
|
442
|
-
autoSize: {
|
|
443
|
-
columns: boolean;
|
|
444
|
-
rows: boolean;
|
|
445
|
-
};
|
|
344
|
+
fileId: ExternalFileId | null;
|
|
446
345
|
};
|
|
447
346
|
export type ImageCrop = {
|
|
448
347
|
x: number;
|
|
@@ -470,13 +369,11 @@ export type DucImageElement = _DucElementBase & {
|
|
|
470
369
|
export type InitializedDucImageElement = MarkNonNullable<DucImageElement, "fileId">;
|
|
471
370
|
export type FontFamilyKeys = keyof typeof FONT_FAMILY;
|
|
472
371
|
export type FontFamilyValues = typeof FONT_FAMILY[FontFamilyKeys];
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
};
|
|
372
|
+
/** Font family identifier — any valid CSS font-family string (Google Font name, system font, etc.) */
|
|
373
|
+
export type FontString = string;
|
|
476
374
|
export type TextAlign = ValueOf<typeof TEXT_ALIGN>;
|
|
477
375
|
export type VerticalAlign = ValueOf<typeof VERTICAL_ALIGN>;
|
|
478
376
|
export type LineSpacingType = ValueOf<typeof LINE_SPACING_TYPE>;
|
|
479
|
-
export type TextFieldSourceProperty = ValueOf<typeof TEXT_FIELD_SOURCE_PROPERTY>;
|
|
480
377
|
export type DucTextStyle = {
|
|
481
378
|
/**
|
|
482
379
|
* Whether the text is left-to-right or right-to-left
|
|
@@ -486,7 +383,7 @@ export type DucTextStyle = {
|
|
|
486
383
|
/**
|
|
487
384
|
* The primary font family to use for the text
|
|
488
385
|
*/
|
|
489
|
-
fontFamily:
|
|
386
|
+
fontFamily: FontString;
|
|
490
387
|
/**
|
|
491
388
|
* Fallback font family for broader compatibility across all systems and languages
|
|
492
389
|
* Useful for emojis, non-latin characters, etc.
|
|
@@ -538,8 +435,6 @@ export type DucTextStyle = {
|
|
|
538
435
|
* This determines the height of capital letters
|
|
539
436
|
*/
|
|
540
437
|
fontSize: PrecisionValue;
|
|
541
|
-
/** Desired height on printed page (for annotative text) */
|
|
542
|
-
paperTextHeight?: PrecisionValue;
|
|
543
438
|
/**
|
|
544
439
|
* Character width as a ratio of text height
|
|
545
440
|
* Controls horizontal spacing and character proportions
|
|
@@ -560,12 +455,6 @@ export type DucTextElement = _DucElementBase & DucTextStyle & {
|
|
|
560
455
|
* Example: "Part: {{PN}} on Layer: {{LAYER}}"
|
|
561
456
|
*/
|
|
562
457
|
text: string;
|
|
563
|
-
/**
|
|
564
|
-
* An array of metadata objects that define the behavior of the placeholders
|
|
565
|
-
* found in the `text` property. If this is empty, the text is treated
|
|
566
|
-
* as purely static.
|
|
567
|
-
*/
|
|
568
|
-
dynamic: readonly DucTextDynamicPart[];
|
|
569
458
|
/**
|
|
570
459
|
* Text sizing behavior:
|
|
571
460
|
* - `true`: Width adjusts to fit text content (single line or natural wrapping)
|
|
@@ -578,38 +467,6 @@ export type DucTextElement = _DucElementBase & DucTextStyle & {
|
|
|
578
467
|
/** A non-rendered, original version of the text, e.g., before finishing writing the text */
|
|
579
468
|
originalText: string;
|
|
580
469
|
};
|
|
581
|
-
/**
|
|
582
|
-
* A discriminated union that precisely defines the source of a dynamic part's data.
|
|
583
|
-
* This structure is highly extensible.
|
|
584
|
-
*/
|
|
585
|
-
export type DucTextDynamicSource = {
|
|
586
|
-
sourceType: TEXT_FIELD_SOURCE_TYPE.ELEMENT;
|
|
587
|
-
/** The unique ID of the source element. */
|
|
588
|
-
elementId: DucElement["id"];
|
|
589
|
-
/** The specific property to retrieve from the source element. */
|
|
590
|
-
property: TextFieldSourceProperty;
|
|
591
|
-
} | {
|
|
592
|
-
sourceType: TEXT_FIELD_SOURCE_TYPE.DICTIONARY;
|
|
593
|
-
/** The key to look up in the global drawing dictionary. */
|
|
594
|
-
key: string;
|
|
595
|
-
};
|
|
596
|
-
/**
|
|
597
|
-
* Defines a single dynamic component within a text string.
|
|
598
|
-
* This object contains all the metadata needed to resolve and format a placeholder.
|
|
599
|
-
*/
|
|
600
|
-
export type DucTextDynamicPart = {
|
|
601
|
-
/**
|
|
602
|
-
* A unique key for this part, which matches the placeholder in the text string.
|
|
603
|
-
* E.g., for a placeholder `{{PartNumber}}`, the tag would be "PartNumber".
|
|
604
|
-
*/
|
|
605
|
-
tag: string;
|
|
606
|
-
/** The source of the data for this dynamic part. */
|
|
607
|
-
source: DucTextDynamicSource;
|
|
608
|
-
/** Formatting rules for displaying the final value. */
|
|
609
|
-
formatting?: StandardUnits["primaryUnits"];
|
|
610
|
-
/** The last known value, used as a fallback or for initial display. */
|
|
611
|
-
cachedValue: string;
|
|
612
|
-
};
|
|
613
470
|
export type DucTextElementWithContainer = {
|
|
614
471
|
containerId: DucTextContainer["id"];
|
|
615
472
|
} & DucTextElement;
|
|
@@ -745,19 +602,6 @@ export type DucBlockDuplicationArray = {
|
|
|
745
602
|
rowSpacing: PrecisionValue;
|
|
746
603
|
colSpacing: PrecisionValue;
|
|
747
604
|
};
|
|
748
|
-
/**
|
|
749
|
-
* Defines the schema for a single attribute within a block definition.
|
|
750
|
-
*/
|
|
751
|
-
export type DucBlockAttributeDefinition = {
|
|
752
|
-
/** The unique identifier for this attribute within the block (e.g., "PART_NUMBER"). */
|
|
753
|
-
tag: string;
|
|
754
|
-
/** The prompt displayed to the user when inserting the block (e.g., "Enter the part number:"). */
|
|
755
|
-
prompt?: string;
|
|
756
|
-
/** The default value for this attribute. */
|
|
757
|
-
defaultValue: string;
|
|
758
|
-
/** If true, the attribute's value is fixed and cannot be changed after insertion. */
|
|
759
|
-
isConstant: boolean;
|
|
760
|
-
};
|
|
761
605
|
/**
|
|
762
606
|
* Indicates the source drawing of a block.
|
|
763
607
|
*/
|
|
@@ -803,11 +647,6 @@ export type DucBlock = {
|
|
|
803
647
|
label: string;
|
|
804
648
|
description?: string;
|
|
805
649
|
version: number;
|
|
806
|
-
/**
|
|
807
|
-
* A record of attribute definitions for this block, keyed by their tag.
|
|
808
|
-
* This defines the "slots" for data that each instance can fill.
|
|
809
|
-
*/
|
|
810
|
-
attributeDefinitions: Readonly<Record<string, DucBlockAttributeDefinition>>;
|
|
811
650
|
/** Block metadata including source, usage count, timestamps, and localization */
|
|
812
651
|
metadata?: DucBlockMetadata;
|
|
813
652
|
/** Cached thumbnail image for the block (webp format) */
|
|
@@ -825,11 +664,6 @@ export type DucBlockInstance = {
|
|
|
825
664
|
* <string, string> <=> <elementId, path to field on the element (via JSON RFC6902 style path)>
|
|
826
665
|
*/
|
|
827
666
|
elementOverrides?: Record<string, string>;
|
|
828
|
-
/**
|
|
829
|
-
* A record of the actual values for the attributes of this specific instance,
|
|
830
|
-
* keyed by the attribute tag defined in the DucBlock.
|
|
831
|
-
*/
|
|
832
|
-
attributeValues?: Readonly<Record<string, string>>;
|
|
833
667
|
duplicationArray: DucBlockDuplicationArray | null;
|
|
834
668
|
};
|
|
835
669
|
export type DucBlockCollection = {
|
|
@@ -855,13 +689,10 @@ export type _DucStackBase = DucStackLikeStyles & {
|
|
|
855
689
|
};
|
|
856
690
|
export type DucStackLikeStyles = {
|
|
857
691
|
opacity: _DucElementBase["opacity"];
|
|
858
|
-
labelingColor: string;
|
|
859
692
|
};
|
|
860
693
|
export type _DucStackElementBase = _DucElementBase & _DucStackBase & {
|
|
861
694
|
clip: boolean;
|
|
862
695
|
labelVisible: boolean;
|
|
863
|
-
/** Everything inside the stack will use this standard */
|
|
864
|
-
standardOverride: Standard["id"] | null;
|
|
865
696
|
};
|
|
866
697
|
export type DucFrameElement = _DucStackElementBase & {
|
|
867
698
|
type: "frame";
|
|
@@ -890,60 +721,6 @@ export type DucLayer = _DucStackBase & {
|
|
|
890
721
|
background: ElementBackground;
|
|
891
722
|
} | null;
|
|
892
723
|
};
|
|
893
|
-
/**
|
|
894
|
-
* Viewport scale represents how model space is displayed in a viewport.
|
|
895
|
-
* For a scale notation A:B, this represents the ratio A/B.
|
|
896
|
-
*
|
|
897
|
-
* Examples:
|
|
898
|
-
* - 1:200 viewport → ViewportScale = 1/200 = 0.005
|
|
899
|
-
* - 1:50 viewport → ViewportScale = 1/50 = 0.02
|
|
900
|
-
* - 1:1 viewport → ViewportScale = 1/1 = 1
|
|
901
|
-
* - 2:1 viewport → ViewportScale = 2/1 = 2
|
|
902
|
-
* - 10:1 viewport → ViewportScale = 10/1 = 10
|
|
903
|
-
*
|
|
904
|
-
* This represents how much model space is "zoomed" in the viewport.
|
|
905
|
-
*/
|
|
906
|
-
export type ViewportScale = number & {
|
|
907
|
-
_brand: "viewportScale";
|
|
908
|
-
};
|
|
909
|
-
/**
|
|
910
|
-
* Annotation scale represents the factor by which annotative objects
|
|
911
|
-
* are scaled to maintain consistent appearance across different viewport scales.
|
|
912
|
-
* For a scale notation A:B, this represents B/A.
|
|
913
|
-
*
|
|
914
|
-
* Examples:
|
|
915
|
-
* - 1:200 drawing → AnnotationScale = 200/1 = 200
|
|
916
|
-
* - 1:50 drawing → AnnotationScale = 50/1 = 50
|
|
917
|
-
* - 1:1 drawing → AnnotationScale = 1/1 = 1
|
|
918
|
-
* - 2:1 drawing → AnnotationScale = 1/2 = 0.5
|
|
919
|
-
* - 10:1 drawing → AnnotationScale = 1/10 = 0.1
|
|
920
|
-
*
|
|
921
|
-
* This is typically the inverse of the viewport scale.
|
|
922
|
-
*/
|
|
923
|
-
export type AnnotationScale = number & {
|
|
924
|
-
_brand: "annotationScale";
|
|
925
|
-
};
|
|
926
|
-
export type ViewportShadePlot = ValueOf<typeof VIEWPORT_SHADE_PLOT>;
|
|
927
|
-
/**
|
|
928
|
-
* This is the style for the viewport element
|
|
929
|
-
* Grid settings, UCS, Snapping and more can be overridden through the overrideStandard property from the _DucStackElementBase
|
|
930
|
-
*/
|
|
931
|
-
export type DucViewportStyle = {
|
|
932
|
-
scaleIndicatorVisible: boolean;
|
|
933
|
-
};
|
|
934
|
-
export type DucViewportElement = _DucLinearElementBase & _DucStackBase & DucViewportStyle & {
|
|
935
|
-
type: "viewport";
|
|
936
|
-
/** View configuration */
|
|
937
|
-
view: DucView;
|
|
938
|
-
/** Viewport scale settings */
|
|
939
|
-
scale: ViewportScale;
|
|
940
|
-
/** Shade plot setting */
|
|
941
|
-
shadePlot: ViewportShadePlot;
|
|
942
|
-
/** Frozen layers in this viewport */
|
|
943
|
-
frozenGroupIds: GroupId[];
|
|
944
|
-
/** Everything inside the viewport will use this standard */
|
|
945
|
-
standardOverride: Standard["id"] | null;
|
|
946
|
-
};
|
|
947
724
|
/**
|
|
948
725
|
* Defines the properties of a printable area, including size and margins.
|
|
949
726
|
*/
|
|
@@ -968,461 +745,111 @@ export type DucPlotElement = _DucStackElementBase & DucPlotStyle & {
|
|
|
968
745
|
/** The layout definition for this plot, including paper size and margins. */
|
|
969
746
|
layout: PlotLayout;
|
|
970
747
|
};
|
|
971
|
-
export type
|
|
972
|
-
|
|
973
|
-
* The color of the x-ray
|
|
974
|
-
*/
|
|
975
|
-
color: string;
|
|
976
|
-
};
|
|
977
|
-
export type DucXRayElement = _DucElementBase & DucXRayStyle & {
|
|
978
|
-
type: "xray";
|
|
979
|
-
origin: DucPoint;
|
|
980
|
-
direction: DucPoint;
|
|
981
|
-
/**
|
|
982
|
-
* If true, the x-ray will start from the origin.
|
|
983
|
-
* If false, the x-ray will be a full infinite line.
|
|
984
|
-
* @default false
|
|
985
|
-
*/
|
|
986
|
-
startFromOrigin: boolean;
|
|
987
|
-
};
|
|
988
|
-
export type BlockAttachment = ValueOf<typeof BLOCK_ATTACHMENT>;
|
|
989
|
-
/**
|
|
990
|
-
* Defines the visual appearance and behavior of a leader.
|
|
991
|
-
*/
|
|
992
|
-
export type DucLeaderStyle = {
|
|
993
|
-
/**
|
|
994
|
-
* Override the heads of the leader
|
|
995
|
-
* The tuple represents [startHead, endHead]
|
|
996
|
-
*/
|
|
997
|
-
headsOverride?: [DucHead, DucHead];
|
|
998
|
-
/** The "dogleg" or "landing" segment that connects the leader line to the content. */
|
|
999
|
-
dogleg?: PrecisionValue;
|
|
1000
|
-
/** Default styling for text content. */
|
|
1001
|
-
textStyle: DucTextStyle;
|
|
1002
|
-
/**
|
|
1003
|
-
* How the text content attaches to the leader's landing line.
|
|
1004
|
-
* 'top': Text is below the line. 'middle': Text is centered on the line.
|
|
1005
|
-
*/
|
|
1006
|
-
textAttachment: VerticalAlign;
|
|
1007
|
-
/** How the block content attaches to the leader's landing line. */
|
|
1008
|
-
blockAttachment: BlockAttachment;
|
|
1009
|
-
};
|
|
1010
|
-
/**
|
|
1011
|
-
* Defines the content attached to a leader. The leader is atomic, so its
|
|
1012
|
-
* content is defined within it, not as a separate scene element.
|
|
1013
|
-
*/
|
|
1014
|
-
export type LeaderContent = {
|
|
1015
|
-
type: "text";
|
|
1016
|
-
/** The rich text or markdown string for the content. */
|
|
1017
|
-
text: DucTextElement["text"];
|
|
1018
|
-
} | {
|
|
1019
|
-
type: "block";
|
|
1020
|
-
/** The ID of the DucBlock definition to use as content. */
|
|
1021
|
-
blockId: InstanceId;
|
|
1022
|
-
/**
|
|
1023
|
-
* The attribute values and element overrides for this specific block instance.
|
|
1024
|
-
* This is a subset of the properties from DucBlockInstance.
|
|
1025
|
-
*/
|
|
1026
|
-
instanceData: {
|
|
1027
|
-
attributeValues?: DucBlockInstance["attributeValues"];
|
|
1028
|
-
elementOverrides?: DucBlockInstance["elementOverrides"];
|
|
1029
|
-
};
|
|
1030
|
-
};
|
|
1031
|
-
/**
|
|
1032
|
-
* A leader element that connects an annotation (text or a block) to a point
|
|
1033
|
-
* or feature in the drawing. It is a single, atomic entity that manages its
|
|
1034
|
-
* own geometry and content. It is designed to be compatible with the modern
|
|
1035
|
-
*/
|
|
1036
|
-
export type DucLeaderElement = _DucLinearElementBase & DucLeaderStyle & {
|
|
1037
|
-
type: "leader";
|
|
1038
|
-
/**
|
|
1039
|
-
* The content attached to the leader. Stored internally to keep the element atomic.
|
|
1040
|
-
*/
|
|
1041
|
-
leaderContent: LeaderContent | null;
|
|
1042
|
-
/**
|
|
1043
|
-
* The anchor point for the content block, in world coordinates.
|
|
1044
|
-
* The leader's dogleg/landing connects to this point.
|
|
1045
|
-
*/
|
|
1046
|
-
contentAnchor: GeometricPoint;
|
|
1047
|
-
};
|
|
1048
|
-
export type DimensionType = ValueOf<typeof DIMENSION_TYPE>;
|
|
1049
|
-
export type MarkEllipseCenter = ValueOf<typeof MARK_ELLIPSE_CENTER>;
|
|
1050
|
-
export type ToleranceDisplay = ValueOf<typeof TOLERANCE_DISPLAY>;
|
|
1051
|
-
export type DimensionFitRule = ValueOf<typeof DIMENSION_FIT_RULE>;
|
|
1052
|
-
export type DimensionTextPlacement = ValueOf<typeof DIMENSION_TEXT_PLACEMENT>;
|
|
1053
|
-
/**
|
|
1054
|
-
* The key geometric points that define a dimension's measurement.
|
|
1055
|
-
* The meaning of each point depends on the dimensionType.
|
|
1056
|
-
*/
|
|
1057
|
-
export type DimensionDefinitionPoints = {
|
|
1058
|
-
/**
|
|
1059
|
-
* Primary origin point (e.g., start of a linear dimension, point on a circle for radius).
|
|
1060
|
-
* DXF DefPoint1
|
|
1061
|
-
*/
|
|
1062
|
-
origin1: GeometricPoint;
|
|
1063
|
-
/**
|
|
1064
|
-
* Secondary origin point (e.g., end of a linear dimension, end of an arc).
|
|
1065
|
-
* DXF DefPoint2
|
|
1066
|
-
*/
|
|
1067
|
-
origin2?: GeometricPoint;
|
|
1068
|
-
/**
|
|
1069
|
-
* A point that defines the position of the dimension line or arc.
|
|
1070
|
-
* DXF DefPoint3
|
|
1071
|
-
*/
|
|
1072
|
-
location: GeometricPoint;
|
|
1073
|
-
/**
|
|
1074
|
-
* Center point (for radial/angular/diameter) or vertex (for angular).
|
|
1075
|
-
* DXF DefPoint4
|
|
1076
|
-
*/
|
|
1077
|
-
center?: GeometricPoint;
|
|
1078
|
-
/**
|
|
1079
|
-
* A point defining a jog in the dimension line.
|
|
1080
|
-
* DXF DefPoint5
|
|
1081
|
-
*/
|
|
1082
|
-
jog?: GeometricPoint;
|
|
1083
|
-
};
|
|
1084
|
-
/**
|
|
1085
|
-
* Defines the complete visual appearance of a dimension.
|
|
1086
|
-
* This style can be stored in a library and applied to many dimension instances.
|
|
1087
|
-
*/
|
|
1088
|
-
export type DucDimensionStyle = {
|
|
1089
|
-
/** Style for the main dimension line and its arrowheads */
|
|
1090
|
-
dimLine: {
|
|
1091
|
-
stroke: ElementStroke;
|
|
1092
|
-
/** Gap between the dimension line and the text when text is placed inside */
|
|
1093
|
-
textGap: PrecisionValue;
|
|
1094
|
-
};
|
|
1095
|
-
/** Style for the extension lines that connect the dimension to the feature */
|
|
1096
|
-
extLine: {
|
|
1097
|
-
stroke: ElementStroke;
|
|
1098
|
-
/** Distance to extend the line beyond the dimension line */
|
|
1099
|
-
overshoot: PrecisionValue;
|
|
1100
|
-
/** Gap between the feature origin and the start of the extension line */
|
|
1101
|
-
offset: PrecisionValue;
|
|
1102
|
-
};
|
|
1103
|
-
/** The text style used for the dimension's measurement and annotations */
|
|
1104
|
-
textStyle: DucTextStyle;
|
|
1105
|
-
/** Configuration for arrowheads and other symbols */
|
|
1106
|
-
symbols: {
|
|
1107
|
-
/**
|
|
1108
|
-
* Override the arrow heads for each dimension line
|
|
1109
|
-
* The tuple represents [startHead, endHead]
|
|
1110
|
-
*/
|
|
1111
|
-
headsOverride?: [DucHead, DucHead];
|
|
1112
|
-
/** Center mark configuration for radial/diameter dimensions */
|
|
1113
|
-
centerMark: {
|
|
1114
|
-
type: MarkEllipseCenter;
|
|
1115
|
-
size: PrecisionValue;
|
|
1116
|
-
};
|
|
1117
|
-
};
|
|
1118
|
-
/** Default settings for dimensional tolerances */
|
|
1119
|
-
tolerance: {
|
|
1120
|
-
/** Whether to display tolerances by default */
|
|
1121
|
-
enabled: boolean;
|
|
1122
|
-
/** Default display method (e.g., Symmetrical, Limits) */
|
|
1123
|
-
displayMethod: ToleranceDisplay;
|
|
1124
|
-
/** Default upper tolerance value */
|
|
1125
|
-
upperValue: number;
|
|
1126
|
-
/** Default lower tolerance value */
|
|
1127
|
-
lowerValue: number;
|
|
1128
|
-
/** Decimal places for tolerance values */
|
|
1129
|
-
precision: number;
|
|
1130
|
-
/** The text style for the tolerance values, inheriting from the main textStyle */
|
|
1131
|
-
textStyle: Partial<DucTextStyle>;
|
|
1132
|
-
};
|
|
1133
|
-
/** Rules for how to arrange text and arrows when space is limited */
|
|
1134
|
-
fit: {
|
|
1135
|
-
/** Determines what to move when text and arrows don't fit between extension lines */
|
|
1136
|
-
rule: DimensionFitRule;
|
|
1137
|
-
/** If text is moved, determines its placement relative to the dimension line */
|
|
1138
|
-
textPlacement: DimensionTextPlacement;
|
|
1139
|
-
/** Forces text to always be placed between extension lines */
|
|
1140
|
-
forceTextInside: boolean;
|
|
1141
|
-
};
|
|
1142
|
-
};
|
|
1143
|
-
/**
|
|
1144
|
-
* A dimension element is an atomic annotation that measures and displays the
|
|
1145
|
-
* distance or angle between points. It renders its own lines, arrows, and text
|
|
1146
|
-
* based on its definition points and style, ensuring a clean and robust data model.
|
|
1147
|
-
*/
|
|
1148
|
-
export type DucDimensionElement = _DucElementBase & DucDimensionStyle & {
|
|
1149
|
-
type: "dimension";
|
|
1150
|
-
/** The type of dimension, which determines how definition points are interpreted */
|
|
1151
|
-
dimensionType: DimensionType;
|
|
1152
|
-
/** The core geometric points that define what is being measured */
|
|
1153
|
-
definitionPoints: DimensionDefinitionPoints;
|
|
1154
|
-
/**
|
|
1155
|
-
* The oblique angle for the extension lines, used for isometric-style dimensions.
|
|
1156
|
-
* An angle of 0 means they are perpendicular to the dimension line.
|
|
1157
|
-
*/
|
|
1158
|
-
obliqueAngle: Radian;
|
|
1159
|
-
/**
|
|
1160
|
-
* For 'ordinate' dimensions, specifies whether it measures the X or Y coordinate.
|
|
1161
|
-
*/
|
|
1162
|
-
ordinateAxis: Axis | null;
|
|
1163
|
-
/**
|
|
1164
|
-
* Defines how the definition points are associated with other elements when `isAssociative` is true.
|
|
1165
|
-
* The keys correspond to the keys in `definitionPoints`.
|
|
1166
|
-
*/
|
|
1167
|
-
bindings?: {
|
|
1168
|
-
origin1: DucPointBinding | null;
|
|
1169
|
-
origin2: DucPointBinding | null;
|
|
1170
|
-
center: DucPointBinding | null;
|
|
1171
|
-
};
|
|
1172
|
-
/**
|
|
1173
|
-
* User-override for the dimension text content.
|
|
1174
|
-
* - If `null`, the measured value is automatically calculated and displayed.
|
|
1175
|
-
* - If a string, this value is displayed instead.
|
|
1176
|
-
* Use `<>` within the string (e.g., "R<>") to include the calculated measurement.
|
|
1177
|
-
*/
|
|
1178
|
-
textOverride: string | null;
|
|
1179
|
-
/**
|
|
1180
|
-
* User-override for the text position.
|
|
1181
|
-
* - If `null`, the position is automatically determined by the 'fit' rules in the style.
|
|
1182
|
-
* - If a point, the text is moved to this exact location.
|
|
1183
|
-
*/
|
|
1184
|
-
textPosition: GeometricPoint | null;
|
|
1185
|
-
/** Instance-specific overrides for tolerance, taking precedence over the style's defaults */
|
|
1186
|
-
toleranceOverride?: Partial<DucDimensionStyle["tolerance"]>;
|
|
1187
|
-
/** If this is a baseline dimension, contains data linking it to the base */
|
|
1188
|
-
baselineData?: {
|
|
1189
|
-
baseDimensionId: string;
|
|
1190
|
-
};
|
|
1191
|
-
/** If this is a continued dimension, contains data linking it to the previous one */
|
|
1192
|
-
continueData?: {
|
|
1193
|
-
continueFromDimensionId: string;
|
|
1194
|
-
};
|
|
1195
|
-
/** Calculated measurement value (read-only, for inspection/API use) */
|
|
1196
|
-
readonly calculatedValue: PrecisionValue;
|
|
1197
|
-
};
|
|
1198
|
-
export type GDTSymbol = ValueOf<typeof GDT_SYMBOL>;
|
|
1199
|
-
export type MaterialCondition = ValueOf<typeof MATERIAL_CONDITION>;
|
|
1200
|
-
export type FeatureModifier = ValueOf<typeof FEATURE_MODIFIER>;
|
|
1201
|
-
export type ToleranceZoneType = ValueOf<typeof TOLERANCE_ZONE_TYPE>;
|
|
1202
|
-
export type DatumTargetType = ValueOf<typeof DATUM_TARGET_TYPE>;
|
|
1203
|
-
export type ToleranceType = ValueOf<typeof TOLERANCE_TYPE>;
|
|
1204
|
-
export type DatumBracketStyle = ValueOf<typeof DATUM_BRACKET_STYLE>;
|
|
1205
|
-
/**
|
|
1206
|
-
* Represents a single datum reference in a datum reference frame (e.g., "| A(M) |").
|
|
1207
|
-
*/
|
|
1208
|
-
export type DatumReference = {
|
|
1209
|
-
/** The datum letter or letters (e.g., "A", "B", "A-B") */
|
|
1210
|
-
letters: string;
|
|
1211
|
-
/** Material condition modifier, if any (e.g., Maximum, Least) */
|
|
1212
|
-
modifier?: MaterialCondition;
|
|
1213
|
-
};
|
|
1214
|
-
/**
|
|
1215
|
-
* Defines the tolerance value and its related specifications within a segment.
|
|
1216
|
-
*/
|
|
1217
|
-
export type ToleranceClause = {
|
|
1218
|
-
/** The primary tolerance value, represented as a string to support various formats */
|
|
1219
|
-
value: string;
|
|
1220
|
-
/** The type of tolerance zone (e.g., Cylindrical, Spherical) */
|
|
1221
|
-
zoneType?: ToleranceZoneType;
|
|
1222
|
-
/** A list of modifiers that apply directly to the feature, like Diameter or Projected Zone */
|
|
1223
|
-
featureModifiers: readonly FeatureModifier[];
|
|
1224
|
-
/** Material condition modifier for the tolerance itself */
|
|
1225
|
-
materialCondition?: MaterialCondition;
|
|
1226
|
-
};
|
|
1227
|
-
/**
|
|
1228
|
-
* A single segment within a Feature Control Frame row.
|
|
1229
|
-
* Typically contains a geometric symbol, a tolerance clause, and datum references.
|
|
1230
|
-
*/
|
|
1231
|
-
export type FeatureControlFrameSegment = {
|
|
1232
|
-
/** The geometric characteristic symbol (e.g., Position, Flatness, Profile) */
|
|
1233
|
-
symbol: GDTSymbol;
|
|
1234
|
-
/** The tolerance specification for this segment */
|
|
1235
|
-
tolerance: ToleranceClause;
|
|
1236
|
-
/** The datum reference frame, ordered by priority */
|
|
1237
|
-
datums: readonly [
|
|
1238
|
-
primary?: DatumReference,
|
|
1239
|
-
secondary?: DatumReference,
|
|
1240
|
-
tertiary?: DatumReference
|
|
1241
|
-
];
|
|
1242
|
-
};
|
|
1243
|
-
/**
|
|
1244
|
-
* Defines the visual appearance of a Feature Control Frame.
|
|
1245
|
-
* This can be stored in a style library and reused.
|
|
1246
|
-
*/
|
|
1247
|
-
export type DucFeatureControlFrameStyle = {
|
|
1248
|
-
/** The base text style for numbers and letters within the frame */
|
|
1249
|
-
textStyle: DucTextStyle;
|
|
1250
|
-
/** Layout and spacing properties */
|
|
1251
|
-
layout: {
|
|
1252
|
-
/** Padding between the content and the outer frame border */
|
|
1253
|
-
padding: PrecisionValue;
|
|
1254
|
-
/** Spacing between segments (vertical lines) in a row */
|
|
1255
|
-
segmentSpacing: PrecisionValue;
|
|
1256
|
-
/** Spacing between rows in a composite frame */
|
|
1257
|
-
rowSpacing: PrecisionValue;
|
|
1258
|
-
};
|
|
1259
|
-
/** Configuration for GD&T symbols */
|
|
1260
|
-
symbols: {
|
|
1261
|
-
/** Scale factor for symbols relative to the text height */
|
|
1262
|
-
scale: number;
|
|
1263
|
-
};
|
|
1264
|
-
/** Styling for datum references */
|
|
1265
|
-
datumStyle: {
|
|
1266
|
-
/** The style of bracket to draw around datum letters */
|
|
1267
|
-
bracketStyle: DatumBracketStyle;
|
|
1268
|
-
};
|
|
1269
|
-
};
|
|
1270
|
-
/**
|
|
1271
|
-
* A Geometric Dimensioning and Tolerancing (GD&T) Feature Control Frame element.
|
|
1272
|
-
* This element can represent a tolerance specification or define a datum feature.
|
|
1273
|
-
*/
|
|
1274
|
-
export type DucFeatureControlFrameElement = _DucElementBase & DucFeatureControlFrameStyle & {
|
|
1275
|
-
type: "featurecontrolframe";
|
|
1276
|
-
/**
|
|
1277
|
-
* An array of rows. Most FCFs have one row. Composite frames have multiple rows.
|
|
1278
|
-
* Each row is an array of segments that are drawn horizontally.
|
|
1279
|
-
*/
|
|
1280
|
-
rows: readonly (readonly FeatureControlFrameSegment[])[];
|
|
1281
|
-
/**
|
|
1282
|
-
* Modifiers that apply to the entire feature control frame.
|
|
1283
|
-
*/
|
|
1284
|
-
frameModifiers?: {
|
|
1285
|
-
allAround?: boolean;
|
|
1286
|
-
allOver?: boolean;
|
|
1287
|
-
continuousFeature?: boolean;
|
|
1288
|
-
between?: {
|
|
1289
|
-
start: string;
|
|
1290
|
-
end: string;
|
|
1291
|
-
};
|
|
1292
|
-
projectedToleranceZone?: PrecisionValue;
|
|
1293
|
-
};
|
|
1294
|
-
/**
|
|
1295
|
-
* A reference to a leader element that points to this FCF.
|
|
1296
|
-
* The leader element itself holds the geometry and start/end bindings.
|
|
1297
|
-
* This provides a simple, one-way link.
|
|
1298
|
-
*/
|
|
1299
|
-
leaderElementId: DucLeaderElement["id"] | null;
|
|
1300
|
-
/**
|
|
1301
|
-
* If present, this element acts as a **Datum Feature Symbol**, defining the specified
|
|
1302
|
-
* datum letter and attached to a feature. The `rows` property would be empty.
|
|
1303
|
-
*/
|
|
1304
|
-
datumDefinition?: {
|
|
1305
|
-
/** The datum letter this symbol defines (e.g., "A", "B") */
|
|
1306
|
-
letter: string;
|
|
1307
|
-
/**
|
|
1308
|
-
* An optional binding directly to a point on the feature being identified as the datum.
|
|
1309
|
-
* Used when a leader is not present.
|
|
1310
|
-
*/
|
|
1311
|
-
featureBinding?: DucPointBinding;
|
|
1312
|
-
};
|
|
1313
|
-
};
|
|
1314
|
-
export type TextFlowDirection = ValueOf<typeof TEXT_FLOW_DIRECTION>;
|
|
1315
|
-
export type ColumnType = ValueOf<typeof COLUMN_TYPE>;
|
|
1316
|
-
export type StackedTextAlign = ValueOf<typeof STACKED_TEXT_ALIGN>;
|
|
1317
|
-
/**
|
|
1318
|
-
* Defines advanced styling for a DucDocElement, extending the base text styles.
|
|
1319
|
-
* These properties control the overall layout and appearance of the document block.
|
|
1320
|
-
*/
|
|
1321
|
-
export type DucDocStyle = DucTextStyle & {
|
|
1322
|
-
paragraph: {
|
|
1323
|
-
/** Indentation for the first line of each paragraph */
|
|
1324
|
-
firstLineIndent: PrecisionValue;
|
|
1325
|
-
/** Indentation for all lines except the first (hanging indent) */
|
|
1326
|
-
hangingIndent: PrecisionValue;
|
|
1327
|
-
/** Indentation from the left edge of the element's bounding box */
|
|
1328
|
-
leftIndent: PrecisionValue;
|
|
1329
|
-
/** Indentation from the right edge of the element's bounding box */
|
|
1330
|
-
rightIndent: PrecisionValue;
|
|
1331
|
-
/** Extra spacing added before each paragraph */
|
|
1332
|
-
spaceBefore: PrecisionValue;
|
|
1333
|
-
/** Extra spacing added after each paragraph */
|
|
1334
|
-
spaceAfter: PrecisionValue;
|
|
1335
|
-
/** A list of tab stop positions from the left indent */
|
|
1336
|
-
tabStops: PrecisionValue[];
|
|
1337
|
-
};
|
|
1338
|
-
stackFormat: {
|
|
1339
|
-
/** Enable automatic stacking of text around specified characters */
|
|
1340
|
-
autoStack: boolean;
|
|
1341
|
-
/** Characters that trigger stacking (e.g., "/", "#", "^") */
|
|
1342
|
-
stackChars: string[];
|
|
1343
|
-
/** Properties for how stacked text is rendered */
|
|
1344
|
-
properties: {
|
|
1345
|
-
/** Scale of the upper text relative to the main font size */
|
|
1346
|
-
upperScale: number;
|
|
1347
|
-
/** Scale of the lower text relative to the main font size */
|
|
1348
|
-
lowerScale: number;
|
|
1349
|
-
/** Alignment of stacked text (e.g., center, decimal) */
|
|
1350
|
-
alignment: StackedTextAlign;
|
|
1351
|
-
};
|
|
1352
|
-
};
|
|
1353
|
-
};
|
|
1354
|
-
/**
|
|
1355
|
-
* Defines the properties of a single column within a multi-column DucDocElement.
|
|
1356
|
-
* The collection of these definitions dictates the overall column layout.
|
|
1357
|
-
*/
|
|
1358
|
-
export type TextColumn = {
|
|
1359
|
-
/** The width of the column in drawing units. */
|
|
1360
|
-
width: PrecisionValue;
|
|
1361
|
-
/** The space between this column and the next, also known as the gutter. */
|
|
1362
|
-
gutter: PrecisionValue;
|
|
1363
|
-
};
|
|
1364
|
-
/**
|
|
1365
|
-
* A rich text document element
|
|
1366
|
-
* It supports complex formatting through its style properties and uses a Markdown
|
|
1367
|
-
* string for inline text styling, which can be edited with a rich text editor.
|
|
1368
|
-
*/
|
|
1369
|
-
export type DucDocElement = _DucElementBase & DucDocStyle & {
|
|
748
|
+
export type DucDocStyle = {};
|
|
749
|
+
export type DucDocElement = _DucElementBase & {
|
|
1370
750
|
type: "doc";
|
|
1371
|
-
/**
|
|
1372
|
-
* The content of the document, stored as a code string.
|
|
1373
|
-
* This approach allows to use a rich text editor that can compile to PDF using Typst code
|
|
1374
|
-
*
|
|
1375
|
-
* It can also contain wildcards like `{@fieldname}` for dynamic data insertion.
|
|
1376
|
-
* Example: "This is **bold text** and this is a {color:red}red word{/color}."
|
|
1377
|
-
*
|
|
1378
|
-
* It can also contain zero or more placeholders in the format `{{tag}}`.
|
|
1379
|
-
* Example: "This document was last saved on {{SaveDate}} by {{Author}}."
|
|
1380
|
-
*/
|
|
1381
751
|
text: string;
|
|
1382
752
|
fileId: ExternalFileId | null;
|
|
1383
753
|
/** Configuration for rendering the document in a grid layout */
|
|
1384
754
|
gridConfig: DocumentGridConfig;
|
|
1385
|
-
/**
|
|
1386
|
-
* An array of metadata objects that define the behavior of the placeholders
|
|
1387
|
-
* found in the `text` property. If this is empty, the text is treated
|
|
1388
|
-
* as purely static.
|
|
1389
|
-
*/
|
|
1390
|
-
dynamic: readonly DucTextDynamicPart[];
|
|
1391
|
-
/** Direction of text flow for multi-column layouts */
|
|
1392
|
-
flowDirection: TextFlowDirection;
|
|
1393
|
-
/**
|
|
1394
|
-
* Defines the structural properties of the columns.
|
|
1395
|
-
*/
|
|
1396
|
-
columns: {
|
|
1397
|
-
/**
|
|
1398
|
-
* - `none`: A single column.
|
|
1399
|
-
* - `static`: A fixed number of columns with defined widths/heights.
|
|
1400
|
-
* - `dynamic`: Text flows automatically between columns based on height.
|
|
1401
|
-
*/
|
|
1402
|
-
type: ColumnType;
|
|
1403
|
-
/** An array defining each column's properties */
|
|
1404
|
-
definitions: TextColumn[];
|
|
1405
|
-
/** Whether column height adjusts automatically in dynamic mode */
|
|
1406
|
-
autoHeight: boolean;
|
|
1407
|
-
};
|
|
1408
|
-
/**
|
|
1409
|
-
* Text sizing behavior:
|
|
1410
|
-
* - `true`: Width and/or height adjust to fit text content.
|
|
1411
|
-
* - `false`: Text wraps or is clipped to fit the element's fixed bounds.
|
|
1412
|
-
* @default true
|
|
1413
|
-
*/
|
|
1414
|
-
autoResize: boolean;
|
|
1415
755
|
};
|
|
1416
|
-
|
|
1417
|
-
|
|
756
|
+
export type Viewer3DClipPlane = {
|
|
757
|
+
enabled: boolean;
|
|
758
|
+
value: number;
|
|
759
|
+
normal: [number, number, number] | null;
|
|
760
|
+
};
|
|
761
|
+
export type Viewer3DMaterial = {
|
|
762
|
+
metalness: number;
|
|
763
|
+
roughness: number;
|
|
764
|
+
defaultOpacity: number;
|
|
765
|
+
/** Packed RGB color (e.g. 0xFFFFFF) */
|
|
766
|
+
edgeColor: number;
|
|
767
|
+
ambientIntensity: number;
|
|
768
|
+
directIntensity: number;
|
|
769
|
+
};
|
|
770
|
+
export type Viewer3DZebra = {
|
|
771
|
+
active: boolean;
|
|
772
|
+
stripeCount: number;
|
|
773
|
+
stripeDirection: number;
|
|
774
|
+
/** Available: "blackwhite" | "colorful" | "grayscale" */
|
|
775
|
+
colorScheme: string;
|
|
776
|
+
opacity: number;
|
|
777
|
+
/** Available: "reflection" | "normal" */
|
|
778
|
+
mappingMode: string;
|
|
779
|
+
};
|
|
780
|
+
export type Viewer3DCamera = {
|
|
781
|
+
/** Available: "orbit" | "trackball" */
|
|
782
|
+
control: string;
|
|
783
|
+
ortho: boolean;
|
|
784
|
+
/** Available: "Z" | "Y" */
|
|
785
|
+
up: string;
|
|
786
|
+
position: [number, number, number];
|
|
787
|
+
/** Camera rotation as quaternion [x, y, z, w] */
|
|
788
|
+
quaternion: [number, number, number, number];
|
|
789
|
+
/** The point the camera orbits around / looks at */
|
|
790
|
+
target: [number, number, number];
|
|
791
|
+
zoom: number;
|
|
792
|
+
panSpeed: number;
|
|
793
|
+
rotateSpeed: number;
|
|
794
|
+
zoomSpeed: number;
|
|
795
|
+
holroyd: boolean;
|
|
796
|
+
};
|
|
797
|
+
export type Viewer3DGridPlanes = {
|
|
798
|
+
xy: boolean;
|
|
799
|
+
xz: boolean;
|
|
800
|
+
yz: boolean;
|
|
801
|
+
};
|
|
802
|
+
export type Viewer3DGrid = {
|
|
803
|
+
type: "uniform";
|
|
804
|
+
value: boolean;
|
|
805
|
+
} | {
|
|
806
|
+
type: "perPlane";
|
|
807
|
+
planes: Viewer3DGridPlanes;
|
|
808
|
+
};
|
|
809
|
+
export type Viewer3DDisplay = {
|
|
810
|
+
wireframe: boolean;
|
|
811
|
+
transparent: boolean;
|
|
812
|
+
blackEdges: boolean;
|
|
813
|
+
grid: Viewer3DGrid;
|
|
814
|
+
/** Whether to show the XYZ axes indicator */
|
|
815
|
+
axesVisible: boolean;
|
|
816
|
+
/** If true, axes are positioned at world origin (0,0,0); if false, at object center */
|
|
817
|
+
axesAtOrigin: boolean;
|
|
818
|
+
};
|
|
819
|
+
export type Viewer3DClipping = {
|
|
820
|
+
x: Viewer3DClipPlane;
|
|
821
|
+
y: Viewer3DClipPlane;
|
|
822
|
+
z: Viewer3DClipPlane;
|
|
823
|
+
intersection: boolean;
|
|
824
|
+
showPlanes: boolean;
|
|
825
|
+
objectColorCaps: boolean;
|
|
826
|
+
};
|
|
827
|
+
export type Viewer3DExplode = {
|
|
828
|
+
active: boolean;
|
|
829
|
+
value: number;
|
|
830
|
+
};
|
|
831
|
+
export type Viewer3DState = {
|
|
832
|
+
camera: Viewer3DCamera;
|
|
833
|
+
display: Viewer3DDisplay;
|
|
834
|
+
material: Viewer3DMaterial;
|
|
835
|
+
clipping: Viewer3DClipping;
|
|
836
|
+
explode: Viewer3DExplode;
|
|
837
|
+
zebra: Viewer3DZebra;
|
|
838
|
+
};
|
|
839
|
+
/**
|
|
840
|
+
* An element that embeds a 3D model on the 2D canvas.
|
|
1418
841
|
* It includes its own 3D view and display controls.
|
|
1419
842
|
*/
|
|
1420
843
|
export type DucModelElement = _DucElementBase & {
|
|
1421
844
|
type: "model";
|
|
1422
|
-
/**
|
|
1423
|
-
|
|
845
|
+
/** The specific type of 3D model, e.g., "PYTHON", "DXF", "IFC", "STL", "OBJ", "STEP", etc. */
|
|
846
|
+
modelType: string | null;
|
|
847
|
+
/** Defines the source code of the model using build123d python code */
|
|
848
|
+
code: string | null;
|
|
1424
849
|
/** The last known SVG path representation of the 3D model for quick rendering on the canvas */
|
|
1425
850
|
svgPath: string | null;
|
|
1426
|
-
/** Possibly connected external files, such as STEP, STL
|
|
851
|
+
/** Possibly connected external files, such as STEP, STL, DXF, etc. */
|
|
1427
852
|
fileIds: ExternalFileId[];
|
|
853
|
+
/** The last known 3D viewer state for the model */
|
|
854
|
+
viewerState: Viewer3DState | null;
|
|
1428
855
|
};
|