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,3 +1,2 @@
1
1
  export * from "./restoreDataState";
2
2
  export * from "./restoreElements";
3
- export * from "./restoreStandards";
@@ -1,3 +1,2 @@
1
1
  export * from "./restoreDataState";
2
2
  export * from "./restoreElements";
3
- export * from "./restoreStandards";
@@ -1,6 +1,5 @@
1
- import { BLENDING } from "../flatbuffers/duc";
2
- import { Standard } from "../technical/standards";
3
- import type { Dictionary, DucExternalFiles, DucGlobalState, ImportedDataState, LibraryItems, PrecisionValue, Scope, VersionGraph } from "../types";
1
+ import { BLENDING } from "../enums";
2
+ import type { Checkpoint, Delta, Dictionary, DucExternalFiles, DucGlobalState, ImportedDataState, LibraryItems, PrecisionValue, Scope, VersionGraph } from "../types";
4
3
  import { DucLocalState } from "../types";
5
4
  import type { _DucStackBase, BezierMirroring, DucBlock, DucBlockCollection, DucBlockInstance, DucElement, DucGroup, DucHead, DucLayer, DucRegion, ElementBackground, ElementContentBase, ElementStroke, ExternalFileId, FillStyle, ImageStatus, LineHead, OrderedDucElement, StrokeCap, StrokeJoin, StrokePreference, StrokeSidePreference, StrokeStyle, TextAlign, VerticalAlign } from "../types/elements";
6
5
  import { Percentage, Radian } from "../types/geometryTypes";
@@ -20,7 +19,6 @@ export type RestoredDataState = {
20
19
  groups: DucGroup[];
21
20
  regions: DucRegion[];
22
21
  layers: DucLayer[];
23
- standards: Standard[];
24
22
  versionGraph: VersionGraph | undefined;
25
23
  id: string;
26
24
  };
