ducjs 1.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/LICENSE +21 -0
- package/README.md +42 -0
- package/dist/flatbuffers/duc/alternate-units.d.ts +21 -0
- package/dist/flatbuffers/duc/alternate-units.js +66 -0
- package/dist/flatbuffers/duc/angular-unit-system.d.ts +17 -0
- package/dist/flatbuffers/duc/angular-unit-system.js +50 -0
- package/dist/flatbuffers/duc/angular-units-format.d.ts +7 -0
- package/dist/flatbuffers/duc/angular-units-format.js +10 -0
- package/dist/flatbuffers/duc/axis.d.ts +5 -0
- package/dist/flatbuffers/duc/axis.js +8 -0
- package/dist/flatbuffers/duc/bezier-mirroring.d.ts +5 -0
- package/dist/flatbuffers/duc/bezier-mirroring.js +8 -0
- package/dist/flatbuffers/duc/blending.d.ts +9 -0
- package/dist/flatbuffers/duc/blending.js +12 -0
- package/dist/flatbuffers/duc/block-attachment.d.ts +4 -0
- package/dist/flatbuffers/duc/block-attachment.js +7 -0
- package/dist/flatbuffers/duc/boolean-operation.d.ts +6 -0
- package/dist/flatbuffers/duc/boolean-operation.js +9 -0
- package/dist/flatbuffers/duc/bound-element.d.ts +17 -0
- package/dist/flatbuffers/duc/bound-element.js +48 -0
- package/dist/flatbuffers/duc/checkpoint.d.ts +22 -0
- package/dist/flatbuffers/duc/checkpoint.js +75 -0
- package/dist/flatbuffers/duc/column-layout.d.ts +22 -0
- package/dist/flatbuffers/duc/column-layout.js +72 -0
- package/dist/flatbuffers/duc/column-type.d.ts +5 -0
- package/dist/flatbuffers/duc/column-type.js +8 -0
- package/dist/flatbuffers/duc/custom-hatch-pattern.d.ts +23 -0
- package/dist/flatbuffers/duc/custom-hatch-pattern.js +71 -0
- package/dist/flatbuffers/duc/datum-bracket-style.d.ts +5 -0
- package/dist/flatbuffers/duc/datum-bracket-style.js +8 -0
- package/dist/flatbuffers/duc/datum-reference.d.ts +17 -0
- package/dist/flatbuffers/duc/datum-reference.js +49 -0
- package/dist/flatbuffers/duc/datum-target-type.d.ts +6 -0
- package/dist/flatbuffers/duc/datum-target-type.js +9 -0
- package/dist/flatbuffers/duc/decimal-separator.d.ts +4 -0
- package/dist/flatbuffers/duc/decimal-separator.js +7 -0
- package/dist/flatbuffers/duc/delta.d.ts +20 -0
- package/dist/flatbuffers/duc/delta.js +64 -0
- package/dist/flatbuffers/duc/dictionary-entry.d.ts +17 -0
- package/dist/flatbuffers/duc/dictionary-entry.js +49 -0
- package/dist/flatbuffers/duc/dimension-baseline-data.d.ts +14 -0
- package/dist/flatbuffers/duc/dimension-baseline-data.js +40 -0
- package/dist/flatbuffers/duc/dimension-bindings.d.ts +17 -0
- package/dist/flatbuffers/duc/dimension-bindings.js +50 -0
- package/dist/flatbuffers/duc/dimension-continue-data.d.ts +14 -0
- package/dist/flatbuffers/duc/dimension-continue-data.js +40 -0
- package/dist/flatbuffers/duc/dimension-definition-points.d.ts +21 -0
- package/dist/flatbuffers/duc/dimension-definition-points.js +64 -0
- package/dist/flatbuffers/duc/dimension-ext-line-style.d.ts +18 -0
- package/dist/flatbuffers/duc/dimension-ext-line-style.js +57 -0
- package/dist/flatbuffers/duc/dimension-fit-rule.d.ts +6 -0
- package/dist/flatbuffers/duc/dimension-fit-rule.js +9 -0
- package/dist/flatbuffers/duc/dimension-fit-style.d.ts +19 -0
- package/dist/flatbuffers/duc/dimension-fit-style.js +58 -0
- package/dist/flatbuffers/duc/dimension-line-style.d.ts +16 -0
- package/dist/flatbuffers/duc/dimension-line-style.js +49 -0
- package/dist/flatbuffers/duc/dimension-symbol-style.d.ts +22 -0
- package/dist/flatbuffers/duc/dimension-symbol-style.js +72 -0
- package/dist/flatbuffers/duc/dimension-text-placement.d.ts +5 -0
- package/dist/flatbuffers/duc/dimension-text-placement.js +8 -0
- package/dist/flatbuffers/duc/dimension-tolerance-style.d.ts +24 -0
- package/dist/flatbuffers/duc/dimension-tolerance-style.js +71 -0
- package/dist/flatbuffers/duc/dimension-type.d.ts +15 -0
- package/dist/flatbuffers/duc/dimension-type.js +18 -0
- package/dist/flatbuffers/duc/dimension-units-format.d.ts +7 -0
- package/dist/flatbuffers/duc/dimension-units-format.js +10 -0
- package/dist/flatbuffers/duc/dimension-validation-rules.d.ts +25 -0
- package/dist/flatbuffers/duc/dimension-validation-rules.js +74 -0
- package/dist/flatbuffers/duc/duc-arrow-element.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-arrow-element.js +49 -0
- package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.js +44 -0
- package/dist/flatbuffers/duc/duc-block-attribute-definition.d.ts +22 -0
- package/dist/flatbuffers/duc/duc-block-attribute-definition.js +64 -0
- package/dist/flatbuffers/duc/duc-block-duplication-array.d.ts +19 -0
- package/dist/flatbuffers/duc/duc-block-duplication-array.js +64 -0
- package/dist/flatbuffers/duc/duc-block-instance-element.d.ts +30 -0
- package/dist/flatbuffers/duc/duc-block-instance-element.js +94 -0
- package/dist/flatbuffers/duc/duc-block.d.ts +34 -0
- package/dist/flatbuffers/duc/duc-block.js +111 -0
- package/dist/flatbuffers/duc/duc-common-style.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-common-style.js +44 -0
- package/dist/flatbuffers/duc/duc-dimension-element.d.ts +45 -0
- package/dist/flatbuffers/duc/duc-dimension-element.js +120 -0
- package/dist/flatbuffers/duc/duc-dimension-style.d.ts +28 -0
- package/dist/flatbuffers/duc/duc-dimension-style.js +76 -0
- package/dist/flatbuffers/duc/duc-doc-element.d.ts +33 -0
- package/dist/flatbuffers/duc/duc-doc-element.js +95 -0
- package/dist/flatbuffers/duc/duc-doc-style.d.ts +19 -0
- package/dist/flatbuffers/duc/duc-doc-style.js +52 -0
- package/dist/flatbuffers/duc/duc-element-base.d.ts +88 -0
- package/dist/flatbuffers/duc/duc-element-base.js +269 -0
- package/dist/flatbuffers/duc/duc-element-styles-base.d.ts +30 -0
- package/dist/flatbuffers/duc/duc-element-styles-base.js +103 -0
- package/dist/flatbuffers/duc/duc-ellipse-element.d.ts +22 -0
- package/dist/flatbuffers/duc/duc-ellipse-element.js +73 -0
- package/dist/flatbuffers/duc/duc-embeddable-element.d.ts +14 -0
- package/dist/flatbuffers/duc/duc-embeddable-element.js +41 -0
- package/dist/flatbuffers/duc/duc-external-file-data.d.ts +27 -0
- package/dist/flatbuffers/duc/duc-external-file-data.js +92 -0
- package/dist/flatbuffers/duc/duc-external-file-entry.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-external-file-entry.js +44 -0
- package/dist/flatbuffers/duc/duc-feature-control-frame-element.d.ts +31 -0
- package/dist/flatbuffers/duc/duc-feature-control-frame-element.js +89 -0
- package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +25 -0
- package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +68 -0
- package/dist/flatbuffers/duc/duc-frame-element.d.ts +14 -0
- package/dist/flatbuffers/duc/duc-frame-element.js +41 -0
- package/dist/flatbuffers/duc/duc-free-draw-element.d.ts +52 -0
- package/dist/flatbuffers/duc/duc-free-draw-element.js +154 -0
- package/dist/flatbuffers/duc/duc-free-draw-ends.d.ts +18 -0
- package/dist/flatbuffers/duc/duc-free-draw-ends.js +56 -0
- package/dist/flatbuffers/duc/duc-global-state.d.ts +37 -0
- package/dist/flatbuffers/duc/duc-global-state.js +121 -0
- package/dist/flatbuffers/duc/duc-group.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-group.js +44 -0
- package/dist/flatbuffers/duc/duc-hatch-style.d.ts +28 -0
- package/dist/flatbuffers/duc/duc-hatch-style.js +79 -0
- package/dist/flatbuffers/duc/duc-head.d.ts +19 -0
- package/dist/flatbuffers/duc/duc-head.js +57 -0
- package/dist/flatbuffers/duc/duc-image-element.d.ts +35 -0
- package/dist/flatbuffers/duc/duc-image-element.js +91 -0
- package/dist/flatbuffers/duc/duc-image-filter.d.ts +15 -0
- package/dist/flatbuffers/duc/duc-image-filter.js +48 -0
- package/dist/flatbuffers/duc/duc-layer-overrides.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-layer-overrides.js +44 -0
- package/dist/flatbuffers/duc/duc-layer.d.ts +21 -0
- package/dist/flatbuffers/duc/duc-layer.js +59 -0
- package/dist/flatbuffers/duc/duc-leader-element.d.ts +22 -0
- package/dist/flatbuffers/duc/duc-leader-element.js +60 -0
- package/dist/flatbuffers/duc/duc-leader-style.d.ts +30 -0
- package/dist/flatbuffers/duc/duc-leader-style.js +87 -0
- package/dist/flatbuffers/duc/duc-line-reference.d.ts +15 -0
- package/dist/flatbuffers/duc/duc-line-reference.js +43 -0
- package/dist/flatbuffers/duc/duc-line.d.ts +15 -0
- package/dist/flatbuffers/duc/duc-line.js +43 -0
- package/dist/flatbuffers/duc/duc-linear-element-base.d.ts +38 -0
- package/dist/flatbuffers/duc/duc-linear-element-base.js +124 -0
- package/dist/flatbuffers/duc/duc-linear-element.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-linear-element.js +49 -0
- package/dist/flatbuffers/duc/duc-local-state.d.ts +68 -0
- package/dist/flatbuffers/duc/duc-local-state.js +206 -0
- package/dist/flatbuffers/duc/duc-mermaid-element.d.ts +23 -0
- package/dist/flatbuffers/duc/duc-mermaid-element.js +65 -0
- package/dist/flatbuffers/duc/duc-parametric-element.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-parametric-element.js +44 -0
- package/dist/flatbuffers/duc/duc-path.d.ts +26 -0
- package/dist/flatbuffers/duc/duc-path.js +69 -0
- package/dist/flatbuffers/duc/duc-pdf-element.d.ts +17 -0
- package/dist/flatbuffers/duc/duc-pdf-element.js +49 -0
- package/dist/flatbuffers/duc/duc-plot-element.d.ts +19 -0
- package/dist/flatbuffers/duc/duc-plot-element.js +52 -0
- package/dist/flatbuffers/duc/duc-plot-style.d.ts +14 -0
- package/dist/flatbuffers/duc/duc-plot-style.js +41 -0
- package/dist/flatbuffers/duc/duc-point-binding.d.ts +26 -0
- package/dist/flatbuffers/duc/duc-point-binding.js +73 -0
- package/dist/flatbuffers/duc/duc-point.d.ts +18 -0
- package/dist/flatbuffers/duc/duc-point.js +57 -0
- package/dist/flatbuffers/duc/duc-polygon-element.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-polygon-element.js +49 -0
- package/dist/flatbuffers/duc/duc-rectangle-element.d.ts +14 -0
- package/dist/flatbuffers/duc/duc-rectangle-element.js +41 -0
- package/dist/flatbuffers/duc/duc-region.d.ts +19 -0
- package/dist/flatbuffers/duc/duc-region.js +51 -0
- package/dist/flatbuffers/duc/duc-stack-base.d.ts +27 -0
- package/dist/flatbuffers/duc/duc-stack-base.js +78 -0
- package/dist/flatbuffers/duc/duc-stack-element-base.d.ts +23 -0
- package/dist/flatbuffers/duc/duc-stack-element-base.js +65 -0
- package/dist/flatbuffers/duc/duc-stack-like-styles.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-stack-like-styles.js +48 -0
- package/dist/flatbuffers/duc/duc-table-auto-size.d.ts +15 -0
- package/dist/flatbuffers/duc/duc-table-auto-size.js +48 -0
- package/dist/flatbuffers/duc/duc-table-cell-entry.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-table-cell-entry.js +44 -0
- package/dist/flatbuffers/duc/duc-table-cell-span.d.ts +15 -0
- package/dist/flatbuffers/duc/duc-table-cell-span.js +48 -0
- package/dist/flatbuffers/duc/duc-table-cell-style.d.ts +22 -0
- package/dist/flatbuffers/duc/duc-table-cell-style.js +59 -0
- package/dist/flatbuffers/duc/duc-table-cell.d.ts +27 -0
- package/dist/flatbuffers/duc/duc-table-cell.js +72 -0
- package/dist/flatbuffers/duc/duc-table-column-entry.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-table-column-entry.js +44 -0
- package/dist/flatbuffers/duc/duc-table-column.d.ts +18 -0
- package/dist/flatbuffers/duc/duc-table-column.js +51 -0
- package/dist/flatbuffers/duc/duc-table-element.d.ts +51 -0
- package/dist/flatbuffers/duc/duc-table-element.js +167 -0
- package/dist/flatbuffers/duc/duc-table-row-entry.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-table-row-entry.js +44 -0
- package/dist/flatbuffers/duc/duc-table-row.d.ts +18 -0
- package/dist/flatbuffers/duc/duc-table-row.js +51 -0
- package/dist/flatbuffers/duc/duc-table-style.d.ts +23 -0
- package/dist/flatbuffers/duc/duc-table-style.js +65 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.d.ts +14 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.js +40 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-element-source.d.ts +17 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-element-source.js +49 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-part.d.ts +22 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-part.js +58 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-source-data.d.ts +9 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-source-data.js +26 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-source.d.ts +19 -0
- package/dist/flatbuffers/duc/duc-text-dynamic-source.js +58 -0
- package/dist/flatbuffers/duc/duc-text-element.d.ts +33 -0
- package/dist/flatbuffers/duc/duc-text-element.js +94 -0
- package/dist/flatbuffers/duc/duc-text-style.d.ts +44 -0
- package/dist/flatbuffers/duc/duc-text-style.js +128 -0
- package/dist/flatbuffers/duc/duc-ucs.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-ucs.js +49 -0
- package/dist/flatbuffers/duc/duc-view.d.ts +24 -0
- package/dist/flatbuffers/duc/duc-view.js +71 -0
- package/dist/flatbuffers/duc/duc-viewport-element.d.ts +36 -0
- package/dist/flatbuffers/duc/duc-viewport-element.js +102 -0
- package/dist/flatbuffers/duc/duc-viewport-style.d.ts +16 -0
- package/dist/flatbuffers/duc/duc-viewport-style.js +49 -0
- package/dist/flatbuffers/duc/duc-xray-element.d.ts +23 -0
- package/dist/flatbuffers/duc/duc-xray-element.js +66 -0
- package/dist/flatbuffers/duc/duc-xray-style.d.ts +17 -0
- package/dist/flatbuffers/duc/duc-xray-style.js +49 -0
- package/dist/flatbuffers/duc/dynamic-snap-settings.d.ts +17 -0
- package/dist/flatbuffers/duc/dynamic-snap-settings.js +56 -0
- package/dist/flatbuffers/duc/element-background.d.ts +14 -0
- package/dist/flatbuffers/duc/element-background.js +41 -0
- package/dist/flatbuffers/duc/element-content-base.d.ts +29 -0
- package/dist/flatbuffers/duc/element-content-base.js +80 -0
- package/dist/flatbuffers/duc/element-content-preference.d.ts +8 -0
- package/dist/flatbuffers/duc/element-content-preference.js +11 -0
- package/dist/flatbuffers/duc/element-stroke.d.ts +24 -0
- package/dist/flatbuffers/duc/element-stroke.js +66 -0
- package/dist/flatbuffers/duc/element-wrapper.d.ts +16 -0
- package/dist/flatbuffers/duc/element-wrapper.js +49 -0
- package/dist/flatbuffers/duc/element.d.ts +49 -0
- package/dist/flatbuffers/duc/element.js +106 -0
- package/dist/flatbuffers/duc/exported-data-state.d.ts +87 -0
- package/dist/flatbuffers/duc/exported-data-state.js +290 -0
- package/dist/flatbuffers/duc/fcfbetween-modifier.d.ts +17 -0
- package/dist/flatbuffers/duc/fcfbetween-modifier.js +48 -0
- package/dist/flatbuffers/duc/fcfdatum-definition.d.ts +16 -0
- package/dist/flatbuffers/duc/fcfdatum-definition.js +43 -0
- package/dist/flatbuffers/duc/fcfdatum-style.d.ts +14 -0
- package/dist/flatbuffers/duc/fcfdatum-style.js +41 -0
- package/dist/flatbuffers/duc/fcfframe-modifiers.d.ts +22 -0
- package/dist/flatbuffers/duc/fcfframe-modifiers.js +65 -0
- package/dist/flatbuffers/duc/fcflayout-style.d.ts +17 -0
- package/dist/flatbuffers/duc/fcflayout-style.js +56 -0
- package/dist/flatbuffers/duc/fcfprojected-zone-modifier.d.ts +13 -0
- package/dist/flatbuffers/duc/fcfprojected-zone-modifier.js +40 -0
- package/dist/flatbuffers/duc/fcfsegment-row.d.ts +17 -0
- package/dist/flatbuffers/duc/fcfsegment-row.js +55 -0
- package/dist/flatbuffers/duc/fcfsymbol-style.d.ts +13 -0
- package/dist/flatbuffers/duc/fcfsymbol-style.js +40 -0
- package/dist/flatbuffers/duc/feature-control-frame-segment.d.ts +22 -0
- package/dist/flatbuffers/duc/feature-control-frame-segment.js +65 -0
- package/dist/flatbuffers/duc/feature-modifier.d.ts +18 -0
- package/dist/flatbuffers/duc/feature-modifier.js +21 -0
- package/dist/flatbuffers/duc/gdt-symbol.d.ts +22 -0
- package/dist/flatbuffers/duc/gdt-symbol.js +25 -0
- package/dist/flatbuffers/duc/geometric-point.d.ts +10 -0
- package/dist/flatbuffers/duc/geometric-point.js +27 -0
- package/dist/flatbuffers/duc/grid-display-type.d.ts +6 -0
- package/dist/flatbuffers/duc/grid-display-type.js +9 -0
- package/dist/flatbuffers/duc/grid-settings.d.ts +54 -0
- package/dist/flatbuffers/duc/grid-settings.js +165 -0
- package/dist/flatbuffers/duc/grid-style.d.ts +26 -0
- package/dist/flatbuffers/duc/grid-style.js +74 -0
- package/dist/flatbuffers/duc/grid-type.d.ts +7 -0
- package/dist/flatbuffers/duc/grid-type.js +10 -0
- package/dist/flatbuffers/duc/handle-type.d.ts +4 -0
- package/dist/flatbuffers/duc/handle-type.js +7 -0
- package/dist/flatbuffers/duc/hatch-pattern-line.d.ts +35 -0
- package/dist/flatbuffers/duc/hatch-pattern-line.js +93 -0
- package/dist/flatbuffers/duc/hatch-style.d.ts +5 -0
- package/dist/flatbuffers/duc/hatch-style.js +8 -0
- package/dist/flatbuffers/duc/identified-common-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-common-style.js +44 -0
- package/dist/flatbuffers/duc/identified-dimension-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-dimension-style.js +44 -0
- package/dist/flatbuffers/duc/identified-doc-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-doc-style.js +44 -0
- package/dist/flatbuffers/duc/identified-fcfstyle.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-fcfstyle.js +44 -0
- package/dist/flatbuffers/duc/identified-grid-settings.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-grid-settings.js +44 -0
- package/dist/flatbuffers/duc/identified-hatch-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-hatch-style.js +44 -0
- package/dist/flatbuffers/duc/identified-leader-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-leader-style.js +44 -0
- package/dist/flatbuffers/duc/identified-snap-settings.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-snap-settings.js +44 -0
- package/dist/flatbuffers/duc/identified-stack-like-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-stack-like-style.js +44 -0
- package/dist/flatbuffers/duc/identified-table-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-table-style.js +44 -0
- package/dist/flatbuffers/duc/identified-text-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-text-style.js +44 -0
- package/dist/flatbuffers/duc/identified-ucs.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-ucs.js +44 -0
- package/dist/flatbuffers/duc/identified-view.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-view.js +44 -0
- package/dist/flatbuffers/duc/identified-viewport-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-viewport-style.js +44 -0
- package/dist/flatbuffers/duc/identified-xray-style.d.ts +16 -0
- package/dist/flatbuffers/duc/identified-xray-style.js +44 -0
- package/dist/flatbuffers/duc/identifier.d.ts +20 -0
- package/dist/flatbuffers/duc/identifier.js +57 -0
- package/dist/flatbuffers/duc/image-crop.d.ts +23 -0
- package/dist/flatbuffers/duc/image-crop.js +80 -0
- package/dist/flatbuffers/duc/image-status.d.ts +5 -0
- package/dist/flatbuffers/duc/image-status.js +8 -0
- package/dist/flatbuffers/duc/isometric-grid-settings.d.ts +15 -0
- package/dist/flatbuffers/duc/isometric-grid-settings.js +48 -0
- package/dist/flatbuffers/duc/jsonpatch-operation.d.ts +23 -0
- package/dist/flatbuffers/duc/jsonpatch-operation.js +64 -0
- package/dist/flatbuffers/duc/layer-snap-filters.d.ts +23 -0
- package/dist/flatbuffers/duc/layer-snap-filters.js +76 -0
- package/dist/flatbuffers/duc/layer-validation-rules.d.ts +17 -0
- package/dist/flatbuffers/duc/layer-validation-rules.js +54 -0
- package/dist/flatbuffers/duc/leader-block-content.d.ts +25 -0
- package/dist/flatbuffers/duc/leader-block-content.js +85 -0
- package/dist/flatbuffers/duc/leader-content-data.d.ts +9 -0
- package/dist/flatbuffers/duc/leader-content-data.js +26 -0
- package/dist/flatbuffers/duc/leader-content-type.d.ts +4 -0
- package/dist/flatbuffers/duc/leader-content-type.js +7 -0
- package/dist/flatbuffers/duc/leader-content.d.ts +19 -0
- package/dist/flatbuffers/duc/leader-content.js +58 -0
- package/dist/flatbuffers/duc/leader-text-block-content.d.ts +14 -0
- package/dist/flatbuffers/duc/leader-text-block-content.js +40 -0
- package/dist/flatbuffers/duc/line-head.d.ts +17 -0
- package/dist/flatbuffers/duc/line-head.js +20 -0
- package/dist/flatbuffers/duc/line-spacing-type.d.ts +5 -0
- package/dist/flatbuffers/duc/line-spacing-type.js +8 -0
- package/dist/flatbuffers/duc/line-spacing.d.ts +16 -0
- package/dist/flatbuffers/duc/line-spacing.js +49 -0
- package/dist/flatbuffers/duc/linear-unit-system.d.ts +24 -0
- package/dist/flatbuffers/duc/linear-unit-system.js +75 -0
- package/dist/flatbuffers/duc/margins.d.ts +19 -0
- package/dist/flatbuffers/duc/margins.js +64 -0
- package/dist/flatbuffers/duc/mark-ellipse-center.d.ts +4 -0
- package/dist/flatbuffers/duc/mark-ellipse-center.js +7 -0
- package/dist/flatbuffers/duc/material-condition.d.ts +5 -0
- package/dist/flatbuffers/duc/material-condition.js +8 -0
- package/dist/flatbuffers/duc/object-snap-mode.d.ts +22 -0
- package/dist/flatbuffers/duc/object-snap-mode.js +25 -0
- package/dist/flatbuffers/duc/paragraph-formatting.d.ts +33 -0
- package/dist/flatbuffers/duc/paragraph-formatting.js +106 -0
- package/dist/flatbuffers/duc/parametric-source-type.d.ts +4 -0
- package/dist/flatbuffers/duc/parametric-source-type.js +7 -0
- package/dist/flatbuffers/duc/parametric-source.d.ts +20 -0
- package/dist/flatbuffers/duc/parametric-source.js +57 -0
- package/dist/flatbuffers/duc/plot-layout.d.ts +14 -0
- package/dist/flatbuffers/duc/plot-layout.js +41 -0
- package/dist/flatbuffers/duc/point-binding-point.d.ts +15 -0
- package/dist/flatbuffers/duc/point-binding-point.js +48 -0
- package/dist/flatbuffers/duc/polar-grid-settings.d.ts +17 -0
- package/dist/flatbuffers/duc/polar-grid-settings.js +56 -0
- package/dist/flatbuffers/duc/polar-tracking-settings.d.ts +29 -0
- package/dist/flatbuffers/duc/polar-tracking-settings.js +90 -0
- package/dist/flatbuffers/duc/primary-units.d.ts +16 -0
- package/dist/flatbuffers/duc/primary-units.js +44 -0
- package/dist/flatbuffers/duc/pruning-level.d.ts +5 -0
- package/dist/flatbuffers/duc/pruning-level.js +8 -0
- package/dist/flatbuffers/duc/snap-marker-settings.d.ts +23 -0
- package/dist/flatbuffers/duc/snap-marker-settings.js +79 -0
- package/dist/flatbuffers/duc/snap-marker-shape.d.ts +6 -0
- package/dist/flatbuffers/duc/snap-marker-shape.js +9 -0
- package/dist/flatbuffers/duc/snap-marker-style-entry.d.ts +16 -0
- package/dist/flatbuffers/duc/snap-marker-style-entry.js +43 -0
- package/dist/flatbuffers/duc/snap-marker-style.d.ts +17 -0
- package/dist/flatbuffers/duc/snap-marker-style.js +49 -0
- package/dist/flatbuffers/duc/snap-mode.d.ts +4 -0
- package/dist/flatbuffers/duc/snap-mode.js +7 -0
- package/dist/flatbuffers/duc/snap-override-behavior.d.ts +5 -0
- package/dist/flatbuffers/duc/snap-override-behavior.js +8 -0
- package/dist/flatbuffers/duc/snap-override.d.ts +17 -0
- package/dist/flatbuffers/duc/snap-override.js +49 -0
- package/dist/flatbuffers/duc/snap-settings.d.ts +75 -0
- package/dist/flatbuffers/duc/snap-settings.js +245 -0
- package/dist/flatbuffers/duc/stack-format-properties.d.ts +18 -0
- package/dist/flatbuffers/duc/stack-format-properties.js +57 -0
- package/dist/flatbuffers/duc/stack-format.d.ts +21 -0
- package/dist/flatbuffers/duc/stack-format.js +64 -0
- package/dist/flatbuffers/duc/stacked-text-align.d.ts +5 -0
- package/dist/flatbuffers/duc/stacked-text-align.js +8 -0
- package/dist/flatbuffers/duc/standard-overrides.d.ts +63 -0
- package/dist/flatbuffers/duc/standard-overrides.js +162 -0
- package/dist/flatbuffers/duc/standard-styles.d.ts +77 -0
- package/dist/flatbuffers/duc/standard-styles.js +285 -0
- package/dist/flatbuffers/duc/standard-units.d.ts +16 -0
- package/dist/flatbuffers/duc/standard-units.js +44 -0
- package/dist/flatbuffers/duc/standard-validation.d.ts +16 -0
- package/dist/flatbuffers/duc/standard-validation.js +44 -0
- package/dist/flatbuffers/duc/standard-view-settings.d.ts +35 -0
- package/dist/flatbuffers/duc/standard-view-settings.js +124 -0
- package/dist/flatbuffers/duc/standard.d.ts +33 -0
- package/dist/flatbuffers/duc/standard.js +90 -0
- package/dist/flatbuffers/duc/string-value-entry.d.ts +17 -0
- package/dist/flatbuffers/duc/string-value-entry.js +49 -0
- package/dist/flatbuffers/duc/stroke-cap.d.ts +5 -0
- package/dist/flatbuffers/duc/stroke-cap.js +8 -0
- package/dist/flatbuffers/duc/stroke-join.d.ts +5 -0
- package/dist/flatbuffers/duc/stroke-join.js +8 -0
- package/dist/flatbuffers/duc/stroke-placement.d.ts +5 -0
- package/dist/flatbuffers/duc/stroke-placement.js +8 -0
- package/dist/flatbuffers/duc/stroke-preference.d.ts +6 -0
- package/dist/flatbuffers/duc/stroke-preference.js +9 -0
- package/dist/flatbuffers/duc/stroke-side-preference.d.ts +8 -0
- package/dist/flatbuffers/duc/stroke-side-preference.js +11 -0
- package/dist/flatbuffers/duc/stroke-sides.d.ts +24 -0
- package/dist/flatbuffers/duc/stroke-sides.js +67 -0
- package/dist/flatbuffers/duc/stroke-style.d.ts +37 -0
- package/dist/flatbuffers/duc/stroke-style.js +111 -0
- package/dist/flatbuffers/duc/stroke-width.d.ts +5 -0
- package/dist/flatbuffers/duc/stroke-width.js +8 -0
- package/dist/flatbuffers/duc/table-cell-alignment.d.ts +11 -0
- package/dist/flatbuffers/duc/table-cell-alignment.js +14 -0
- package/dist/flatbuffers/duc/table-flow-direction.d.ts +4 -0
- package/dist/flatbuffers/duc/table-flow-direction.js +7 -0
- package/dist/flatbuffers/duc/text-align.d.ts +5 -0
- package/dist/flatbuffers/duc/text-align.js +8 -0
- package/dist/flatbuffers/duc/text-column.d.ts +15 -0
- package/dist/flatbuffers/duc/text-column.js +48 -0
- package/dist/flatbuffers/duc/text-field-source-property.d.ts +13 -0
- package/dist/flatbuffers/duc/text-field-source-property.js +16 -0
- package/dist/flatbuffers/duc/text-field-source-type.d.ts +4 -0
- package/dist/flatbuffers/duc/text-field-source-type.js +7 -0
- package/dist/flatbuffers/duc/text-flow-direction.d.ts +6 -0
- package/dist/flatbuffers/duc/text-flow-direction.js +9 -0
- package/dist/flatbuffers/duc/tiling-properties.d.ts +21 -0
- package/dist/flatbuffers/duc/tiling-properties.js +75 -0
- package/dist/flatbuffers/duc/tolerance-clause.d.ts +27 -0
- package/dist/flatbuffers/duc/tolerance-clause.js +84 -0
- package/dist/flatbuffers/duc/tolerance-display.d.ts +7 -0
- package/dist/flatbuffers/duc/tolerance-display.js +10 -0
- package/dist/flatbuffers/duc/tolerance-type.d.ts +5 -0
- package/dist/flatbuffers/duc/tolerance-type.js +8 -0
- package/dist/flatbuffers/duc/tolerance-zone-type.d.ts +7 -0
- package/dist/flatbuffers/duc/tolerance-zone-type.js +10 -0
- package/dist/flatbuffers/duc/tracking-line-style.d.ts +26 -0
- package/dist/flatbuffers/duc/tracking-line-style.js +74 -0
- package/dist/flatbuffers/duc/unit-precision.d.ts +19 -0
- package/dist/flatbuffers/duc/unit-precision.js +64 -0
- package/dist/flatbuffers/duc/unit-system-base.d.ts +20 -0
- package/dist/flatbuffers/duc/unit-system-base.js +65 -0
- package/dist/flatbuffers/duc/unit-system.d.ts +4 -0
- package/dist/flatbuffers/duc/unit-system.js +7 -0
- package/dist/flatbuffers/duc/version-base.d.ts +27 -0
- package/dist/flatbuffers/duc/version-base.js +80 -0
- package/dist/flatbuffers/duc/version-graph-metadata.d.ts +15 -0
- package/dist/flatbuffers/duc/version-graph-metadata.js +48 -0
- package/dist/flatbuffers/duc/version-graph.d.ts +31 -0
- package/dist/flatbuffers/duc/version-graph.js +94 -0
- package/dist/flatbuffers/duc/vertical-align.d.ts +5 -0
- package/dist/flatbuffers/duc/vertical-align.js +8 -0
- package/dist/flatbuffers/duc/viewport-shade-plot.d.ts +6 -0
- package/dist/flatbuffers/duc/viewport-shade-plot.js +9 -0
- package/dist/flatbuffers/duc/youtube-states.d.ts +8 -0
- package/dist/flatbuffers/duc/youtube-states.js +11 -0
- package/dist/flatbuffers/duc.d.ts +227 -0
- package/dist/flatbuffers/duc.js +229 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/legacy/index.d.ts +1 -0
- package/dist/legacy/index.js +1 -0
- package/dist/legacy/v1/duc/app-state.d.ts +124 -0
- package/dist/legacy/v1/duc/app-state.js +388 -0
- package/dist/legacy/v1/duc/binary-file-data.d.ts +27 -0
- package/dist/legacy/v1/duc/binary-file-data.js +90 -0
- package/dist/legacy/v1/duc/binary-files-entry.d.ts +16 -0
- package/dist/legacy/v1/duc/binary-files-entry.js +43 -0
- package/dist/legacy/v1/duc/binary-files.d.ts +17 -0
- package/dist/legacy/v1/duc/binary-files.js +55 -0
- package/dist/legacy/v1/duc/binding-point.d.ts +15 -0
- package/dist/legacy/v1/duc/binding-point.js +48 -0
- package/dist/legacy/v1/duc/bound-element.d.ts +17 -0
- package/dist/legacy/v1/duc/bound-element.js +48 -0
- package/dist/legacy/v1/duc/duc-block-attribute-details.d.ts +22 -0
- package/dist/legacy/v1/duc/duc-block-attribute-details.js +57 -0
- package/dist/legacy/v1/duc/duc-block-attribute.d.ts +16 -0
- package/dist/legacy/v1/duc/duc-block-attribute.js +43 -0
- package/dist/legacy/v1/duc/duc-block-instance-element-override.d.ts +17 -0
- package/dist/legacy/v1/duc/duc-block-instance-element-override.js +48 -0
- package/dist/legacy/v1/duc/duc-block.d.ts +34 -0
- package/dist/legacy/v1/duc/duc-block.js +110 -0
- package/dist/legacy/v1/duc/duc-element.d.ts +273 -0
- package/dist/legacy/v1/duc/duc-element.js +865 -0
- package/dist/legacy/v1/duc/duc-group.d.ts +40 -0
- package/dist/legacy/v1/duc/duc-group.js +114 -0
- package/dist/legacy/v1/duc/duc-line-reference.d.ts +15 -0
- package/dist/legacy/v1/duc/duc-line-reference.js +43 -0
- package/dist/legacy/v1/duc/duc-line.d.ts +15 -0
- package/dist/legacy/v1/duc/duc-line.js +43 -0
- package/dist/legacy/v1/duc/duc-path.d.ts +26 -0
- package/dist/legacy/v1/duc/duc-path.js +69 -0
- package/dist/legacy/v1/duc/duc-table-cell.d.ts +22 -0
- package/dist/legacy/v1/duc/duc-table-cell.js +57 -0
- package/dist/legacy/v1/duc/duc-table-column.d.ts +18 -0
- package/dist/legacy/v1/duc/duc-table-column.js +50 -0
- package/dist/legacy/v1/duc/duc-table-row.d.ts +18 -0
- package/dist/legacy/v1/duc/duc-table-row.js +50 -0
- package/dist/legacy/v1/duc/duc-table-style-props.d.ts +39 -0
- package/dist/legacy/v1/duc/duc-table-style-props.js +114 -0
- package/dist/legacy/v1/duc/duc-table-style.d.ts +14 -0
- package/dist/legacy/v1/duc/duc-table-style.js +41 -0
- package/dist/legacy/v1/duc/element-background.d.ts +14 -0
- package/dist/legacy/v1/duc/element-background.js +41 -0
- package/dist/legacy/v1/duc/element-content-base.d.ts +22 -0
- package/dist/legacy/v1/duc/element-content-base.js +64 -0
- package/dist/legacy/v1/duc/element-stroke.d.ts +23 -0
- package/dist/legacy/v1/duc/element-stroke.js +66 -0
- package/dist/legacy/v1/duc/exported-data-state.d.ts +51 -0
- package/dist/legacy/v1/duc/exported-data-state.js +155 -0
- package/dist/legacy/v1/duc/image-crop.d.ts +23 -0
- package/dist/legacy/v1/duc/image-crop.js +80 -0
- package/dist/legacy/v1/duc/linear-element-editor.d.ts +44 -0
- package/dist/legacy/v1/duc/linear-element-editor.js +119 -0
- package/dist/legacy/v1/duc/point-binding.d.ts +25 -0
- package/dist/legacy/v1/duc/point-binding.js +72 -0
- package/dist/legacy/v1/duc/point.d.ts +20 -0
- package/dist/legacy/v1/duc/point.js +63 -0
- package/dist/legacy/v1/duc/pointer-down-state.d.ts +32 -0
- package/dist/legacy/v1/duc/pointer-down-state.js +90 -0
- package/dist/legacy/v1/duc/renderer-state.d.ts +17 -0
- package/dist/legacy/v1/duc/renderer-state.js +54 -0
- package/dist/legacy/v1/duc/segment-midpoint-state.d.ts +18 -0
- package/dist/legacy/v1/duc/segment-midpoint-state.js +57 -0
- package/dist/legacy/v1/duc/simple-point.d.ts +15 -0
- package/dist/legacy/v1/duc/simple-point.js +48 -0
- package/dist/legacy/v1/duc/stroke-sides.d.ts +23 -0
- package/dist/legacy/v1/duc/stroke-sides.js +66 -0
- package/dist/legacy/v1/duc/stroke-style.d.ts +31 -0
- package/dist/legacy/v1/duc/stroke-style.js +102 -0
- package/dist/legacy/v1/duc/tiling-properties.d.ts +21 -0
- package/dist/legacy/v1/duc/tiling-properties.js +75 -0
- package/dist/legacy/v1/duc.d.ts +35 -0
- package/dist/legacy/v1/duc.js +37 -0
- package/dist/legacy/v1/index.d.ts +1 -0
- package/dist/legacy/v1/index.js +1 -0
- package/dist/legacy/v1/parse/index.d.ts +67 -0
- package/dist/legacy/v1/parse/index.js +101 -0
- package/dist/legacy/v1/parse/parseAppStateFromBinary.d.ts +3 -0
- package/dist/legacy/v1/parse/parseAppStateFromBinary.js +139 -0
- package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.d.ts +4 -0
- package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.js +32 -0
- package/dist/legacy/v1/parse/parseBlockFromBinary.d.ts +3 -0
- package/dist/legacy/v1/parse/parseBlockFromBinary.js +70 -0
- package/dist/legacy/v1/parse/parseElementFromBinary.d.ts +8 -0
- package/dist/legacy/v1/parse/parseElementFromBinary.js +387 -0
- package/dist/legacy/v1/parse/parseGroupFromBinary.d.ts +4 -0
- package/dist/legacy/v1/parse/parseGroupFromBinary.js +36 -0
- package/dist/legacy/v1/parse/parseRendererStateFromBinary.d.ts +4 -0
- package/dist/legacy/v1/parse/parseRendererStateFromBinary.js +15 -0
- package/dist/legacy/v1/serialize/index.d.ts +5 -0
- package/dist/legacy/v1/serialize/index.js +81 -0
- package/dist/legacy/v1/serialize/serializationUtils.d.ts +17 -0
- package/dist/legacy/v1/serialize/serializationUtils.js +27 -0
- package/dist/legacy/v1/serialize/serializeAppStateFromDuc.d.ts +4 -0
- package/dist/legacy/v1/serialize/serializeAppStateFromDuc.js +145 -0
- package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.d.ts +4 -0
- package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.js +46 -0
- package/dist/legacy/v1/serialize/serializeBlockFromDuc.d.ts +3 -0
- package/dist/legacy/v1/serialize/serializeBlockFromDuc.js +60 -0
- package/dist/legacy/v1/serialize/serializeElementFromDuc.d.ts +8 -0
- package/dist/legacy/v1/serialize/serializeElementFromDuc.js +435 -0
- package/dist/legacy/v1/serialize/serializeGroupFromDuc.d.ts +3 -0
- package/dist/legacy/v1/serialize/serializeGroupFromDuc.js +37 -0
- package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.d.ts +4 -0
- package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.js +7 -0
- package/dist/legacy/v1/types/elements/index.d.ts +480 -0
- package/dist/legacy/v1/types/elements/index.js +1 -0
- package/dist/legacy/v1/types/elements/typeChecks.d.ts +40 -0
- package/dist/legacy/v1/types/elements/typeChecks.js +179 -0
- package/dist/legacy/v1/types/geometryTypes.d.ts +78 -0
- package/dist/legacy/v1/types/geometryTypes.js +1 -0
- package/dist/legacy/v1/types/index.d.ts +496 -0
- package/dist/legacy/v1/types/index.js +1 -0
- package/dist/legacy/v1/types/utility-types.d.ts +31 -0
- package/dist/legacy/v1/types/utility-types.js +1 -0
- package/dist/legacy/v1/utils/bounds.d.ts +76 -0
- package/dist/legacy/v1/utils/bounds.js +415 -0
- package/dist/legacy/v1/utils/constants.d.ts +370 -0
- package/dist/legacy/v1/utils/constants.js +571 -0
- package/dist/legacy/v1/utils/elements/index.d.ts +26 -0
- package/dist/legacy/v1/utils/elements/index.js +108 -0
- package/dist/legacy/v1/utils/elements/linearElement.d.ts +133 -0
- package/dist/legacy/v1/utils/elements/linearElement.js +544 -0
- package/dist/legacy/v1/utils/elements/textElement.d.ts +89 -0
- package/dist/legacy/v1/utils/elements/textElement.js +563 -0
- package/dist/legacy/v1/utils/index.d.ts +26 -0
- package/dist/legacy/v1/utils/index.js +40 -0
- package/dist/legacy/v1/utils/math/algebra/ga.d.ts +63 -0
- package/dist/legacy/v1/utils/math/algebra/ga.js +268 -0
- package/dist/legacy/v1/utils/math/algebra/gadirections.d.ts +9 -0
- package/dist/legacy/v1/utils/math/algebra/gadirections.js +18 -0
- package/dist/legacy/v1/utils/math/algebra/galines.d.ts +23 -0
- package/dist/legacy/v1/utils/math/algebra/galines.js +32 -0
- package/dist/legacy/v1/utils/math/algebra/gapoints.d.ts +8 -0
- package/dist/legacy/v1/utils/math/algebra/gapoints.js +30 -0
- package/dist/legacy/v1/utils/math/algebra/gatransforms.d.ts +10 -0
- package/dist/legacy/v1/utils/math/algebra/gatransforms.js +23 -0
- package/dist/legacy/v1/utils/math/bbox.d.ts +10 -0
- package/dist/legacy/v1/utils/math/bbox.js +42 -0
- package/dist/legacy/v1/utils/math/geometry.d.ts +102 -0
- package/dist/legacy/v1/utils/math/geometry.js +790 -0
- package/dist/legacy/v1/utils/math/index.d.ts +309 -0
- package/dist/legacy/v1/utils/math/index.js +1140 -0
- package/dist/legacy/v1/utils/math/random.d.ts +4 -0
- package/dist/legacy/v1/utils/math/random.js +25 -0
- package/dist/legacy/v1/utils/measurements.d.ts +33 -0
- package/dist/legacy/v1/utils/measurements.js +65 -0
- package/dist/legacy/v1/utils/normalize.d.ts +14 -0
- package/dist/legacy/v1/utils/normalize.js +49 -0
- package/dist/legacy/v1/utils/restore.d.ts +197 -0
- package/dist/legacy/v1/utils/restore.js +1255 -0
- package/dist/legacy/v1/utils/scopes.d.ts +260 -0
- package/dist/legacy/v1/utils/scopes.js +661 -0
- package/dist/legacy/v1/utils/standards.d.ts +12 -0
- package/dist/legacy/v1/utils/standards.js +10 -0
- package/dist/legacy/v1/utils/state/index.d.ts +2 -0
- package/dist/legacy/v1/utils/state/index.js +68 -0
- package/dist/legacy/v1/utils/url.d.ts +8 -0
- package/dist/legacy/v1/utils/url.js +33 -0
- package/dist/parse.d.ts +54 -0
- package/dist/parse.js +1318 -0
- package/dist/restore/index.d.ts +3 -0
- package/dist/restore/index.js +3 -0
- package/dist/restore/restoreDataState.d.ts +191 -0
- package/dist/restore/restoreDataState.js +716 -0
- package/dist/restore/restoreElements.d.ts +34 -0
- package/dist/restore/restoreElements.js +1281 -0
- package/dist/restore/restoreStandards.d.ts +8 -0
- package/dist/restore/restoreStandards.js +224 -0
- package/dist/serialize.d.ts +3 -0
- package/dist/serialize.js +2465 -0
- package/dist/technical/index.d.ts +3 -0
- package/dist/technical/index.js +3 -0
- package/dist/technical/measurements.d.ts +31 -0
- package/dist/technical/measurements.js +64 -0
- package/dist/technical/scopes.d.ts +261 -0
- package/dist/technical/scopes.js +661 -0
- package/dist/technical/standards.d.ts +124 -0
- package/dist/technical/standards.js +10 -0
- package/dist/types/elements/index.d.ts +1356 -0
- package/dist/types/elements/index.js +1 -0
- package/dist/types/elements/typeChecks.d.ts +40 -0
- package/dist/types/elements/typeChecks.js +188 -0
- package/dist/types/geometryTypes.d.ts +90 -0
- package/dist/types/geometryTypes.js +1 -0
- package/dist/types/index.d.ts +591 -0
- package/dist/types/index.js +3 -0
- package/dist/types/utility-types.d.ts +31 -0
- package/dist/types/utility-types.js +1 -0
- package/dist/utils/bounds.d.ts +75 -0
- package/dist/utils/bounds.js +414 -0
- package/dist/utils/constants.d.ts +288 -0
- package/dist/utils/constants.js +529 -0
- package/dist/utils/elements/frameElement.d.ts +4 -0
- package/dist/utils/elements/frameElement.js +16 -0
- package/dist/utils/elements/freedrawElement.d.ts +2 -0
- package/dist/utils/elements/freedrawElement.js +46 -0
- package/dist/utils/elements/index.d.ts +51 -0
- package/dist/utils/elements/index.js +215 -0
- package/dist/utils/elements/linearElement.d.ts +53 -0
- package/dist/utils/elements/linearElement.js +539 -0
- package/dist/utils/elements/newElement.d.ts +72 -0
- package/dist/utils/elements/newElement.js +268 -0
- package/dist/utils/elements/textElement.d.ts +89 -0
- package/dist/utils/elements/textElement.js +565 -0
- package/dist/utils/elements/viewportElement.d.ts +6 -0
- package/dist/utils/elements/viewportElement.js +9 -0
- package/dist/utils/filebyte.d.ts +39 -0
- package/dist/utils/filebyte.js +117 -0
- package/dist/utils/functionCodec.d.ts +5 -0
- package/dist/utils/functionCodec.js +86 -0
- package/dist/utils/index.d.ts +32 -0
- package/dist/utils/index.js +53 -0
- package/dist/utils/math/algebra/ga.d.ts +63 -0
- package/dist/utils/math/algebra/ga.js +268 -0
- package/dist/utils/math/algebra/gadirections.d.ts +9 -0
- package/dist/utils/math/algebra/gadirections.js +18 -0
- package/dist/utils/math/algebra/galines.d.ts +23 -0
- package/dist/utils/math/algebra/galines.js +32 -0
- package/dist/utils/math/algebra/gapoints.d.ts +8 -0
- package/dist/utils/math/algebra/gapoints.js +30 -0
- package/dist/utils/math/algebra/gatransforms.d.ts +10 -0
- package/dist/utils/math/algebra/gatransforms.js +23 -0
- package/dist/utils/math/algebra/index.d.ts +5 -0
- package/dist/utils/math/algebra/index.js +5 -0
- package/dist/utils/math/bbox.d.ts +10 -0
- package/dist/utils/math/bbox.js +42 -0
- package/dist/utils/math/geometry.d.ts +102 -0
- package/dist/utils/math/geometry.js +790 -0
- package/dist/utils/math/index.d.ts +323 -0
- package/dist/utils/math/index.js +1188 -0
- package/dist/utils/math/random.d.ts +4 -0
- package/dist/utils/math/random.js +25 -0
- package/dist/utils/normalize.d.ts +14 -0
- package/dist/utils/normalize.js +49 -0
- package/dist/utils/shape.d.ts +15 -0
- package/dist/utils/shape.js +254 -0
- package/dist/utils/state/grid.d.ts +7 -0
- package/dist/utils/state/grid.js +25 -0
- package/dist/utils/state/index.d.ts +9 -0
- package/dist/utils/state/index.js +131 -0
- package/dist/utils/url.d.ts +8 -0
- package/dist/utils/url.js +33 -0
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.js +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Synchronously converts data to a Base64 Data URL.
|
|
3
|
+
*
|
|
4
|
+
* This function is truly synchronous and works in both Node.js and browser environments.
|
|
5
|
+
*
|
|
6
|
+
* @param data The input data. Can be a UTF-8 string, a Uint8Array, or an ArrayBuffer.
|
|
7
|
+
* @param mimeType The MIME type for the Data URL.
|
|
8
|
+
* @returns A fully formed Base64 Data URL string.
|
|
9
|
+
*/
|
|
10
|
+
export function toDataURL(data, mimeType = 'application/octet-stream' // A more generic default
|
|
11
|
+
) {
|
|
12
|
+
try {
|
|
13
|
+
// If data is already a valid data URL, return it directly.
|
|
14
|
+
if (typeof data === 'string' && data.startsWith('data:')) {
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
let base64String;
|
|
18
|
+
if (typeof data === 'string') {
|
|
19
|
+
// Handle UTF-8 strings by converting them to a byte array first,
|
|
20
|
+
// then encoding. This is more robust than the btoa(unescape(encodeURIComponent(...))) trick.
|
|
21
|
+
const bytes = new TextEncoder().encode(data);
|
|
22
|
+
base64String = uint8ArrayToBase64(bytes);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// For ArrayBuffer, we need to create a Uint8Array view.
|
|
26
|
+
// If it's already a Uint8Array, we can use it directly.
|
|
27
|
+
const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
|
|
28
|
+
base64String = uint8ArrayToBase64(bytes);
|
|
29
|
+
}
|
|
30
|
+
return `data:${mimeType};base64,${base64String}`;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error('Error generating data URL:', error);
|
|
34
|
+
throw error; // Re-throw the error after logging
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Synchronously decodes a Base64 Data URL into its constituent parts.
|
|
39
|
+
*
|
|
40
|
+
* This function only supports Base64 encoded Data URLs.
|
|
41
|
+
*
|
|
42
|
+
* @param dataUrl The Base64 Data URL string (e.g., "data:image/png;base64,iVBOR...").
|
|
43
|
+
* @returns An object containing the decoded Uint8Array and the MIME type.
|
|
44
|
+
* @throws An error if the input is not a valid or supported Data URL.
|
|
45
|
+
*/
|
|
46
|
+
export function fromDataURL(dataUrl) {
|
|
47
|
+
// 1. Validation
|
|
48
|
+
if (!dataUrl.startsWith('data:')) {
|
|
49
|
+
throw new Error('Invalid Data URL: Must start with "data:".');
|
|
50
|
+
}
|
|
51
|
+
// 2. Find the metadata/data separator (the first comma)
|
|
52
|
+
const commaIndex = dataUrl.indexOf(',');
|
|
53
|
+
if (commaIndex === -1) {
|
|
54
|
+
throw new Error('Invalid Data URL: No comma separator found.');
|
|
55
|
+
}
|
|
56
|
+
// 3. Extract header and base64 data
|
|
57
|
+
const header = dataUrl.substring(5, commaIndex); // "data:".length is 5
|
|
58
|
+
const base64Data = dataUrl.substring(commaIndex + 1);
|
|
59
|
+
// 4. Parse header to get MIME type and check for base64 encoding
|
|
60
|
+
const headerParts = header.split(';');
|
|
61
|
+
const mimeType = headerParts[0] || 'application/octet-stream'; // Default MIME if empty
|
|
62
|
+
if (headerParts[headerParts.length - 1] !== 'base64') {
|
|
63
|
+
throw new Error('Unsupported Data URL: Only base64 encoding is supported.');
|
|
64
|
+
}
|
|
65
|
+
// 5. Decode the base64 data using our helper function
|
|
66
|
+
const data = base64ToUint8Array(base64Data);
|
|
67
|
+
return { data, mimeType };
|
|
68
|
+
}
|
|
69
|
+
export function uint8ArrayToBase64(bytes) {
|
|
70
|
+
// Node.js environment
|
|
71
|
+
if (typeof Buffer !== 'undefined') {
|
|
72
|
+
return Buffer.from(bytes).toString('base64');
|
|
73
|
+
}
|
|
74
|
+
// Browser environment
|
|
75
|
+
let binary = '';
|
|
76
|
+
const len = bytes.byteLength;
|
|
77
|
+
for (let i = 0; i < len; i++) {
|
|
78
|
+
binary += String.fromCharCode(bytes[i]);
|
|
79
|
+
}
|
|
80
|
+
return btoa(binary);
|
|
81
|
+
}
|
|
82
|
+
export function base64ToUint8Array(base64) {
|
|
83
|
+
// Node.js environment
|
|
84
|
+
if (typeof Buffer !== 'undefined') {
|
|
85
|
+
return new Uint8Array(Buffer.from(base64, 'base64'));
|
|
86
|
+
}
|
|
87
|
+
// Browser environment
|
|
88
|
+
// Sanitize the base64 string by removing any characters that are not part of the standard base64 alphabet
|
|
89
|
+
const sanitizedBase64 = base64.replace(/[^A-Za-z0-9+/=]/g, '');
|
|
90
|
+
const binaryString = atob(sanitizedBase64);
|
|
91
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
92
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
93
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
94
|
+
}
|
|
95
|
+
return bytes;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Converts a Uint8Array to a browser File object.
|
|
99
|
+
*
|
|
100
|
+
* @param bytes The Uint8Array containing the binary data of the file.
|
|
101
|
+
* @param fileName The desired name for the file, including its extension (e.g., "thumbnail.png").
|
|
102
|
+
* @param options Optional settings for the file.
|
|
103
|
+
* @param options.mimeType The MIME type of the file (e.g., "image/png"). Defaults to "application/octet-stream".
|
|
104
|
+
* @param options.lastModified The timestamp (milliseconds since epoch) for the file's last modified date. Defaults to the current time.
|
|
105
|
+
* @returns A File object.
|
|
106
|
+
*/
|
|
107
|
+
export function uint8ArrayToFile(bytes, fileName, options = {}) {
|
|
108
|
+
var _a, _b;
|
|
109
|
+
// Set default values for options
|
|
110
|
+
const mimeType = (_a = options.mimeType) !== null && _a !== void 0 ? _a : 'application/octet-stream';
|
|
111
|
+
const lastModified = (_b = options.lastModified) !== null && _b !== void 0 ? _b : Date.now();
|
|
112
|
+
// Create and return the File object
|
|
113
|
+
return new File([new Uint8Array(bytes)], fileName, {
|
|
114
|
+
type: mimeType,
|
|
115
|
+
lastModified: lastModified,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function isEncodedFunctionString(val: unknown): val is string;
|
|
2
|
+
export declare function encodeFunctionString(fn: Function): string;
|
|
3
|
+
export declare function tryDecodeFunctionString(val: string): string | null;
|
|
4
|
+
export declare function reviveEncodedFunction(val: unknown): unknown;
|
|
5
|
+
export declare function reviveFunctionsDeep(obj: any, seen?: WeakSet<object>): any;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Utilities to encode functions as strings for safe structured cloning, and revive them later on main thread.
|
|
2
|
+
const FN_SENTINEL = "__DUCFN__:";
|
|
3
|
+
function b64EncodeUtf8(str) {
|
|
4
|
+
try {
|
|
5
|
+
// Browser
|
|
6
|
+
// eslint-disable-next-line no-undef
|
|
7
|
+
return btoa(unescape(encodeURIComponent(str)));
|
|
8
|
+
}
|
|
9
|
+
catch (_a) {
|
|
10
|
+
// Node
|
|
11
|
+
return Buffer.from(str, "utf-8").toString("base64");
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function b64DecodeUtf8(b64) {
|
|
15
|
+
try {
|
|
16
|
+
// Browser
|
|
17
|
+
// eslint-disable-next-line no-undef
|
|
18
|
+
return decodeURIComponent(escape(atob(b64)));
|
|
19
|
+
}
|
|
20
|
+
catch (_a) {
|
|
21
|
+
// Node
|
|
22
|
+
return Buffer.from(b64, "base64").toString("utf-8");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function isEncodedFunctionString(val) {
|
|
26
|
+
return typeof val === "string" && val.startsWith(FN_SENTINEL);
|
|
27
|
+
}
|
|
28
|
+
export function encodeFunctionString(fn) {
|
|
29
|
+
const code = fn.toString();
|
|
30
|
+
return FN_SENTINEL + b64EncodeUtf8(code);
|
|
31
|
+
}
|
|
32
|
+
export function tryDecodeFunctionString(val) {
|
|
33
|
+
if (!isEncodedFunctionString(val))
|
|
34
|
+
return null;
|
|
35
|
+
const b64 = val.slice(FN_SENTINEL.length);
|
|
36
|
+
try {
|
|
37
|
+
return b64DecodeUtf8(b64);
|
|
38
|
+
}
|
|
39
|
+
catch (_a) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function reviveEncodedFunction(val) {
|
|
44
|
+
if (!isEncodedFunctionString(val))
|
|
45
|
+
return val;
|
|
46
|
+
const code = tryDecodeFunctionString(val);
|
|
47
|
+
if (!code)
|
|
48
|
+
return val;
|
|
49
|
+
try {
|
|
50
|
+
// Wrap in parentheses to handle arrow functions and function declarations uniformly
|
|
51
|
+
// eslint-disable-next-line no-eval
|
|
52
|
+
const revived = eval(`(${code})`);
|
|
53
|
+
if (typeof revived === "function")
|
|
54
|
+
return revived;
|
|
55
|
+
return val;
|
|
56
|
+
}
|
|
57
|
+
catch (_a) {
|
|
58
|
+
return val;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function reviveFunctionsDeep(obj, seen = new WeakSet()) {
|
|
62
|
+
if (obj == null)
|
|
63
|
+
return obj;
|
|
64
|
+
if (typeof obj === "string")
|
|
65
|
+
return reviveEncodedFunction(obj);
|
|
66
|
+
if (typeof obj !== "object")
|
|
67
|
+
return obj;
|
|
68
|
+
if (seen.has(obj))
|
|
69
|
+
return obj;
|
|
70
|
+
seen.add(obj);
|
|
71
|
+
if (Array.isArray(obj)) {
|
|
72
|
+
for (let i = 0; i < obj.length; i++) {
|
|
73
|
+
obj[i] = reviveFunctionsDeep(obj[i], seen);
|
|
74
|
+
}
|
|
75
|
+
return obj;
|
|
76
|
+
}
|
|
77
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
78
|
+
if (typeof v === "string" && isEncodedFunctionString(v)) {
|
|
79
|
+
obj[k] = reviveEncodedFunction(v);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
obj[k] = reviveFunctionsDeep(v, seen);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return obj;
|
|
86
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export * from "./elements";
|
|
2
|
+
export * from "./math";
|
|
3
|
+
export * from "./state";
|
|
4
|
+
export * from "./constants";
|
|
5
|
+
export * from "./shape";
|
|
6
|
+
export * from "./bounds";
|
|
7
|
+
export * from "./normalize";
|
|
8
|
+
export * from "./url";
|
|
9
|
+
export * from "./version";
|
|
10
|
+
export * from "./filebyte";
|
|
11
|
+
export * from "./functionCodec";
|
|
12
|
+
/**
|
|
13
|
+
* supply `null` as message if non-never value is valid, you just need to
|
|
14
|
+
* typecheck against it
|
|
15
|
+
*/
|
|
16
|
+
export declare const assertNever: (value: never, message: string | null, softAssert?: boolean) => never;
|
|
17
|
+
export declare const getUpdatedTimestamp: () => number;
|
|
18
|
+
export declare const isFiniteNumber: (value: any) => value is number;
|
|
19
|
+
/**
|
|
20
|
+
* Transforms array of objects containing `id` attribute,
|
|
21
|
+
* or array of ids (strings), into a Map, keyd by `id`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const arrayToMap: <T extends {
|
|
24
|
+
id: string;
|
|
25
|
+
} | string>(items: readonly T[] | Map<string, T>) => Map<any, any>;
|
|
26
|
+
/**
|
|
27
|
+
* Checks whether first directional character is RTL. Meaning whether it starts
|
|
28
|
+
* with RTL characters, or indeterminate (numbers etc.) characters followed by
|
|
29
|
+
* RTL.
|
|
30
|
+
* See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
|
|
31
|
+
*/
|
|
32
|
+
export declare const isRTL: (text: string) => boolean;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export * from "./elements";
|
|
2
|
+
export * from "./math";
|
|
3
|
+
export * from "./state";
|
|
4
|
+
export * from "./constants";
|
|
5
|
+
export * from "./shape";
|
|
6
|
+
export * from "./bounds";
|
|
7
|
+
export * from "./normalize";
|
|
8
|
+
export * from "./url";
|
|
9
|
+
export * from "./version";
|
|
10
|
+
export * from "./filebyte";
|
|
11
|
+
export * from "./functionCodec";
|
|
12
|
+
/**
|
|
13
|
+
* supply `null` as message if non-never value is valid, you just need to
|
|
14
|
+
* typecheck against it
|
|
15
|
+
*/
|
|
16
|
+
export const assertNever = (value, message, softAssert) => {
|
|
17
|
+
if (!message) {
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
if (softAssert) {
|
|
21
|
+
console.error(message);
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
throw new Error(message);
|
|
25
|
+
};
|
|
26
|
+
export const getUpdatedTimestamp = () => Date.now();
|
|
27
|
+
export const isFiniteNumber = (value) => {
|
|
28
|
+
return typeof value === "number" && Number.isFinite(value);
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Transforms array of objects containing `id` attribute,
|
|
32
|
+
* or array of ids (strings), into a Map, keyd by `id`.
|
|
33
|
+
*/
|
|
34
|
+
export const arrayToMap = (items) => {
|
|
35
|
+
if (items instanceof Map) {
|
|
36
|
+
return items;
|
|
37
|
+
}
|
|
38
|
+
return items.reduce((acc, element) => {
|
|
39
|
+
acc.set(typeof element === "string" ? element : element.id, element);
|
|
40
|
+
return acc;
|
|
41
|
+
}, new Map());
|
|
42
|
+
};
|
|
43
|
+
const RS_LTR_CHARS = "A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF" +
|
|
44
|
+
"\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF";
|
|
45
|
+
const RS_RTL_CHARS = "\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC";
|
|
46
|
+
const RE_RTL_CHECK = new RegExp(`^[^${RS_LTR_CHARS}]*[${RS_RTL_CHARS}]`);
|
|
47
|
+
/**
|
|
48
|
+
* Checks whether first directional character is RTL. Meaning whether it starts
|
|
49
|
+
* with RTL characters, or indeterminate (numbers etc.) characters followed by
|
|
50
|
+
* RTL.
|
|
51
|
+
* See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
|
|
52
|
+
*/
|
|
53
|
+
export const isRTL = (text) => RE_RTL_CHECK.test(text);
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a 2D Projective Geometric Algebra implementation.
|
|
3
|
+
*
|
|
4
|
+
* For wider context on geometric algebra visit see https://bivector.net.
|
|
5
|
+
*
|
|
6
|
+
* For this specific algebra see cheatsheet https://bivector.net/2DPGA.pdf.
|
|
7
|
+
*
|
|
8
|
+
* Converted from generator written by enki, with a ton of added on top.
|
|
9
|
+
*
|
|
10
|
+
* This library uses 8-vectors to represent points, directions and lines
|
|
11
|
+
* in 2D space.
|
|
12
|
+
*
|
|
13
|
+
* An array `[a, b, c, d, e, f, g, h]` represents a n(8)vector:
|
|
14
|
+
* a + b*e0 + c*e1 + d*e2 + e*e01 + f*e20 + g*e12 + h*e012
|
|
15
|
+
*
|
|
16
|
+
* See GAPoint, GALine, GADirection and GATransform modules for common
|
|
17
|
+
* operations.
|
|
18
|
+
*/
|
|
19
|
+
export type GAPoint = NVector;
|
|
20
|
+
export type GADirection = NVector;
|
|
21
|
+
export type GALine = NVector;
|
|
22
|
+
export type GATransform = NVector;
|
|
23
|
+
export declare const point: (x: number, y: number) => GAPoint;
|
|
24
|
+
export declare const origin: () => GAPoint;
|
|
25
|
+
export declare const direction: (x: number, y: number) => GADirection;
|
|
26
|
+
export declare const offset: (x: number, y: number) => GADirection;
|
|
27
|
+
type NVector = readonly [
|
|
28
|
+
number,
|
|
29
|
+
number,
|
|
30
|
+
number,
|
|
31
|
+
number,
|
|
32
|
+
number,
|
|
33
|
+
number,
|
|
34
|
+
number,
|
|
35
|
+
number
|
|
36
|
+
];
|
|
37
|
+
export declare const nvector: (value?: number, index?: number) => NVector;
|
|
38
|
+
export declare const toString: (nvector: NVector) => string;
|
|
39
|
+
export declare const reverse: (nvector: NVector) => NVector;
|
|
40
|
+
export declare const dual: (nvector: NVector) => NVector;
|
|
41
|
+
export declare const conjugate: (nvector: NVector) => NVector;
|
|
42
|
+
export declare const involute: (nvector: NVector) => NVector;
|
|
43
|
+
export declare const add: (a: NVector, b: NVector | number) => NVector;
|
|
44
|
+
export declare const sub: (a: NVector, b: NVector | number) => NVector;
|
|
45
|
+
export declare const mul: (a: NVector, b: NVector | number) => NVector;
|
|
46
|
+
export declare const mulScalar: (a: NVector, b: NVector) => number;
|
|
47
|
+
export declare const meet: (a: NVector, b: NVector) => NVector;
|
|
48
|
+
export declare const join: (a: NVector, b: NVector) => NVector;
|
|
49
|
+
export declare const joinScalar: (a: NVector, b: NVector) => number;
|
|
50
|
+
export declare const dot: (a: NVector, b: NVector) => NVector;
|
|
51
|
+
export declare const norm: (a: NVector) => number;
|
|
52
|
+
export declare const inorm: (a: NVector) => number;
|
|
53
|
+
export declare const normalized: (a: NVector) => NVector;
|
|
54
|
+
export declare const inormalized: (a: NVector) => NVector;
|
|
55
|
+
export declare const E0: NVector;
|
|
56
|
+
export declare const E1: NVector;
|
|
57
|
+
export declare const E2: NVector;
|
|
58
|
+
export declare const E01: NVector;
|
|
59
|
+
export declare const E20: NVector;
|
|
60
|
+
export declare const E12: NVector;
|
|
61
|
+
export declare const E012: NVector;
|
|
62
|
+
export declare const I: NVector;
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a 2D Projective Geometric Algebra implementation.
|
|
3
|
+
*
|
|
4
|
+
* For wider context on geometric algebra visit see https://bivector.net.
|
|
5
|
+
*
|
|
6
|
+
* For this specific algebra see cheatsheet https://bivector.net/2DPGA.pdf.
|
|
7
|
+
*
|
|
8
|
+
* Converted from generator written by enki, with a ton of added on top.
|
|
9
|
+
*
|
|
10
|
+
* This library uses 8-vectors to represent points, directions and lines
|
|
11
|
+
* in 2D space.
|
|
12
|
+
*
|
|
13
|
+
* An array `[a, b, c, d, e, f, g, h]` represents a n(8)vector:
|
|
14
|
+
* a + b*e0 + c*e1 + d*e2 + e*e01 + f*e20 + g*e12 + h*e012
|
|
15
|
+
*
|
|
16
|
+
* See GAPoint, GALine, GADirection and GATransform modules for common
|
|
17
|
+
* operations.
|
|
18
|
+
*/
|
|
19
|
+
export const point = (x, y) => [0, 0, 0, 0, y, x, 1, 0];
|
|
20
|
+
export const origin = () => [0, 0, 0, 0, 0, 0, 1, 0];
|
|
21
|
+
export const direction = (x, y) => {
|
|
22
|
+
const norm = Math.hypot(x, y); // same as `inorm(direction(x, y))`
|
|
23
|
+
return [0, 0, 0, 0, y / norm, x / norm, 0, 0];
|
|
24
|
+
};
|
|
25
|
+
export const offset = (x, y) => [
|
|
26
|
+
0,
|
|
27
|
+
0,
|
|
28
|
+
0,
|
|
29
|
+
0,
|
|
30
|
+
y,
|
|
31
|
+
x,
|
|
32
|
+
0,
|
|
33
|
+
0,
|
|
34
|
+
];
|
|
35
|
+
// These are labels for what each number in an nvector represents
|
|
36
|
+
const NVECTOR_BASE = ["1", "e0", "e1", "e2", "e01", "e20", "e12", "e012"];
|
|
37
|
+
// Used to represent points, lines and transformations
|
|
38
|
+
export const nvector = (value = 0, index = 0) => {
|
|
39
|
+
const result = [0, 0, 0, 0, 0, 0, 0, 0];
|
|
40
|
+
if (index < 0 || index > 7) {
|
|
41
|
+
throw new Error(`Expected \`index\` between 0 and 7, got \`${index}\``);
|
|
42
|
+
}
|
|
43
|
+
if (value !== 0) {
|
|
44
|
+
result[index] = value;
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
const STRING_EPSILON = 0.000001;
|
|
49
|
+
export const toString = (nvector) => {
|
|
50
|
+
const result = nvector
|
|
51
|
+
.map((value, index) => Math.abs(value) > STRING_EPSILON
|
|
52
|
+
? value.toFixed(7).replace(/(\.|0+)$/, "") +
|
|
53
|
+
(index > 0 ? NVECTOR_BASE[index] : "")
|
|
54
|
+
: null)
|
|
55
|
+
.filter((representation) => representation != null)
|
|
56
|
+
.join(" + ");
|
|
57
|
+
return result === "" ? "0" : result;
|
|
58
|
+
};
|
|
59
|
+
// Reverse the order of the basis blades.
|
|
60
|
+
export const reverse = (nvector) => [
|
|
61
|
+
nvector[0],
|
|
62
|
+
nvector[1],
|
|
63
|
+
nvector[2],
|
|
64
|
+
nvector[3],
|
|
65
|
+
-nvector[4],
|
|
66
|
+
-nvector[5],
|
|
67
|
+
-nvector[6],
|
|
68
|
+
-nvector[7],
|
|
69
|
+
];
|
|
70
|
+
// Poincare duality operator.
|
|
71
|
+
export const dual = (nvector) => [
|
|
72
|
+
nvector[7],
|
|
73
|
+
nvector[6],
|
|
74
|
+
nvector[5],
|
|
75
|
+
nvector[4],
|
|
76
|
+
nvector[3],
|
|
77
|
+
nvector[2],
|
|
78
|
+
nvector[1],
|
|
79
|
+
nvector[0],
|
|
80
|
+
];
|
|
81
|
+
// Clifford Conjugation
|
|
82
|
+
export const conjugate = (nvector) => [
|
|
83
|
+
nvector[0],
|
|
84
|
+
-nvector[1],
|
|
85
|
+
-nvector[2],
|
|
86
|
+
-nvector[3],
|
|
87
|
+
-nvector[4],
|
|
88
|
+
-nvector[5],
|
|
89
|
+
-nvector[6],
|
|
90
|
+
nvector[7],
|
|
91
|
+
];
|
|
92
|
+
// Main involution
|
|
93
|
+
export const involute = (nvector) => [
|
|
94
|
+
nvector[0],
|
|
95
|
+
-nvector[1],
|
|
96
|
+
-nvector[2],
|
|
97
|
+
-nvector[3],
|
|
98
|
+
nvector[4],
|
|
99
|
+
nvector[5],
|
|
100
|
+
nvector[6],
|
|
101
|
+
-nvector[7],
|
|
102
|
+
];
|
|
103
|
+
// Multivector addition
|
|
104
|
+
export const add = (a, b) => {
|
|
105
|
+
if (isNumber(b)) {
|
|
106
|
+
return [a[0] + b, a[1], a[2], a[3], a[4], a[5], a[6], a[7]];
|
|
107
|
+
}
|
|
108
|
+
return [
|
|
109
|
+
a[0] + b[0],
|
|
110
|
+
a[1] + b[1],
|
|
111
|
+
a[2] + b[2],
|
|
112
|
+
a[3] + b[3],
|
|
113
|
+
a[4] + b[4],
|
|
114
|
+
a[5] + b[5],
|
|
115
|
+
a[6] + b[6],
|
|
116
|
+
a[7] + b[7],
|
|
117
|
+
];
|
|
118
|
+
};
|
|
119
|
+
// Multivector subtraction
|
|
120
|
+
export const sub = (a, b) => {
|
|
121
|
+
if (isNumber(b)) {
|
|
122
|
+
return [a[0] - b, a[1], a[2], a[3], a[4], a[5], a[6], a[7]];
|
|
123
|
+
}
|
|
124
|
+
return [
|
|
125
|
+
a[0] - b[0],
|
|
126
|
+
a[1] - b[1],
|
|
127
|
+
a[2] - b[2],
|
|
128
|
+
a[3] - b[3],
|
|
129
|
+
a[4] - b[4],
|
|
130
|
+
a[5] - b[5],
|
|
131
|
+
a[6] - b[6],
|
|
132
|
+
a[7] - b[7],
|
|
133
|
+
];
|
|
134
|
+
};
|
|
135
|
+
// The geometric product.
|
|
136
|
+
export const mul = (a, b) => {
|
|
137
|
+
if (isNumber(b)) {
|
|
138
|
+
return [
|
|
139
|
+
a[0] * b,
|
|
140
|
+
a[1] * b,
|
|
141
|
+
a[2] * b,
|
|
142
|
+
a[3] * b,
|
|
143
|
+
a[4] * b,
|
|
144
|
+
a[5] * b,
|
|
145
|
+
a[6] * b,
|
|
146
|
+
a[7] * b,
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
return [
|
|
150
|
+
mulScalar(a, b),
|
|
151
|
+
b[1] * a[0] +
|
|
152
|
+
b[0] * a[1] -
|
|
153
|
+
b[4] * a[2] +
|
|
154
|
+
b[5] * a[3] +
|
|
155
|
+
b[2] * a[4] -
|
|
156
|
+
b[3] * a[5] -
|
|
157
|
+
b[7] * a[6] -
|
|
158
|
+
b[6] * a[7],
|
|
159
|
+
b[2] * a[0] + b[0] * a[2] - b[6] * a[3] + b[3] * a[6],
|
|
160
|
+
b[3] * a[0] + b[6] * a[2] + b[0] * a[3] - b[2] * a[6],
|
|
161
|
+
b[4] * a[0] +
|
|
162
|
+
b[2] * a[1] -
|
|
163
|
+
b[1] * a[2] +
|
|
164
|
+
b[7] * a[3] +
|
|
165
|
+
b[0] * a[4] +
|
|
166
|
+
b[6] * a[5] -
|
|
167
|
+
b[5] * a[6] +
|
|
168
|
+
b[3] * a[7],
|
|
169
|
+
b[5] * a[0] -
|
|
170
|
+
b[3] * a[1] +
|
|
171
|
+
b[7] * a[2] +
|
|
172
|
+
b[1] * a[3] -
|
|
173
|
+
b[6] * a[4] +
|
|
174
|
+
b[0] * a[5] +
|
|
175
|
+
b[4] * a[6] +
|
|
176
|
+
b[2] * a[7],
|
|
177
|
+
b[6] * a[0] + b[3] * a[2] - b[2] * a[3] + b[0] * a[6],
|
|
178
|
+
b[7] * a[0] +
|
|
179
|
+
b[6] * a[1] +
|
|
180
|
+
b[5] * a[2] +
|
|
181
|
+
b[4] * a[3] +
|
|
182
|
+
b[3] * a[4] +
|
|
183
|
+
b[2] * a[5] +
|
|
184
|
+
b[1] * a[6] +
|
|
185
|
+
b[0] * a[7],
|
|
186
|
+
];
|
|
187
|
+
};
|
|
188
|
+
export const mulScalar = (a, b) => b[0] * a[0] + b[2] * a[2] + b[3] * a[3] - b[6] * a[6];
|
|
189
|
+
// The outer/exterior/wedge product.
|
|
190
|
+
export const meet = (a, b) => [
|
|
191
|
+
b[0] * a[0],
|
|
192
|
+
b[1] * a[0] + b[0] * a[1],
|
|
193
|
+
b[2] * a[0] + b[0] * a[2],
|
|
194
|
+
b[3] * a[0] + b[0] * a[3],
|
|
195
|
+
b[4] * a[0] + b[2] * a[1] - b[1] * a[2] + b[0] * a[4],
|
|
196
|
+
b[5] * a[0] - b[3] * a[1] + b[1] * a[3] + b[0] * a[5],
|
|
197
|
+
b[6] * a[0] + b[3] * a[2] - b[2] * a[3] + b[0] * a[6],
|
|
198
|
+
b[7] * a[0] +
|
|
199
|
+
b[6] * a[1] +
|
|
200
|
+
b[5] * a[2] +
|
|
201
|
+
b[4] * a[3] +
|
|
202
|
+
b[3] * a[4] +
|
|
203
|
+
b[2] * a[5] +
|
|
204
|
+
b[1] * a[6],
|
|
205
|
+
];
|
|
206
|
+
// The regressive product.
|
|
207
|
+
export const join = (a, b) => [
|
|
208
|
+
joinScalar(a, b),
|
|
209
|
+
a[1] * b[7] + a[4] * b[5] - a[5] * b[4] + a[7] * b[1],
|
|
210
|
+
a[2] * b[7] - a[4] * b[6] + a[6] * b[4] + a[7] * b[2],
|
|
211
|
+
a[3] * b[7] + a[5] * b[6] - a[6] * b[5] + a[7] * b[3],
|
|
212
|
+
a[4] * b[7] + a[7] * b[4],
|
|
213
|
+
a[5] * b[7] + a[7] * b[5],
|
|
214
|
+
a[6] * b[7] + a[7] * b[6],
|
|
215
|
+
a[7] * b[7],
|
|
216
|
+
];
|
|
217
|
+
export const joinScalar = (a, b) => a[0] * b[7] +
|
|
218
|
+
a[1] * b[6] +
|
|
219
|
+
a[2] * b[5] +
|
|
220
|
+
a[3] * b[4] +
|
|
221
|
+
a[4] * b[3] +
|
|
222
|
+
a[5] * b[2] +
|
|
223
|
+
a[6] * b[1] +
|
|
224
|
+
a[7] * b[0];
|
|
225
|
+
// The inner product.
|
|
226
|
+
export const dot = (a, b) => [
|
|
227
|
+
b[0] * a[0] + b[2] * a[2] + b[3] * a[3] - b[6] * a[6],
|
|
228
|
+
b[1] * a[0] +
|
|
229
|
+
b[0] * a[1] -
|
|
230
|
+
b[4] * a[2] +
|
|
231
|
+
b[5] * a[3] +
|
|
232
|
+
b[2] * a[4] -
|
|
233
|
+
b[3] * a[5] -
|
|
234
|
+
b[7] * a[6] -
|
|
235
|
+
b[6] * a[7],
|
|
236
|
+
b[2] * a[0] + b[0] * a[2] - b[6] * a[3] + b[3] * a[6],
|
|
237
|
+
b[3] * a[0] + b[6] * a[2] + b[0] * a[3] - b[2] * a[6],
|
|
238
|
+
b[4] * a[0] + b[7] * a[3] + b[0] * a[4] + b[3] * a[7],
|
|
239
|
+
b[5] * a[0] + b[7] * a[2] + b[0] * a[5] + b[2] * a[7],
|
|
240
|
+
b[6] * a[0] + b[0] * a[6],
|
|
241
|
+
b[7] * a[0] + b[0] * a[7],
|
|
242
|
+
];
|
|
243
|
+
export const norm = (a) => Math.sqrt(Math.abs(a[0] * a[0] - a[2] * a[2] - a[3] * a[3] + a[6] * a[6]));
|
|
244
|
+
export const inorm = (a) => Math.sqrt(Math.abs(a[7] * a[7] - a[5] * a[5] - a[4] * a[4] + a[1] * a[1]));
|
|
245
|
+
export const normalized = (a) => {
|
|
246
|
+
const n = norm(a);
|
|
247
|
+
if (n === 0 || n === 1) {
|
|
248
|
+
return a;
|
|
249
|
+
}
|
|
250
|
+
const sign = a[6] < 0 ? -1 : 1;
|
|
251
|
+
return mul(a, sign / n);
|
|
252
|
+
};
|
|
253
|
+
export const inormalized = (a) => {
|
|
254
|
+
const n = inorm(a);
|
|
255
|
+
if (n === 0 || n === 1) {
|
|
256
|
+
return a;
|
|
257
|
+
}
|
|
258
|
+
return mul(a, 1 / n);
|
|
259
|
+
};
|
|
260
|
+
const isNumber = (a) => typeof a === "number";
|
|
261
|
+
export const E0 = nvector(1, 1);
|
|
262
|
+
export const E1 = nvector(1, 2);
|
|
263
|
+
export const E2 = nvector(1, 3);
|
|
264
|
+
export const E01 = nvector(1, 4);
|
|
265
|
+
export const E20 = nvector(1, 5);
|
|
266
|
+
export const E12 = nvector(1, 6);
|
|
267
|
+
export const E012 = nvector(1, 7);
|
|
268
|
+
export const I = E012;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { GALine, GADirection, GAPoint } from "ducjs/utils/math/algebra/ga";
|
|
2
|
+
/**
|
|
3
|
+
* A direction is stored as an array `[0, 0, 0, 0, y, x, 0, 0]` representing
|
|
4
|
+
* vector `(x, y)`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const fromDirection: (point: GAPoint) => GAPoint;
|
|
7
|
+
export declare const fromTo: (from: GAPoint, to: GAPoint) => GADirection;
|
|
8
|
+
export declare const directionOrthogonal: (direction: GADirection) => GADirection;
|
|
9
|
+
export declare const orthogonalToLine: (line: GALine) => GADirection;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as GA from "ducjs/utils/math/algebra/ga";
|
|
2
|
+
/**
|
|
3
|
+
* A direction is stored as an array `[0, 0, 0, 0, y, x, 0, 0]` representing
|
|
4
|
+
* vector `(x, y)`.
|
|
5
|
+
*/
|
|
6
|
+
export const fromDirection = (point) => [
|
|
7
|
+
0,
|
|
8
|
+
0,
|
|
9
|
+
0,
|
|
10
|
+
0,
|
|
11
|
+
point[4],
|
|
12
|
+
point[5],
|
|
13
|
+
0,
|
|
14
|
+
0,
|
|
15
|
+
];
|
|
16
|
+
export const fromTo = (from, to) => GA.inormalized([0, 0, 0, 0, to[4] - from[4], to[5] - from[5], 0, 0]);
|
|
17
|
+
export const directionOrthogonal = (direction) => GA.inormalized([0, 0, 0, 0, -direction[5], direction[4], 0, 0]);
|
|
18
|
+
export const orthogonalToLine = (line) => GA.mul(line, GA.I);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { GALine, GAPoint } from "ducjs/utils/math/algebra/ga";
|
|
2
|
+
/**
|
|
3
|
+
* A line is stored as an array `[0, c, a, b, 0, 0, 0, 0]` representing:
|
|
4
|
+
* c * e0 + a * e1 + b*e2
|
|
5
|
+
*
|
|
6
|
+
* This maps to a standard formula `a * x + b * y + c`.
|
|
7
|
+
*
|
|
8
|
+
* `(-b, a)` corresponds to a 2D vector parallel to the line. The lines
|
|
9
|
+
* have a natural orientation, corresponding to that vector.
|
|
10
|
+
*
|
|
11
|
+
* The magnitude ("norm") of the line is `sqrt(a ^ 2 + b ^ 2)`.
|
|
12
|
+
* `c / norm(line)` is the oriented distance from line to origin.
|
|
13
|
+
*/
|
|
14
|
+
export declare const vector: (x: number, y: number) => GALine;
|
|
15
|
+
export declare const equation: (a: number, b: number, c: number) => GALine;
|
|
16
|
+
export declare const through: (from: GAPoint, to: GAPoint) => GALine;
|
|
17
|
+
export declare const orthogonal: (line: GALine, point: GAPoint) => GALine;
|
|
18
|
+
export declare const orthogonalThrough: (against: GAPoint, intersection: GAPoint) => GALine;
|
|
19
|
+
export declare const parallel: (line: GALine, distance: number) => GALine;
|
|
20
|
+
export declare const parallelThrough: (line: GALine, point: GAPoint) => GALine;
|
|
21
|
+
export declare const distance: (line1: GALine, line2: GALine) => number;
|
|
22
|
+
export declare const angle: (line1: GALine, line2: GALine) => number;
|
|
23
|
+
export declare const sign: (line: GALine) => number;
|