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.
Files changed (529) hide show
  1. package/README.md +2 -2
  2. package/dist/enums.d.ts +135 -0
  3. package/dist/enums.js +155 -0
  4. package/dist/index.d.ts +8 -4
  5. package/dist/index.js +8 -4
  6. package/dist/lazy-files.d.ts +44 -0
  7. package/dist/lazy-files.js +129 -0
  8. package/dist/parse.d.ts +21 -55
  9. package/dist/parse.js +58 -1445
  10. package/dist/restore/index.d.ts +0 -1
  11. package/dist/restore/index.js +0 -1
  12. package/dist/restore/restoreDataState.d.ts +6 -10
  13. package/dist/restore/restoreDataState.js +117 -127
  14. package/dist/restore/restoreElements.d.ts +1 -1
  15. package/dist/restore/restoreElements.js +37 -494
  16. package/dist/serialize.d.ts +11 -4
  17. package/dist/serialize.js +58 -2545
  18. package/dist/technical/index.d.ts +0 -1
  19. package/dist/technical/index.js +0 -1
  20. package/dist/technical/scopes.d.ts +1 -1
  21. package/dist/technical/scopes.js +1 -1
  22. package/dist/transform.d.ts +12 -0
  23. package/dist/transform.js +442 -0
  24. package/dist/types/elements/index.d.ts +120 -693
  25. package/dist/types/elements/typeChecks.d.ts +6 -3
  26. package/dist/types/elements/typeChecks.js +9 -8
  27. package/dist/types/geometryTypes.d.ts +1 -1
  28. package/dist/types/index.d.ts +38 -305
  29. package/dist/utils/constants.d.ts +21 -100
  30. package/dist/utils/constants.js +29 -212
  31. package/dist/utils/elements/freedrawElement.d.ts +6 -0
  32. package/dist/utils/elements/freedrawElement.js +28 -11
  33. package/dist/utils/elements/index.d.ts +3 -14
  34. package/dist/utils/elements/index.js +7 -99
  35. package/dist/utils/elements/linearElement.d.ts +2 -2
  36. package/dist/utils/elements/newElement.d.ts +2 -12
  37. package/dist/utils/elements/newElement.js +32 -52
  38. package/dist/utils/elements/textElement.d.ts +3 -3
  39. package/dist/utils/elements/textElement.js +44 -17
  40. package/dist/utils/math/index.d.ts +5 -4
  41. package/dist/utils/math/index.js +3 -3
  42. package/dist/utils/shape.js +2 -2
  43. package/dist/utils/state/index.d.ts +0 -1
  44. package/dist/utils/state/index.js +5 -71
  45. package/dist/utils/traverse.d.ts +8 -0
  46. package/dist/utils/traverse.js +37 -0
  47. package/dist/version-control.d.ts +61 -0
  48. package/dist/version-control.js +84 -0
  49. package/dist/wasm.d.ts +20 -0
  50. package/dist/wasm.js +52 -0
  51. package/package.json +2 -2
  52. package/dist/flatbuffers/duc/alternate-units.d.ts +0 -21
  53. package/dist/flatbuffers/duc/alternate-units.js +0 -66
  54. package/dist/flatbuffers/duc/angular-unit-system.d.ts +0 -17
  55. package/dist/flatbuffers/duc/angular-unit-system.js +0 -50
  56. package/dist/flatbuffers/duc/angular-units-format.d.ts +0 -7
  57. package/dist/flatbuffers/duc/angular-units-format.js +0 -10
  58. package/dist/flatbuffers/duc/axis.d.ts +0 -5
  59. package/dist/flatbuffers/duc/axis.js +0 -8
  60. package/dist/flatbuffers/duc/bezier-mirroring.d.ts +0 -5
  61. package/dist/flatbuffers/duc/bezier-mirroring.js +0 -8
  62. package/dist/flatbuffers/duc/blending.d.ts +0 -9
  63. package/dist/flatbuffers/duc/blending.js +0 -12
  64. package/dist/flatbuffers/duc/block-attachment.d.ts +0 -4
  65. package/dist/flatbuffers/duc/block-attachment.js +0 -7
  66. package/dist/flatbuffers/duc/boolean-operation.d.ts +0 -6
  67. package/dist/flatbuffers/duc/boolean-operation.js +0 -9
  68. package/dist/flatbuffers/duc/bound-element.d.ts +0 -17
  69. package/dist/flatbuffers/duc/bound-element.js +0 -48
  70. package/dist/flatbuffers/duc/checkpoint.d.ts +0 -22
  71. package/dist/flatbuffers/duc/checkpoint.js +0 -75
  72. package/dist/flatbuffers/duc/column-layout.d.ts +0 -22
  73. package/dist/flatbuffers/duc/column-layout.js +0 -72
  74. package/dist/flatbuffers/duc/column-type.d.ts +0 -5
  75. package/dist/flatbuffers/duc/column-type.js +0 -8
  76. package/dist/flatbuffers/duc/custom-hatch-pattern.d.ts +0 -23
  77. package/dist/flatbuffers/duc/custom-hatch-pattern.js +0 -71
  78. package/dist/flatbuffers/duc/datum-bracket-style.d.ts +0 -5
  79. package/dist/flatbuffers/duc/datum-bracket-style.js +0 -8
  80. package/dist/flatbuffers/duc/datum-reference.d.ts +0 -17
  81. package/dist/flatbuffers/duc/datum-reference.js +0 -49
  82. package/dist/flatbuffers/duc/datum-target-type.d.ts +0 -6
  83. package/dist/flatbuffers/duc/datum-target-type.js +0 -9
  84. package/dist/flatbuffers/duc/decimal-separator.d.ts +0 -4
  85. package/dist/flatbuffers/duc/decimal-separator.js +0 -7
  86. package/dist/flatbuffers/duc/delta.d.ts +0 -22
  87. package/dist/flatbuffers/duc/delta.js +0 -75
  88. package/dist/flatbuffers/duc/dictionary-entry.d.ts +0 -17
  89. package/dist/flatbuffers/duc/dictionary-entry.js +0 -49
  90. package/dist/flatbuffers/duc/dimension-baseline-data.d.ts +0 -14
  91. package/dist/flatbuffers/duc/dimension-baseline-data.js +0 -40
  92. package/dist/flatbuffers/duc/dimension-bindings.d.ts +0 -17
  93. package/dist/flatbuffers/duc/dimension-bindings.js +0 -50
  94. package/dist/flatbuffers/duc/dimension-continue-data.d.ts +0 -14
  95. package/dist/flatbuffers/duc/dimension-continue-data.js +0 -40
  96. package/dist/flatbuffers/duc/dimension-definition-points.d.ts +0 -21
  97. package/dist/flatbuffers/duc/dimension-definition-points.js +0 -64
  98. package/dist/flatbuffers/duc/dimension-ext-line-style.d.ts +0 -18
  99. package/dist/flatbuffers/duc/dimension-ext-line-style.js +0 -57
  100. package/dist/flatbuffers/duc/dimension-fit-rule.d.ts +0 -6
  101. package/dist/flatbuffers/duc/dimension-fit-rule.js +0 -9
  102. package/dist/flatbuffers/duc/dimension-fit-style.d.ts +0 -19
  103. package/dist/flatbuffers/duc/dimension-fit-style.js +0 -58
  104. package/dist/flatbuffers/duc/dimension-line-style.d.ts +0 -16
  105. package/dist/flatbuffers/duc/dimension-line-style.js +0 -49
  106. package/dist/flatbuffers/duc/dimension-symbol-style.d.ts +0 -22
  107. package/dist/flatbuffers/duc/dimension-symbol-style.js +0 -72
  108. package/dist/flatbuffers/duc/dimension-text-placement.d.ts +0 -5
  109. package/dist/flatbuffers/duc/dimension-text-placement.js +0 -8
  110. package/dist/flatbuffers/duc/dimension-tolerance-style.d.ts +0 -24
  111. package/dist/flatbuffers/duc/dimension-tolerance-style.js +0 -71
  112. package/dist/flatbuffers/duc/dimension-type.d.ts +0 -15
  113. package/dist/flatbuffers/duc/dimension-type.js +0 -18
  114. package/dist/flatbuffers/duc/dimension-units-format.d.ts +0 -7
  115. package/dist/flatbuffers/duc/dimension-units-format.js +0 -10
  116. package/dist/flatbuffers/duc/dimension-validation-rules.d.ts +0 -25
  117. package/dist/flatbuffers/duc/dimension-validation-rules.js +0 -74
  118. package/dist/flatbuffers/duc/document-grid-align-items.d.ts +0 -5
  119. package/dist/flatbuffers/duc/document-grid-align-items.js +0 -8
  120. package/dist/flatbuffers/duc/document-grid-config.d.ts +0 -22
  121. package/dist/flatbuffers/duc/document-grid-config.js +0 -73
  122. package/dist/flatbuffers/duc/duc-arrow-element.d.ts +0 -16
  123. package/dist/flatbuffers/duc/duc-arrow-element.js +0 -49
  124. package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.d.ts +0 -16
  125. package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.js +0 -44
  126. package/dist/flatbuffers/duc/duc-block-attribute-definition.d.ts +0 -22
  127. package/dist/flatbuffers/duc/duc-block-attribute-definition.js +0 -64
  128. package/dist/flatbuffers/duc/duc-block-collection-entry.d.ts +0 -16
  129. package/dist/flatbuffers/duc/duc-block-collection-entry.js +0 -48
  130. package/dist/flatbuffers/duc/duc-block-collection.d.ts +0 -31
  131. package/dist/flatbuffers/duc/duc-block-collection.js +0 -97
  132. package/dist/flatbuffers/duc/duc-block-duplication-array.d.ts +0 -19
  133. package/dist/flatbuffers/duc/duc-block-duplication-array.js +0 -64
  134. package/dist/flatbuffers/duc/duc-block-instance-element.d.ts +0 -10
  135. package/dist/flatbuffers/duc/duc-block-instance-element.js +0 -28
  136. package/dist/flatbuffers/duc/duc-block-instance.d.ts +0 -32
  137. package/dist/flatbuffers/duc/duc-block-instance.js +0 -100
  138. package/dist/flatbuffers/duc/duc-block-metadata.d.ts +0 -26
  139. package/dist/flatbuffers/duc/duc-block-metadata.js +0 -90
  140. package/dist/flatbuffers/duc/duc-block.d.ts +0 -36
  141. package/dist/flatbuffers/duc/duc-block.js +0 -112
  142. package/dist/flatbuffers/duc/duc-common-style.d.ts +0 -16
  143. package/dist/flatbuffers/duc/duc-common-style.js +0 -44
  144. package/dist/flatbuffers/duc/duc-dimension-element.d.ts +0 -45
  145. package/dist/flatbuffers/duc/duc-dimension-element.js +0 -120
  146. package/dist/flatbuffers/duc/duc-dimension-style.d.ts +0 -28
  147. package/dist/flatbuffers/duc/duc-dimension-style.js +0 -76
  148. package/dist/flatbuffers/duc/duc-doc-element.d.ts +0 -39
  149. package/dist/flatbuffers/duc/duc-doc-element.js +0 -110
  150. package/dist/flatbuffers/duc/duc-doc-style.d.ts +0 -19
  151. package/dist/flatbuffers/duc/duc-doc-style.js +0 -52
  152. package/dist/flatbuffers/duc/duc-element-base.d.ts +0 -100
  153. package/dist/flatbuffers/duc/duc-element-base.js +0 -315
  154. package/dist/flatbuffers/duc/duc-element-styles-base.d.ts +0 -30
  155. package/dist/flatbuffers/duc/duc-element-styles-base.js +0 -103
  156. package/dist/flatbuffers/duc/duc-ellipse-element.d.ts +0 -22
  157. package/dist/flatbuffers/duc/duc-ellipse-element.js +0 -73
  158. package/dist/flatbuffers/duc/duc-embeddable-element.d.ts +0 -14
  159. package/dist/flatbuffers/duc/duc-embeddable-element.js +0 -41
  160. package/dist/flatbuffers/duc/duc-external-file-data.d.ts +0 -27
  161. package/dist/flatbuffers/duc/duc-external-file-data.js +0 -92
  162. package/dist/flatbuffers/duc/duc-external-file-entry.d.ts +0 -16
  163. package/dist/flatbuffers/duc/duc-external-file-entry.js +0 -44
  164. package/dist/flatbuffers/duc/duc-feature-control-frame-element.d.ts +0 -31
  165. package/dist/flatbuffers/duc/duc-feature-control-frame-element.js +0 -89
  166. package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +0 -22
  167. package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +0 -60
  168. package/dist/flatbuffers/duc/duc-frame-element.d.ts +0 -14
  169. package/dist/flatbuffers/duc/duc-frame-element.js +0 -41
  170. package/dist/flatbuffers/duc/duc-free-draw-element.d.ts +0 -52
  171. package/dist/flatbuffers/duc/duc-free-draw-element.js +0 -154
  172. package/dist/flatbuffers/duc/duc-free-draw-ends.d.ts +0 -18
  173. package/dist/flatbuffers/duc/duc-free-draw-ends.js +0 -56
  174. package/dist/flatbuffers/duc/duc-global-state.d.ts +0 -37
  175. package/dist/flatbuffers/duc/duc-global-state.js +0 -121
  176. package/dist/flatbuffers/duc/duc-group.d.ts +0 -16
  177. package/dist/flatbuffers/duc/duc-group.js +0 -44
  178. package/dist/flatbuffers/duc/duc-hatch-style.d.ts +0 -28
  179. package/dist/flatbuffers/duc/duc-hatch-style.js +0 -79
  180. package/dist/flatbuffers/duc/duc-head.d.ts +0 -19
  181. package/dist/flatbuffers/duc/duc-head.js +0 -57
  182. package/dist/flatbuffers/duc/duc-image-element.d.ts +0 -35
  183. package/dist/flatbuffers/duc/duc-image-element.js +0 -91
  184. package/dist/flatbuffers/duc/duc-image-filter.d.ts +0 -15
  185. package/dist/flatbuffers/duc/duc-image-filter.js +0 -48
  186. package/dist/flatbuffers/duc/duc-layer-overrides.d.ts +0 -16
  187. package/dist/flatbuffers/duc/duc-layer-overrides.js +0 -44
  188. package/dist/flatbuffers/duc/duc-layer.d.ts +0 -21
  189. package/dist/flatbuffers/duc/duc-layer.js +0 -59
  190. package/dist/flatbuffers/duc/duc-leader-element.d.ts +0 -22
  191. package/dist/flatbuffers/duc/duc-leader-element.js +0 -60
  192. package/dist/flatbuffers/duc/duc-leader-style.d.ts +0 -27
  193. package/dist/flatbuffers/duc/duc-leader-style.js +0 -79
  194. package/dist/flatbuffers/duc/duc-line-reference.d.ts +0 -15
  195. package/dist/flatbuffers/duc/duc-line-reference.js +0 -43
  196. package/dist/flatbuffers/duc/duc-line.d.ts +0 -15
  197. package/dist/flatbuffers/duc/duc-line.js +0 -43
  198. package/dist/flatbuffers/duc/duc-linear-element-base.d.ts +0 -38
  199. package/dist/flatbuffers/duc/duc-linear-element-base.js +0 -124
  200. package/dist/flatbuffers/duc/duc-linear-element.d.ts +0 -16
  201. package/dist/flatbuffers/duc/duc-linear-element.js +0 -49
  202. package/dist/flatbuffers/duc/duc-local-state.d.ts +0 -68
  203. package/dist/flatbuffers/duc/duc-local-state.js +0 -206
  204. package/dist/flatbuffers/duc/duc-mermaid-element.d.ts +0 -23
  205. package/dist/flatbuffers/duc/duc-mermaid-element.js +0 -65
  206. package/dist/flatbuffers/duc/duc-model-element.d.ts +0 -26
  207. package/dist/flatbuffers/duc/duc-model-element.js +0 -79
  208. package/dist/flatbuffers/duc/duc-parametric-element.d.ts +0 -16
  209. package/dist/flatbuffers/duc/duc-parametric-element.js +0 -44
  210. package/dist/flatbuffers/duc/duc-path.d.ts +0 -26
  211. package/dist/flatbuffers/duc/duc-path.js +0 -69
  212. package/dist/flatbuffers/duc/duc-pdf-element.d.ts +0 -19
  213. package/dist/flatbuffers/duc/duc-pdf-element.js +0 -51
  214. package/dist/flatbuffers/duc/duc-plot-element.d.ts +0 -19
  215. package/dist/flatbuffers/duc/duc-plot-element.js +0 -52
  216. package/dist/flatbuffers/duc/duc-plot-style.d.ts +0 -11
  217. package/dist/flatbuffers/duc/duc-plot-style.js +0 -32
  218. package/dist/flatbuffers/duc/duc-point-binding.d.ts +0 -26
  219. package/dist/flatbuffers/duc/duc-point-binding.js +0 -73
  220. package/dist/flatbuffers/duc/duc-point.d.ts +0 -18
  221. package/dist/flatbuffers/duc/duc-point.js +0 -57
  222. package/dist/flatbuffers/duc/duc-polygon-element.d.ts +0 -16
  223. package/dist/flatbuffers/duc/duc-polygon-element.js +0 -49
  224. package/dist/flatbuffers/duc/duc-rectangle-element.d.ts +0 -14
  225. package/dist/flatbuffers/duc/duc-rectangle-element.js +0 -41
  226. package/dist/flatbuffers/duc/duc-region.d.ts +0 -19
  227. package/dist/flatbuffers/duc/duc-region.js +0 -51
  228. package/dist/flatbuffers/duc/duc-stack-base.d.ts +0 -27
  229. package/dist/flatbuffers/duc/duc-stack-base.js +0 -78
  230. package/dist/flatbuffers/duc/duc-stack-element-base.d.ts +0 -23
  231. package/dist/flatbuffers/duc/duc-stack-element-base.js +0 -65
  232. package/dist/flatbuffers/duc/duc-stack-like-styles.d.ts +0 -16
  233. package/dist/flatbuffers/duc/duc-stack-like-styles.js +0 -48
  234. package/dist/flatbuffers/duc/duc-table-auto-size.d.ts +0 -15
  235. package/dist/flatbuffers/duc/duc-table-auto-size.js +0 -48
  236. package/dist/flatbuffers/duc/duc-table-cell-entry.d.ts +0 -16
  237. package/dist/flatbuffers/duc/duc-table-cell-entry.js +0 -44
  238. package/dist/flatbuffers/duc/duc-table-cell-span.d.ts +0 -15
  239. package/dist/flatbuffers/duc/duc-table-cell-span.js +0 -48
  240. package/dist/flatbuffers/duc/duc-table-cell-style.d.ts +0 -22
  241. package/dist/flatbuffers/duc/duc-table-cell-style.js +0 -59
  242. package/dist/flatbuffers/duc/duc-table-cell.d.ts +0 -27
  243. package/dist/flatbuffers/duc/duc-table-cell.js +0 -72
  244. package/dist/flatbuffers/duc/duc-table-column-entry.d.ts +0 -16
  245. package/dist/flatbuffers/duc/duc-table-column-entry.js +0 -44
  246. package/dist/flatbuffers/duc/duc-table-column.d.ts +0 -18
  247. package/dist/flatbuffers/duc/duc-table-column.js +0 -51
  248. package/dist/flatbuffers/duc/duc-table-element.d.ts +0 -51
  249. package/dist/flatbuffers/duc/duc-table-element.js +0 -167
  250. package/dist/flatbuffers/duc/duc-table-row-entry.d.ts +0 -16
  251. package/dist/flatbuffers/duc/duc-table-row-entry.js +0 -44
  252. package/dist/flatbuffers/duc/duc-table-row.d.ts +0 -18
  253. package/dist/flatbuffers/duc/duc-table-row.js +0 -51
  254. package/dist/flatbuffers/duc/duc-table-style.d.ts +0 -20
  255. package/dist/flatbuffers/duc/duc-table-style.js +0 -57
  256. package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.d.ts +0 -14
  257. package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.js +0 -40
  258. package/dist/flatbuffers/duc/duc-text-dynamic-element-source.d.ts +0 -17
  259. package/dist/flatbuffers/duc/duc-text-dynamic-element-source.js +0 -49
  260. package/dist/flatbuffers/duc/duc-text-dynamic-part.d.ts +0 -22
  261. package/dist/flatbuffers/duc/duc-text-dynamic-part.js +0 -58
  262. package/dist/flatbuffers/duc/duc-text-dynamic-source-data.d.ts +0 -9
  263. package/dist/flatbuffers/duc/duc-text-dynamic-source-data.js +0 -26
  264. package/dist/flatbuffers/duc/duc-text-dynamic-source.d.ts +0 -19
  265. package/dist/flatbuffers/duc/duc-text-dynamic-source.js +0 -58
  266. package/dist/flatbuffers/duc/duc-text-element.d.ts +0 -33
  267. package/dist/flatbuffers/duc/duc-text-element.js +0 -94
  268. package/dist/flatbuffers/duc/duc-text-style.d.ts +0 -41
  269. package/dist/flatbuffers/duc/duc-text-style.js +0 -120
  270. package/dist/flatbuffers/duc/duc-ucs.d.ts +0 -16
  271. package/dist/flatbuffers/duc/duc-ucs.js +0 -49
  272. package/dist/flatbuffers/duc/duc-view.d.ts +0 -24
  273. package/dist/flatbuffers/duc/duc-view.js +0 -71
  274. package/dist/flatbuffers/duc/duc-viewport-element.d.ts +0 -36
  275. package/dist/flatbuffers/duc/duc-viewport-element.js +0 -102
  276. package/dist/flatbuffers/duc/duc-viewport-style.d.ts +0 -13
  277. package/dist/flatbuffers/duc/duc-viewport-style.js +0 -40
  278. package/dist/flatbuffers/duc/duc-xray-element.d.ts +0 -23
  279. package/dist/flatbuffers/duc/duc-xray-element.js +0 -66
  280. package/dist/flatbuffers/duc/duc-xray-style.d.ts +0 -14
  281. package/dist/flatbuffers/duc/duc-xray-style.js +0 -40
  282. package/dist/flatbuffers/duc/dynamic-snap-settings.d.ts +0 -17
  283. package/dist/flatbuffers/duc/dynamic-snap-settings.js +0 -56
  284. package/dist/flatbuffers/duc/element-background.d.ts +0 -14
  285. package/dist/flatbuffers/duc/element-background.js +0 -41
  286. package/dist/flatbuffers/duc/element-content-base.d.ts +0 -29
  287. package/dist/flatbuffers/duc/element-content-base.js +0 -80
  288. package/dist/flatbuffers/duc/element-content-preference.d.ts +0 -8
  289. package/dist/flatbuffers/duc/element-content-preference.js +0 -11
  290. package/dist/flatbuffers/duc/element-stroke.d.ts +0 -24
  291. package/dist/flatbuffers/duc/element-stroke.js +0 -66
  292. package/dist/flatbuffers/duc/element-wrapper.d.ts +0 -16
  293. package/dist/flatbuffers/duc/element-wrapper.js +0 -49
  294. package/dist/flatbuffers/duc/element.d.ts +0 -51
  295. package/dist/flatbuffers/duc/element.js +0 -110
  296. package/dist/flatbuffers/duc/exported-data-state.d.ts +0 -102
  297. package/dist/flatbuffers/duc/exported-data-state.js +0 -341
  298. package/dist/flatbuffers/duc/fcfbetween-modifier.d.ts +0 -17
  299. package/dist/flatbuffers/duc/fcfbetween-modifier.js +0 -48
  300. package/dist/flatbuffers/duc/fcfdatum-definition.d.ts +0 -16
  301. package/dist/flatbuffers/duc/fcfdatum-definition.js +0 -43
  302. package/dist/flatbuffers/duc/fcfdatum-style.d.ts +0 -14
  303. package/dist/flatbuffers/duc/fcfdatum-style.js +0 -41
  304. package/dist/flatbuffers/duc/fcfframe-modifiers.d.ts +0 -22
  305. package/dist/flatbuffers/duc/fcfframe-modifiers.js +0 -65
  306. package/dist/flatbuffers/duc/fcflayout-style.d.ts +0 -17
  307. package/dist/flatbuffers/duc/fcflayout-style.js +0 -56
  308. package/dist/flatbuffers/duc/fcfprojected-zone-modifier.d.ts +0 -13
  309. package/dist/flatbuffers/duc/fcfprojected-zone-modifier.js +0 -40
  310. package/dist/flatbuffers/duc/fcfsegment-row.d.ts +0 -17
  311. package/dist/flatbuffers/duc/fcfsegment-row.js +0 -55
  312. package/dist/flatbuffers/duc/fcfsymbol-style.d.ts +0 -13
  313. package/dist/flatbuffers/duc/fcfsymbol-style.js +0 -40
  314. package/dist/flatbuffers/duc/feature-control-frame-segment.d.ts +0 -22
  315. package/dist/flatbuffers/duc/feature-control-frame-segment.js +0 -65
  316. package/dist/flatbuffers/duc/feature-modifier.d.ts +0 -18
  317. package/dist/flatbuffers/duc/feature-modifier.js +0 -21
  318. package/dist/flatbuffers/duc/gdt-symbol.d.ts +0 -22
  319. package/dist/flatbuffers/duc/gdt-symbol.js +0 -25
  320. package/dist/flatbuffers/duc/geometric-point.d.ts +0 -10
  321. package/dist/flatbuffers/duc/geometric-point.js +0 -27
  322. package/dist/flatbuffers/duc/grid-display-type.d.ts +0 -6
  323. package/dist/flatbuffers/duc/grid-display-type.js +0 -9
  324. package/dist/flatbuffers/duc/grid-settings.d.ts +0 -54
  325. package/dist/flatbuffers/duc/grid-settings.js +0 -165
  326. package/dist/flatbuffers/duc/grid-style.d.ts +0 -26
  327. package/dist/flatbuffers/duc/grid-style.js +0 -74
  328. package/dist/flatbuffers/duc/grid-type.d.ts +0 -7
  329. package/dist/flatbuffers/duc/grid-type.js +0 -10
  330. package/dist/flatbuffers/duc/handle-type.d.ts +0 -4
  331. package/dist/flatbuffers/duc/handle-type.js +0 -7
  332. package/dist/flatbuffers/duc/hatch-pattern-line.d.ts +0 -35
  333. package/dist/flatbuffers/duc/hatch-pattern-line.js +0 -93
  334. package/dist/flatbuffers/duc/hatch-style.d.ts +0 -5
  335. package/dist/flatbuffers/duc/hatch-style.js +0 -8
  336. package/dist/flatbuffers/duc/identified-common-style.d.ts +0 -16
  337. package/dist/flatbuffers/duc/identified-common-style.js +0 -44
  338. package/dist/flatbuffers/duc/identified-dimension-style.d.ts +0 -16
  339. package/dist/flatbuffers/duc/identified-dimension-style.js +0 -44
  340. package/dist/flatbuffers/duc/identified-doc-style.d.ts +0 -16
  341. package/dist/flatbuffers/duc/identified-doc-style.js +0 -44
  342. package/dist/flatbuffers/duc/identified-fcfstyle.d.ts +0 -16
  343. package/dist/flatbuffers/duc/identified-fcfstyle.js +0 -44
  344. package/dist/flatbuffers/duc/identified-grid-settings.d.ts +0 -16
  345. package/dist/flatbuffers/duc/identified-grid-settings.js +0 -44
  346. package/dist/flatbuffers/duc/identified-hatch-style.d.ts +0 -16
  347. package/dist/flatbuffers/duc/identified-hatch-style.js +0 -44
  348. package/dist/flatbuffers/duc/identified-leader-style.d.ts +0 -16
  349. package/dist/flatbuffers/duc/identified-leader-style.js +0 -44
  350. package/dist/flatbuffers/duc/identified-snap-settings.d.ts +0 -16
  351. package/dist/flatbuffers/duc/identified-snap-settings.js +0 -44
  352. package/dist/flatbuffers/duc/identified-stack-like-style.d.ts +0 -16
  353. package/dist/flatbuffers/duc/identified-stack-like-style.js +0 -44
  354. package/dist/flatbuffers/duc/identified-table-style.d.ts +0 -16
  355. package/dist/flatbuffers/duc/identified-table-style.js +0 -44
  356. package/dist/flatbuffers/duc/identified-text-style.d.ts +0 -16
  357. package/dist/flatbuffers/duc/identified-text-style.js +0 -44
  358. package/dist/flatbuffers/duc/identified-ucs.d.ts +0 -16
  359. package/dist/flatbuffers/duc/identified-ucs.js +0 -44
  360. package/dist/flatbuffers/duc/identified-view.d.ts +0 -16
  361. package/dist/flatbuffers/duc/identified-view.js +0 -44
  362. package/dist/flatbuffers/duc/identified-viewport-style.d.ts +0 -16
  363. package/dist/flatbuffers/duc/identified-viewport-style.js +0 -44
  364. package/dist/flatbuffers/duc/identified-xray-style.d.ts +0 -16
  365. package/dist/flatbuffers/duc/identified-xray-style.js +0 -44
  366. package/dist/flatbuffers/duc/identifier.d.ts +0 -20
  367. package/dist/flatbuffers/duc/identifier.js +0 -57
  368. package/dist/flatbuffers/duc/image-crop.d.ts +0 -23
  369. package/dist/flatbuffers/duc/image-crop.js +0 -80
  370. package/dist/flatbuffers/duc/image-status.d.ts +0 -5
  371. package/dist/flatbuffers/duc/image-status.js +0 -8
  372. package/dist/flatbuffers/duc/isometric-grid-settings.d.ts +0 -15
  373. package/dist/flatbuffers/duc/isometric-grid-settings.js +0 -48
  374. package/dist/flatbuffers/duc/jsonpatch-operation.d.ts +0 -23
  375. package/dist/flatbuffers/duc/jsonpatch-operation.js +0 -64
  376. package/dist/flatbuffers/duc/layer-snap-filters.d.ts +0 -23
  377. package/dist/flatbuffers/duc/layer-snap-filters.js +0 -76
  378. package/dist/flatbuffers/duc/layer-validation-rules.d.ts +0 -17
  379. package/dist/flatbuffers/duc/layer-validation-rules.js +0 -54
  380. package/dist/flatbuffers/duc/leader-block-content.d.ts +0 -25
  381. package/dist/flatbuffers/duc/leader-block-content.js +0 -85
  382. package/dist/flatbuffers/duc/leader-content-data.d.ts +0 -9
  383. package/dist/flatbuffers/duc/leader-content-data.js +0 -26
  384. package/dist/flatbuffers/duc/leader-content-type.d.ts +0 -4
  385. package/dist/flatbuffers/duc/leader-content-type.js +0 -7
  386. package/dist/flatbuffers/duc/leader-content.d.ts +0 -19
  387. package/dist/flatbuffers/duc/leader-content.js +0 -58
  388. package/dist/flatbuffers/duc/leader-text-block-content.d.ts +0 -14
  389. package/dist/flatbuffers/duc/leader-text-block-content.js +0 -40
  390. package/dist/flatbuffers/duc/line-head.d.ts +0 -17
  391. package/dist/flatbuffers/duc/line-head.js +0 -20
  392. package/dist/flatbuffers/duc/line-spacing-type.d.ts +0 -5
  393. package/dist/flatbuffers/duc/line-spacing-type.js +0 -8
  394. package/dist/flatbuffers/duc/line-spacing.d.ts +0 -16
  395. package/dist/flatbuffers/duc/line-spacing.js +0 -49
  396. package/dist/flatbuffers/duc/linear-unit-system.d.ts +0 -24
  397. package/dist/flatbuffers/duc/linear-unit-system.js +0 -75
  398. package/dist/flatbuffers/duc/margins.d.ts +0 -19
  399. package/dist/flatbuffers/duc/margins.js +0 -64
  400. package/dist/flatbuffers/duc/mark-ellipse-center.d.ts +0 -4
  401. package/dist/flatbuffers/duc/mark-ellipse-center.js +0 -7
  402. package/dist/flatbuffers/duc/material-condition.d.ts +0 -5
  403. package/dist/flatbuffers/duc/material-condition.js +0 -8
  404. package/dist/flatbuffers/duc/object-snap-mode.d.ts +0 -22
  405. package/dist/flatbuffers/duc/object-snap-mode.js +0 -25
  406. package/dist/flatbuffers/duc/paragraph-formatting.d.ts +0 -33
  407. package/dist/flatbuffers/duc/paragraph-formatting.js +0 -106
  408. package/dist/flatbuffers/duc/parametric-source-type.d.ts +0 -4
  409. package/dist/flatbuffers/duc/parametric-source-type.js +0 -7
  410. package/dist/flatbuffers/duc/parametric-source.d.ts +0 -20
  411. package/dist/flatbuffers/duc/parametric-source.js +0 -57
  412. package/dist/flatbuffers/duc/plot-layout.d.ts +0 -14
  413. package/dist/flatbuffers/duc/plot-layout.js +0 -41
  414. package/dist/flatbuffers/duc/point-binding-point.d.ts +0 -15
  415. package/dist/flatbuffers/duc/point-binding-point.js +0 -48
  416. package/dist/flatbuffers/duc/polar-grid-settings.d.ts +0 -17
  417. package/dist/flatbuffers/duc/polar-grid-settings.js +0 -56
  418. package/dist/flatbuffers/duc/polar-tracking-settings.d.ts +0 -29
  419. package/dist/flatbuffers/duc/polar-tracking-settings.js +0 -90
  420. package/dist/flatbuffers/duc/primary-units.d.ts +0 -16
  421. package/dist/flatbuffers/duc/primary-units.js +0 -44
  422. package/dist/flatbuffers/duc/pruning-level.d.ts +0 -5
  423. package/dist/flatbuffers/duc/pruning-level.js +0 -8
  424. package/dist/flatbuffers/duc/snap-marker-settings.d.ts +0 -23
  425. package/dist/flatbuffers/duc/snap-marker-settings.js +0 -79
  426. package/dist/flatbuffers/duc/snap-marker-shape.d.ts +0 -6
  427. package/dist/flatbuffers/duc/snap-marker-shape.js +0 -9
  428. package/dist/flatbuffers/duc/snap-marker-style-entry.d.ts +0 -16
  429. package/dist/flatbuffers/duc/snap-marker-style-entry.js +0 -43
  430. package/dist/flatbuffers/duc/snap-marker-style.d.ts +0 -17
  431. package/dist/flatbuffers/duc/snap-marker-style.js +0 -49
  432. package/dist/flatbuffers/duc/snap-mode.d.ts +0 -4
  433. package/dist/flatbuffers/duc/snap-mode.js +0 -7
  434. package/dist/flatbuffers/duc/snap-override-behavior.d.ts +0 -5
  435. package/dist/flatbuffers/duc/snap-override-behavior.js +0 -8
  436. package/dist/flatbuffers/duc/snap-override.d.ts +0 -17
  437. package/dist/flatbuffers/duc/snap-override.js +0 -49
  438. package/dist/flatbuffers/duc/snap-settings.d.ts +0 -75
  439. package/dist/flatbuffers/duc/snap-settings.js +0 -245
  440. package/dist/flatbuffers/duc/stack-format-properties.d.ts +0 -18
  441. package/dist/flatbuffers/duc/stack-format-properties.js +0 -57
  442. package/dist/flatbuffers/duc/stack-format.d.ts +0 -21
  443. package/dist/flatbuffers/duc/stack-format.js +0 -64
  444. package/dist/flatbuffers/duc/stacked-text-align.d.ts +0 -5
  445. package/dist/flatbuffers/duc/stacked-text-align.js +0 -8
  446. package/dist/flatbuffers/duc/standard-overrides.d.ts +0 -63
  447. package/dist/flatbuffers/duc/standard-overrides.js +0 -162
  448. package/dist/flatbuffers/duc/standard-styles.d.ts +0 -77
  449. package/dist/flatbuffers/duc/standard-styles.js +0 -285
  450. package/dist/flatbuffers/duc/standard-units.d.ts +0 -16
  451. package/dist/flatbuffers/duc/standard-units.js +0 -44
  452. package/dist/flatbuffers/duc/standard-validation.d.ts +0 -16
  453. package/dist/flatbuffers/duc/standard-validation.js +0 -44
  454. package/dist/flatbuffers/duc/standard-view-settings.d.ts +0 -35
  455. package/dist/flatbuffers/duc/standard-view-settings.js +0 -124
  456. package/dist/flatbuffers/duc/standard.d.ts +0 -33
  457. package/dist/flatbuffers/duc/standard.js +0 -90
  458. package/dist/flatbuffers/duc/string-value-entry.d.ts +0 -17
  459. package/dist/flatbuffers/duc/string-value-entry.js +0 -49
  460. package/dist/flatbuffers/duc/stroke-cap.d.ts +0 -5
  461. package/dist/flatbuffers/duc/stroke-cap.js +0 -8
  462. package/dist/flatbuffers/duc/stroke-join.d.ts +0 -5
  463. package/dist/flatbuffers/duc/stroke-join.js +0 -8
  464. package/dist/flatbuffers/duc/stroke-placement.d.ts +0 -5
  465. package/dist/flatbuffers/duc/stroke-placement.js +0 -8
  466. package/dist/flatbuffers/duc/stroke-preference.d.ts +0 -6
  467. package/dist/flatbuffers/duc/stroke-preference.js +0 -9
  468. package/dist/flatbuffers/duc/stroke-side-preference.d.ts +0 -8
  469. package/dist/flatbuffers/duc/stroke-side-preference.js +0 -11
  470. package/dist/flatbuffers/duc/stroke-sides.d.ts +0 -24
  471. package/dist/flatbuffers/duc/stroke-sides.js +0 -67
  472. package/dist/flatbuffers/duc/stroke-style.d.ts +0 -37
  473. package/dist/flatbuffers/duc/stroke-style.js +0 -111
  474. package/dist/flatbuffers/duc/stroke-width.d.ts +0 -5
  475. package/dist/flatbuffers/duc/stroke-width.js +0 -8
  476. package/dist/flatbuffers/duc/table-cell-alignment.d.ts +0 -11
  477. package/dist/flatbuffers/duc/table-cell-alignment.js +0 -14
  478. package/dist/flatbuffers/duc/table-flow-direction.d.ts +0 -4
  479. package/dist/flatbuffers/duc/table-flow-direction.js +0 -7
  480. package/dist/flatbuffers/duc/text-align.d.ts +0 -5
  481. package/dist/flatbuffers/duc/text-align.js +0 -8
  482. package/dist/flatbuffers/duc/text-column.d.ts +0 -15
  483. package/dist/flatbuffers/duc/text-column.js +0 -48
  484. package/dist/flatbuffers/duc/text-field-source-property.d.ts +0 -13
  485. package/dist/flatbuffers/duc/text-field-source-property.js +0 -16
  486. package/dist/flatbuffers/duc/text-field-source-type.d.ts +0 -4
  487. package/dist/flatbuffers/duc/text-field-source-type.js +0 -7
  488. package/dist/flatbuffers/duc/text-flow-direction.d.ts +0 -6
  489. package/dist/flatbuffers/duc/text-flow-direction.js +0 -9
  490. package/dist/flatbuffers/duc/tiling-properties.d.ts +0 -21
  491. package/dist/flatbuffers/duc/tiling-properties.js +0 -75
  492. package/dist/flatbuffers/duc/tolerance-clause.d.ts +0 -27
  493. package/dist/flatbuffers/duc/tolerance-clause.js +0 -84
  494. package/dist/flatbuffers/duc/tolerance-display.d.ts +0 -7
  495. package/dist/flatbuffers/duc/tolerance-display.js +0 -10
  496. package/dist/flatbuffers/duc/tolerance-type.d.ts +0 -5
  497. package/dist/flatbuffers/duc/tolerance-type.js +0 -8
  498. package/dist/flatbuffers/duc/tolerance-zone-type.d.ts +0 -7
  499. package/dist/flatbuffers/duc/tolerance-zone-type.js +0 -10
  500. package/dist/flatbuffers/duc/tracking-line-style.d.ts +0 -26
  501. package/dist/flatbuffers/duc/tracking-line-style.js +0 -74
  502. package/dist/flatbuffers/duc/unit-precision.d.ts +0 -19
  503. package/dist/flatbuffers/duc/unit-precision.js +0 -64
  504. package/dist/flatbuffers/duc/unit-system-base.d.ts +0 -20
  505. package/dist/flatbuffers/duc/unit-system-base.js +0 -65
  506. package/dist/flatbuffers/duc/unit-system.d.ts +0 -4
  507. package/dist/flatbuffers/duc/unit-system.js +0 -7
  508. package/dist/flatbuffers/duc/version-base.d.ts +0 -27
  509. package/dist/flatbuffers/duc/version-base.js +0 -80
  510. package/dist/flatbuffers/duc/version-graph-metadata.d.ts +0 -15
  511. package/dist/flatbuffers/duc/version-graph-metadata.js +0 -48
  512. package/dist/flatbuffers/duc/version-graph.d.ts +0 -31
  513. package/dist/flatbuffers/duc/version-graph.js +0 -94
  514. package/dist/flatbuffers/duc/vertical-align.d.ts +0 -5
  515. package/dist/flatbuffers/duc/vertical-align.js +0 -8
  516. package/dist/flatbuffers/duc/viewport-shade-plot.d.ts +0 -6
  517. package/dist/flatbuffers/duc/viewport-shade-plot.js +0 -9
  518. package/dist/flatbuffers/duc/youtube-states.d.ts +0 -8
  519. package/dist/flatbuffers/duc/youtube-states.js +0 -11
  520. package/dist/flatbuffers/duc.d.ts +0 -234
  521. package/dist/flatbuffers/duc.js +0 -236
  522. package/dist/restore/restoreStandards.d.ts +0 -8
  523. package/dist/restore/restoreStandards.js +0 -224
  524. package/dist/technical/standards.d.ts +0 -124
  525. package/dist/technical/standards.js +0 -10
  526. package/dist/utils/elements/viewportElement.d.ts +0 -6
  527. package/dist/utils/elements/viewportElement.js +0 -9
  528. package/dist/utils/state/grid.d.ts +0 -7
  529. package/dist/utils/state/grid.js +0 -25