@@ -115,8 +113,10 @@ export declare const restoreGlobalState: (importedState?: Partial<DucGlobalState
115
113
  * @param restoredGlobalState - The complete and valid global state for the document.
116
114
  * @returns A complete and valid DucLocalState object.
117
115
  */
118
- export declare const restoreLocalState: (importedState: Partial<DucLocalState> | undefined, restoredGlobalState: RestoredDataState["globalState"], restoredStandards: RestoredDataState["standards"], forceScope?: Scope) => DucLocalState;
116
+ export declare const restoreLocalState: (importedState: Partial<DucLocalState> | undefined, restoredGlobalState: RestoredDataState["globalState"], forceScope?: Scope) => DucLocalState;
119
117
  export declare const restoreVersionGraph: (importedGraph: any) => RestoredDataState["versionGraph"];
118
+ export declare const restoreCheckpoint: (importedCheckpoint: unknown) => Checkpoint | undefined;
119
+ export declare const restoreDelta: (importedDelta: unknown) => Delta | undefined;
120
120
  /**
121
121
  * Restores common properties for elements leveraging _DucStackBase.
122
122
  */
@@ -135,6 +135,7 @@ export declare const isValidFillStyleValue: (value: FillStyle | undefined) => Fi
135
135
  export declare const isValidStrokePreferenceValue: (value: StrokePreference | undefined) => StrokePreference;
136
136
  export declare const isValidVerticalAlignValue: (value: VerticalAlign | undefined) => VerticalAlign;
137
137
  export declare const isValidTextAlignValue: (value: TextAlign | undefined) => TextAlign;
138
+ export declare const isValidDecimalPlacesValue: (value: number | undefined, fallback: number) => number;
138
139
  export declare const isValidScopeValue: (value: string | undefined, localState?: Readonly<Partial<DucLocalState>> | null, mainScope?: Scope) => Scope;
139
140
  export declare const isValidImageStatusValue: (value: ImageStatus | undefined) => ImageStatus;
140
141
  export declare const isValidDucHead: (value: DucHead | null | undefined, blocks: RestoredDataState["blocks"], elementScope: Scope, currentScope: Scope) => DucHead | null;
@@ -193,11 +194,6 @@ export declare const isValidExternalFileId: (value: any, defaultValue?: External
193
194
  * @returns A valid, non-empty `Uint8Array` if the conversion is successful, otherwise `undefined`.
194
195
  */
195
196
  export declare const isValidUint8Array: (value: unknown) => Uint8Array | undefined;
196
- /**
197
- * Validates a Standard id.
198
- * Returns the id if valid and present in standards, otherwise returns the default DUC standard id.
199
- */
200
- export declare const isValidStandardId: (id: any, standards: Standard[], defaultId?: string) => string;
201
197
  /**
202
198
  * Validates a block id.
203
199
  * Returns the id if present in restored blocks, otherwise returns null.
@@ -1,19 +1,16 @@
1
1
  import { nanoid } from "nanoid";
2
2
  import tinycolor from "tinycolor2";
3
- import { BEZIER_MIRRORING, BLENDING, BOOLEAN_OPERATION, ELEMENT_CONTENT_PREFERENCE, IMAGE_STATUS, LINE_HEAD, PRUNING_LEVEL, STROKE_CAP, STROKE_JOIN, STROKE_PLACEMENT, STROKE_PREFERENCE, STROKE_SIDE_PREFERENCE, TEXT_ALIGN, VERTICAL_ALIGN, } from "../flatbuffers/duc";
3
+ import { BEZIER_MIRRORING, BLENDING, BOOLEAN_OPERATION, ELEMENT_CONTENT_PREFERENCE, IMAGE_STATUS, LINE_HEAD, PRUNING_LEVEL, STROKE_CAP, STROKE_JOIN, STROKE_PLACEMENT, STROKE_PREFERENCE, STROKE_SIDE_PREFERENCE, TEXT_ALIGN, VERTICAL_ALIGN, } from "../enums";
4
4
  import { getPrecisionScope } from "../technical/measurements";
5
5
  import { getPrecisionValueFromRaw, getPrecisionValueFromScoped, NEUTRAL_SCOPE, ScaleFactors } from "../technical/scopes";
6
- import { PREDEFINED_STANDARDS } from "../technical/standards";
7
6
  import { base64ToUint8Array, getDefaultGlobalState, getDefaultLocalState, getZoom, isEncodedFunctionString, isFiniteNumber, reviveEncodedFunction, } from "../utils";
8
7
  import { DEFAULT_ELEMENT_PROPS, DEFAULT_POLYGON_SIDES, DEFAULT_TEXT_ALIGN, DEFAULT_VERTICAL_ALIGN, DEFAULT_ZOOM_STEP, MAX_ZOOM_STEP, MIN_ZOOM_STEP, } from "../utils/constants";
9
8
  import { getDefaultStackProperties } from "../utils/elements";
10
9
  import { restoreElements } from "./restoreElements";
11
- import { isStandardIdPresent, restoreStandards, } from "./restoreStandards";
12
10
  export const restore = (data, elementsConfig, restoreConfig = {}) => {
13
- const restoredStandards = restoreStandards(data === null || data === void 0 ? void 0 : data.standards);
14
11
  const restoredDictionary = restoreDictionary(data === null || data === void 0 ? void 0 : data.dictionary);
15
12
  const restoredGlobalState = restoreGlobalState(data === null || data === void 0 ? void 0 : data.globalState);
16
- const restoredLocalState = restoreLocalState(data === null || data === void 0 ? void 0 : data.localState, restoredGlobalState, restoredStandards, restoreConfig.forceScope);
13
+ const restoredLocalState = restoreLocalState(data === null || data === void 0 ? void 0 : data.localState, restoredGlobalState, restoreConfig.forceScope);
17
14
  const restoredElementsConfig = Object.assign(Object.assign({}, elementsConfig), { localState: restoredLocalState });
18
15
  const restoredBlocks = restoreBlocks(data === null || data === void 0 ? void 0 : data.blocks, restoredLocalState.scope, restoredElementsConfig);
19
16
  const restoredBlockCollections = restoreBlockCollections(data === null || data === void 0 ? void 0 : data.blockCollections);
@@ -36,7 +33,6 @@ export const restore = (data, elementsConfig, restoreConfig = {}) => {
36
33
  groups: restoredGroups,
37
34
  regions: restoredRegions,
38
35
  layers: restoredLayers,
39
- standards: restoredStandards,
40
36
  versionGraph: restoredVersionGraph,
41
37
  localState: restoredLocalState,
42
38
  globalState: restoredGlobalState,
@@ -144,10 +140,11 @@ export const restoreLayers = (layers, currentScope) => {
144
140
  return typeof g.id === "string";
145
141
  })
146
142
  .map((l) => {
147
- return Object.assign(Object.assign({ id: l.id }, restoreDucStackProperties(l)), { readonly: isValidBoolean(l.readonly, false), overrides: {
148
- stroke: validateStroke(l.overrides.stroke, currentScope, currentScope),
149
- background: validateBackground(l.overrides.background),
150
- } });
143
+ const overridesSource = l.overrides && typeof l.overrides === "object" ? l.overrides : null;
144
+ return Object.assign(Object.assign({ id: l.id }, restoreDucStackProperties(l)), { readonly: isValidBoolean(l.readonly, false), overrides: overridesSource ? {
145
+ stroke: validateStroke(overridesSource.stroke, currentScope, currentScope),
146
+ background: validateBackground(overridesSource.background),
147
+ } : null });
151
148
  });
152
149
  };
153
150
  /**
@@ -198,10 +195,6 @@ export const restoreBlocks = (blocks, currentScope, elementsConfig) => {
198
195
  label: typeof obj.label === "string" ? obj.label : "",
199
196
  description: typeof obj.description === "string" ? obj.description : undefined,
200
197
  version: typeof obj.version === "number" ? obj.version : 1,
201
- attributes: obj.attributes || undefined,
202
- attributeDefinitions: obj.attributeDefinitions && typeof obj.attributeDefinitions === "object"
203
- ? obj.attributeDefinitions
204
- : {},
205
198
  metadata,
206
199
  thumbnail: isValidUint8Array(obj.thumbnail),
207
200
  };
@@ -276,27 +269,11 @@ export const restoreBlockInstances = (blockInstances, currentScope) => {
276
269
  elementOverrides = obj.elementOverrides;
277
270
  }
278
271
  }
279
- // Handle attributeValues - same logic
280
- let attributeValues;
281
- if (obj.attributeValues && typeof obj.attributeValues === "object") {
282
- if (Array.isArray(obj.attributeValues)) {
283
- // Legacy format: array of {key, value} entries
284
- attributeValues = Object.fromEntries(obj.attributeValues.map((entry) => [
285
- typeof entry.key === "string" ? entry.key : "",
286
- typeof entry.value === "string" ? entry.value : "",
287
- ]));
288
- }
289
- else {
290
- // Current format: already a Record<string, string>
291
- attributeValues = obj.attributeValues;
292
- }
293
- }
294
272
  return {
295
273
  id: isValidString(obj.id),
296
274
  blockId: isValidString(obj.blockId),
297
275
  version: isValidNumber(obj.version, 1),
298
276
  elementOverrides,
299
- attributeValues,
300
277
  duplicationArray: dupArray && typeof dupArray === "object"
301
278
  ? {
302
279
  rows: typeof dupArray.rows === "number" ? dupArray.rows : 1,
@@ -345,13 +322,9 @@ const restoreBlockMetadata = (metadata) => {
345
322
  * @returns A complete and valid DucGlobalState object.
346
323
  */
347
324
  export const restoreGlobalState = (importedState = {}) => {
348
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
325
+ var _a, _b, _c;
349
326
  const defaults = getDefaultGlobalState();
350
- const linearPrecision = isValidFinitePositiveByteValue((_a = importedState === null || importedState === void 0 ? void 0 : importedState.displayPrecision) === null || _a === void 0 ? void 0 : _a.linear, defaults.displayPrecision.linear);
351
- return Object.assign(Object.assign({}, defaults), { name: (_b = importedState === null || importedState === void 0 ? void 0 : importedState.name) !== null && _b !== void 0 ? _b : defaults.name, viewBackgroundColor: (_c = importedState === null || importedState === void 0 ? void 0 : importedState.viewBackgroundColor) !== null && _c !== void 0 ? _c : defaults.viewBackgroundColor, mainScope: (_d = isValidAppStateScopeValue(importedState === null || importedState === void 0 ? void 0 : importedState.mainScope)) !== null && _d !== void 0 ? _d : defaults.mainScope, scopeExponentThreshold: isValidAppStateScopeExponentThresholdValue(importedState === null || importedState === void 0 ? void 0 : importedState.scopeExponentThreshold, defaults.scopeExponentThreshold), dashSpacingScale: (_e = importedState === null || importedState === void 0 ? void 0 : importedState.dashSpacingScale) !== null && _e !== void 0 ? _e : defaults.dashSpacingScale, isDashSpacingAffectedByViewportScale: (_f = importedState === null || importedState === void 0 ? void 0 : importedState.isDashSpacingAffectedByViewportScale) !== null && _f !== void 0 ? _f : defaults.isDashSpacingAffectedByViewportScale, dimensionsAssociativeByDefault: (_g = importedState === null || importedState === void 0 ? void 0 : importedState.dimensionsAssociativeByDefault) !== null && _g !== void 0 ? _g : defaults.dimensionsAssociativeByDefault, useAnnotativeScaling: (_h = importedState === null || importedState === void 0 ? void 0 : importedState.useAnnotativeScaling) !== null && _h !== void 0 ? _h : defaults.useAnnotativeScaling, displayPrecision: {
352
- linear: linearPrecision,
353
- angular: (_k = (_j = importedState === null || importedState === void 0 ? void 0 : importedState.displayPrecision) === null || _j === void 0 ? void 0 : _j.angular) !== null && _k !== void 0 ? _k : defaults.displayPrecision.angular,
354
- }, pruningLevel: (importedState === null || importedState === void 0 ? void 0 : importedState.pruningLevel) &&
327
+ return Object.assign(Object.assign({}, defaults), { name: (_a = importedState === null || importedState === void 0 ? void 0 : importedState.name) !== null && _a !== void 0 ? _a : defaults.name, viewBackgroundColor: (_b = importedState === null || importedState === void 0 ? void 0 : importedState.viewBackgroundColor) !== null && _b !== void 0 ? _b : defaults.viewBackgroundColor, mainScope: (_c = isValidAppStateScopeValue(importedState === null || importedState === void 0 ? void 0 : importedState.mainScope)) !== null && _c !== void 0 ? _c : defaults.mainScope, scopeExponentThreshold: isValidAppStateScopeExponentThresholdValue(importedState === null || importedState === void 0 ? void 0 : importedState.scopeExponentThreshold, defaults.scopeExponentThreshold), pruningLevel: (importedState === null || importedState === void 0 ? void 0 : importedState.pruningLevel) &&
355
328
  Object.values(PRUNING_LEVEL).includes(importedState.pruningLevel)
356
329
  ? importedState.pruningLevel
357
330
  : PRUNING_LEVEL.BALANCED });
@@ -365,18 +338,25 @@ export const restoreGlobalState = (importedState = {}) => {
365
338
  * @param restoredGlobalState - The complete and valid global state for the document.
366
339
  * @returns A complete and valid DucLocalState object.
367
340
  */
368
- export const restoreLocalState = (importedState = {}, restoredGlobalState, restoredStandards, forceScope) => {
369
- var _a, _b, _c, _d, _e, _f, _g, _h;
341
+ export const restoreLocalState = (importedState = {}, restoredGlobalState, forceScope) => {
342
+ var _a, _b, _c, _d, _e;
370
343
  const defaults = getDefaultLocalState();
371
- const zoom = getZoom((_b = (_a = importedState === null || importedState === void 0 ? void 0 : importedState.zoom) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaults.zoom.value, restoredGlobalState.mainScope, restoredGlobalState.scopeExponentThreshold);
344
+ // Rust sends zoom as a plain f64, TS stores it as { value, scoped, scaled }.
345
+ // Handle both formats.
346
+ const rawZoom = typeof (importedState === null || importedState === void 0 ? void 0 : importedState.zoom) === "number"
347
+ ? importedState.zoom
348
+ : (_a = importedState === null || importedState === void 0 ? void 0 : importedState.zoom) === null || _a === void 0 ? void 0 : _a.value;
349
+ const zoom = getZoom(rawZoom !== null && rawZoom !== void 0 ? rawZoom : defaults.zoom.value, restoredGlobalState.mainScope, restoredGlobalState.scopeExponentThreshold);
372
350
  const scope = forceScope
373
351
  ? isValidScopeValue(forceScope)
374
352
  : isValidPrecisionScopeValue(zoom.value, restoredGlobalState.mainScope, restoredGlobalState.scopeExponentThreshold);
375
- return Object.assign(Object.assign(Object.assign({}, defaults), importedState), { scope, activeStandardId: isValidStandardId(importedState === null || importedState === void 0 ? void 0 : importedState.activeStandardId, restoredStandards, defaults.activeStandardId), isBindingEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.isBindingEnabled, defaults.isBindingEnabled), penMode: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.penMode, defaults.penMode), scrollX: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollX)
353
+ return Object.assign(Object.assign(Object.assign({}, defaults), importedState), { scope, isBindingEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.isBindingEnabled, defaults.isBindingEnabled), penMode: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.penMode, defaults.penMode), scrollX: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollX) != null
376
354
  ? restorePrecisionValue(importedState.scrollX, NEUTRAL_SCOPE, scope)
377
- : getPrecisionValueFromRaw(defaults.scrollX.value, NEUTRAL_SCOPE, scope), scrollY: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollY)
355
+ : getPrecisionValueFromRaw(defaults.scrollX.value, NEUTRAL_SCOPE, scope), scrollY: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollY) != null
378
356
  ? restorePrecisionValue(importedState.scrollY, NEUTRAL_SCOPE, scope)
379
- : getPrecisionValueFromRaw(defaults.scrollY.value, NEUTRAL_SCOPE, scope), zoom, activeGridSettings: (_c = importedState === null || importedState === void 0 ? void 0 : importedState.activeGridSettings) !== null && _c !== void 0 ? _c : defaults.activeGridSettings, activeSnapSettings: (_d = importedState === null || importedState === void 0 ? void 0 : importedState.activeSnapSettings) !== null && _d !== void 0 ? _d : defaults.activeSnapSettings, currentItemStroke: (_e = validateStroke(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStroke, scope, scope)) !== null && _e !== void 0 ? _e : defaults.currentItemStroke, currentItemBackground: (_f = validateBackground(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemBackground)) !== null && _f !== void 0 ? _f : defaults.currentItemBackground, currentItemOpacity: isValidPercentageValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemOpacity, defaults.currentItemOpacity), currentItemStartLineHead: (_g = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStartLineHead)) !== null && _g !== void 0 ? _g : defaults.currentItemStartLineHead, currentItemEndLineHead: (_h = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemEndLineHead)) !== null && _h !== void 0 ? _h : defaults.currentItemEndLineHead });
357
+ : getPrecisionValueFromRaw(defaults.scrollY.value, NEUTRAL_SCOPE, scope), zoom, currentItemStroke: (_b = validateStroke(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStroke, scope, scope)) !== null && _b !== void 0 ? _b : defaults.currentItemStroke, currentItemBackground: (_c = validateBackground(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemBackground)) !== null && _c !== void 0 ? _c : defaults.currentItemBackground, currentItemFontFamily: typeof (importedState === null || importedState === void 0 ? void 0 : importedState.currentItemFontFamily) === "string"
358
+ ? importedState.currentItemFontFamily
359
+ : defaults.currentItemFontFamily, currentItemFontSize: restorePrecisionValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemFontSize, scope, scope, defaults.currentItemFontSize.value), currentItemTextAlign: isValidTextAlignValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemTextAlign), currentItemOpacity: isValidPercentageValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemOpacity, defaults.currentItemOpacity), currentItemRoundness: restorePrecisionValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemRoundness, scope, scope, defaults.currentItemRoundness.value), currentItemStartLineHead: (_d = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStartLineHead)) !== null && _d !== void 0 ? _d : defaults.currentItemStartLineHead, currentItemEndLineHead: (_e = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemEndLineHead)) !== null && _e !== void 0 ? _e : defaults.currentItemEndLineHead, viewModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.viewModeEnabled, defaults.viewModeEnabled), objectsSnapModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.objectsSnapModeEnabled, defaults.objectsSnapModeEnabled), gridModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.gridModeEnabled, defaults.gridModeEnabled), outlineModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.outlineModeEnabled, defaults.outlineModeEnabled), manualSaveMode: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.manualSaveMode, defaults.manualSaveMode), decimalPlaces: isValidDecimalPlacesValue(importedState === null || importedState === void 0 ? void 0 : importedState.decimalPlaces, defaults.decimalPlaces) });
380
360
  };
