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
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ # ducjs
2
+
1
3
  <p align="center">
2
4
  <br/>
3
5
  <a href="https://duc.ducflair.com" target="_blank"><img width="256px" src="https://raw.githubusercontent.com/ducflair/assets/refs/heads/main/src/duc/duc-extended.png" /></a>
@@ -10,10 +12,7 @@
10
12
  </p>
11
13
  </p>
12
14
 
13
-
14
- # ducjs
15
-
16
- The `ducjs` package offers comprehensive TypeScript types and helper functions to work effortlessly with the `duc` CAD file format. Built with Flatbuffers and optimized for performance, this package enables you to parse, validate, and manipulate `duc` files with ease.
15
+ The `ducjs` package offers comprehensive TypeScript types and helper functions to work effortlessly with the `duc` CAD file format. Built with SQLite and optimized for performance, this package enables you to parse, validate, and manipulate `duc` files with ease.
17
16
 
18
17
  ## Documentation
19
18
 
@@ -39,4 +38,4 @@ To ensure smooth releases with semantic-release, please follow [these guidelines
39
38
 
40
39
  ---
41
40
 
42
- *The duc format and libraries are constantly evolving, aiming to set new standards in the 2D CAD industry. Be a part of this transformation and help shape the future of design technology!*
41
+ *The duc format and libraries are constantly evolving, aiming to set new standards in the 2D CAD industry. Be a part of this transformation and help shape the future of design technology!*
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Native enum definitions for DUC types.
3
+ * Source of truth: duc.sql
4
+ */
5
+ export declare enum VERTICAL_ALIGN {
6
+ TOP = 10,
7
+ MIDDLE = 11,
8
+ BOTTOM = 12
9
+ }
10
+ export declare enum TEXT_ALIGN {
11
+ LEFT = 10,
12
+ CENTER = 11,
13
+ RIGHT = 12
14
+ }
15
+ export declare enum LINE_SPACING_TYPE {
16
+ AT_LEAST = 10,
17
+ EXACTLY = 11,
18
+ MULTIPLE = 12
19
+ }
20
+ export declare enum STROKE_PLACEMENT {
21
+ INSIDE = 10,
22
+ CENTER = 11,
23
+ OUTSIDE = 12
24
+ }
25
+ export declare enum STROKE_PREFERENCE {
26
+ SOLID = 10,
27
+ DASHED = 11,
28
+ DOTTED = 12,
29
+ CUSTOM = 13
30
+ }
31
+ export declare enum STROKE_SIDE_PREFERENCE {
32
+ TOP = 10,
33
+ BOTTOM = 11,
34
+ LEFT = 12,
35
+ RIGHT = 13,
36
+ CUSTOM = 14,
37
+ ALL = 15
38
+ }
39
+ export declare enum STROKE_CAP {
40
+ BUTT = 10,
41
+ ROUND = 11,
42
+ SQUARE = 12
43
+ }
44
+ export declare enum STROKE_JOIN {
45
+ MITER = 10,
46
+ ROUND = 11,
47
+ BEVEL = 12
48
+ }
49
+ export declare enum LINE_HEAD {
50
+ ARROW = 10,
51
+ BAR = 11,
52
+ CIRCLE = 12,
53
+ CIRCLE_OUTLINED = 13,
54
+ TRIANGLE = 14,
55
+ TRIANGLE_OUTLINED = 15,
56
+ DIAMOND = 16,
57
+ DIAMOND_OUTLINED = 17,
58
+ CROSS = 18,
59
+ OPEN_ARROW = 19,
60
+ REVERSED_ARROW = 20,
61
+ REVERSED_TRIANGLE = 21,
62
+ REVERSED_TRIANGLE_OUTLINED = 22,
63
+ CONE = 23,
64
+ HALF_CONE = 24
65
+ }
66
+ export declare enum BEZIER_MIRRORING {
67
+ NONE = 10,
68
+ ANGLE = 11,
69
+ ANGLE_LENGTH = 12
70
+ }
71
+ export declare enum BLENDING {
72
+ MULTIPLY = 11,
73
+ SCREEN = 12,
74
+ OVERLAY = 13,
75
+ DARKEN = 14,
76
+ LIGHTEN = 15,
77
+ DIFFERENCE = 16,
78
+ EXCLUSION = 17
79
+ }
80
+ export declare enum ELEMENT_CONTENT_PREFERENCE {
81
+ SOLID = 12,
82
+ FILL = 14,
83
+ FIT = 15,
84
+ TILE = 16,
85
+ STRETCH = 17,
86
+ HATCH = 18
87
+ }
88
+ export declare enum HATCH_STYLE {
89
+ NORMAL = 10,
90
+ OUTER = 11,
91
+ IGNORE = 12
92
+ }
93
+ export declare enum IMAGE_STATUS {
94
+ PENDING = 10,
95
+ SAVED = 11,
96
+ ERROR = 12
97
+ }
98
+ export declare enum PRUNING_LEVEL {
99
+ CONSERVATIVE = 10,
100
+ BALANCED = 20,
101
+ AGGRESSIVE = 30
102
+ }
103
+ export declare enum BOOLEAN_OPERATION {
104
+ UNION = 10,
105
+ SUBTRACT = 11,
106
+ INTERSECT = 12,
107
+ EXCLUDE = 13
108
+ }
109
+ export declare enum YOUTUBE_STATES {
110
+ /** The YouTube player is unstarted. */
111
+ UNSTARTED = -1,
112
+ /** The YouTube player has ended. */
113
+ ENDED = 0,
114
+ /** The YouTube player is currently playing. */
115
+ PLAYING = 1,
116
+ /** The YouTube player is paused. */
117
+ PAUSED = 2,
118
+ /** The YouTube player is buffering. */
119
+ BUFFERING = 3,
120
+ /** The YouTube player is cued. */
121
+ CUED = 5
122
+ }
123
+ export declare enum HANDLE_TYPE {
124
+ HANDLE_IN = 10,
125
+ HANDLE_OUT = 11
126
+ }
127
+ export declare enum UNIT_SYSTEM {
128
+ METRIC = 10,
129
+ IMPERIAL = 11
130
+ }
131
+ export declare enum AXIS {
132
+ X = 10,
133
+ Y = 20,
134
+ Z = 30
135
+ }
package/dist/enums.js ADDED
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Native enum definitions for DUC types.
3
+ * Source of truth: duc.sql
4
+ */
5
+ export var VERTICAL_ALIGN;
6
+ (function (VERTICAL_ALIGN) {
7
+ VERTICAL_ALIGN[VERTICAL_ALIGN["TOP"] = 10] = "TOP";
8
+ VERTICAL_ALIGN[VERTICAL_ALIGN["MIDDLE"] = 11] = "MIDDLE";
9
+ VERTICAL_ALIGN[VERTICAL_ALIGN["BOTTOM"] = 12] = "BOTTOM";
10
+ })(VERTICAL_ALIGN || (VERTICAL_ALIGN = {}));
11
+ export var TEXT_ALIGN;
12
+ (function (TEXT_ALIGN) {
13
+ TEXT_ALIGN[TEXT_ALIGN["LEFT"] = 10] = "LEFT";
14
+ TEXT_ALIGN[TEXT_ALIGN["CENTER"] = 11] = "CENTER";
15
+ TEXT_ALIGN[TEXT_ALIGN["RIGHT"] = 12] = "RIGHT";
16
+ })(TEXT_ALIGN || (TEXT_ALIGN = {}));
17
+ export var LINE_SPACING_TYPE;
18
+ (function (LINE_SPACING_TYPE) {
19
+ LINE_SPACING_TYPE[LINE_SPACING_TYPE["AT_LEAST"] = 10] = "AT_LEAST";
20
+ LINE_SPACING_TYPE[LINE_SPACING_TYPE["EXACTLY"] = 11] = "EXACTLY";
21
+ LINE_SPACING_TYPE[LINE_SPACING_TYPE["MULTIPLE"] = 12] = "MULTIPLE";
22
+ })(LINE_SPACING_TYPE || (LINE_SPACING_TYPE = {}));
23
+ export var STROKE_PLACEMENT;
24
+ (function (STROKE_PLACEMENT) {
25
+ STROKE_PLACEMENT[STROKE_PLACEMENT["INSIDE"] = 10] = "INSIDE";
26
+ STROKE_PLACEMENT[STROKE_PLACEMENT["CENTER"] = 11] = "CENTER";
27
+ STROKE_PLACEMENT[STROKE_PLACEMENT["OUTSIDE"] = 12] = "OUTSIDE";
28
+ })(STROKE_PLACEMENT || (STROKE_PLACEMENT = {}));
29
+ export var STROKE_PREFERENCE;
30
+ (function (STROKE_PREFERENCE) {
31
+ STROKE_PREFERENCE[STROKE_PREFERENCE["SOLID"] = 10] = "SOLID";
32
+ STROKE_PREFERENCE[STROKE_PREFERENCE["DASHED"] = 11] = "DASHED";
33
+ STROKE_PREFERENCE[STROKE_PREFERENCE["DOTTED"] = 12] = "DOTTED";
34
+ STROKE_PREFERENCE[STROKE_PREFERENCE["CUSTOM"] = 13] = "CUSTOM";
35
+ })(STROKE_PREFERENCE || (STROKE_PREFERENCE = {}));
36
+ export var STROKE_SIDE_PREFERENCE;
37
+ (function (STROKE_SIDE_PREFERENCE) {
38
+ STROKE_SIDE_PREFERENCE[STROKE_SIDE_PREFERENCE["TOP"] = 10] = "TOP";
39
+ STROKE_SIDE_PREFERENCE[STROKE_SIDE_PREFERENCE["BOTTOM"] = 11] = "BOTTOM";
40
+ STROKE_SIDE_PREFERENCE[STROKE_SIDE_PREFERENCE["LEFT"] = 12] = "LEFT";
41
+ STROKE_SIDE_PREFERENCE[STROKE_SIDE_PREFERENCE["RIGHT"] = 13] = "RIGHT";
42
+ STROKE_SIDE_PREFERENCE[STROKE_SIDE_PREFERENCE["CUSTOM"] = 14] = "CUSTOM";
43
+ STROKE_SIDE_PREFERENCE[STROKE_SIDE_PREFERENCE["ALL"] = 15] = "ALL";
44
+ })(STROKE_SIDE_PREFERENCE || (STROKE_SIDE_PREFERENCE = {}));
45
+ export var STROKE_CAP;
46
+ (function (STROKE_CAP) {
47
+ STROKE_CAP[STROKE_CAP["BUTT"] = 10] = "BUTT";
48
+ STROKE_CAP[STROKE_CAP["ROUND"] = 11] = "ROUND";
49
+ STROKE_CAP[STROKE_CAP["SQUARE"] = 12] = "SQUARE";
50
+ })(STROKE_CAP || (STROKE_CAP = {}));
51
+ export var STROKE_JOIN;
52
+ (function (STROKE_JOIN) {
53
+ STROKE_JOIN[STROKE_JOIN["MITER"] = 10] = "MITER";
54
+ STROKE_JOIN[STROKE_JOIN["ROUND"] = 11] = "ROUND";
55
+ STROKE_JOIN[STROKE_JOIN["BEVEL"] = 12] = "BEVEL";
56
+ })(STROKE_JOIN || (STROKE_JOIN = {}));
57
+ export var LINE_HEAD;
58
+ (function (LINE_HEAD) {
59
+ LINE_HEAD[LINE_HEAD["ARROW"] = 10] = "ARROW";
60
+ LINE_HEAD[LINE_HEAD["BAR"] = 11] = "BAR";
61
+ LINE_HEAD[LINE_HEAD["CIRCLE"] = 12] = "CIRCLE";
62
+ LINE_HEAD[LINE_HEAD["CIRCLE_OUTLINED"] = 13] = "CIRCLE_OUTLINED";
63
+ LINE_HEAD[LINE_HEAD["TRIANGLE"] = 14] = "TRIANGLE";
64
+ LINE_HEAD[LINE_HEAD["TRIANGLE_OUTLINED"] = 15] = "TRIANGLE_OUTLINED";
65
+ LINE_HEAD[LINE_HEAD["DIAMOND"] = 16] = "DIAMOND";
66
+ LINE_HEAD[LINE_HEAD["DIAMOND_OUTLINED"] = 17] = "DIAMOND_OUTLINED";
67
+ LINE_HEAD[LINE_HEAD["CROSS"] = 18] = "CROSS";
68
+ LINE_HEAD[LINE_HEAD["OPEN_ARROW"] = 19] = "OPEN_ARROW";
69
+ LINE_HEAD[LINE_HEAD["REVERSED_ARROW"] = 20] = "REVERSED_ARROW";
70
+ LINE_HEAD[LINE_HEAD["REVERSED_TRIANGLE"] = 21] = "REVERSED_TRIANGLE";
71
+ LINE_HEAD[LINE_HEAD["REVERSED_TRIANGLE_OUTLINED"] = 22] = "REVERSED_TRIANGLE_OUTLINED";
72
+ LINE_HEAD[LINE_HEAD["CONE"] = 23] = "CONE";
73
+ LINE_HEAD[LINE_HEAD["HALF_CONE"] = 24] = "HALF_CONE";
74
+ })(LINE_HEAD || (LINE_HEAD = {}));
75
+ export var BEZIER_MIRRORING;
76
+ (function (BEZIER_MIRRORING) {
77
+ BEZIER_MIRRORING[BEZIER_MIRRORING["NONE"] = 10] = "NONE";
78
+ BEZIER_MIRRORING[BEZIER_MIRRORING["ANGLE"] = 11] = "ANGLE";
79
+ BEZIER_MIRRORING[BEZIER_MIRRORING["ANGLE_LENGTH"] = 12] = "ANGLE_LENGTH";
80
+ })(BEZIER_MIRRORING || (BEZIER_MIRRORING = {}));
81
+ export var BLENDING;
82
+ (function (BLENDING) {
83
+ BLENDING[BLENDING["MULTIPLY"] = 11] = "MULTIPLY";
84
+ BLENDING[BLENDING["SCREEN"] = 12] = "SCREEN";
85
+ BLENDING[BLENDING["OVERLAY"] = 13] = "OVERLAY";
86
+ BLENDING[BLENDING["DARKEN"] = 14] = "DARKEN";
87
+ BLENDING[BLENDING["LIGHTEN"] = 15] = "LIGHTEN";
88
+ BLENDING[BLENDING["DIFFERENCE"] = 16] = "DIFFERENCE";
89
+ BLENDING[BLENDING["EXCLUSION"] = 17] = "EXCLUSION";
90
+ })(BLENDING || (BLENDING = {}));
91
+ export var ELEMENT_CONTENT_PREFERENCE;
92
+ (function (ELEMENT_CONTENT_PREFERENCE) {
93
+ ELEMENT_CONTENT_PREFERENCE[ELEMENT_CONTENT_PREFERENCE["SOLID"] = 12] = "SOLID";
94
+ ELEMENT_CONTENT_PREFERENCE[ELEMENT_CONTENT_PREFERENCE["FILL"] = 14] = "FILL";
95
+ ELEMENT_CONTENT_PREFERENCE[ELEMENT_CONTENT_PREFERENCE["FIT"] = 15] = "FIT";
96
+ ELEMENT_CONTENT_PREFERENCE[ELEMENT_CONTENT_PREFERENCE["TILE"] = 16] = "TILE";
97
+ ELEMENT_CONTENT_PREFERENCE[ELEMENT_CONTENT_PREFERENCE["STRETCH"] = 17] = "STRETCH";
98
+ ELEMENT_CONTENT_PREFERENCE[ELEMENT_CONTENT_PREFERENCE["HATCH"] = 18] = "HATCH";
99
+ })(ELEMENT_CONTENT_PREFERENCE || (ELEMENT_CONTENT_PREFERENCE = {}));
100
+ export var HATCH_STYLE;
101
+ (function (HATCH_STYLE) {
102
+ HATCH_STYLE[HATCH_STYLE["NORMAL"] = 10] = "NORMAL";
103
+ HATCH_STYLE[HATCH_STYLE["OUTER"] = 11] = "OUTER";
104
+ HATCH_STYLE[HATCH_STYLE["IGNORE"] = 12] = "IGNORE";
105
+ })(HATCH_STYLE || (HATCH_STYLE = {}));
106
+ export var IMAGE_STATUS;
107
+ (function (IMAGE_STATUS) {
108
+ IMAGE_STATUS[IMAGE_STATUS["PENDING"] = 10] = "PENDING";
109
+ IMAGE_STATUS[IMAGE_STATUS["SAVED"] = 11] = "SAVED";
110
+ IMAGE_STATUS[IMAGE_STATUS["ERROR"] = 12] = "ERROR";
111
+ })(IMAGE_STATUS || (IMAGE_STATUS = {}));
112
+ export var PRUNING_LEVEL;
113
+ (function (PRUNING_LEVEL) {
114
+ PRUNING_LEVEL[PRUNING_LEVEL["CONSERVATIVE"] = 10] = "CONSERVATIVE";
115
+ PRUNING_LEVEL[PRUNING_LEVEL["BALANCED"] = 20] = "BALANCED";
116
+ PRUNING_LEVEL[PRUNING_LEVEL["AGGRESSIVE"] = 30] = "AGGRESSIVE";
117
+ })(PRUNING_LEVEL || (PRUNING_LEVEL = {}));
118
+ export var BOOLEAN_OPERATION;
119
+ (function (BOOLEAN_OPERATION) {
120
+ BOOLEAN_OPERATION[BOOLEAN_OPERATION["UNION"] = 10] = "UNION";
121
+ BOOLEAN_OPERATION[BOOLEAN_OPERATION["SUBTRACT"] = 11] = "SUBTRACT";
122
+ BOOLEAN_OPERATION[BOOLEAN_OPERATION["INTERSECT"] = 12] = "INTERSECT";
123
+ BOOLEAN_OPERATION[BOOLEAN_OPERATION["EXCLUDE"] = 13] = "EXCLUDE";
124
+ })(BOOLEAN_OPERATION || (BOOLEAN_OPERATION = {}));
125
+ export var YOUTUBE_STATES;
126
+ (function (YOUTUBE_STATES) {
127
+ /** The YouTube player is unstarted. */
128
+ YOUTUBE_STATES[YOUTUBE_STATES["UNSTARTED"] = -1] = "UNSTARTED";
129
+ /** The YouTube player has ended. */
130
+ YOUTUBE_STATES[YOUTUBE_STATES["ENDED"] = 0] = "ENDED";
131
+ /** The YouTube player is currently playing. */
132
+ YOUTUBE_STATES[YOUTUBE_STATES["PLAYING"] = 1] = "PLAYING";
133
+ /** The YouTube player is paused. */
134
+ YOUTUBE_STATES[YOUTUBE_STATES["PAUSED"] = 2] = "PAUSED";
135
+ /** The YouTube player is buffering. */
136
+ YOUTUBE_STATES[YOUTUBE_STATES["BUFFERING"] = 3] = "BUFFERING";
137
+ /** The YouTube player is cued. */
138
+ YOUTUBE_STATES[YOUTUBE_STATES["CUED"] = 5] = "CUED";
139
+ })(YOUTUBE_STATES || (YOUTUBE_STATES = {}));
140
+ export var HANDLE_TYPE;
141
+ (function (HANDLE_TYPE) {
142
+ HANDLE_TYPE[HANDLE_TYPE["HANDLE_IN"] = 10] = "HANDLE_IN";
143
+ HANDLE_TYPE[HANDLE_TYPE["HANDLE_OUT"] = 11] = "HANDLE_OUT";
144
+ })(HANDLE_TYPE || (HANDLE_TYPE = {}));
145
+ export var UNIT_SYSTEM;
146
+ (function (UNIT_SYSTEM) {
147
+ UNIT_SYSTEM[UNIT_SYSTEM["METRIC"] = 10] = "METRIC";
148
+ UNIT_SYSTEM[UNIT_SYSTEM["IMPERIAL"] = 11] = "IMPERIAL";
149
+ })(UNIT_SYSTEM || (UNIT_SYSTEM = {}));
150
+ export var AXIS;
151
+ (function (AXIS) {
152
+ AXIS[AXIS["X"] = 10] = "X";
153
+ AXIS[AXIS["Y"] = 20] = "Y";
154
+ AXIS[AXIS["Z"] = 30] = "Z";
155
+ })(AXIS || (AXIS = {}));
package/dist/index.d.ts CHANGED
@@ -1,8 +1,11 @@
1
- export * as DucBin from "./flatbuffers/duc";
1
+ export * from "./enums";
2
2
  export * from "./lazy-files";
3
3
  export * from "./parse";
4
4
  export * from "./restore";
5
5
  export * from "./serialize";
6
6
  export * from "./technical";
7
+ export * from "./transform";
7
8
  export * from "./types";
8
9
  export * from "./utils";
10
+ export * as vc from "./version-control";
11
+ export { ensureWasm, getWasmBinary } from "./wasm";
package/dist/index.js CHANGED
@@ -1,8 +1,11 @@
1
- export * as DucBin from "./flatbuffers/duc";
1
+ export * from "./enums";
2
2
  export * from "./lazy-files";
3
3
  export * from "./parse";
4
4
  export * from "./restore";
5
5
  export * from "./serialize";
6
6
  export * from "./technical";
7
+ export * from "./transform";
7
8
  export * from "./types";
8
9
  export * from "./utils";
10
+ export * as vc from "./version-control";
11
+ export { ensureWasm, getWasmBinary } from "./wasm";
@@ -1,84 +1,44 @@
1
+ import type { DucExternalFileData, DucExternalFiles } from "./types";
2
+ export type LazyFileMetadata = {
3
+ id: string;
4
+ mimeType: string;
5
+ created: number;
6
+ lastRetrieved?: number;
7
+ version?: number;
8
+ };
1
9
  /**
2
- * LazyExternalFileStore Zero-copy, on-demand access to external file data from a FlatBuffer.
10
+ * Provides lazy access to external files embedded inside a `.duc` buffer.
3
11
  *
4
- * Instead of eagerly parsing and copying every external file's binary data into JS memory,
5
- * this store keeps a reference to the original FlatBuffer Uint8Array and reads file bytes
6
- * only when explicitly requested. FlatBuffer `dataArray()` returns a zero-copy view
7
- * (a Uint8Array pointing into the original buffer), so no allocation occurs until the
8
- * consumer actually needs the data.
9
- *
10
- * Memory lifecycle:
11
- * 1. On parse: only metadata (~200 bytes per file) enters JS heap.
12
- * 2. On demand: `getFileData(fileId)` reads the zero-copy slice from the buffer.
13
- * 3. The caller (renderer/worker) uses the data, then lets it GC naturally.
14
- * 4. If the store is released, the buffer reference is dropped, freeing everything.
15
- *
16
- * This is the key to supporting 1000s of external files without RAM bloat.
12
+ * Instead of loading all file blobs into memory at parse time, this store
13
+ * keeps a reference to the raw `.duc` buffer and fetches individual files
14
+ * on demand via WASM calls.
17
15
  */
18
- import type { DucExternalFileData, DucExternalFileMetadata, DucExternalFiles } from "./types";
19
- export type ExternalFileMetadataMap = Record<string, DucExternalFileMetadata>;
20
16
  export declare class LazyExternalFileStore {
21
- private _buffer;
22
- private _byteBuffer;
23
- private _dataState;
24
- /** Map from file id → lazy entry */
25
- private _entries;
26
- /** Map from element key → file id (the external_files vector uses element id as key) */
27
- private _keyToFileId;
28
- /**
29
- * Files that were added at runtime (e.g. user uploading a new image).
30
- * These aren't in the original FlatBuffer so we hold their data directly.
31
- */
32
- private _runtimeFiles;
17
+ private buffer;
18
+ private metadataCache;
19
+ private runtimeFiles;
33
20
  constructor(buffer: Uint8Array);
34
- private _indexMetadata;
35
- /** Total number of external files */
21
+ get isReleased(): boolean;
36
22
  get size(): number;
37
- /** Whether a file with the given id exists */
23
+ /** Check if a file with this ID exists. */
38
24
  has(fileId: string): boolean;
39
- /** Get metadata only (no binary data copied) ~200 bytes per file */
40
- getMetadata(fileId: string): DucExternalFileMetadata | null;
41
- /** Get all metadata entries (for UI listing, etc.) */
42
- getAllMetadata(): ExternalFileMetadataMap;
43
- /**
44
- * Get full file data (metadata + binary bytes) ON DEMAND.
45
- *
46
- * For files from the original FlatBuffer, this returns a zero-copy Uint8Array
47
- * view into the original buffer — no allocation for the file bytes themselves.
48
- * The view is valid as long as this store hasn't been released.
49
- *
50
- * For runtime-added files, returns the data directly.
51
- */
25
+ /** Get metadata (without data blob) for a specific file. */
26
+ getMetadata(fileId: string): LazyFileMetadata | undefined;
27
+ /** Get metadata for all files. */
28
+ getAllMetadata(): LazyFileMetadata[];
29
+ /** Fetch the full file data (including blob) for a specific file. */
52
30
  getFileData(fileId: string): DucExternalFileData | null;
53
- /**
54
- * Get a detached copy of the file data (allocates new ArrayBuffer).
55
- * Use this when you need to transfer data to a worker or keep it beyond store lifetime.
56
- */
31
+ /** Fetch file data and return a copy of the data buffer (safe for transfer). */
57
32
  getFileDataCopy(fileId: string): DucExternalFileData | null;
58
- /**
59
- * Add a file at runtime (user upload, paste, etc.).
60
- * These files are held in memory since they aren't in the FlatBuffer.
61
- */
62
- addRuntimeFile(fileData: DucExternalFileData): void;
63
- /** Remove a runtime-added file */
64
- removeRuntimeFile(fileId: string): void;
65
- /**
66
- * Export all files as a standard DucExternalFiles record.
67
- * This COPIES all file data eagerly — use only for serialization.
68
- */
33
+ /** Add a file at runtime (not persisted in .duc until next serialize). */
34
+ addRuntimeFile(fileId: string, data: DucExternalFileData): void;
35
+ /** Remove a runtime file. */
36
+ removeRuntimeFile(fileId: string): boolean;
37
+ /** Export all files eagerly as a DucExternalFiles record. */
69
38
  toExternalFiles(): DucExternalFiles;
70
- /**
71
- * Merge runtime files from the given DucExternalFiles map.
72
- * Only adds files not already present in the store.
73
- */
39
+ /** Merge files from another source (only adds missing). */
74
40
  mergeFiles(files: DucExternalFiles): void;
75
- /** Estimated RAM usage for metadata only (not counting the backing buffer) */
76
- get estimatedMetadataBytes(): number;
77
- /**
78
- * Release the FlatBuffer reference. After this, only runtime-added files remain accessible.
79
- * Call this when switching documents or when the store is no longer needed.
80
- */
41
+ /** Release the underlying buffer to free memory. */
81
42
  release(): void;
82
- /** Whether the store has been released */
83
- get isReleased(): boolean;
43
+ private getMetadataMap;
84
44
  }