@@ -1,9 +1,12 @@
1
1
  import type { ElementOrToolType } from "..";
2
- import type { MarkNonNullable } from "../utility-types";
3
2
  import { Bounds, LineSegment, TuplePoint } from "../geometryTypes";
4
- import type { DucArrowElement, DucBindableElement, DucElbowArrowElement, DucElement, DucElementType, DucEmbeddableElement, DucFlowchartNodeElement, DucFrameElement, DucFrameLikeElement, DucFreeDrawElement, DucImageElement, DucLinearElement, DucPlotElement, DucTableElement, DucPointBinding, DucTextContainer, DucTextElement, DucTextElementWithContainer, FixedPointBinding, InitializedDucImageElement, DucNonSelectionElement, DucEllipseElement, DucPolygonElement, NonDeleted, DucIframeLikeElement } from "./";
3
+ import type { MarkNonNullable } from "../utility-types";
4
+ import type { DucArrowElement, DucBindableElement, DucDocElement, DucElbowArrowElement, DucElement, DucElementType, DucEllipseElement, DucEmbeddableElement, DucFlowchartNodeElement, DucFrameElement, DucFrameLikeElement, DucFreeDrawElement, DucIframeLikeElement, DucImageElement, DucLinearElement, DucNonSelectionElement, DucPdfElement, DucPlotElement, DucPointBinding, DucPolygonElement, DucTableElement, DucTextContainer, DucTextElement, DucTextElementWithContainer, FixedPointBinding, InitializedDucImageElement, NonDeleted } from "./";
5
5
  export declare const isInitializedImageElement: (element: DucElement | null) => element is InitializedDucImageElement;