381
361
  export const restoreVersionGraph = (importedGraph) => {
382
362
  if (!importedGraph || typeof importedGraph !== "object") {
@@ -387,82 +367,27 @@ export const restoreVersionGraph = (importedGraph) => {
387
367
  if (!userCheckpointVersionId || !latestVersionId) {
388
368
  return undefined;
389
369
  }
390
- const checkpoints = [];
391
- if (Array.isArray(importedGraph.checkpoints)) {
392
- for (const c of importedGraph.checkpoints) {
393
- if (!c || typeof c !== "object" || c.type !== "checkpoint") {
394
- continue;
395
- }
396
- const id = isValidString(c.id);
397
- if (!id) {
398
- continue;
399
- }
400
- const parentId = typeof c.parentId === "string" ? c.parentId : null;
401
- const timestamp = isFiniteNumber(c.timestamp) ? c.timestamp : 0;
402
- const isManualSave = isValidBoolean(c.isManualSave, false);
403
- const sizeBytes = isFiniteNumber(c.sizeBytes) && c.sizeBytes >= 0 ? c.sizeBytes : 0;
404
- const data = isValidUint8Array(c.data);
405
- if (!data) {
406
- continue;
407
- }
408
- checkpoints.push({
409
- type: "checkpoint",
410
- id,
411
- parentId,
412
- timestamp,
413
- isManualSave,
414
- sizeBytes,
415
- data,
416
- description: isValidString(c.description) || undefined,
417
- userId: isValidString(c.userId) || undefined,
418
- });
419
- }
420
- }
421
- const deltas = [];
422
- if (Array.isArray(importedGraph.deltas)) {
423
- for (const d of importedGraph.deltas) {
424
- if (!d || typeof d !== "object" || d.type !== "delta") {
425
- continue;
426
- }
427
- const id = isValidString(d.id);
428
- if (!id) {
429
- continue;
430
- }
431
- const parentId = typeof d.parentId === "string" ? d.parentId : null;
432
- const timestamp = isFiniteNumber(d.timestamp) ? d.timestamp : 0;
433
- const isManualSave = isValidBoolean(d.isManualSave, false);
434
- if (!Array.isArray(d.patch)) {
435
- continue;
436
- }
437
- const patch = [];
438
- let isPatchValid = true;
439
- for (const op of d.patch) {
440
- if (!op ||
441
- typeof op !== "object" ||
442
- !isValidString(op.op) ||
443
- !isValidString(op.path)) {
444
- isPatchValid = false;
445
- break;
446
- }
447
- patch.push({ op: op.op, path: op.path, value: op.value });
448
- }
449
- if (!isPatchValid) {
450
- continue;
451
- }
452
- deltas.push({
453
- type: "delta",
454
- id,
455
- parentId,
456
- timestamp,
457
- isManualSave,
458
- patch,
459
- description: isValidString(d.description) || undefined,
460
- userId: isValidString(d.userId) || undefined,
461
- });
462
- }
463
- }
370
+ const checkpoints = Array.isArray(importedGraph.checkpoints)
371
+ ? importedGraph.checkpoints
372
+ .map((checkpoint) => restoreCheckpoint(checkpoint))
373
+ .filter((checkpoint) => Boolean(checkpoint))
374
+ : [];
375
+ const deltas = Array.isArray(importedGraph.deltas)
376
+ ? importedGraph.deltas
377
+ .map((delta) => restoreDelta(delta))
378
+ .filter((delta) => Boolean(delta))
379
+ : [];
464
380
  const importedMetadata = importedGraph.metadata;
465
381
  const metadata = {
382
+ currentVersion: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.currentVersion) && importedMetadata.currentVersion >= 0
383
+ ? importedMetadata.currentVersion
384
+ : 0,
385
+ currentSchemaVersion: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.currentSchemaVersion) && importedMetadata.currentSchemaVersion >= 1
386
+ ? importedMetadata.currentSchemaVersion
387
+ : 1,
388
+ chainCount: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.chainCount) && importedMetadata.chainCount >= 1
389
+ ? importedMetadata.chainCount
390
+ : 1,
466
391
  lastPruned: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.lastPruned)
