ducjs 2.4.0 → 3.0.3

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 (526) hide show
  1. package/README.md +4 -5
  2. package/dist/enums.d.ts +135 -0
  3. package/dist/enums.js +155 -0
  4. package/dist/index.d.ts +4 -1
  5. package/dist/index.js +4 -1
  6. package/dist/lazy-files.d.ts +31 -71
  7. package/dist/lazy-files.js +91 -163
  8. package/dist/parse.d.ts +16 -82
  9. package/dist/parse.js +56 -1646
  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 +126 -128
  14. package/dist/restore/restoreElements.d.ts +1 -1
  15. package/dist/restore/restoreElements.js +31 -499
  16. package/dist/serialize.d.ts +11 -4
  17. package/dist/serialize.js +58 -2546
  18. package/dist/technical/index.d.ts +0 -1
  19. package/dist/technical/index.js +0 -1
  20. package/dist/technical/scopes.d.ts +2 -2
  21. package/dist/technical/scopes.js +29 -14
  22. package/dist/transform.d.ts +12 -0
  23. package/dist/transform.js +442 -0
  24. package/dist/types/elements/index.d.ts +116 -689
  25. package/dist/types/elements/typeChecks.d.ts +3 -3
  26. package/dist/types/elements/typeChecks.js +3 -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 +3 -86
  30. package/dist/utils/constants.js +1 -197
  31. package/dist/utils/elements/index.d.ts +3 -14
  32. package/dist/utils/elements/index.js +7 -99
  33. package/dist/utils/elements/linearElement.d.ts +2 -2
  34. package/dist/utils/elements/newElement.d.ts +2 -12
  35. package/dist/utils/elements/newElement.js +22 -51
  36. package/dist/utils/elements/textElement.js +1 -1
  37. package/dist/utils/math/index.d.ts +5 -4
  38. package/dist/utils/math/index.js +3 -3
  39. package/dist/utils/shape.js +2 -2
  40. package/dist/utils/state/index.d.ts +0 -1
  41. package/dist/utils/state/index.js +4 -70
  42. package/dist/utils/traverse.d.ts +8 -0
  43. package/dist/utils/traverse.js +37 -0
  44. package/dist/version-control.d.ts +61 -0
  45. package/dist/version-control.js +84 -0
  46. package/dist/wasm.d.ts +20 -0
  47. package/dist/wasm.js +52 -0
  48. package/package.json +3 -2
  49. package/dist/flatbuffers/duc/alternate-units.d.ts +0 -21
  50. package/dist/flatbuffers/duc/alternate-units.js +0 -66
  51. package/dist/flatbuffers/duc/angular-unit-system.d.ts +0 -17
  52. package/dist/flatbuffers/duc/angular-unit-system.js +0 -50
  53. package/dist/flatbuffers/duc/angular-units-format.d.ts +0 -7
  54. package/dist/flatbuffers/duc/angular-units-format.js +0 -10
  55. package/dist/flatbuffers/duc/axis.d.ts +0 -5
  56. package/dist/flatbuffers/duc/axis.js +0 -8
  57. package/dist/flatbuffers/duc/bezier-mirroring.d.ts +0 -5
  58. package/dist/flatbuffers/duc/bezier-mirroring.js +0 -8
  59. package/dist/flatbuffers/duc/blending.d.ts +0 -9
  60. package/dist/flatbuffers/duc/blending.js +0 -12
  61. package/dist/flatbuffers/duc/block-attachment.d.ts +0 -4
  62. package/dist/flatbuffers/duc/block-attachment.js +0 -7
  63. package/dist/flatbuffers/duc/boolean-operation.d.ts +0 -6
  64. package/dist/flatbuffers/duc/boolean-operation.js +0 -9
  65. package/dist/flatbuffers/duc/bound-element.d.ts +0 -17
  66. package/dist/flatbuffers/duc/bound-element.js +0 -48
  67. package/dist/flatbuffers/duc/checkpoint.d.ts +0 -22
  68. package/dist/flatbuffers/duc/checkpoint.js +0 -75
  69. package/dist/flatbuffers/duc/column-layout.d.ts +0 -22
  70. package/dist/flatbuffers/duc/column-layout.js +0 -72
  71. package/dist/flatbuffers/duc/column-type.d.ts +0 -5
  72. package/dist/flatbuffers/duc/column-type.js +0 -8
  73. package/dist/flatbuffers/duc/custom-hatch-pattern.d.ts +0 -23
  74. package/dist/flatbuffers/duc/custom-hatch-pattern.js +0 -71
  75. package/dist/flatbuffers/duc/datum-bracket-style.d.ts +0 -5
  76. package/dist/flatbuffers/duc/datum-bracket-style.js +0 -8
  77. package/dist/flatbuffers/duc/datum-reference.d.ts +0 -17
  78. package/dist/flatbuffers/duc/datum-reference.js +0 -49
  79. package/dist/flatbuffers/duc/datum-target-type.d.ts +0 -6
  80. package/dist/flatbuffers/duc/datum-target-type.js +0 -9
  81. package/dist/flatbuffers/duc/decimal-separator.d.ts +0 -4
  82. package/dist/flatbuffers/duc/decimal-separator.js +0 -7
  83. package/dist/flatbuffers/duc/delta.d.ts +0 -22
  84. package/dist/flatbuffers/duc/delta.js +0 -75
  85. package/dist/flatbuffers/duc/dictionary-entry.d.ts +0 -17
  86. package/dist/flatbuffers/duc/dictionary-entry.js +0 -49
  87. package/dist/flatbuffers/duc/dimension-baseline-data.d.ts +0 -14
  88. package/dist/flatbuffers/duc/dimension-baseline-data.js +0 -40
  89. package/dist/flatbuffers/duc/dimension-bindings.d.ts +0 -17
  90. package/dist/flatbuffers/duc/dimension-bindings.js +0 -50
  91. package/dist/flatbuffers/duc/dimension-continue-data.d.ts +0 -14
  92. package/dist/flatbuffers/duc/dimension-continue-data.js +0 -40
  93. package/dist/flatbuffers/duc/dimension-definition-points.d.ts +0 -21
  94. package/dist/flatbuffers/duc/dimension-definition-points.js +0 -64
  95. package/dist/flatbuffers/duc/dimension-ext-line-style.d.ts +0 -18
  96. package/dist/flatbuffers/duc/dimension-ext-line-style.js +0 -57
  97. package/dist/flatbuffers/duc/dimension-fit-rule.d.ts +0 -6
  98. package/dist/flatbuffers/duc/dimension-fit-rule.js +0 -9
  99. package/dist/flatbuffers/duc/dimension-fit-style.d.ts +0 -19
  100. package/dist/flatbuffers/duc/dimension-fit-style.js +0 -58
  101. package/dist/flatbuffers/duc/dimension-line-style.d.ts +0 -16
  102. package/dist/flatbuffers/duc/dimension-line-style.js +0 -49
  103. package/dist/flatbuffers/duc/dimension-symbol-style.d.ts +0 -22
  104. package/dist/flatbuffers/duc/dimension-symbol-style.js +0 -72
  105. package/dist/flatbuffers/duc/dimension-text-placement.d.ts +0 -5
  106. package/dist/flatbuffers/duc/dimension-text-placement.js +0 -8
  107. package/dist/flatbuffers/duc/dimension-tolerance-style.d.ts +0 -24
  108. package/dist/flatbuffers/duc/dimension-tolerance-style.js +0 -71
  109. package/dist/flatbuffers/duc/dimension-type.d.ts +0 -15
  110. package/dist/flatbuffers/duc/dimension-type.js +0 -18
  111. package/dist/flatbuffers/duc/dimension-units-format.d.ts +0 -7
  112. package/dist/flatbuffers/duc/dimension-units-format.js +0 -10
  113. package/dist/flatbuffers/duc/dimension-validation-rules.d.ts +0 -25
  114. package/dist/flatbuffers/duc/dimension-validation-rules.js +0 -74
  115. package/dist/flatbuffers/duc/document-grid-align-items.d.ts +0 -5
  116. package/dist/flatbuffers/duc/document-grid-align-items.js +0 -8
  117. package/dist/flatbuffers/duc/document-grid-config.d.ts +0 -24
  118. package/dist/flatbuffers/duc/document-grid-config.js +0 -81
  119. package/dist/flatbuffers/duc/duc-arrow-element.d.ts +0 -16
  120. package/dist/flatbuffers/duc/duc-arrow-element.js +0 -49
  121. package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.d.ts +0 -16
  122. package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.js +0 -44
  123. package/dist/flatbuffers/duc/duc-block-attribute-definition.d.ts +0 -22
  124. package/dist/flatbuffers/duc/duc-block-attribute-definition.js +0 -64
  125. package/dist/flatbuffers/duc/duc-block-collection-entry.d.ts +0 -16
  126. package/dist/flatbuffers/duc/duc-block-collection-entry.js +0 -48
  127. package/dist/flatbuffers/duc/duc-block-collection.d.ts +0 -31
  128. package/dist/flatbuffers/duc/duc-block-collection.js +0 -97
  129. package/dist/flatbuffers/duc/duc-block-duplication-array.d.ts +0 -19
  130. package/dist/flatbuffers/duc/duc-block-duplication-array.js +0 -64
  131. package/dist/flatbuffers/duc/duc-block-instance-element.d.ts +0 -10
  132. package/dist/flatbuffers/duc/duc-block-instance-element.js +0 -28
  133. package/dist/flatbuffers/duc/duc-block-instance.d.ts +0 -32
  134. package/dist/flatbuffers/duc/duc-block-instance.js +0 -100
  135. package/dist/flatbuffers/duc/duc-block-metadata.d.ts +0 -26
  136. package/dist/flatbuffers/duc/duc-block-metadata.js +0 -90
  137. package/dist/flatbuffers/duc/duc-block.d.ts +0 -36
  138. package/dist/flatbuffers/duc/duc-block.js +0 -112
  139. package/dist/flatbuffers/duc/duc-common-style.d.ts +0 -16
  140. package/dist/flatbuffers/duc/duc-common-style.js +0 -44
  141. package/dist/flatbuffers/duc/duc-dimension-element.d.ts +0 -45
  142. package/dist/flatbuffers/duc/duc-dimension-element.js +0 -120
  143. package/dist/flatbuffers/duc/duc-dimension-style.d.ts +0 -28
  144. package/dist/flatbuffers/duc/duc-dimension-style.js +0 -76
  145. package/dist/flatbuffers/duc/duc-doc-element.d.ts +0 -39
  146. package/dist/flatbuffers/duc/duc-doc-element.js +0 -110
  147. package/dist/flatbuffers/duc/duc-doc-style.d.ts +0 -19
  148. package/dist/flatbuffers/duc/duc-doc-style.js +0 -52
  149. package/dist/flatbuffers/duc/duc-element-base.d.ts +0 -100
  150. package/dist/flatbuffers/duc/duc-element-base.js +0 -315
  151. package/dist/flatbuffers/duc/duc-element-styles-base.d.ts +0 -30
  152. package/dist/flatbuffers/duc/duc-element-styles-base.js +0 -103
  153. package/dist/flatbuffers/duc/duc-ellipse-element.d.ts +0 -22
  154. package/dist/flatbuffers/duc/duc-ellipse-element.js +0 -73
  155. package/dist/flatbuffers/duc/duc-embeddable-element.d.ts +0 -14
  156. package/dist/flatbuffers/duc/duc-embeddable-element.js +0 -41
  157. package/dist/flatbuffers/duc/duc-external-file-data.d.ts +0 -27
  158. package/dist/flatbuffers/duc/duc-external-file-data.js +0 -92
  159. package/dist/flatbuffers/duc/duc-external-file-entry.d.ts +0 -16
  160. package/dist/flatbuffers/duc/duc-external-file-entry.js +0 -44
  161. package/dist/flatbuffers/duc/duc-feature-control-frame-element.d.ts +0 -31
  162. package/dist/flatbuffers/duc/duc-feature-control-frame-element.js +0 -89
  163. package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +0 -22
  164. package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +0 -60
  165. package/dist/flatbuffers/duc/duc-frame-element.d.ts +0 -14
  166. package/dist/flatbuffers/duc/duc-frame-element.js +0 -41
  167. package/dist/flatbuffers/duc/duc-free-draw-element.d.ts +0 -52
  168. package/dist/flatbuffers/duc/duc-free-draw-element.js +0 -154
  169. package/dist/flatbuffers/duc/duc-free-draw-ends.d.ts +0 -18
  170. package/dist/flatbuffers/duc/duc-free-draw-ends.js +0 -56
  171. package/dist/flatbuffers/duc/duc-global-state.d.ts +0 -37
  172. package/dist/flatbuffers/duc/duc-global-state.js +0 -121
  173. package/dist/flatbuffers/duc/duc-group.d.ts +0 -16
  174. package/dist/flatbuffers/duc/duc-group.js +0 -44
  175. package/dist/flatbuffers/duc/duc-hatch-style.d.ts +0 -28
  176. package/dist/flatbuffers/duc/duc-hatch-style.js +0 -79
  177. package/dist/flatbuffers/duc/duc-head.d.ts +0 -19
  178. package/dist/flatbuffers/duc/duc-head.js +0 -57
  179. package/dist/flatbuffers/duc/duc-image-element.d.ts +0 -35
  180. package/dist/flatbuffers/duc/duc-image-element.js +0 -91
  181. package/dist/flatbuffers/duc/duc-image-filter.d.ts +0 -15
  182. package/dist/flatbuffers/duc/duc-image-filter.js +0 -48
  183. package/dist/flatbuffers/duc/duc-layer-overrides.d.ts +0 -16
  184. package/dist/flatbuffers/duc/duc-layer-overrides.js +0 -44
  185. package/dist/flatbuffers/duc/duc-layer.d.ts +0 -21
  186. package/dist/flatbuffers/duc/duc-layer.js +0 -59
  187. package/dist/flatbuffers/duc/duc-leader-element.d.ts +0 -22
  188. package/dist/flatbuffers/duc/duc-leader-element.js +0 -60
  189. package/dist/flatbuffers/duc/duc-leader-style.d.ts +0 -27
  190. package/dist/flatbuffers/duc/duc-leader-style.js +0 -79
  191. package/dist/flatbuffers/duc/duc-line-reference.d.ts +0 -15
  192. package/dist/flatbuffers/duc/duc-line-reference.js +0 -43
  193. package/dist/flatbuffers/duc/duc-line.d.ts +0 -15
  194. package/dist/flatbuffers/duc/duc-line.js +0 -43
  195. package/dist/flatbuffers/duc/duc-linear-element-base.d.ts +0 -38
  196. package/dist/flatbuffers/duc/duc-linear-element-base.js +0 -124
  197. package/dist/flatbuffers/duc/duc-linear-element.d.ts +0 -16
  198. package/dist/flatbuffers/duc/duc-linear-element.js +0 -49
  199. package/dist/flatbuffers/duc/duc-local-state.d.ts +0 -68
  200. package/dist/flatbuffers/duc/duc-local-state.js +0 -206
  201. package/dist/flatbuffers/duc/duc-mermaid-element.d.ts +0 -23
  202. package/dist/flatbuffers/duc/duc-mermaid-element.js +0 -65
  203. package/dist/flatbuffers/duc/duc-model-element.d.ts +0 -26
  204. package/dist/flatbuffers/duc/duc-model-element.js +0 -79
  205. package/dist/flatbuffers/duc/duc-parametric-element.d.ts +0 -16
  206. package/dist/flatbuffers/duc/duc-parametric-element.js +0 -44
  207. package/dist/flatbuffers/duc/duc-path.d.ts +0 -26
  208. package/dist/flatbuffers/duc/duc-path.js +0 -69
  209. package/dist/flatbuffers/duc/duc-pdf-element.d.ts +0 -19
  210. package/dist/flatbuffers/duc/duc-pdf-element.js +0 -51
  211. package/dist/flatbuffers/duc/duc-plot-element.d.ts +0 -19
  212. package/dist/flatbuffers/duc/duc-plot-element.js +0 -52
  213. package/dist/flatbuffers/duc/duc-plot-style.d.ts +0 -11
  214. package/dist/flatbuffers/duc/duc-plot-style.js +0 -32
  215. package/dist/flatbuffers/duc/duc-point-binding.d.ts +0 -26
  216. package/dist/flatbuffers/duc/duc-point-binding.js +0 -73
  217. package/dist/flatbuffers/duc/duc-point.d.ts +0 -18
  218. package/dist/flatbuffers/duc/duc-point.js +0 -57
  219. package/dist/flatbuffers/duc/duc-polygon-element.d.ts +0 -16
  220. package/dist/flatbuffers/duc/duc-polygon-element.js +0 -49
  221. package/dist/flatbuffers/duc/duc-rectangle-element.d.ts +0 -14
  222. package/dist/flatbuffers/duc/duc-rectangle-element.js +0 -41
  223. package/dist/flatbuffers/duc/duc-region.d.ts +0 -19
  224. package/dist/flatbuffers/duc/duc-region.js +0 -51
  225. package/dist/flatbuffers/duc/duc-stack-base.d.ts +0 -27
  226. package/dist/flatbuffers/duc/duc-stack-base.js +0 -78
  227. package/dist/flatbuffers/duc/duc-stack-element-base.d.ts +0 -23
  228. package/dist/flatbuffers/duc/duc-stack-element-base.js +0 -65
  229. package/dist/flatbuffers/duc/duc-stack-like-styles.d.ts +0 -16
  230. package/dist/flatbuffers/duc/duc-stack-like-styles.js +0 -48
  231. package/dist/flatbuffers/duc/duc-table-auto-size.d.ts +0 -15
  232. package/dist/flatbuffers/duc/duc-table-auto-size.js +0 -48
  233. package/dist/flatbuffers/duc/duc-table-cell-entry.d.ts +0 -16
  234. package/dist/flatbuffers/duc/duc-table-cell-entry.js +0 -44
  235. package/dist/flatbuffers/duc/duc-table-cell-span.d.ts +0 -15
  236. package/dist/flatbuffers/duc/duc-table-cell-span.js +0 -48
  237. package/dist/flatbuffers/duc/duc-table-cell-style.d.ts +0 -22
  238. package/dist/flatbuffers/duc/duc-table-cell-style.js +0 -59
  239. package/dist/flatbuffers/duc/duc-table-cell.d.ts +0 -27
  240. package/dist/flatbuffers/duc/duc-table-cell.js +0 -72
  241. package/dist/flatbuffers/duc/duc-table-column-entry.d.ts +0 -16
  242. package/dist/flatbuffers/duc/duc-table-column-entry.js +0 -44
  243. package/dist/flatbuffers/duc/duc-table-column.d.ts +0 -18
  244. package/dist/flatbuffers/duc/duc-table-column.js +0 -51
  245. package/dist/flatbuffers/duc/duc-table-element.d.ts +0 -51
  246. package/dist/flatbuffers/duc/duc-table-element.js +0 -167
  247. package/dist/flatbuffers/duc/duc-table-row-entry.d.ts +0 -16
  248. package/dist/flatbuffers/duc/duc-table-row-entry.js +0 -44
  249. package/dist/flatbuffers/duc/duc-table-row.d.ts +0 -18
  250. package/dist/flatbuffers/duc/duc-table-row.js +0 -51
  251. package/dist/flatbuffers/duc/duc-table-style.d.ts +0 -20
  252. package/dist/flatbuffers/duc/duc-table-style.js +0 -57
  253. package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.d.ts +0 -14
  254. package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.js +0 -40
  255. package/dist/flatbuffers/duc/duc-text-dynamic-element-source.d.ts +0 -17
  256. package/dist/flatbuffers/duc/duc-text-dynamic-element-source.js +0 -49
  257. package/dist/flatbuffers/duc/duc-text-dynamic-part.d.ts +0 -22
  258. package/dist/flatbuffers/duc/duc-text-dynamic-part.js +0 -58
  259. package/dist/flatbuffers/duc/duc-text-dynamic-source-data.d.ts +0 -9
  260. package/dist/flatbuffers/duc/duc-text-dynamic-source-data.js +0 -26
  261. package/dist/flatbuffers/duc/duc-text-dynamic-source.d.ts +0 -19
  262. package/dist/flatbuffers/duc/duc-text-dynamic-source.js +0 -58
  263. package/dist/flatbuffers/duc/duc-text-element.d.ts +0 -33
  264. package/dist/flatbuffers/duc/duc-text-element.js +0 -94
  265. package/dist/flatbuffers/duc/duc-text-style.d.ts +0 -41
  266. package/dist/flatbuffers/duc/duc-text-style.js +0 -120
  267. package/dist/flatbuffers/duc/duc-ucs.d.ts +0 -16
  268. package/dist/flatbuffers/duc/duc-ucs.js +0 -49
  269. package/dist/flatbuffers/duc/duc-view.d.ts +0 -24
  270. package/dist/flatbuffers/duc/duc-view.js +0 -71
  271. package/dist/flatbuffers/duc/duc-viewport-element.d.ts +0 -36
  272. package/dist/flatbuffers/duc/duc-viewport-element.js +0 -102
  273. package/dist/flatbuffers/duc/duc-viewport-style.d.ts +0 -13
  274. package/dist/flatbuffers/duc/duc-viewport-style.js +0 -40
  275. package/dist/flatbuffers/duc/duc-xray-element.d.ts +0 -23
  276. package/dist/flatbuffers/duc/duc-xray-element.js +0 -66
  277. package/dist/flatbuffers/duc/duc-xray-style.d.ts +0 -14
  278. package/dist/flatbuffers/duc/duc-xray-style.js +0 -40
  279. package/dist/flatbuffers/duc/dynamic-snap-settings.d.ts +0 -17
  280. package/dist/flatbuffers/duc/dynamic-snap-settings.js +0 -56
  281. package/dist/flatbuffers/duc/element-background.d.ts +0 -14
  282. package/dist/flatbuffers/duc/element-background.js +0 -41
  283. package/dist/flatbuffers/duc/element-content-base.d.ts +0 -29
  284. package/dist/flatbuffers/duc/element-content-base.js +0 -80
  285. package/dist/flatbuffers/duc/element-content-preference.d.ts +0 -8
  286. package/dist/flatbuffers/duc/element-content-preference.js +0 -11
  287. package/dist/flatbuffers/duc/element-stroke.d.ts +0 -24
  288. package/dist/flatbuffers/duc/element-stroke.js +0 -66
  289. package/dist/flatbuffers/duc/element-wrapper.d.ts +0 -16
  290. package/dist/flatbuffers/duc/element-wrapper.js +0 -49
  291. package/dist/flatbuffers/duc/element.d.ts +0 -51
  292. package/dist/flatbuffers/duc/element.js +0 -110
  293. package/dist/flatbuffers/duc/exported-data-state.d.ts +0 -102
  294. package/dist/flatbuffers/duc/exported-data-state.js +0 -341
  295. package/dist/flatbuffers/duc/fcfbetween-modifier.d.ts +0 -17
  296. package/dist/flatbuffers/duc/fcfbetween-modifier.js +0 -48
  297. package/dist/flatbuffers/duc/fcfdatum-definition.d.ts +0 -16
  298. package/dist/flatbuffers/duc/fcfdatum-definition.js +0 -43
  299. package/dist/flatbuffers/duc/fcfdatum-style.d.ts +0 -14
  300. package/dist/flatbuffers/duc/fcfdatum-style.js +0 -41
  301. package/dist/flatbuffers/duc/fcfframe-modifiers.d.ts +0 -22
  302. package/dist/flatbuffers/duc/fcfframe-modifiers.js +0 -65
  303. package/dist/flatbuffers/duc/fcflayout-style.d.ts +0 -17
  304. package/dist/flatbuffers/duc/fcflayout-style.js +0 -56
  305. package/dist/flatbuffers/duc/fcfprojected-zone-modifier.d.ts +0 -13
  306. package/dist/flatbuffers/duc/fcfprojected-zone-modifier.js +0 -40
  307. package/dist/flatbuffers/duc/fcfsegment-row.d.ts +0 -17
  308. package/dist/flatbuffers/duc/fcfsegment-row.js +0 -55
  309. package/dist/flatbuffers/duc/fcfsymbol-style.d.ts +0 -13
  310. package/dist/flatbuffers/duc/fcfsymbol-style.js +0 -40
  311. package/dist/flatbuffers/duc/feature-control-frame-segment.d.ts +0 -22
  312. package/dist/flatbuffers/duc/feature-control-frame-segment.js +0 -65
  313. package/dist/flatbuffers/duc/feature-modifier.d.ts +0 -18
  314. package/dist/flatbuffers/duc/feature-modifier.js +0 -21
  315. package/dist/flatbuffers/duc/gdt-symbol.d.ts +0 -22
  316. package/dist/flatbuffers/duc/gdt-symbol.js +0 -25
  317. package/dist/flatbuffers/duc/geometric-point.d.ts +0 -10
  318. package/dist/flatbuffers/duc/geometric-point.js +0 -27
  319. package/dist/flatbuffers/duc/grid-display-type.d.ts +0 -6
  320. package/dist/flatbuffers/duc/grid-display-type.js +0 -9
  321. package/dist/flatbuffers/duc/grid-settings.d.ts +0 -54
  322. package/dist/flatbuffers/duc/grid-settings.js +0 -165
  323. package/dist/flatbuffers/duc/grid-style.d.ts +0 -26
  324. package/dist/flatbuffers/duc/grid-style.js +0 -74
  325. package/dist/flatbuffers/duc/grid-type.d.ts +0 -7
  326. package/dist/flatbuffers/duc/grid-type.js +0 -10
  327. package/dist/flatbuffers/duc/handle-type.d.ts +0 -4
  328. package/dist/flatbuffers/duc/handle-type.js +0 -7
  329. package/dist/flatbuffers/duc/hatch-pattern-line.d.ts +0 -35
  330. package/dist/flatbuffers/duc/hatch-pattern-line.js +0 -93
  331. package/dist/flatbuffers/duc/hatch-style.d.ts +0 -5
  332. package/dist/flatbuffers/duc/hatch-style.js +0 -8
  333. package/dist/flatbuffers/duc/identified-common-style.d.ts +0 -16
  334. package/dist/flatbuffers/duc/identified-common-style.js +0 -44
  335. package/dist/flatbuffers/duc/identified-dimension-style.d.ts +0 -16
  336. package/dist/flatbuffers/duc/identified-dimension-style.js +0 -44
  337. package/dist/flatbuffers/duc/identified-doc-style.d.ts +0 -16
  338. package/dist/flatbuffers/duc/identified-doc-style.js +0 -44
  339. package/dist/flatbuffers/duc/identified-fcfstyle.d.ts +0 -16
  340. package/dist/flatbuffers/duc/identified-fcfstyle.js +0 -44
  341. package/dist/flatbuffers/duc/identified-grid-settings.d.ts +0 -16
  342. package/dist/flatbuffers/duc/identified-grid-settings.js +0 -44
  343. package/dist/flatbuffers/duc/identified-hatch-style.d.ts +0 -16
  344. package/dist/flatbuffers/duc/identified-hatch-style.js +0 -44
  345. package/dist/flatbuffers/duc/identified-leader-style.d.ts +0 -16
  346. package/dist/flatbuffers/duc/identified-leader-style.js +0 -44
  347. package/dist/flatbuffers/duc/identified-snap-settings.d.ts +0 -16
  348. package/dist/flatbuffers/duc/identified-snap-settings.js +0 -44
  349. package/dist/flatbuffers/duc/identified-stack-like-style.d.ts +0 -16
  350. package/dist/flatbuffers/duc/identified-stack-like-style.js +0 -44
  351. package/dist/flatbuffers/duc/identified-table-style.d.ts +0 -16
  352. package/dist/flatbuffers/duc/identified-table-style.js +0 -44
  353. package/dist/flatbuffers/duc/identified-text-style.d.ts +0 -16
  354. package/dist/flatbuffers/duc/identified-text-style.js +0 -44
  355. package/dist/flatbuffers/duc/identified-ucs.d.ts +0 -16
  356. package/dist/flatbuffers/duc/identified-ucs.js +0 -44
  357. package/dist/flatbuffers/duc/identified-view.d.ts +0 -16
  358. package/dist/flatbuffers/duc/identified-view.js +0 -44
  359. package/dist/flatbuffers/duc/identified-viewport-style.d.ts +0 -16
  360. package/dist/flatbuffers/duc/identified-viewport-style.js +0 -44
  361. package/dist/flatbuffers/duc/identified-xray-style.d.ts +0 -16
  362. package/dist/flatbuffers/duc/identified-xray-style.js +0 -44
  363. package/dist/flatbuffers/duc/identifier.d.ts +0 -20
  364. package/dist/flatbuffers/duc/identifier.js +0 -57
  365. package/dist/flatbuffers/duc/image-crop.d.ts +0 -23
  366. package/dist/flatbuffers/duc/image-crop.js +0 -80
  367. package/dist/flatbuffers/duc/image-status.d.ts +0 -5
  368. package/dist/flatbuffers/duc/image-status.js +0 -8
  369. package/dist/flatbuffers/duc/isometric-grid-settings.d.ts +0 -15
  370. package/dist/flatbuffers/duc/isometric-grid-settings.js +0 -48
  371. package/dist/flatbuffers/duc/jsonpatch-operation.d.ts +0 -23
  372. package/dist/flatbuffers/duc/jsonpatch-operation.js +0 -64
  373. package/dist/flatbuffers/duc/layer-snap-filters.d.ts +0 -23
  374. package/dist/flatbuffers/duc/layer-snap-filters.js +0 -76
  375. package/dist/flatbuffers/duc/layer-validation-rules.d.ts +0 -17
  376. package/dist/flatbuffers/duc/layer-validation-rules.js +0 -54
  377. package/dist/flatbuffers/duc/leader-block-content.d.ts +0 -25
  378. package/dist/flatbuffers/duc/leader-block-content.js +0 -85
  379. package/dist/flatbuffers/duc/leader-content-data.d.ts +0 -9
  380. package/dist/flatbuffers/duc/leader-content-data.js +0 -26
  381. package/dist/flatbuffers/duc/leader-content-type.d.ts +0 -4
  382. package/dist/flatbuffers/duc/leader-content-type.js +0 -7
  383. package/dist/flatbuffers/duc/leader-content.d.ts +0 -19
  384. package/dist/flatbuffers/duc/leader-content.js +0 -58
  385. package/dist/flatbuffers/duc/leader-text-block-content.d.ts +0 -14
  386. package/dist/flatbuffers/duc/leader-text-block-content.js +0 -40
  387. package/dist/flatbuffers/duc/line-head.d.ts +0 -17
  388. package/dist/flatbuffers/duc/line-head.js +0 -20
  389. package/dist/flatbuffers/duc/line-spacing-type.d.ts +0 -5
  390. package/dist/flatbuffers/duc/line-spacing-type.js +0 -8
  391. package/dist/flatbuffers/duc/line-spacing.d.ts +0 -16
  392. package/dist/flatbuffers/duc/line-spacing.js +0 -49
  393. package/dist/flatbuffers/duc/linear-unit-system.d.ts +0 -24
  394. package/dist/flatbuffers/duc/linear-unit-system.js +0 -75
  395. package/dist/flatbuffers/duc/margins.d.ts +0 -19
  396. package/dist/flatbuffers/duc/margins.js +0 -64
  397. package/dist/flatbuffers/duc/mark-ellipse-center.d.ts +0 -4
  398. package/dist/flatbuffers/duc/mark-ellipse-center.js +0 -7
  399. package/dist/flatbuffers/duc/material-condition.d.ts +0 -5
  400. package/dist/flatbuffers/duc/material-condition.js +0 -8
  401. package/dist/flatbuffers/duc/object-snap-mode.d.ts +0 -22
  402. package/dist/flatbuffers/duc/object-snap-mode.js +0 -25
  403. package/dist/flatbuffers/duc/paragraph-formatting.d.ts +0 -33
  404. package/dist/flatbuffers/duc/paragraph-formatting.js +0 -106
  405. package/dist/flatbuffers/duc/parametric-source-type.d.ts +0 -4
  406. package/dist/flatbuffers/duc/parametric-source-type.js +0 -7
  407. package/dist/flatbuffers/duc/parametric-source.d.ts +0 -20
  408. package/dist/flatbuffers/duc/parametric-source.js +0 -57
  409. package/dist/flatbuffers/duc/plot-layout.d.ts +0 -14
  410. package/dist/flatbuffers/duc/plot-layout.js +0 -41
  411. package/dist/flatbuffers/duc/point-binding-point.d.ts +0 -15
  412. package/dist/flatbuffers/duc/point-binding-point.js +0 -48
  413. package/dist/flatbuffers/duc/polar-grid-settings.d.ts +0 -17
  414. package/dist/flatbuffers/duc/polar-grid-settings.js +0 -56
  415. package/dist/flatbuffers/duc/polar-tracking-settings.d.ts +0 -29
  416. package/dist/flatbuffers/duc/polar-tracking-settings.js +0 -90
  417. package/dist/flatbuffers/duc/primary-units.d.ts +0 -16
  418. package/dist/flatbuffers/duc/primary-units.js +0 -44
  419. package/dist/flatbuffers/duc/pruning-level.d.ts +0 -5
  420. package/dist/flatbuffers/duc/pruning-level.js +0 -8
  421. package/dist/flatbuffers/duc/snap-marker-settings.d.ts +0 -23
  422. package/dist/flatbuffers/duc/snap-marker-settings.js +0 -79
  423. package/dist/flatbuffers/duc/snap-marker-shape.d.ts +0 -6
  424. package/dist/flatbuffers/duc/snap-marker-shape.js +0 -9
  425. package/dist/flatbuffers/duc/snap-marker-style-entry.d.ts +0 -16
  426. package/dist/flatbuffers/duc/snap-marker-style-entry.js +0 -43
  427. package/dist/flatbuffers/duc/snap-marker-style.d.ts +0 -17
  428. package/dist/flatbuffers/duc/snap-marker-style.js +0 -49
  429. package/dist/flatbuffers/duc/snap-mode.d.ts +0 -4
  430. package/dist/flatbuffers/duc/snap-mode.js +0 -7
  431. package/dist/flatbuffers/duc/snap-override-behavior.d.ts +0 -5
  432. package/dist/flatbuffers/duc/snap-override-behavior.js +0 -8
  433. package/dist/flatbuffers/duc/snap-override.d.ts +0 -17
  434. package/dist/flatbuffers/duc/snap-override.js +0 -49
  435. package/dist/flatbuffers/duc/snap-settings.d.ts +0 -75
  436. package/dist/flatbuffers/duc/snap-settings.js +0 -245
  437. package/dist/flatbuffers/duc/stack-format-properties.d.ts +0 -18
  438. package/dist/flatbuffers/duc/stack-format-properties.js +0 -57
  439. package/dist/flatbuffers/duc/stack-format.d.ts +0 -21
  440. package/dist/flatbuffers/duc/stack-format.js +0 -64
  441. package/dist/flatbuffers/duc/stacked-text-align.d.ts +0 -5
  442. package/dist/flatbuffers/duc/stacked-text-align.js +0 -8
  443. package/dist/flatbuffers/duc/standard-overrides.d.ts +0 -63
  444. package/dist/flatbuffers/duc/standard-overrides.js +0 -162
  445. package/dist/flatbuffers/duc/standard-styles.d.ts +0 -77
  446. package/dist/flatbuffers/duc/standard-styles.js +0 -285
  447. package/dist/flatbuffers/duc/standard-units.d.ts +0 -16
  448. package/dist/flatbuffers/duc/standard-units.js +0 -44
  449. package/dist/flatbuffers/duc/standard-validation.d.ts +0 -16
  450. package/dist/flatbuffers/duc/standard-validation.js +0 -44
  451. package/dist/flatbuffers/duc/standard-view-settings.d.ts +0 -35
  452. package/dist/flatbuffers/duc/standard-view-settings.js +0 -124
  453. package/dist/flatbuffers/duc/standard.d.ts +0 -33
  454. package/dist/flatbuffers/duc/standard.js +0 -90
  455. package/dist/flatbuffers/duc/string-value-entry.d.ts +0 -17
  456. package/dist/flatbuffers/duc/string-value-entry.js +0 -49
  457. package/dist/flatbuffers/duc/stroke-cap.d.ts +0 -5
  458. package/dist/flatbuffers/duc/stroke-cap.js +0 -8
  459. package/dist/flatbuffers/duc/stroke-join.d.ts +0 -5
  460. package/dist/flatbuffers/duc/stroke-join.js +0 -8
  461. package/dist/flatbuffers/duc/stroke-placement.d.ts +0 -5
  462. package/dist/flatbuffers/duc/stroke-placement.js +0 -8
  463. package/dist/flatbuffers/duc/stroke-preference.d.ts +0 -6
  464. package/dist/flatbuffers/duc/stroke-preference.js +0 -9
  465. package/dist/flatbuffers/duc/stroke-side-preference.d.ts +0 -8
  466. package/dist/flatbuffers/duc/stroke-side-preference.js +0 -11
  467. package/dist/flatbuffers/duc/stroke-sides.d.ts +0 -24
  468. package/dist/flatbuffers/duc/stroke-sides.js +0 -67
  469. package/dist/flatbuffers/duc/stroke-style.d.ts +0 -37
  470. package/dist/flatbuffers/duc/stroke-style.js +0 -111
  471. package/dist/flatbuffers/duc/stroke-width.d.ts +0 -5
  472. package/dist/flatbuffers/duc/stroke-width.js +0 -8
  473. package/dist/flatbuffers/duc/table-cell-alignment.d.ts +0 -11
  474. package/dist/flatbuffers/duc/table-cell-alignment.js +0 -14
  475. package/dist/flatbuffers/duc/table-flow-direction.d.ts +0 -4
  476. package/dist/flatbuffers/duc/table-flow-direction.js +0 -7
  477. package/dist/flatbuffers/duc/text-align.d.ts +0 -5
  478. package/dist/flatbuffers/duc/text-align.js +0 -8
  479. package/dist/flatbuffers/duc/text-column.d.ts +0 -15
  480. package/dist/flatbuffers/duc/text-column.js +0 -48
  481. package/dist/flatbuffers/duc/text-field-source-property.d.ts +0 -13
  482. package/dist/flatbuffers/duc/text-field-source-property.js +0 -16
  483. package/dist/flatbuffers/duc/text-field-source-type.d.ts +0 -4
  484. package/dist/flatbuffers/duc/text-field-source-type.js +0 -7
  485. package/dist/flatbuffers/duc/text-flow-direction.d.ts +0 -6
  486. package/dist/flatbuffers/duc/text-flow-direction.js +0 -9
  487. package/dist/flatbuffers/duc/tiling-properties.d.ts +0 -21
  488. package/dist/flatbuffers/duc/tiling-properties.js +0 -75
  489. package/dist/flatbuffers/duc/tolerance-clause.d.ts +0 -27
  490. package/dist/flatbuffers/duc/tolerance-clause.js +0 -84
  491. package/dist/flatbuffers/duc/tolerance-display.d.ts +0 -7
  492. package/dist/flatbuffers/duc/tolerance-display.js +0 -10
  493. package/dist/flatbuffers/duc/tolerance-type.d.ts +0 -5
  494. package/dist/flatbuffers/duc/tolerance-type.js +0 -8
  495. package/dist/flatbuffers/duc/tolerance-zone-type.d.ts +0 -7
  496. package/dist/flatbuffers/duc/tolerance-zone-type.js +0 -10
  497. package/dist/flatbuffers/duc/tracking-line-style.d.ts +0 -26
  498. package/dist/flatbuffers/duc/tracking-line-style.js +0 -74
  499. package/dist/flatbuffers/duc/unit-precision.d.ts +0 -19
  500. package/dist/flatbuffers/duc/unit-precision.js +0 -64
  501. package/dist/flatbuffers/duc/unit-system-base.d.ts +0 -20
  502. package/dist/flatbuffers/duc/unit-system-base.js +0 -65
  503. package/dist/flatbuffers/duc/unit-system.d.ts +0 -4
  504. package/dist/flatbuffers/duc/unit-system.js +0 -7
  505. package/dist/flatbuffers/duc/version-base.d.ts +0 -27
  506. package/dist/flatbuffers/duc/version-base.js +0 -80
  507. package/dist/flatbuffers/duc/version-graph-metadata.d.ts +0 -15
  508. package/dist/flatbuffers/duc/version-graph-metadata.js +0 -48
  509. package/dist/flatbuffers/duc/version-graph.d.ts +0 -31
  510. package/dist/flatbuffers/duc/version-graph.js +0 -94
  511. package/dist/flatbuffers/duc/vertical-align.d.ts +0 -5
  512. package/dist/flatbuffers/duc/vertical-align.js +0 -8
  513. package/dist/flatbuffers/duc/viewport-shade-plot.d.ts +0 -6
  514. package/dist/flatbuffers/duc/viewport-shade-plot.js +0 -9
  515. package/dist/flatbuffers/duc/youtube-states.d.ts +0 -8
  516. package/dist/flatbuffers/duc/youtube-states.js +0 -11
  517. package/dist/flatbuffers/duc.d.ts +0 -234
  518. package/dist/flatbuffers/duc.js +0 -236
  519. package/dist/restore/restoreStandards.d.ts +0 -8
  520. package/dist/restore/restoreStandards.js +0 -224
  521. package/dist/technical/standards.d.ts +0 -124
  522. package/dist/technical/standards.js +0 -10
  523. package/dist/utils/elements/viewportElement.d.ts +0 -6
  524. package/dist/utils/elements/viewportElement.js +0 -9
  525. package/dist/utils/state/grid.d.ts +0 -7
  526. package/dist/utils/state/grid.js +0 -25