6
6
  export declare const isImageElement: (element: DucElement | null) => element is DucImageElement;
7
+ export declare const isPdfElement: (element: DucElement | null) => element is DucPdfElement;
8
+ export type DucPdfLikeElement = DucPdfElement | DucDocElement;
9
+ export declare const isPdfLikeElement: (element: DucElement | null) => element is DucPdfLikeElement;
7
10
  export declare const isEmbeddableElement: (element: DucElement | null | undefined) => element is DucEmbeddableElement;
8
11
  export declare const isTableElement: (element: DucElement | null) => element is DucTableElement;
9
12
  export declare const isIframeLikeElement: (element: DucElement | null) => element is DucIframeLikeElement;
@@ -30,7 +33,7 @@ export declare const isTextBindableContainer: (element: DucElement | null, inclu
30
33
  export declare const isDucElement: (element: any) => element is DucElement;
31
34
  export declare const hasBoundTextElement: (element: DucElement | null) => element is MarkNonNullable<DucBindableElement, "boundElements">;
32
35
  export declare const isBoundToContainer: (element: DucElement | null) => element is DucTextElementWithContainer;
33
- export declare const isUsingAdaptiveRadius: (type: string) => type is "embeddable" | "image" | "rectangle" | "table";
36
+ export declare const isUsingAdaptiveRadius: (type: string) => type is "rectangle" | "image" | "embeddable" | "table";
34
37
  export declare const isUsingProportionalRadius: (type: string) => type is "line" | "arrow" | "diamond";
35
38
  export declare const isPoint: (point: unknown) => point is TuplePoint;
36
39
  export declare const isBounds: (box: unknown) => box is Bounds;
@@ -5,6 +5,12 @@ export const isInitializedImageElement = (element) => {
5
5
  export const isImageElement = (element) => {
6
6
  return !!element && element.type === "image";
7
7
  };
8
+ export const isPdfElement = (element) => {
9
+ return !!element && element.type === "pdf";
10
+ };
11
+ export const isPdfLikeElement = (element) => {
12
+ return !!element && (element.type === "pdf" || element.type === "doc");
13
+ };
8
14
  export const isEmbeddableElement = (element) => {
9
15
  return !!element && element.type === "embeddable";
10
16
  };
@@ -129,19 +135,14 @@ export const isDucElement = (element) => {
129
135
  case "frame":
130
136
  case "image":
131
137
  case "table":
132
- case "dimension":
133
- case "leader":
134
138
  case "doc":
135
139
  case "selection":
136
140
  case "model":
137
- case "featurecontrolframe":
138
- case "viewport":
139
141
  case "plot":
140
- case "xray":
141
142
  case "pdf":
142
- case "mermaid": {
143
- return true;
144
- }
143
+ {
144
+ return true;
145
+ }
145
146
  default: {
146
147
  assertNever(type, null);
147
148
  return false;
@@ -1,4 +1,4 @@
1
- import { AXIS } from "../flatbuffers/duc";
1
+ import { AXIS } from "../enums";
2
2
  import { ScopedValue, ValueOf } from "./";
3
3
  /**
4
4
  * Axis such as X, Y, Z
@@ -2,13 +2,11 @@ export * from "./elements";
2
2
  export * from "./geometryTypes";
3
3
  export * from "./typeChecks";
4
4
  export * from "./utility-types";
5
- import { OBJECT_SNAP_MODE, PRUNING_LEVEL } from "../flatbuffers/duc";
5
+ import { PRUNING_LEVEL } from "../enums";
6
6
  import { SupportedMeasures } from "../technical/scopes";
7
- import { Standard } from "../technical/standards";
8
- import type { GRID_DISPLAY_TYPE, GRID_TYPE, SNAP_MARKER_SHAPE, SNAP_MODE, SNAP_OVERRIDE_BEHAVIOR } from "../utils/constants";
9
7
  import { DucBindableElement, DucBlock, DucBlockCollection, DucBlockInstance, DucElement, DucElementType, DucGroup, DucIframeLikeElement, DucLayer, DucLinearElement, DucPoint, DucRegion, DucTextElement, ElementBackground, ElementStroke, ExternalFileId, FontFamilyValues, LineHead, NonDeleted, TextAlign } from "./elements";
10
- import { GeometricPoint, Percentage, Radian, ScaleFactor } from "./geometryTypes";
11
- import { MakeBrand, MarkOptional, MaybePromise, ValueOf } from "./utility-types";
8
+ import { GeometricPoint, Percentage, Radian } from "./geometryTypes";
9
+ import { MarkOptional, MaybePromise, ValueOf } from "./utility-types";
12
10
  /**
13
11
  * Root data structure for the stored data state
14
12
  */
@@ -29,7 +27,6 @@ export interface ExportedDataState {
29
27
  groups: readonly DucGroup[];
30
28
  regions: readonly DucRegion[];
31
29
  layers: readonly DucLayer[];
32
- standards: readonly Standard[];
33
30
  files: DucExternalFiles | undefined;
34
31
  /** In case it is needed to embed the version control into the file format */
35
32
  versionGraph: VersionGraph | undefined;
@@ -132,47 +129,11 @@ export type DucGlobalState = {
132
129
  * The master unit system for the entire drawing, used for block/file insertion scaling.
133
130
  */
134
131
  mainScope: Scope;
135
- /**
136
- * The global linetype scale for the entire drawing.
137
- */
138
- dashSpacingScale: ScaleFactor;
139
- /**
140
- * Governs if linetype scale is affected by paper space viewport scale.
141
- */
142
- isDashSpacingAffectedByViewportScale: boolean;
143
132
  /**
144
133
  * Exponent threshold for determining when to change measurement scope (up or down).
145
134
  * This value defines a +/- tolerance range around the exponent of the current scope.
146
- * A scope change is triggered if the exponent of *either* the calculated real viewport width
147
- * or the calculated real viewport height falls outside this tolerance range relative to the current scope's exponent.
148
- *
149
- * Example scenario:
150
- * appState.scopeExponentThreshold = 2
151
- * appState.scope = "mm" // (approximately 1e-3 relative to reference unit (meter))
152
- * appState.zoom = dynamic value representing the current zoom level
153
- *
154
- * The real viewport size is calculated as: viewportSize * zoom
155
- *
156
- * This system ensures measurements remain representable with appropriate precision
157
- * as users zoom in and out, automatically adjusting between units like mm, μm, nm, etc.
158
135
  */
159
136
  scopeExponentThreshold: number;
160
- /**
161
- * A rule for whether newly created dimensions should be associative by default.
162
- */
163
- dimensionsAssociativeByDefault: boolean;
164
- /**
165
- * A fundamental choice for the drawing's scaling architecture.
166
- */
167
- useAnnotativeScaling: boolean;
168
- /**
169
- * Default display precision for various unit types. The user can override
170
- * this temporarily in their session state (DucState).
171
- */
172
- displayPrecision: {
173
- linear: number;
174
- angular: number;
175
- };
176
137
  /** The level of pruning to the versions from the version graph. */
177
138
  pruningLevel: PruningLevel;
178
139
  };
@@ -182,16 +143,9 @@ export type DucLocalState = {
182
143
  * mm, cm, m, in, ft, yd, mi, etc...
183
144
  */
184
145
  scope: Scope;
185
- /** The active standard for the design */
186
- activeStandardId: Standard["id"];
187
146
  scrollX: PrecisionValue;
188
147
  scrollY: PrecisionValue;
189
148
  zoom: Zoom;
190
- /**
191
- * list of active grids ordered by z index, most on top is first
192
- * */
193
- activeGridSettings: Identifier["id"][] | null;
194
- activeSnapSettings: Identifier["id"] | null;
195
149
  isBindingEnabled: boolean;
196
150
  currentItemStroke: ElementStroke;
197
151
  currentItemBackground: ElementBackground;
@@ -202,15 +156,6 @@ export type DucLocalState = {
202
156
  currentItemStartLineHead: LineHead | null;
203
157
  currentItemEndLineHead: LineHead | null;
204
158
  currentItemRoundness: DucElement["roundness"];
205
- /**
206
- * grid cell px size
207
- * @deprecated use activeGridSettings instead
208
- * */
209
- gridSize: number;
210
- /**
211
- * @deprecated use activeGridSettings instead
212
- * */
213
- gridStep: number;
214
159
  /**
215
160
  * Pen mode is enabled, creates a better experience for drawing with a pen
216
161
  */
@@ -233,6 +178,7 @@ export type DucLocalState = {
233
178
  outlineModeEnabled: boolean;
234
179
  /** When enabled, the version graph is not updated automatically. The user needs to manually update the graph for new versions to be saved in version control. */
235
180
  manualSaveMode: boolean;
181
+ decimalPlaces: number;
236
182
  };
237
183
  export type NormalizedZoomValue = number & {
238
184
  _brand: "normalizedZoom";
@@ -324,249 +270,7 @@ export type JSONValue = string | number | boolean | null | object;
324
270
  export type EmbedsValidationStatus = Map<DucIframeLikeElement["id"], boolean>;
325
271
  export type ElementsPendingErasure = Set<DucElement["id"]>;
326
272
  export type PendingDucElements = DucElement[];
327
- export type GridDisplayType = ValueOf<typeof GRID_DISPLAY_TYPE>;
328
- export type GridType = ValueOf<typeof GRID_TYPE>;
329
- /**
330
- * Unified grid styling (works for lines, dots, crosses)
331
- */
332
- export type GridStyle = {
333
- color: string;
334
- opacity: Percentage;
335
- dashPattern: number[];
336
- };
337
- /**
338
- * Polar grid specific settings
339
- */
340
- export type PolarGridSettings = {
341
- /** Number of radial divisions (spokes) */
342
- radialDivisions: number;
343
- /** Radial spacing between concentric circles */
344
- radialSpacing: PrecisionValue;
345
- /** Whether to show angle labels */
346
- showLabels: boolean;
347
- };
348
- /**
349
- * Isometric grid specific settings
350
- */
351
- export type IsometricGridSettings = {
352
- /** Left plane angle (typically 30 degrees) */
353
- leftAngle: Radian;
354
- /** Right plane angle (typically 30 degrees) */
355
- rightAngle: Radian;
356
- };
357
- /**
358
- * Grid settings configuration
359
- */
360
- export type GridSettings = {
361
- /** Grid coordinate system type */
362
- type: GridType;
363
- /** Whether this grid is read-only */
364
- readonly: boolean;
365
- /** How the grid is displayed */
366
- displayType: GridDisplayType;
367
- /**
368
- * Whether the grid spacing is adaptive (changes with zoom level) or fixed.
369
- */
370
- isAdaptive: boolean;
371
- /** Spacing between major grid lines along X-axis */
372
- xSpacing: PrecisionValue;
373
- /** Spacing between major grid lines along Y-axis */
374
- ySpacing: PrecisionValue;
375
- /** Number of minor divisions between major lines */
376
- subdivisions: number;
377
- /** Grid origin point */
378
- origin: GeometricPoint;
379
- /** Grid rotation angle */
380
- rotation: Radian;
381
- /** Whether grid follows the active UCS */
382
- followUCS: boolean;
383
- /** Major grid line/dot styling */
384
- majorStyle: GridStyle;
385
- /** Minor grid line/dot styling */
386
- minorStyle: GridStyle;
387
- /** Show minor subdivisions */
388
- showMinor: boolean;
389
- /** Minimum zoom level where grid becomes visible */
390
- minZoom: number;
391
- /** Maximum zoom level where grid remains visible */
392
- maxZoom: number;
393
- /** Whether to auto-hide when too dense */
394
- autoHide: boolean;
395
- /** Polar grid settings (when type is POLAR) */
396
- polarSettings?: PolarGridSettings;
397
- /** Isometric grid settings (when type is ISOMETRIC) */
398
- isometricSettings?: IsometricGridSettings;
399
- /** Whether this grid affects snapping */
400
- enableSnapping: boolean;
401
- };
402
- export type ObjectSnapMode = ValueOf<typeof OBJECT_SNAP_MODE>;
403
- export type SnapOverrideBehavior = ValueOf<typeof SNAP_OVERRIDE_BEHAVIOR>;
404
- export type SnapMarkerShape = ValueOf<typeof SNAP_MARKER_SHAPE>;
405
- export type SnapMode = ValueOf<typeof SNAP_MODE>;
406
- /**
407
- * Temporary snap override settings
408
- */
409
- export type SnapOverride = {
410
- key: string;
411
- behavior: SnapOverrideBehavior;
412
- };
413
- /**
414
- * Dynamic snap behavior configuration
415
- */
416
- export type DynamicSnapSettings = {
417
- enabledDuringDrag: boolean;
418
- enabledDuringRotation: boolean;
419
- enabledDuringScale: boolean;
420
- };
421
- /**
422
- * Polar tracking configuration
423
- */
424
- export type PolarTrackingSettings = {
425
- enabled: boolean;
426
- angles: Radian[];
427
- /**
428
- * Additional increment angle for polar tracking
429
- */
430
- incrementAngle?: Radian;
431
- /**
432
- * Whether to track from last point or from base
433
- */
434
- trackFromLastPoint: boolean;
435
- /**
436
- * Display polar distance and angle
437
- */
438
- showPolarCoordinates: boolean;
439
- };
440
- /**
441
- * Tracking line display settings
442
- */
443
- export type TrackingLineStyle = {
444
- color: string;
445
- opacity: Percentage;
446
- dashPattern?: number[];
447
- };
448
- /**
449
- * Layer-specific snap filters
450
- */
451
- export type LayerSnapFilters = {
452
- includeLayers?: string[];
453
- excludeLayers?: string[];
454
- };
455
- /**
456
- * Snap marker configuration for each snap mode
457
- */
458
- export type SnapMarkerStyle = {
459
- shape: SnapMarkerShape;
460
- color: string;
461
- };
462
- /**
463
- * Visual feedback settings for snap markers
464
- */
465
- export type SnapMarkerSettings = {
466
- enabled: boolean;
467
- size: number;
468
- duration?: number;
469
- styles: Record<ObjectSnapMode, SnapMarkerStyle>;
470
- };
471
- /**
472
- * Defines the properties of the drawing snap mode.
473
- */
474
- export type SnapSettings = {
475
- /** Whether this snap settings is read-only */
476
- readonly: boolean;
477
- /**
478
- * The snap angle for rotated snap grids (e.g., for isometric snapping).
479
- * In radians. Default is 0.
480
- */
481
- twistAngle: Radian;
482
- /**
483
- * Snap tolerance in pixels - how close cursor must be to trigger snap
484
- */
485
- snapTolerance: number;
486
- /**
487
- * Aperture size for object snap detection (in pixels)
488
- */
489
- objectSnapAperture: number;
490
- /**
491
- * Whether orthogonal mode is enabled (constrains to 0/90 degrees)
492
- */
493
- isOrthoModeOn: boolean;
494
- /**
495
- * Polar tracking configuration
496
- */
497
- polarTracking: PolarTrackingSettings;
498
- /**
499
- * Whether object snap (Osnap) is enabled.
500
- * Osnap allows snapping to geometric points on existing objects.
501
- */
502
- isObjectSnapOn: boolean;
503
- /**
504
- * Set of active object snap modes
505
- */
506
- activeObjectSnapModes: ObjectSnapMode[];
507
- /**
508
- * Priority order when multiple snaps are available at cursor position
509
- */
510
- snapPriority: ObjectSnapMode[];
511
- /**
512
- * Whether to show tracking lines/vectors
513
- */
514
- showTrackingLines: boolean;
515
- /**
516
- * Tracking line display settings
517
- */
518
- trackingLineStyle?: TrackingLineStyle;
519
- /**
520
- * Snap behavior during element creation/modification
521
- */
522
- dynamicSnap: DynamicSnapSettings;
523
- /**
524
- * Temporary snap override settings (e.g., holding shift)
525
- */
526
- temporaryOverrides?: SnapOverride[];
527
- /**
528
- * Incremental snap distance (for relative movements)
529
- */
530
- incrementalDistance?: number;
531
- /**
532
- * Magnetic snap strength (0-100)
533
- */
534
- magneticStrength?: number;
535
- /**
536
- * Layer-specific snap settings
537
- */
538
- layerSnapFilters?: LayerSnapFilters;
539
- /**
540
- * Element type filters for object snap
541
- */
542
- elementTypeFilters?: DucElementType[];
543
- /**
544
- * Running object snap vs single pick mode
545
- */
546
- snapMode: SnapMode;
547
- /**
548
- * Visual feedback settings
549
- */
550
- snapMarkers: SnapMarkerSettings;
551
- /**
552
- * Construction/guide line snapping
553
- */
554
- constructionSnapEnabled: boolean;
555
- /**
556
- * Snap to grid intersections only
557
- */
558
- snapToGridIntersections?: boolean;
559
- };
560
- /** Runtime gridSize value. Null indicates disabled grid. */
561
- export type NullableGridSize = (DucLocalState["gridSize"] & MakeBrand<"NullableGridSize">) | null;
562
273
  export type VersionId = string;
563
- /** JSON Patch RFC6902 */
564
- export type JSONPatch = Array<{
565
- op: string;
566
- path: string;
567
- from?: string;
568
- value?: any;
569
- }>;
570
274
  export type PruningLevel = ValueOf<typeof PRUNING_LEVEL>;
571
275
  export interface VersionBase {
572
276
  id: VersionId;
@@ -578,20 +282,49 @@ export interface VersionBase {
578
282
  }
579
283
  export interface Checkpoint extends VersionBase {
580
284
  type: "checkpoint";
285
+ versionNumber: number;
286
+ schemaVersion: number;
287
+ isSchemaBoundary: boolean;
581
288
  data: Uint8Array;
582
289
  sizeBytes: number;
583
290
  }
584
291
  export interface Delta extends VersionBase {
585
292
  type: "delta";
586
- patch: JSONPatch;
293
+ versionNumber: number;
294
+ schemaVersion: number;
295
+ baseCheckpointId: VersionId;
296
+ /** Compressed binary data for the delta (zlib). */
297
+ payload: Uint8Array;
298
+ sizeBytes: number;
299
+ }
300
+ export interface SchemaMigration {
301
+ fromSchemaVersion: number;
302
+ toSchemaVersion: number;
303
+ migrationName: string;
304
+ migrationChecksum?: string;
305
+ appliedAt: number;
306
+ boundaryCheckpointId?: string;
307
+ }
308
+ export interface VersionChain {
309
+ id: string;
310
+ schemaVersion: number;
311
+ startVersion: number;
312
+ endVersion?: number;
313
+ migration?: SchemaMigration;
314
+ rootCheckpointId?: string;
315
+ }
316
+ export interface VersionGraphMetadata {
317
+ currentVersion: number;
318
+ currentSchemaVersion: number;
319
+ chainCount: number;
320
+ lastPruned: number;
321
+ totalSize: number;
587
322
  }
588
323
  export interface VersionGraph {
589
324
  userCheckpointVersionId: VersionId;
590
325
  latestVersionId: VersionId;
326
+ chains: VersionChain[];
591
327
  checkpoints: Checkpoint[];
592
328
  deltas: Delta[];
593
- metadata: {
594
- lastPruned: number;
595
- totalSize: number;
596
- };
329
+ metadata: VersionGraphMetadata;
597
330
  }
@@ -1,6 +1,6 @@
1
- import { GridSettings, RawValue, SnapSettings } from "../types";
2
- import { DucElement, DucEllipseElement, DucFreeDrawElement, DucTextElement, ElementBackground, ElementStroke, FontFamilyValues } from "../types/elements";
3
1
  import { MAX_ZOOM, MIN_ZOOM } from "../technical/scopes";
2
+ import { RawValue } from "../types";
3
+ import { DucElement, DucEllipseElement, DucFreeDrawElement, DucTextElement, ElementBackground, ElementStroke, FontFamilyValues } from "../types/elements";
4
4
  export declare const COLOR_PALETTE: {
5
5
  readonly transparent: "transparent";
6
6
  readonly black: "#1e1e1e";
@@ -89,24 +89,28 @@ export declare const HIDE_FRAME_NAME_ZOOM_THRESHOLD = 0.18;
89
89
  export declare const DEFAULT_PROPORTIONAL_RADIUS = 0.25;
90
90
  export declare const DEFAULT_ADAPTIVE_RADIUS = 32;
91
91
  /**
92
- * // TODO: shouldn't be really `const`, likely neither have integers as values, due to value for the custom fonts, which should likely be some hash.
92
+ * Font family identifiers. Values are the actual CSS font-family names
93
+ * so they can be passed directly to Google Fonts / Canvas2D.
93
94
  *
94
- * Let's think this through and consider:
95
- * - https://developer.mozilla.org/en-US/docs/Web/CSS/generic-family
96
- * - https://drafts.csswg.org/css-fonts-4/#font-family-prop
97
- * - https://learn.microsoft.com/en-us/typography/opentype/spec/ibmfc
95
+ * For backward compatibility with old files that stored numeric IDs,
96
+ * use `LEGACY_FONT_ID_TO_NAME` to resolve them.
98
97
  */
99
98
  export declare const FONT_FAMILY: {
100
- Virgil: number;
101
- Helvetica: number;
102
- Cascadia: number;
103
- Excalifont: number;
104
- Nunito: number;
105
- "Lilita One": number;
106
- "Comic Shanns": number;
107
- "Liberation Sans": number;
108
- "Roboto Mono": number;
99
+ readonly Virgil: "Virgil";
100
+ readonly Helvetica: "Helvetica";
101
+ readonly Cascadia: "Cascadia";
102
+ readonly Excalifont: "Excalifont";
103
+ readonly Nunito: "Nunito";
104
+ readonly "Lilita One": "Lilita One";
105
+ readonly "Comic Shanns": "Comic Shanns";
106
+ readonly "Liberation Sans": "Liberation Sans";
107
+ readonly "Roboto Mono": "Roboto Mono";
109
108
  };
109
+ /**
110
+ * Reverse mapping from legacy numeric font IDs to font family names.
111
+ * Used when loading old .duc files that encoded fontFamily as a number.
112
+ */
113
+ export declare const LEGACY_FONT_ID_TO_NAME: Record<number, string>;
110
114
  export declare const WINDOWS_EMOJI_FALLBACK_FONT = "Segoe UI Emoji";
111
115
  export declare const DEFAULT_VERSION = "{version}";
112
116
  export declare const MIN_FONT_SIZE = 1;
@@ -116,7 +120,7 @@ export declare const DEFAULT_TEXT_ALIGN: DucTextElement["textAlign"];
116
120
  export declare const DEFAULT_VERTICAL_ALIGN: DucTextElement["verticalAlign"];
117
121
  export declare const DEFAULT_LINE_HEIGHT = 1;
118
122
  export declare const DEFAULT_POLYGON_SIDES = 5;
119
- export declare const LIBRARY_DISABLED_TYPES: Set<"iframe" | "embeddable" | "image">;
123
+ export declare const LIBRARY_DISABLED_TYPES: Set<"image" | "embeddable" | "iframe">;
120
124
  /**
121
125
  * not translated as this is used only in public, stateless API as default value
122
126
  * where filename is optional and we can't retrieve name from app state
@@ -140,7 +144,6 @@ export declare const DEFAULT_FRAME_STYLE: {
140
144
  export declare const DEFAULT_ELEMENT_PROPS: {
141
145
  isVisible: DucElement["isVisible"];
142
146
  isPlot: DucElement["isPlot"];
143
- isAnnotative: DucElement["isAnnotative"];
144
147
  stroke: ElementStroke;
145
148
  background: ElementBackground;
146
149
  roundness: DucElement["roundness"];
@@ -175,88 +178,6 @@ export declare const DEFAULT_ELLIPSE_ELEMENT: {
175
178
  endAngle: DucEllipseElement["endAngle"];
176
179
  showAuxCrosshair: DucEllipseElement["showAuxCrosshair"];
177
180
  };
178
- /**
179
- * Grid display types
180
- */
181
- export declare const GRID_DISPLAY_TYPE: {
182
- readonly LINES: 10;
183
- readonly DOTS: 11;
184
- readonly CROSSES: 12;
185
- readonly ADAPTIVE: 13;
186
- };
187
- /**
188
- * Grid coordinate system types
189
- */
190
- export declare const GRID_TYPE: {
191
- readonly RECTANGULAR: 10;
192
- readonly ISOMETRIC: 11;
193
- readonly POLAR: 12;
194
- readonly TRIANGULAR: 13;
195
- readonly CUSTOM: 14;
196
- };
197
- /**
198
- * Default grid configurations
199
- */
200
- export declare const DEFAULT_GRID_SETTINGS: GridSettings;
201
- /**
202
- * Predefined grid configurations
203
- */
204
- export declare const PREDEFINED_GRIDS: {
205
- readonly ARCHITECTURAL_IMPERIAL: "arch-imperial";
206
- readonly ARCHITECTURAL_METRIC: "arch-metric";
207
- readonly ENGINEERING_IMPERIAL: "eng-imperial";
208
- readonly ENGINEERING_METRIC: "eng-metric";
209
- readonly ISOMETRIC_30: "iso-30";
210
- readonly POLAR_DEGREES: "polar-deg";
211
- readonly FINE_DETAIL: "fine-detail";
212
- };
213
- /**
214
- * Snap behavior modes
215
- */
216
- export declare const SNAP_MODE: {
217
- readonly RUNNING: 10;
218
- readonly SINGLE: 11;
219
- };
220
- /**
221
- * Snap override behaviors
222
- */
223
- export declare const SNAP_OVERRIDE_BEHAVIOR: {
224
- readonly DISABLE: 10;
225
- readonly FORCE_GRID: 11;
226
- readonly FORCE_OBJECT: 12;
227
- };
228
- /**
229
- * Snap marker shapes
230
- */
231
- export declare const SNAP_MARKER_SHAPE: {
232
- readonly SQUARE: 10;
233
- readonly CIRCLE: 11;
234
- readonly TRIANGLE: 12;
235
- readonly X: 13;
236
- };
237
- /**
238
- * Default snap settings configuration
239
- */
240
- export declare const DEFAULT_SNAP_SETTINGS: SnapSettings;
241
- export declare const PAPER_SIZE: {
242
- readonly A0: "A0";
243
- readonly A1: "A1";
244
- readonly A2: "A2";
245
- readonly A3: "A3";
246
- readonly A4: "A4";
247
- readonly A5: "A5";
248
- readonly ANSI_A: "ANSI_A";
249
- readonly ANSI_B: "ANSI_B";
250
- readonly ANSI_C: "ANSI_C";
251
- readonly ANSI_D: "ANSI_D";
252
- readonly ANSI_E: "ANSI_E";
253
- readonly ARCH_A: "ARCH_A";
254
- readonly ARCH_B: "ARCH_B";
255
- readonly ARCH_C: "ARCH_C";
256
- readonly ARCH_D: "ARCH_D";
257
- readonly ARCH_E: "ARCH_E";
258
- readonly CUSTOM: "CUSTOM";
259
- };
260
181
  export declare const PREDEFINED_HATCH_PATTERNS: {
261
182
  readonly SOLID: "SOLID";
262
183
  readonly ANSI31: "ANSI31";