467
392
  ? importedMetadata.lastPruned
468
393
  : 0,
@@ -474,11 +399,77 @@ export const restoreVersionGraph = (importedGraph) => {
474
399
  return {
475
400
  userCheckpointVersionId,
476
401
  latestVersionId,
402
+ chains: Array.isArray(importedGraph.chains) ? importedGraph.chains : [],
477
403
  checkpoints,
478
404
  deltas,
479
405
  metadata,
480
406
  };
481
407
  };
408
+ export const restoreCheckpoint = (importedCheckpoint) => {
409
+ if (!importedCheckpoint || typeof importedCheckpoint !== "object") {
410
+ return undefined;
411
+ }
412
+ const checkpoint = importedCheckpoint;
413
+ if (checkpoint.type !== "checkpoint") {
414
+ return undefined;
415
+ }
416
+ const id = isValidString(checkpoint.id);
417
+ const data = isValidUint8Array(checkpoint.data);
418
+ if (!id || !data) {
419
+ return undefined;
420
+ }
421
+ return {
422
+ type: "checkpoint",
423
+ id,
424
+ parentId: typeof checkpoint.parentId === "string" ? checkpoint.parentId : null,
425
+ timestamp: isFiniteNumber(checkpoint.timestamp) ? checkpoint.timestamp : 0,
426
+ isManualSave: isValidBoolean(checkpoint.isManualSave, false),
427
+ versionNumber: isFiniteNumber(checkpoint.versionNumber) ? checkpoint.versionNumber : 0,
428
+ schemaVersion: isFiniteNumber(checkpoint.schemaVersion) && checkpoint.schemaVersion >= 1
429
+ ? checkpoint.schemaVersion
430
+ : 1,
431
+ isSchemaBoundary: isValidBoolean(checkpoint.isSchemaBoundary, false),
432
+ data,
433
+ sizeBytes: isFiniteNumber(checkpoint.sizeBytes) && checkpoint.sizeBytes >= 0
434
+ ? checkpoint.sizeBytes
435
+ : data.byteLength,
436
+ description: isValidString(checkpoint.description) || undefined,
437
+ userId: isValidString(checkpoint.userId) || undefined,
438
+ };
439
+ };
440
+ export const restoreDelta = (importedDelta) => {
441
+ if (!importedDelta || typeof importedDelta !== "object") {
442
+ return undefined;
443
+ }
444
+ const delta = importedDelta;
445
+ if (delta.type !== "delta") {
446
+ return undefined;
447
+ }
448
+ const id = isValidString(delta.id);
449
+ const payload = isValidUint8Array(delta.payload);
450
+ const baseCheckpointId = isValidString(delta.baseCheckpointId);
451
+ if (!id || !payload || !baseCheckpointId) {
452
+ return undefined;
453
+ }
454
+ return {
455
+ type: "delta",
456
+ id,
457
+ parentId: typeof delta.parentId === "string" ? delta.parentId : null,
458
+ timestamp: isFiniteNumber(delta.timestamp) ? delta.timestamp : 0,
459
+ isManualSave: isValidBoolean(delta.isManualSave, false),
460
+ versionNumber: isFiniteNumber(delta.versionNumber) ? delta.versionNumber : 0,
461
+ schemaVersion: isFiniteNumber(delta.schemaVersion) && delta.schemaVersion >= 1
462
+ ? delta.schemaVersion
463
+ : 1,
464
+ baseCheckpointId,
465
+ payload,
466
+ sizeBytes: isFiniteNumber(delta.sizeBytes) && delta.sizeBytes >= 0
467
+ ? delta.sizeBytes
468
+ : payload.byteLength,
469
+ description: isValidString(delta.description) || undefined,
470
+ userId: isValidString(delta.userId) || undefined,
471
+ };
472
+ };
482
473
  /**
483
474
  * Restores common properties for elements leveraging _DucStackBase.
484
475
  */