@@ -1,3 +1,2 @@
1
- export * from "./standards";
2
1
  export * from "./measurements";
3
2
  export * from "./scopes";
@@ -1,3 +1,2 @@
1
- export * from "./standards";
2
1
  export * from "./measurements";
3
2
  export * from "./scopes";
@@ -1,4 +1,4 @@
1
- import { UNIT_SYSTEM } from "../flatbuffers/duc";
1
+ import { UNIT_SYSTEM } from "../enums";
2
2
  import { PrecisionValue, RawValue, ScaledZoom, Scope, ScopedValue, ScopedZoomValue, ValueOf } from "../types";
3
3
  import { DucPoint } from "../types/elements";
4
4
  import { GeometricPoint } from "../types/geometryTypes";
@@ -9,7 +9,7 @@ export declare const MAX_ZOOM = 1e+32;
9
9
  export declare const NEUTRAL_SCOPE: SupportedMeasures;
10
10
  export declare const metricMeasures: readonly ["qm", "rm", "ym", "zm", "am", "fm", "pm", "Å", "nm", "µm", "mm", "cm", "dm", "m", "dam", "hm", "km", "Mm", "Gm", "Tm", "Pm", "Em", "Zm", "Ym", "Rm", "Qm"];
11
11
  export type MetricMeasure = typeof metricMeasures[number];