@@ -492,7 +483,6 @@ export const restoreDucStackProperties = (stack) => {
492
483
  isVisible: isValidBoolean(stack.isVisible, defaultStackProperties.isVisible),
493
484
  isPlot: isValidBoolean(stack.isPlot, defaultStackProperties.isPlot),
494
485
  opacity: isValidPercentageValue(stack.opacity, defaultStackProperties.opacity),
495
- labelingColor: isValidColor(stack.labelingColor, defaultStackProperties.labelingColor),
496
486
  };
497
487
  };
498
488
  export const isValidAppStateScopeValue = (value) => {
@@ -553,6 +543,16 @@ export const isValidTextAlignValue = (value) => {
553
543
  return DEFAULT_TEXT_ALIGN;
554
544
  return value;
555
545
  };
546
+ export const isValidDecimalPlacesValue = (value, fallback) => {
547
+ if (typeof value !== "number" || !Number.isFinite(value)) {
548
+ return fallback;
549
+ }
550
+ const truncated = Math.trunc(value);
551
+ if (truncated < 0 || truncated > 20) {
552
+ return fallback;
553
+ }
554
+ return truncated;
555
+ };
556
556
  export const isValidScopeValue = (value, localState, mainScope) => {
557
557
  if (value !== undefined && Object.keys(ScaleFactors).includes(value)) {
558
558
  return value;
@@ -836,16 +836,6 @@ export const isValidUint8Array = (value) => {
836
836
  }
837
837
  return undefined;
838
838
  };
839
- /**
840
- * Validates a Standard id.
841
- * Returns the id if valid and present in standards, otherwise returns the default DUC standard id.
842
- */
843
- export const isValidStandardId = (id, standards, defaultId = PREDEFINED_STANDARDS.DUC) => {
844
- const validId = isValidString(id);
845
- if (isStandardIdPresent(validId, standards))
846
- return validId;
847
- return defaultId;
848
- };
849
839
  /**
850
840
  * Validates a block id.
851
841
  * Returns the id if present in restored blocks, otherwise returns null.
@@ -1,5 +1,5 @@
1
- import { ElementsConfig, RestoredDataState } from "./restoreDataState";
2
1
  import { BezierMirroring, DucElement, DucFreeDrawEasing, DucLocalState, DucPoint, ImportedDataState, OrderedDucElement, PrecisionValue, Scope } from "../types";
2
+ import { ElementsConfig, RestoredDataState } from "./restoreDataState";
3
3
  /**
4
4
  * Restores a point that might have legacy format (x,y as numbers)
5
5
  * @param point - The point to restore