12
- export declare const imperialMeasures: readonly ["th", "ln", "in", "h", "ft", "yd", "rd", "ch", "fur", "mi", "lea"];
12
+ export declare const imperialMeasures: readonly ["µin", "th", "mil", "ln", "in", "h", "ft", "yd", "rd", "ch", "fur", "mi", "lea", "au", "ly", "pc"];
13
13
  export type ImperialMeasure = typeof imperialMeasures[number];
14
14
  export type SupportedMeasures = MetricMeasure | ImperialMeasure;
15
15
  export type CombinedMeasure = SupportedMeasures;
@@ -1,4 +1,4 @@
1
- import { UNIT_SYSTEM } from "../flatbuffers/duc";
1
+ import { UNIT_SYSTEM } from "../enums";
2
2
  export const MIN_ZOOM = 1e-32;
3
3
  export const MAX_ZOOM = 1e32;
4
4
  export const NEUTRAL_SCOPE = "m";
@@ -32,7 +32,9 @@ export const metricMeasures = [
32
32
  'Qm', // Quettameter
33
33
  ];
34
34
  export const imperialMeasures = [
35
- 'th', // Thou/mil
35
+ 'µin', // Microinches
36
+ 'th', // Thou
37
+ 'mil', // Mils
36
38
  'ln', // Line
37
39
  'in', // Inches
38
40
  'h', // Hand
@@ -43,6 +45,9 @@ export const imperialMeasures = [
43
45
  'fur', // Furlongs
44
46
  'mi', // Miles
45
47
  'lea', // Leagues
48
+ 'au', // Astronomical Unit
49
+ 'ly', // Light Year
50
+ 'pc', // Parsec
46
51
  ];
47
52
  // Define metric units - exponents represent powers of 10
48
53
  export const metricUnits = [
@@ -76,17 +81,22 @@ export const metricUnits = [
76
81
  // Define imperial units - exponents are now relative to meter as the base unit
77
82
  // These values are log10 of their meter equivalents
78
83
  export const imperialUnits = [
79
- { prefix: 'th', unit: 'thou', full: 'thou', exponent: -4.595 }, // log10(0.0000254) ≈ -4.595
80
- { prefix: 'ln', unit: 'line', full: 'line', exponent: -2.674 }, // log10(0.00211667) ≈ -2.674
81
- { prefix: 'in', unit: 'inch', full: 'inch', exponent: -1.595 }, // log10(0.0254) ≈ -1.595
82
- { prefix: 'h', unit: 'hand', full: 'hand', exponent: -0.993 }, // log10(0.1016) ≈ -0.993
83
- { prefix: 'ft', unit: 'foot', full: 'foot', exponent: -0.516 }, // log10(0.3048) ≈ -0.516
84
- { prefix: 'yd', unit: 'yard', full: 'yard', exponent: -0.039 }, // log10(0.9144) ≈ -0.039
85
- { prefix: 'rd', unit: 'rod', full: 'rod', exponent: 0.701 }, // log10(5.0292) ≈ 0.701
86
- { prefix: 'ch', unit: 'chain', full: 'chain', exponent: 1.304 }, // log10(20.1168) ≈ 1.304
87
- { prefix: 'fur', unit: 'furlong', full: 'furlong', exponent: 2.304 }, // log10(201.168) ≈ 2.304
88
- { prefix: 'mi', unit: 'mile', full: 'mile', exponent: 3.207 }, // log10(1609.344) ≈ 3.207
89
- { prefix: 'lea', unit: 'league', full: 'league', exponent: 3.684 } // log10(4828.032) ≈ 3.684
84
+ { prefix: 'µin', unit: 'microinch', full: 'microinch', exponent: -7.595 }, // log10(2.54e-8)
85
+ { prefix: 'th', unit: 'thou', full: 'thou', exponent: -4.595 }, // log10(0.0000254)
86
+ { prefix: 'mil', unit: 'mil', full: 'mil', exponent: -4.595 }, // log10(0.0000254)
87
+ { prefix: 'ln', unit: 'line', full: 'line', exponent: -2.674 }, // log10(0.00211667)
88
+ { prefix: 'in', unit: 'inch', full: 'inch', exponent: -1.595 }, // log10(0.0254)
89
+ { prefix: 'h', unit: 'hand', full: 'hand', exponent: -0.993 }, // log10(0.1016)
90
+ { prefix: 'ft', unit: 'foot', full: 'foot', exponent: -0.516 }, // log10(0.3048)
91
+ { prefix: 'yd', unit: 'yard', full: 'yard', exponent: -0.039 }, // log10(0.9144)
92
+ { prefix: 'rd', unit: 'rod', full: 'rod', exponent: 0.701 }, // log10(5.0292)
93
+ { prefix: 'ch', unit: 'chain', full: 'chain', exponent: 1.304 }, // log10(20.1168)
94
+ { prefix: 'fur', unit: 'furlong', full: 'furlong', exponent: 2.304 }, // log10(201.168)
95
+ { prefix: 'mi', unit: 'mile', full: 'mile', exponent: 3.207 }, // log10(1609.344)
96
+ { prefix: 'lea', unit: 'league', full: 'league', exponent: 3.684 }, // log10(4828.032)
97
+ { prefix: 'au', unit: 'au', full: 'Astronomical Unit', exponent: 11.175 }, // log10(1.496e11)
98
+ { prefix: 'ly', unit: 'ly', full: 'Light Year', exponent: 15.976 }, // log10(9.461e15)
99
+ { prefix: 'pc', unit: 'pc', full: 'Parsec', exponent: 16.489 }, // log10(3.086e16)
90
100
  ];
91
101
  // Scale factors for unit conversions - using meter as the base unit
92
102
  export const ScaleFactors = {
@@ -118,7 +128,9 @@ export const ScaleFactors = {
118
128
  Rm: 1e27,
119
129
  Qm: 1e30,
120
130
  // Imperial scales
121
- th: 0.0000254, // 0.001 inch
131
+ 'µin': 2.54e-8, // Microinch
132
+ th: 0.0000254, // Thou (0.001 inch)
133
+ mil: 0.0000254, // Mil (same as Thou)
122
134
  ln: 0.00211667, // 1/12 inch
123
135
  in: 0.0254,
124
136
  h: 0.1016, // 4 inches
@@ -129,6 +141,9 @@ export const ScaleFactors = {
129
141
  fur: 201.168,
130
142
  mi: 1609.344,
131
143
  lea: 4828.032, // 3 miles
144
+ au: 149597870700, // Astronomical Unit
145
+ ly: 9460730472580800, // Light Year
146
+ pc: 30856775814913670, // Parsec
132
147
  };
133
148
  /**
134
149
  * Determines if a measure belongs to the metric system.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Post-parse transformation: fix stack element nesting
3
+ * (move stackBase fields to top level for frame/plot elements).
4
+ *
5
+ * Also adds `type` discriminator to version graph entries.
6
+ */
7
+ export declare function transformFromRust(data: any): any;
8
+ /**
9
+ * Pre-serialize transformation: re-wrap stack element fields
10
+ * and flatten PrecisionValue objects to plain numbers for Rust.
11
+ */
12
+ export declare function transformToRust(data: any): any;
@@ -0,0 +1,442 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ /**
13
+ * Post-parse transformation: fix stack element nesting
14
+ * (move stackBase fields to top level for frame/plot elements).
15
+ *
16
+ * Also adds `type` discriminator to version graph entries.
17
+ */
18
+ export function transformFromRust(data) {
19
+ if (!data)
20
+ return data;
21
+ if (data.elements) {
22
+ data.elements = data.elements.map(fixElementFromRust);
23
+ }
24
+ if (data.versionGraph) {
25
+ const vg = data.versionGraph;
26
+ if (vg.checkpoints) {
27
+ vg.checkpoints = vg.checkpoints.map((c) => (Object.assign(Object.assign({}, c), { type: "checkpoint" })));
28
+ }
29
+ if (vg.deltas) {
30
+ vg.deltas = vg.deltas.map((d) => (Object.assign(Object.assign({}, d), { type: "delta" })));
31
+ }
32
+ }
33
+ if (data.layers) {
34
+ data.layers = data.layers.map((layer) => {
35
+ if (layer === null || layer === void 0 ? void 0 : layer.overrides) {
36
+ layer = Object.assign(Object.assign({}, layer), { overrides: fixLayerOverridesHatch(layer.overrides, true) });
37
+ }
38
+ return layer;
39
+ });
40
+ }
41
+ if (data.blockInstances) {
42
+ data.blockInstances = data.blockInstances.map((bi) => {
43
+ if (Array.isArray(bi === null || bi === void 0 ? void 0 : bi.elementOverrides)) {
44
+ const record = {};
45
+ for (const entry of bi.elementOverrides) {
46
+ if ((entry === null || entry === void 0 ? void 0 : entry.key) !== undefined)
47
+ record[entry.key] = entry.value;
48
+ }
49
+ return Object.assign(Object.assign({}, bi), { elementOverrides: record });
50
+ }
51
+ return bi;
52
+ });
53
+ }
54
+ if (data.blocks) {
55
+ data.blocks = data.blocks.map((block) => {
56
+ if (block === null || block === void 0 ? void 0 : block.metadata)
57
+ fixLocalizationFromRust(block.metadata);
58
+ return block;
59
+ });
60
+ }
61
+ if (data.blockCollections) {
62
+ data.blockCollections = data.blockCollections.map((collection) => {
63
+ if (collection === null || collection === void 0 ? void 0 : collection.metadata)
64
+ fixLocalizationFromRust(collection.metadata);
65
+ return collection;
66
+ });
67
+ }
68
+ return data;
69
+ }
70
+ /**
71
+ * Pre-serialize transformation: re-wrap stack element fields
72
+ * and flatten PrecisionValue objects to plain numbers for Rust.
73
+ */
74
+ export function transformToRust(data) {
75
+ if (!data)
76
+ return data;
77
+ const result = Object.assign({}, data);
78
+ if (result.elements) {
79
+ result.elements = result.elements.map((el) => coerceElementIntegerFields(flattenPrecisionValues(fixElementToRust(el))));
80
+ }
81
+ if (result.localState) {
82
+ result.localState = normalizeLocalStateForRust(result.localState);
83
+ }
84
+ if (result.globalState) {
85
+ result.globalState = normalizeGlobalStateForRust(result.globalState);
86
+ }
87
+ if (result.versionGraph) {
88
+ const vg = Object.assign({}, result.versionGraph);
89
+ if (vg.checkpoints) {
90
+ vg.checkpoints = vg.checkpoints.map((_a) => {
91
+ var { type: _ } = _a, rest = __rest(_a, ["type"]);
92
+ return rest;
93
+ });
94
+ }
95
+ if (vg.deltas) {
96
+ vg.deltas = vg.deltas.map((_a) => {
97
+ var { type: _ } = _a, rest = __rest(_a, ["type"]);
98
+ return rest;
99
+ });
100
+ }
101
+ result.versionGraph = vg;
102
+ }
103
+ if (result.layers) {
104
+ result.layers = result.layers.map((layer) => {
105
+ let l = Object.assign({}, layer);
106
+ if (l.overrides) {
107
+ l.overrides = fixLayerOverridesHatch(l.overrides, false);
108
+ }
109
+ return flattenPrecisionValues(l);
110
+ });
111
+ }
112
+ if (result.blockInstances) {
113
+ result.blockInstances = result.blockInstances.map((bi) => {
114
+ let b = Object.assign({}, bi);
115
+ if (b.elementOverrides && !Array.isArray(b.elementOverrides) && typeof b.elementOverrides === "object") {
116
+ b.elementOverrides = Object.entries(b.elementOverrides).map(([key, value]) => ({ key, value: String(value) }));
117
+ }
118
+ return flattenPrecisionValues(b);
119
+ });
120
+ }
121
+ if (result.blocks) {
122
+ result.blocks = result.blocks.map((block) => {
123
+ let b = Object.assign({}, block);
124
+ if (b.metadata) {
125
+ b.metadata = Object.assign({}, b.metadata);
126
+ fixLocalizationToRust(b.metadata);
127
+ }
128
+ return b;
129
+ });
130
+ }
131
+ if (result.blockCollections) {
132
+ result.blockCollections = result.blockCollections.map((collection) => {
133
+ let c = Object.assign({}, collection);
134
+ if (c.metadata) {
135
+ c.metadata = Object.assign({}, c.metadata);
136
+ fixLocalizationToRust(c.metadata);
137
+ }
138
+ return c;
139
+ });
140
+ }
141
+ return result;
142
+ }
143
+ import { FREEDRAW_EASINGS } from "./utils/constants";
144
+ const STACK_ELEMENT_TYPES = new Set(["frame", "plot"]);
145
+ const LINEAR_ELEMENT_TYPES = new Set(["line", "arrow", "freedraw"]);
146
+ const EASING_FN_TO_NAME = new Map(Object.entries(FREEDRAW_EASINGS).map(([name, fn]) => [fn, name]));
147
+ const TEXT_STYLE_FIELDS = new Set([
148
+ "isLtr", "fontFamily", "bigFontFamily", "textAlign", "verticalAlign",
149
+ "lineHeight", "lineSpacing", "obliqueAngle", "fontSize", "widthFactor",
150
+ "isUpsideDown", "isBackwards",
151
+ ]);
152
+ // --- Hatch pattern: Rust flat fields ↔ TS nested `pattern` object ---
153
+ function fixHatchFromRust(hatch) {
154
+ if (!hatch || typeof hatch !== "object" || hatch.pattern)
155
+ return hatch;
156
+ const { patternName, patternScale, patternAngle, patternOrigin, patternDouble } = hatch, rest = __rest(hatch, ["patternName", "patternScale", "patternAngle", "patternOrigin", "patternDouble"]);
157
+ if (patternName === undefined)
158
+ return hatch;
159
+ return Object.assign(Object.assign({}, rest), { pattern: { name: patternName, scale: patternScale, angle: patternAngle, origin: patternOrigin, double: patternDouble } });
160
+ }
161
+ function fixHatchToRust(hatch) {
162
+ if (!(hatch === null || hatch === void 0 ? void 0 : hatch.pattern))
163
+ return hatch;
164
+ const { pattern } = hatch, rest = __rest(hatch, ["pattern"]);
165
+ return Object.assign(Object.assign({}, rest), { patternName: pattern.name, patternScale: pattern.scale, patternAngle: pattern.angle, patternOrigin: pattern.origin, patternDouble: pattern.double });
166
+ }
167
+ function fixContentHatch(content, fromRust) {
168
+ if (!(content === null || content === void 0 ? void 0 : content.hatch))
169
+ return content;
170
+ return Object.assign(Object.assign({}, content), { hatch: fromRust ? fixHatchFromRust(content.hatch) : fixHatchToRust(content.hatch) });
171
+ }
172
+ function fixStylesHatch(el, fromRust) {
173
+ var _a, _b, _c, _d;
174
+ if (Array.isArray(el === null || el === void 0 ? void 0 : el.background)) {
175
+ for (let i = 0; i < el.background.length; i++) {
176
+ if ((_b = (_a = el.background[i]) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.hatch) {
177
+ el.background[i] = Object.assign(Object.assign({}, el.background[i]), { content: fixContentHatch(el.background[i].content, fromRust) });
178
+ }
179
+ }
180
+ }
181
+ if (Array.isArray(el === null || el === void 0 ? void 0 : el.stroke)) {
182
+ for (let i = 0; i < el.stroke.length; i++) {
183
+ if ((_d = (_c = el.stroke[i]) === null || _c === void 0 ? void 0 : _c.content) === null || _d === void 0 ? void 0 : _d.hatch) {
184
+ el.stroke[i] = Object.assign(Object.assign({}, el.stroke[i]), { content: fixContentHatch(el.stroke[i].content, fromRust) });
185
+ }
186
+ }
187
+ }
188
+ }
189
+ function fixLayerOverridesHatch(overrides, fromRust) {
190
+ var _a, _b, _c, _d;
191
+ if (!overrides)
192
+ return overrides;
193
+ let result = overrides;
194
+ if ((_b = (_a = result.stroke) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.hatch) {
195
+ result = Object.assign(Object.assign({}, result), { stroke: Object.assign(Object.assign({}, result.stroke), { content: fixContentHatch(result.stroke.content, fromRust) }) });
196
+ }
197
+ if ((_d = (_c = result.background) === null || _c === void 0 ? void 0 : _c.content) === null || _d === void 0 ? void 0 : _d.hatch) {
198
+ result = Object.assign(Object.assign({}, result), { background: Object.assign(Object.assign({}, result.background), { content: fixContentHatch(result.background.content, fromRust) }) });
199
+ }
200
+ return result;
201
+ }
202
+ // --- Viewer3DGrid: Rust `value` key ↔ TS `planes` key for perPlane variant ---
203
+ function fixViewer3DGridFromRust(grid) {
204
+ if ((grid === null || grid === void 0 ? void 0 : grid.type) === "perPlane" && "value" in grid && !("planes" in grid)) {
205
+ const { value } = grid, rest = __rest(grid, ["value"]);
206
+ return Object.assign(Object.assign({}, rest), { planes: value });
207
+ }
208
+ return grid;
209
+ }
210
+ function fixViewer3DGridToRust(grid) {
211
+ if ((grid === null || grid === void 0 ? void 0 : grid.type) === "perPlane" && "planes" in grid) {
212
+ const { planes } = grid, rest = __rest(grid, ["planes"]);
213
+ return Object.assign(Object.assign({}, rest), { value: planes });
214
+ }
215
+ return grid;
216
+ }
217
+ // --- customData: Rust `Option<String>` (JSON) ↔ TS `Record<string, any>` ---
218
+ function fixCustomDataFromRust(el) {
219
+ if (typeof (el === null || el === void 0 ? void 0 : el.customData) === "string") {
220
+ try {
221
+ el.customData = JSON.parse(el.customData);
222
+ }
223
+ catch ( /* keep as string */_a) { /* keep as string */ }
224
+ }
225
+ }
226
+ function fixCustomDataToRust(el) {
227
+ if ((el === null || el === void 0 ? void 0 : el.customData) != null && typeof el.customData !== "string") {
228
+ el.customData = JSON.stringify(el.customData);
229
+ }
230
+ }
231
+ // --- Block metadata localization: Rust `Option<String>` (JSON) ↔ TS Record ---
232
+ function fixLocalizationFromRust(metadata) {
233
+ if (typeof (metadata === null || metadata === void 0 ? void 0 : metadata.localization) === "string") {
234
+ try {
235
+ metadata.localization = JSON.parse(metadata.localization);
236
+ }
237
+ catch ( /* keep as string */_a) { /* keep as string */ }
238
+ }
239
+ }
240
+ function fixLocalizationToRust(metadata) {
241
+ if ((metadata === null || metadata === void 0 ? void 0 : metadata.localization) != null && typeof metadata.localization !== "string") {
242
+ metadata.localization = JSON.stringify(metadata.localization);
243
+ }
244
+ }
245
+ function fixElementFromRust(el) {
246
+ var _a, _b, _c;
247
+ if (!el)
248
+ return el;
249
+ fixStylesHatch(el, true);
250
+ fixCustomDataFromRust(el);
251
+ if (el.type === "model" && ((_b = (_a = el.viewerState) === null || _a === void 0 ? void 0 : _a.display) === null || _b === void 0 ? void 0 : _b.grid)) {
252
+ el.viewerState = Object.assign(Object.assign({}, el.viewerState), { display: Object.assign(Object.assign({}, el.viewerState.display), { grid: fixViewer3DGridFromRust(el.viewerState.display.grid) }) });
253
+ }
254
+ // Convert Rust DucLine structs { start, end } → TypeScript tuples [start, end]
255
+ if (LINEAR_ELEMENT_TYPES.has(el.type) && Array.isArray(el.lines)) {
256
+ el.lines = el.lines.map((line) => {
257
+ if (Array.isArray(line))
258
+ return line;
259
+ if (line && line.start !== undefined && line.end !== undefined) {
260
+ return [line.start, line.end];
261
+ }
262
+ return line;
263
+ });
264
+ }
265
+ // Convert easing string key → function for freedraw elements
266
+ if (el.type === "freedraw") {
267
+ el = convertEasingFromRust(el);
268
+ }
269
+ // Unwrap nested text style → flat fields for TS
270
+ if (el.type === "text" && el.style && typeof el.style === "object") {
271
+ const { style } = el, rest = __rest(el, ["style"]);
272
+ return Object.assign(Object.assign({}, rest), style);
273
+ }
274
+ // Remove empty style from table/doc elements
275
+ if ((el.type === "table" || el.type === "doc") && "style" in el) {
276
+ const { style: _ } = el, rest = __rest(el, ["style"]);
277
+ return rest;
278
+ }
279
+ if (!STACK_ELEMENT_TYPES.has(el.type))
280
+ return el;
281
+ // Stack elements (frame, plot) — unwrap stackBase, remove empty plot style
282
+ const { stackBase, style: _plotStyle } = el, rest = __rest(el, ["stackBase", "style"]);
283
+ if (!stackBase)
284
+ return el;
285
+ return Object.assign(Object.assign({}, rest), { isCollapsed: (_c = stackBase.isCollapsed) !== null && _c !== void 0 ? _c : false });
286
+ }
287
+ function fixElementToRust(el) {
288
+ var _a, _b, _c, _d, _e, _f, _g, _h;
289
+ if (!el)
290
+ return el;
291
+ fixStylesHatch(el, false);
292
+ fixCustomDataToRust(el);
293
+ if (el.type === "model" && ((_b = (_a = el.viewerState) === null || _a === void 0 ? void 0 : _a.display) === null || _b === void 0 ? void 0 : _b.grid)) {
294
+ el.viewerState = Object.assign(Object.assign({}, el.viewerState), { display: Object.assign(Object.assign({}, el.viewerState.display), { grid: fixViewer3DGridToRust(el.viewerState.display.grid) }) });
295
+ }
296
+ // Convert TypeScript DucLine tuples [start, end] → Rust structs { start, end }
297
+ if (LINEAR_ELEMENT_TYPES.has(el.type) && Array.isArray(el.lines)) {
298
+ el.lines = el.lines.map((line) => {
299
+ if (Array.isArray(line)) {
300
+ return { start: line[0], end: line[1] };
301
+ }
302
+ return line;
303
+ });
304
+ }
305
+ // Convert easing function → string key for freedraw elements
306
+ if (el.type === "freedraw") {
307
+ el = convertEasingToRust(el);
308
+ }
309
+ // Wrap flat text style fields into nested `style` object for Rust serde
310
+ if (el.type === "text") {
311
+ const style = {};
312
+ const rest = {};
313
+ for (const key of Object.keys(el)) {
314
+ if (TEXT_STYLE_FIELDS.has(key)) {
315
+ style[key] = el[key];
316
+ }
317
+ else {
318
+ rest[key] = el[key];
319
+ }
320
+ }
321
+ return Object.assign(Object.assign({}, rest), { style });
322
+ }
323
+ // Add empty style for table/doc elements
324
+ if (el.type === "table" || el.type === "doc") {
325
+ return Object.assign(Object.assign({}, el), { style: {} });
326
+ }
327
+ if (!STACK_ELEMENT_TYPES.has(el.type))
328
+ return el;
329
+ const { isCollapsed } = el, rest = __rest(el, ["isCollapsed"]);
330
+ return Object.assign(Object.assign(Object.assign({}, rest), (el.type === "plot" ? { style: {} } : {})), { stackBase: {
331
+ label: (_c = el.label) !== null && _c !== void 0 ? _c : "",
332
+ description: (_d = el.description) !== null && _d !== void 0 ? _d : null,
333
+ isCollapsed: isCollapsed !== null && isCollapsed !== void 0 ? isCollapsed : false,
334
+ isPlot: (_e = el.isPlot) !== null && _e !== void 0 ? _e : false,
335
+ isVisible: (_f = el.isVisible) !== null && _f !== void 0 ? _f : true,
336
+ locked: (_g = el.locked) !== null && _g !== void 0 ? _g : false,
337
+ opacity: (_h = el.opacity) !== null && _h !== void 0 ? _h : 1.0,
338
+ } });
339
+ }
340
+ /**
341
+ * Recursively convert PrecisionValue objects ({value, scoped}) to plain
342
+ * numbers (extracting `.value` — the raw/unscoped value) so Rust's serde
343
+ * can deserialize them as f64.
344
+ */
345
+ function flattenPrecisionValues(obj) {
346
+ if (obj === null || obj === undefined)
347
+ return obj;
348
+ if (isPrecisionValueLike(obj))
349
+ return obj.value;
350
+ if (Array.isArray(obj))
351
+ return obj.map(flattenPrecisionValues);
352
+ if (typeof obj === "object") {
353
+ const out = {};
354
+ for (const key in obj) {
355
+ if (!Object.prototype.hasOwnProperty.call(obj, key))
356
+ continue;
357
+ out[key] = flattenPrecisionValues(obj[key]);
358
+ }
359
+ return out;
360
+ }
361
+ return obj;
362
+ }
363
+ function isPrecisionValueLike(v) {
364
+ return (v !== null &&
365
+ typeof v === "object" &&
366
+ !Array.isArray(v) &&
367
+ typeof v.value === "number" &&
368
+ typeof v.scoped === "number" &&
369
+ Object.keys(v).length === 2);
370
+ }
371
+ function toNumberFromPrecisionLike(value, fallback) {
372
+ const flattened = flattenPrecisionValues(value);
373
+ if (typeof flattened === "number" && Number.isFinite(flattened)) {
374
+ return flattened;
375
+ }
376
+ return fallback;
377
+ }
378
+ function toInteger(value, fallback) {
379
+ if (typeof value !== "number" || !Number.isFinite(value))
380
+ return fallback;
381
+ return Math.trunc(value);
382
+ }
383
+ function coerceElementIntegerFields(el) {
384
+ if (!el || typeof el !== "object")
385
+ return el;
386
+ return Object.assign(Object.assign({}, el), { seed: toInteger(el.seed, 1), version: toInteger(el.version, 1), versionNonce: toInteger(el.versionNonce, 0) });
387
+ }
388
+ function normalizeLocalStateForRust(localState) {
389
+ if (!localState || typeof localState !== "object")
390
+ return localState;
391
+ return Object.assign(Object.assign({}, localState), { scrollX: toNumberFromPrecisionLike(localState.scrollX, 0), scrollY: toNumberFromPrecisionLike(localState.scrollY, 0), zoom: localState.zoom && typeof localState.zoom === "object"
392
+ ? toNumberFromPrecisionLike(localState.zoom.value, 1)
393
+ : toNumberFromPrecisionLike(localState.zoom, 1), currentItemStroke: flattenPrecisionValues(localState.currentItemStroke), currentItemBackground: flattenPrecisionValues(localState.currentItemBackground), currentItemFontSize: toNumberFromPrecisionLike(localState.currentItemFontSize, 16), currentItemRoundness: toNumberFromPrecisionLike(localState.currentItemRoundness, 0), currentItemTextAlign: toInteger(localState.currentItemTextAlign, 10), decimalPlaces: toInteger(localState.decimalPlaces, 2) });
394
+ }
395
+ function normalizeGlobalStateForRust(globalState) {
396
+ if (!globalState || typeof globalState !== "object")
397
+ return globalState;
398
+ return Object.assign(Object.assign({}, globalState), { scopeExponentThreshold: toInteger(globalState.scopeExponentThreshold, 4), pruningLevel: toInteger(globalState.pruningLevel, 20) });
399
+ }
400
+ function easingFnToName(fn) {
401
+ var _a;
402
+ if (typeof fn === "string")
403
+ return fn;
404
+ if (typeof fn === "function") {
405
+ return (_a = EASING_FN_TO_NAME.get(fn)) !== null && _a !== void 0 ? _a : "easeOutSine";
406
+ }
407
+ return "easeOutSine";
408
+ }
409
+ function easingNameToFn(name) {
410
+ if (typeof name === "function")
411
+ return name;
412
+ if (typeof name === "string" && name in FREEDRAW_EASINGS) {
413
+ return FREEDRAW_EASINGS[name];
414
+ }
415
+ return FREEDRAW_EASINGS.easeOutSine;
416
+ }
417
+ function convertEasingToRust(el) {
418
+ var _a, _b;
419
+ const result = Object.assign({}, el);
420
+ if (result.easing != null) {
421
+ result.easing = easingFnToName(result.easing);
422
+ }
423
+ if (((_a = result.start) === null || _a === void 0 ? void 0 : _a.easing) != null) {
424
+ result.start = Object.assign(Object.assign({}, result.start), { easing: easingFnToName(result.start.easing) });
425
+ }
426
+ if (((_b = result.end) === null || _b === void 0 ? void 0 : _b.easing) != null) {
427
+ result.end = Object.assign(Object.assign({}, result.end), { easing: easingFnToName(result.end.easing) });
428
+ }
429
+ return result;
430
+ }
431
+ function convertEasingFromRust(el) {
432
+ if (typeof el.easing === "string") {
433
+ el.easing = easingNameToFn(el.easing);
434
+ }
435
+ if (el.start && typeof el.start.easing === "string") {
436
+ el.start = Object.assign(Object.assign({}, el.start), { easing: easingNameToFn(el.start.easing) });
437
+ }
438
+ if (el.end && typeof el.end.easing === "string") {
439
+ el.end = Object.assign(Object.assign({}, el.end), { easing: easingNameToFn(el.end.easing) });
440
+ }
441
+ return el;
442
+ }