@llc3233149/core 0.9.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 (457) hide show
  1. package/dist/canvaskit.d.ts +9 -0
  2. package/dist/canvaskit.d.ts.map +1 -0
  3. package/dist/canvaskit.js +55 -0
  4. package/dist/canvaskit.js.map +1 -0
  5. package/dist/clipboard.d.ts +32 -0
  6. package/dist/clipboard.d.ts.map +1 -0
  7. package/dist/clipboard.js +345 -0
  8. package/dist/clipboard.js.map +1 -0
  9. package/dist/color.d.ts +28 -0
  10. package/dist/color.d.ts.map +1 -0
  11. package/dist/color.js +67 -0
  12. package/dist/color.js.map +1 -0
  13. package/dist/constants.d.ts +159 -0
  14. package/dist/constants.d.ts.map +1 -0
  15. package/dist/constants.js +224 -0
  16. package/dist/constants.js.map +1 -0
  17. package/dist/copy.d.ts +20 -0
  18. package/dist/copy.d.ts.map +1 -0
  19. package/dist/copy.js +64 -0
  20. package/dist/copy.js.map +1 -0
  21. package/dist/fig-export-worker.d.ts +2 -0
  22. package/dist/fig-export-worker.d.ts.map +1 -0
  23. package/dist/fig-export-worker.js +17 -0
  24. package/dist/fig-export-worker.js.map +1 -0
  25. package/dist/fig-export.d.ts +13 -0
  26. package/dist/fig-export.d.ts.map +1 -0
  27. package/dist/fig-export.js +243 -0
  28. package/dist/fig-export.js.map +1 -0
  29. package/dist/figma-api.d.ts +268 -0
  30. package/dist/figma-api.d.ts.map +1 -0
  31. package/dist/figma-api.js +1074 -0
  32. package/dist/figma-api.js.map +1 -0
  33. package/dist/figma-rest-import.d.ts +122 -0
  34. package/dist/figma-rest-import.d.ts.map +1 -0
  35. package/dist/figma-rest-import.js +319 -0
  36. package/dist/figma-rest-import.js.map +1 -0
  37. package/dist/fonts.d.ts +24 -0
  38. package/dist/fonts.d.ts.map +1 -0
  39. package/dist/fonts.js +356 -0
  40. package/dist/fonts.js.map +1 -0
  41. package/dist/geometry.d.ts +14 -0
  42. package/dist/geometry.d.ts.map +1 -0
  43. package/dist/geometry.js +47 -0
  44. package/dist/geometry.js.map +1 -0
  45. package/dist/index.d.ts +38 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +32 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/kiwi/codec.d.ts +292 -0
  50. package/dist/kiwi/codec.d.ts.map +1 -0
  51. package/dist/kiwi/codec.js +340 -0
  52. package/dist/kiwi/codec.js.map +1 -0
  53. package/dist/kiwi/fig-file.d.ts +4 -0
  54. package/dist/kiwi/fig-file.d.ts.map +1 -0
  55. package/dist/kiwi/fig-file.js +236 -0
  56. package/dist/kiwi/fig-file.js.map +1 -0
  57. package/dist/kiwi/fig-import.d.ts +4 -0
  58. package/dist/kiwi/fig-import.d.ts.map +1 -0
  59. package/dist/kiwi/fig-import.js +248 -0
  60. package/dist/kiwi/fig-import.js.map +1 -0
  61. package/dist/kiwi/fig-parse-worker.d.ts +7 -0
  62. package/dist/kiwi/fig-parse-worker.d.ts.map +1 -0
  63. package/dist/kiwi/fig-parse-worker.js +184 -0
  64. package/dist/kiwi/fig-parse-worker.js.map +1 -0
  65. package/dist/kiwi/instance-overrides.d.ts +66 -0
  66. package/dist/kiwi/instance-overrides.d.ts.map +1 -0
  67. package/dist/kiwi/instance-overrides.js +644 -0
  68. package/dist/kiwi/instance-overrides.js.map +1 -0
  69. package/dist/kiwi/kiwi-convert.d.ts +19 -0
  70. package/dist/kiwi/kiwi-convert.d.ts.map +1 -0
  71. package/dist/kiwi/kiwi-convert.js +678 -0
  72. package/dist/kiwi/kiwi-convert.js.map +1 -0
  73. package/dist/kiwi/kiwi-schema/bb.d.ts +25 -0
  74. package/dist/kiwi/kiwi-schema/bb.d.ts.map +1 -0
  75. package/dist/kiwi/kiwi-schema/bb.js +225 -0
  76. package/dist/kiwi/kiwi-schema/bb.js.map +1 -0
  77. package/dist/kiwi/kiwi-schema/binary.d.ts +5 -0
  78. package/dist/kiwi/kiwi-schema/binary.d.ts.map +1 -0
  79. package/dist/kiwi/kiwi-schema/binary.js +86 -0
  80. package/dist/kiwi/kiwi-schema/binary.js.map +1 -0
  81. package/dist/kiwi/kiwi-schema/index.d.ts +6 -0
  82. package/dist/kiwi/kiwi-schema/index.d.ts.map +1 -0
  83. package/dist/kiwi/kiwi-schema/index.js +5 -0
  84. package/dist/kiwi/kiwi-schema/index.js.map +1 -0
  85. package/dist/kiwi/kiwi-schema/js.d.ts +4 -0
  86. package/dist/kiwi/kiwi-schema/js.d.ts.map +1 -0
  87. package/dist/kiwi/kiwi-schema/js.js +282 -0
  88. package/dist/kiwi/kiwi-schema/js.js.map +1 -0
  89. package/dist/kiwi/kiwi-schema/parser.d.ts +5 -0
  90. package/dist/kiwi/kiwi-schema/parser.d.ts.map +1 -0
  91. package/dist/kiwi/kiwi-schema/parser.js +228 -0
  92. package/dist/kiwi/kiwi-schema/parser.js.map +1 -0
  93. package/dist/kiwi/kiwi-schema/schema.d.ts +22 -0
  94. package/dist/kiwi/kiwi-schema/schema.d.ts.map +1 -0
  95. package/dist/kiwi/kiwi-schema/schema.js +2 -0
  96. package/dist/kiwi/kiwi-schema/schema.js.map +1 -0
  97. package/dist/kiwi/kiwi-schema/util.d.ts +3 -0
  98. package/dist/kiwi/kiwi-schema/util.d.ts.map +1 -0
  99. package/dist/kiwi/kiwi-schema/util.js +10 -0
  100. package/dist/kiwi/kiwi-schema/util.js.map +1 -0
  101. package/dist/kiwi/protocol.d.ts +172 -0
  102. package/dist/kiwi/protocol.d.ts.map +1 -0
  103. package/dist/kiwi/protocol.js +214 -0
  104. package/dist/kiwi/protocol.js.map +1 -0
  105. package/dist/kiwi/schema.d.ts +3 -0
  106. package/dist/kiwi/schema.d.ts.map +1 -0
  107. package/dist/kiwi/schema.js +2285 -0
  108. package/dist/kiwi/schema.js.map +1 -0
  109. package/dist/kiwi-serialize.d.ts +17 -0
  110. package/dist/kiwi-serialize.d.ts.map +1 -0
  111. package/dist/kiwi-serialize.js +419 -0
  112. package/dist/kiwi-serialize.js.map +1 -0
  113. package/dist/layout.d.ts +9 -0
  114. package/dist/layout.d.ts.map +1 -0
  115. package/dist/layout.js +533 -0
  116. package/dist/layout.js.map +1 -0
  117. package/dist/profiler/draw-call-counter.d.ts +9 -0
  118. package/dist/profiler/draw-call-counter.d.ts.map +1 -0
  119. package/dist/profiler/draw-call-counter.js +37 -0
  120. package/dist/profiler/draw-call-counter.js.map +1 -0
  121. package/dist/profiler/frame-capture.d.ts +34 -0
  122. package/dist/profiler/frame-capture.d.ts.map +1 -0
  123. package/dist/profiler/frame-capture.js +90 -0
  124. package/dist/profiler/frame-capture.js.map +1 -0
  125. package/dist/profiler/frame-stats.d.ts +33 -0
  126. package/dist/profiler/frame-stats.d.ts.map +1 -0
  127. package/dist/profiler/frame-stats.js +103 -0
  128. package/dist/profiler/frame-stats.js.map +1 -0
  129. package/dist/profiler/gpu-timer.d.ts +15 -0
  130. package/dist/profiler/gpu-timer.d.ts.map +1 -0
  131. package/dist/profiler/gpu-timer.js +77 -0
  132. package/dist/profiler/gpu-timer.js.map +1 -0
  133. package/dist/profiler/hud-renderer.d.ts +22 -0
  134. package/dist/profiler/hud-renderer.d.ts.map +1 -0
  135. package/dist/profiler/hud-renderer.js +200 -0
  136. package/dist/profiler/hud-renderer.js.map +1 -0
  137. package/dist/profiler/index.d.ts +9 -0
  138. package/dist/profiler/index.d.ts.map +1 -0
  139. package/dist/profiler/index.js +8 -0
  140. package/dist/profiler/index.js.map +1 -0
  141. package/dist/profiler/phase-timer.d.ts +9 -0
  142. package/dist/profiler/phase-timer.d.ts.map +1 -0
  143. package/dist/profiler/phase-timer.js +51 -0
  144. package/dist/profiler/phase-timer.js.map +1 -0
  145. package/dist/profiler/render-profiler.d.ts +41 -0
  146. package/dist/profiler/render-profiler.d.ts.map +1 -0
  147. package/dist/profiler/render-profiler.js +142 -0
  148. package/dist/profiler/render-profiler.js.map +1 -0
  149. package/dist/render/components.d.ts +25 -0
  150. package/dist/render/components.d.ts.map +1 -0
  151. package/dist/render/components.js +55 -0
  152. package/dist/render/components.js.map +1 -0
  153. package/dist/render/emoji-icons.d.ts +5 -0
  154. package/dist/render/emoji-icons.d.ts.map +1 -0
  155. package/dist/render/emoji-icons.js +55 -0
  156. package/dist/render/emoji-icons.js.map +1 -0
  157. package/dist/render/export-code.d.ts +9 -0
  158. package/dist/render/export-code.d.ts.map +1 -0
  159. package/dist/render/export-code.js +335 -0
  160. package/dist/render/export-code.js.map +1 -0
  161. package/dist/render/export-jsx.d.ts +5 -0
  162. package/dist/render/export-jsx.d.ts.map +1 -0
  163. package/dist/render/export-jsx.js +621 -0
  164. package/dist/render/export-jsx.js.map +1 -0
  165. package/dist/render/index.d.ts +8 -0
  166. package/dist/render/index.d.ts.map +1 -0
  167. package/dist/render/index.js +8 -0
  168. package/dist/render/index.js.map +1 -0
  169. package/dist/render/jsx-runtime.d.ts +31 -0
  170. package/dist/render/jsx-runtime.d.ts.map +1 -0
  171. package/dist/render/jsx-runtime.js +13 -0
  172. package/dist/render/jsx-runtime.js.map +1 -0
  173. package/dist/render/mini-react.d.ts +14 -0
  174. package/dist/render/mini-react.d.ts.map +1 -0
  175. package/dist/render/mini-react.js +16 -0
  176. package/dist/render/mini-react.js.map +1 -0
  177. package/dist/render/render-jsx.d.ts +24 -0
  178. package/dist/render/render-jsx.d.ts.map +1 -0
  179. package/dist/render/render-jsx.js +51 -0
  180. package/dist/render/render-jsx.js.map +1 -0
  181. package/dist/render/renderer.d.ts +16 -0
  182. package/dist/render/renderer.d.ts.map +1 -0
  183. package/dist/render/renderer.js +437 -0
  184. package/dist/render/renderer.js.map +1 -0
  185. package/dist/render/tailwind.d.ts +20 -0
  186. package/dist/render/tailwind.d.ts.map +1 -0
  187. package/dist/render/tailwind.js +115 -0
  188. package/dist/render/tailwind.js.map +1 -0
  189. package/dist/render/tree.d.ts +72 -0
  190. package/dist/render/tree.d.ts.map +1 -0
  191. package/dist/render/tree.js +63 -0
  192. package/dist/render/tree.js.map +1 -0
  193. package/dist/render-image.d.ts +19 -0
  194. package/dist/render-image.d.ts.map +1 -0
  195. package/dist/render-image.js +84 -0
  196. package/dist/render-image.js.map +1 -0
  197. package/dist/renderer/effects.d.ts +9 -0
  198. package/dist/renderer/effects.d.ts.map +1 -0
  199. package/dist/renderer/effects.js +44 -0
  200. package/dist/renderer/effects.js.map +1 -0
  201. package/dist/renderer/fills.d.ts +9 -0
  202. package/dist/renderer/fills.d.ts.map +1 -0
  203. package/dist/renderer/fills.js +189 -0
  204. package/dist/renderer/fills.js.map +1 -0
  205. package/dist/renderer/index.d.ts +2 -0
  206. package/dist/renderer/index.d.ts.map +1 -0
  207. package/dist/renderer/index.js +2 -0
  208. package/dist/renderer/index.js.map +1 -0
  209. package/dist/renderer/label-cache.d.ts +43 -0
  210. package/dist/renderer/label-cache.d.ts.map +1 -0
  211. package/dist/renderer/label-cache.js +85 -0
  212. package/dist/renderer/label-cache.js.map +1 -0
  213. package/dist/renderer/labels.d.ts +6 -0
  214. package/dist/renderer/labels.d.ts.map +1 -0
  215. package/dist/renderer/labels.js +126 -0
  216. package/dist/renderer/labels.js.map +1 -0
  217. package/dist/renderer/lru-cache.d.ts +20 -0
  218. package/dist/renderer/lru-cache.d.ts.map +1 -0
  219. package/dist/renderer/lru-cache.js +65 -0
  220. package/dist/renderer/lru-cache.js.map +1 -0
  221. package/dist/renderer/overlays.d.ts +25 -0
  222. package/dist/renderer/overlays.d.ts.map +1 -0
  223. package/dist/renderer/overlays.js +783 -0
  224. package/dist/renderer/overlays.js.map +1 -0
  225. package/dist/renderer/renderer.d.ts +229 -0
  226. package/dist/renderer/renderer.d.ts.map +1 -0
  227. package/dist/renderer/renderer.js +909 -0
  228. package/dist/renderer/renderer.js.map +1 -0
  229. package/dist/renderer/rulers.d.ts +8 -0
  230. package/dist/renderer/rulers.d.ts.map +1 -0
  231. package/dist/renderer/rulers.js +147 -0
  232. package/dist/renderer/rulers.js.map +1 -0
  233. package/dist/renderer/scene.d.ts +11 -0
  234. package/dist/renderer/scene.d.ts.map +1 -0
  235. package/dist/renderer/scene.js +392 -0
  236. package/dist/renderer/scene.js.map +1 -0
  237. package/dist/renderer/shapes.d.ts +13 -0
  238. package/dist/renderer/shapes.d.ts.map +1 -0
  239. package/dist/renderer/shapes.js +160 -0
  240. package/dist/renderer/shapes.js.map +1 -0
  241. package/dist/renderer/strokes.d.ts +9 -0
  242. package/dist/renderer/strokes.d.ts.map +1 -0
  243. package/dist/renderer/strokes.js +180 -0
  244. package/dist/renderer/strokes.js.map +1 -0
  245. package/dist/rpc/commands.d.ts +202 -0
  246. package/dist/rpc/commands.d.ts.map +1 -0
  247. package/dist/rpc/commands.js +429 -0
  248. package/dist/rpc/commands.js.map +1 -0
  249. package/dist/rpc/index.d.ts +3 -0
  250. package/dist/rpc/index.d.ts.map +1 -0
  251. package/dist/rpc/index.js +2 -0
  252. package/dist/rpc/index.js.map +1 -0
  253. package/dist/scene-graph.d.ts +318 -0
  254. package/dist/scene-graph.d.ts.map +1 -0
  255. package/dist/scene-graph.js +803 -0
  256. package/dist/scene-graph.js.map +1 -0
  257. package/dist/snap.d.ts +16 -0
  258. package/dist/snap.d.ts.map +1 -0
  259. package/dist/snap.js +97 -0
  260. package/dist/snap.js.map +1 -0
  261. package/dist/style-runs.d.ts +20 -0
  262. package/dist/style-runs.d.ts.map +1 -0
  263. package/dist/style-runs.js +168 -0
  264. package/dist/style-runs.js.map +1 -0
  265. package/dist/svg-export/defs.d.ts +19 -0
  266. package/dist/svg-export/defs.d.ts.map +1 -0
  267. package/dist/svg-export/defs.js +191 -0
  268. package/dist/svg-export/defs.js.map +1 -0
  269. package/dist/svg-export/index.d.ts +8 -0
  270. package/dist/svg-export/index.d.ts.map +1 -0
  271. package/dist/svg-export/index.js +318 -0
  272. package/dist/svg-export/index.js.map +1 -0
  273. package/dist/svg-export/paths.d.ts +9 -0
  274. package/dist/svg-export/paths.d.ts.map +1 -0
  275. package/dist/svg-export/paths.js +189 -0
  276. package/dist/svg-export/paths.js.map +1 -0
  277. package/dist/svg-node.d.ts +8 -0
  278. package/dist/svg-node.d.ts.map +1 -0
  279. package/dist/svg-node.js +48 -0
  280. package/dist/svg-node.js.map +1 -0
  281. package/dist/text-editor.d.ts +57 -0
  282. package/dist/text-editor.d.ts.map +1 -0
  283. package/dist/text-editor.js +337 -0
  284. package/dist/text-editor.js.map +1 -0
  285. package/dist/tools/ai-adapter.d.ts +22 -0
  286. package/dist/tools/ai-adapter.d.ts.map +1 -0
  287. package/dist/tools/ai-adapter.js +121 -0
  288. package/dist/tools/ai-adapter.js.map +1 -0
  289. package/dist/tools/analyze.d.ts +22 -0
  290. package/dist/tools/analyze.d.ts.map +1 -0
  291. package/dist/tools/analyze.js +677 -0
  292. package/dist/tools/analyze.js.map +1 -0
  293. package/dist/tools/create.d.ts +8 -0
  294. package/dist/tools/create.d.ts.map +1 -0
  295. package/dist/tools/create.js +204 -0
  296. package/dist/tools/create.js.map +1 -0
  297. package/dist/tools/describe.d.ts +9 -0
  298. package/dist/tools/describe.d.ts.map +1 -0
  299. package/dist/tools/describe.js +295 -0
  300. package/dist/tools/describe.js.map +1 -0
  301. package/dist/tools/export-code.d.ts +2 -0
  302. package/dist/tools/export-code.d.ts.map +1 -0
  303. package/dist/tools/export-code.js +34 -0
  304. package/dist/tools/export-code.js.map +1 -0
  305. package/dist/tools/export-tailwind-config.d.ts +27 -0
  306. package/dist/tools/export-tailwind-config.d.ts.map +1 -0
  307. package/dist/tools/export-tailwind-config.js +215 -0
  308. package/dist/tools/export-tailwind-config.js.map +1 -0
  309. package/dist/tools/icons.d.ts +5 -0
  310. package/dist/tools/icons.d.ts.map +1 -0
  311. package/dist/tools/icons.js +192 -0
  312. package/dist/tools/icons.js.map +1 -0
  313. package/dist/tools/index.d.ts +7 -0
  314. package/dist/tools/index.d.ts.map +1 -0
  315. package/dist/tools/index.js +6 -0
  316. package/dist/tools/index.js.map +1 -0
  317. package/dist/tools/modify.d.ts +22 -0
  318. package/dist/tools/modify.d.ts.map +1 -0
  319. package/dist/tools/modify.js +653 -0
  320. package/dist/tools/modify.js.map +1 -0
  321. package/dist/tools/patterns.d.ts +2 -0
  322. package/dist/tools/patterns.d.ts.map +1 -0
  323. package/dist/tools/patterns.js +173 -0
  324. package/dist/tools/patterns.js.map +1 -0
  325. package/dist/tools/read.d.ts +17 -0
  326. package/dist/tools/read.d.ts.map +1 -0
  327. package/dist/tools/read.js +379 -0
  328. package/dist/tools/read.js.map +1 -0
  329. package/dist/tools/registry.d.ts +3 -0
  330. package/dist/tools/registry.d.ts.map +1 -0
  331. package/dist/tools/registry.js +124 -0
  332. package/dist/tools/registry.js.map +1 -0
  333. package/dist/tools/schema.d.ts +46 -0
  334. package/dist/tools/schema.d.ts.map +1 -0
  335. package/dist/tools/schema.js +17 -0
  336. package/dist/tools/schema.js.map +1 -0
  337. package/dist/tools/structure.d.ts +18 -0
  338. package/dist/tools/structure.d.ts.map +1 -0
  339. package/dist/tools/structure.js +345 -0
  340. package/dist/tools/structure.js.map +1 -0
  341. package/dist/tools/variables.d.ts +12 -0
  342. package/dist/tools/variables.d.ts.map +1 -0
  343. package/dist/tools/variables.js +190 -0
  344. package/dist/tools/variables.js.map +1 -0
  345. package/dist/tools/vector.d.ts +15 -0
  346. package/dist/tools/vector.d.ts.map +1 -0
  347. package/dist/tools/vector.js +312 -0
  348. package/dist/tools/vector.js.map +1 -0
  349. package/dist/types.d.ts +29 -0
  350. package/dist/types.d.ts.map +1 -0
  351. package/dist/types.js +2 -0
  352. package/dist/types.js.map +1 -0
  353. package/dist/undo.d.ts +33 -0
  354. package/dist/undo.d.ts.map +1 -0
  355. package/dist/undo.js +98 -0
  356. package/dist/undo.js.map +1 -0
  357. package/dist/vector.d.ts +14 -0
  358. package/dist/vector.d.ts.map +1 -0
  359. package/dist/vector.js +334 -0
  360. package/dist/vector.js.map +1 -0
  361. package/dist/xpath.d.ts +8 -0
  362. package/dist/xpath.d.ts.map +1 -0
  363. package/dist/xpath.js +199 -0
  364. package/dist/xpath.js.map +1 -0
  365. package/package.json +54 -0
  366. package/src/canvaskit.ts +66 -0
  367. package/src/clipboard.ts +444 -0
  368. package/src/color.ts +83 -0
  369. package/src/constants.ts +277 -0
  370. package/src/copy.ts +75 -0
  371. package/src/fig-export-worker.ts +28 -0
  372. package/src/fig-export.ts +321 -0
  373. package/src/figma-api.ts +1297 -0
  374. package/src/figma-rest-import.ts +443 -0
  375. package/src/fonts.ts +369 -0
  376. package/src/geometry.ts +73 -0
  377. package/src/global.d.ts +20 -0
  378. package/src/index.ts +247 -0
  379. package/src/kiwi/codec.ts +614 -0
  380. package/src/kiwi/fig-file.ts +248 -0
  381. package/src/kiwi/fig-import.ts +300 -0
  382. package/src/kiwi/fig-parse-worker.ts +213 -0
  383. package/src/kiwi/instance-overrides.ts +682 -0
  384. package/src/kiwi/kiwi-convert.ts +771 -0
  385. package/src/kiwi/kiwi-schema/bb.ts +244 -0
  386. package/src/kiwi/kiwi-schema/binary.ts +102 -0
  387. package/src/kiwi/kiwi-schema/index.ts +5 -0
  388. package/src/kiwi/kiwi-schema/js.ts +339 -0
  389. package/src/kiwi/kiwi-schema/parser.ts +287 -0
  390. package/src/kiwi/kiwi-schema/schema.ts +24 -0
  391. package/src/kiwi/kiwi-schema/util.ts +10 -0
  392. package/src/kiwi/protocol.ts +237 -0
  393. package/src/kiwi/schema.ts +2286 -0
  394. package/src/kiwi-serialize.ts +467 -0
  395. package/src/layout.ts +608 -0
  396. package/src/profiler/draw-call-counter.ts +43 -0
  397. package/src/profiler/frame-capture.ts +139 -0
  398. package/src/profiler/frame-stats.ts +122 -0
  399. package/src/profiler/gpu-timer.ts +93 -0
  400. package/src/profiler/hud-renderer.ts +242 -0
  401. package/src/profiler/index.ts +8 -0
  402. package/src/profiler/phase-timer.ts +62 -0
  403. package/src/profiler/render-profiler.ts +163 -0
  404. package/src/render/components.ts +69 -0
  405. package/src/render/emoji-icons.ts +60 -0
  406. package/src/render/export-code.ts +366 -0
  407. package/src/render/export-jsx.ts +633 -0
  408. package/src/render/index.ts +38 -0
  409. package/src/render/jsx-runtime.ts +36 -0
  410. package/src/render/mini-react.ts +30 -0
  411. package/src/render/render-jsx.ts +74 -0
  412. package/src/render/renderer.ts +508 -0
  413. package/src/render/tailwind.ts +114 -0
  414. package/src/render/tree.ts +137 -0
  415. package/src/render-image.ts +139 -0
  416. package/src/renderer/effects.ts +64 -0
  417. package/src/renderer/fills.ts +248 -0
  418. package/src/renderer/index.ts +1 -0
  419. package/src/renderer/label-cache.ts +114 -0
  420. package/src/renderer/labels.ts +168 -0
  421. package/src/renderer/lru-cache.ts +71 -0
  422. package/src/renderer/overlays.ts +1089 -0
  423. package/src/renderer/renderer.ts +1226 -0
  424. package/src/renderer/rulers.ts +230 -0
  425. package/src/renderer/scene.ts +554 -0
  426. package/src/renderer/shapes.ts +193 -0
  427. package/src/renderer/strokes.ts +221 -0
  428. package/src/rpc/commands.ts +667 -0
  429. package/src/rpc/index.ts +25 -0
  430. package/src/scene-graph.ts +1254 -0
  431. package/src/snap.ts +122 -0
  432. package/src/style-runs.ts +234 -0
  433. package/src/svg-export/defs.ts +255 -0
  434. package/src/svg-export/index.ts +427 -0
  435. package/src/svg-export/paths.ts +212 -0
  436. package/src/svg-node.ts +62 -0
  437. package/src/text-editor.ts +349 -0
  438. package/src/tools/ai-adapter.ts +144 -0
  439. package/src/tools/analyze.ts +786 -0
  440. package/src/tools/create.ts +206 -0
  441. package/src/tools/describe.ts +280 -0
  442. package/src/tools/export-code.ts +41 -0
  443. package/src/tools/export-tailwind-config.ts +266 -0
  444. package/src/tools/icons.ts +213 -0
  445. package/src/tools/index.ts +6 -0
  446. package/src/tools/modify.ts +651 -0
  447. package/src/tools/patterns.ts +189 -0
  448. package/src/tools/read.ts +401 -0
  449. package/src/tools/registry.ts +155 -0
  450. package/src/tools/schema.ts +65 -0
  451. package/src/tools/structure.ts +348 -0
  452. package/src/tools/variables.ts +193 -0
  453. package/src/tools/vector.ts +311 -0
  454. package/src/types.ts +32 -0
  455. package/src/undo.ts +126 -0
  456. package/src/vector.ts +413 -0
  457. package/src/xpath.ts +259 -0
@@ -0,0 +1,159 @@
1
+ import type { Color } from './types.js';
2
+ export declare const IS_TAURI: boolean;
3
+ export declare const BLACK: Color;
4
+ export declare const TRANSPARENT: Color;
5
+ export declare const DEFAULT_SHADOW_COLOR: Color;
6
+ export declare const SELECTION_COLOR: {
7
+ r: number;
8
+ g: number;
9
+ b: number;
10
+ a: number;
11
+ };
12
+ export declare const COMPONENT_COLOR: {
13
+ r: number;
14
+ g: number;
15
+ b: number;
16
+ a: number;
17
+ };
18
+ export declare const SNAP_COLOR: {
19
+ r: number;
20
+ g: number;
21
+ b: number;
22
+ a: number;
23
+ };
24
+ export declare const MEASUREMENT_COLOR: {
25
+ r: number;
26
+ g: number;
27
+ b: number;
28
+ a: number;
29
+ };
30
+ export declare const CANVAS_BG_COLOR: {
31
+ r: number;
32
+ g: number;
33
+ b: number;
34
+ a: number;
35
+ };
36
+ export declare const MEASUREMENT_LINE_WIDTH = 1;
37
+ export declare const MEASUREMENT_PILL_HEIGHT = 16;
38
+ export declare const MEASUREMENT_PILL_PADDING_X = 5;
39
+ export declare const MEASUREMENT_PILL_RADIUS = 3;
40
+ export declare const MEASUREMENT_FONT_SIZE = 10;
41
+ export declare const MEASUREMENT_DASH: number[];
42
+ export declare const MEASUREMENT_ARROW_SIZE = 4;
43
+ export declare const ROTATION_HANDLE_OFFSET = 20;
44
+ export declare const SNAP_THRESHOLD = 5;
45
+ export declare const RULER_SIZE = 20;
46
+ export declare const RULER_BG_COLOR: {
47
+ r: number;
48
+ g: number;
49
+ b: number;
50
+ a: number;
51
+ };
52
+ export declare const RULER_TICK_COLOR: {
53
+ r: number;
54
+ g: number;
55
+ b: number;
56
+ a: number;
57
+ };
58
+ export declare const RULER_TEXT_COLOR: {
59
+ r: number;
60
+ g: number;
61
+ b: number;
62
+ a: number;
63
+ };
64
+ export declare const RULER_BADGE_HEIGHT = 14;
65
+ export declare const RULER_BADGE_PADDING = 3;
66
+ export declare const RULER_BADGE_RADIUS = 2;
67
+ export declare const RULER_BADGE_EXCLUSION = 30;
68
+ export declare const RULER_TEXT_BASELINE = 0.65;
69
+ export declare const RULER_MAJOR_TICK = 0.5;
70
+ export declare const RULER_MINOR_TICK = 0.25;
71
+ export declare const RULER_HIGHLIGHT_ALPHA = 0.3;
72
+ export declare const PEN_HANDLE_RADIUS = 3;
73
+ export declare const PEN_VERTEX_RADIUS = 4;
74
+ export declare const PEN_CLOSE_RADIUS_BOOST = 2;
75
+ export declare const PEN_PATH_STROKE_WIDTH = 2;
76
+ export declare const PARENT_OUTLINE_ALPHA = 0.5;
77
+ export declare const PARENT_OUTLINE_DASH = 4;
78
+ export declare const DEFAULT_FONT_FAMILY = "Inter";
79
+ export declare const DEFAULT_FONT_SIZE = 14;
80
+ export declare const DEFAULT_STROKE_MITER_LIMIT = 4;
81
+ export declare const LABEL_FONT_SIZE = 11;
82
+ export declare const SIZE_FONT_SIZE = 10;
83
+ export declare const ROTATION_HANDLE_RADIUS = 4;
84
+ export declare const HANDLE_HALF_SIZE = 3;
85
+ export declare const LABEL_OFFSET_Y = 8;
86
+ export declare const SIZE_PILL_PADDING_X = 6;
87
+ export declare const SIZE_PILL_PADDING_Y = 6;
88
+ export declare const SIZE_PILL_HEIGHT = 18;
89
+ export declare const SIZE_PILL_RADIUS = 4;
90
+ export declare const SIZE_PILL_TEXT_OFFSET_Y = 13;
91
+ export declare const MARQUEE_FILL_ALPHA = 0.08;
92
+ export declare const SELECTION_DASH_ALPHA = 0.6;
93
+ export declare const DROP_HIGHLIGHT_ALPHA = 0.8;
94
+ export declare const DROP_HIGHLIGHT_STROKE = 2;
95
+ export declare const LAYOUT_INDICATOR_STROKE = 2;
96
+ export declare const SECTION_CORNER_RADIUS = 5;
97
+ export declare const SECTION_TITLE_HEIGHT = 24;
98
+ export declare const SECTION_TITLE_PADDING_X = 8;
99
+ export declare const SECTION_TITLE_RADIUS = 5;
100
+ export declare const SECTION_TITLE_FONT_SIZE = 12;
101
+ export declare const SECTION_TITLE_GAP = 6;
102
+ export declare const COMPONENT_SET_DASH = 6;
103
+ export declare const COMPONENT_SET_DASH_GAP = 4;
104
+ export declare const COMPONENT_SET_BORDER_WIDTH = 1.5;
105
+ export declare const COMPONENT_LABEL_FONT_SIZE = 11;
106
+ export declare const COMPONENT_LABEL_GAP = 6;
107
+ export declare const COMPONENT_LABEL_ICON_SIZE = 10;
108
+ export declare const COMPONENT_LABEL_ICON_GAP = 4;
109
+ export declare const RULER_TARGET_PIXEL_SPACING = 100;
110
+ export declare const RULER_MAJOR_TOLERANCE = 0.01;
111
+ export declare const FLASH_COLOR: {
112
+ r: number;
113
+ g: number;
114
+ b: number;
115
+ a: number;
116
+ };
117
+ export declare const FLASH_ATTACK_MS = 200;
118
+ export declare const FLASH_HOLD_MS = 400;
119
+ export declare const FLASH_RELEASE_MS = 300;
120
+ export declare const FLASH_STROKE_WIDTH = 2;
121
+ export declare const FLASH_PADDING = 5;
122
+ export declare const FLASH_OVERSHOOT = 30;
123
+ export declare const FLASH_RADIUS = 4;
124
+ export declare const TEXT_SELECTION_COLOR: {
125
+ r: number;
126
+ g: number;
127
+ b: number;
128
+ a: number;
129
+ };
130
+ export declare const TEXT_CARET_COLOR: Color;
131
+ export declare const TEXT_CARET_WIDTH = 1;
132
+ export type AIProviderID = 'openrouter' | 'anthropic' | 'openai' | 'google' | 'openai-compatible' | 'zai' | 'minimax' | 'anthropic-compatible';
133
+ export interface ModelOption {
134
+ id: string;
135
+ name: string;
136
+ tag?: string;
137
+ }
138
+ export interface AIProviderDef {
139
+ id: AIProviderID;
140
+ name: string;
141
+ keyPlaceholder: string;
142
+ keyURL: string;
143
+ models: ModelOption[];
144
+ defaultModel: string;
145
+ supportsCustomBaseURL?: boolean;
146
+ supportsCustomModel?: boolean;
147
+ recommended?: boolean;
148
+ }
149
+ export declare const AI_PROVIDERS: AIProviderDef[];
150
+ export declare const DEFAULT_AI_PROVIDER: AIProviderID;
151
+ export declare const DEFAULT_AI_MODEL: string;
152
+ export declare const AUTOMATION_HTTP_PORT = 7600;
153
+ export declare const AUTOMATION_WS_PORT = 7601;
154
+ export declare const GOOGLE_FONTS_API_KEY: string;
155
+ export declare const CJK_FALLBACK_FAMILIES_MACOS: string[];
156
+ export declare const CJK_FALLBACK_FAMILIES_WINDOWS: string[];
157
+ export declare const CJK_FALLBACK_FAMILIES_LINUX: string[];
158
+ export declare const CJK_GOOGLE_FONT = "Noto Sans SC";
159
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,224 @@
1
+ export const IS_TAURI = typeof window !== 'undefined' && '__TAURI_INTERNALS__' in window;
2
+ export const BLACK = { r: 0, g: 0, b: 0, a: 1 };
3
+ export const TRANSPARENT = { r: 0, g: 0, b: 0, a: 0 };
4
+ export const DEFAULT_SHADOW_COLOR = { r: 0, g: 0, b: 0, a: 0.25 };
5
+ export const SELECTION_COLOR = { r: 0.23, g: 0.51, b: 0.96, a: 1 };
6
+ export const COMPONENT_COLOR = { r: 0.592, g: 0.278, b: 1, a: 1 };
7
+ export const SNAP_COLOR = { r: 1.0, g: 0.0, b: 0.56, a: 1 };
8
+ export const MEASUREMENT_COLOR = { r: 1.0, g: 0.3, b: 0.3, a: 1 };
9
+ export const CANVAS_BG_COLOR = { r: 0.96, g: 0.96, b: 0.96, a: 1 };
10
+ // Measurement overlay
11
+ export const MEASUREMENT_LINE_WIDTH = 1;
12
+ export const MEASUREMENT_PILL_HEIGHT = 16;
13
+ export const MEASUREMENT_PILL_PADDING_X = 5;
14
+ export const MEASUREMENT_PILL_RADIUS = 3;
15
+ export const MEASUREMENT_FONT_SIZE = 10;
16
+ export const MEASUREMENT_DASH = [4, 3];
17
+ export const MEASUREMENT_ARROW_SIZE = 4;
18
+ export const ROTATION_HANDLE_OFFSET = 20;
19
+ export const SNAP_THRESHOLD = 5;
20
+ export const RULER_SIZE = 20;
21
+ export const RULER_BG_COLOR = { r: 0.14, g: 0.14, b: 0.14, a: 1 };
22
+ export const RULER_TICK_COLOR = { r: 0.4, g: 0.4, b: 0.4, a: 1 };
23
+ export const RULER_TEXT_COLOR = { r: 0.55, g: 0.55, b: 0.55, a: 1 };
24
+ export const RULER_BADGE_HEIGHT = 14;
25
+ export const RULER_BADGE_PADDING = 3;
26
+ export const RULER_BADGE_RADIUS = 2;
27
+ export const RULER_BADGE_EXCLUSION = 30;
28
+ export const RULER_TEXT_BASELINE = 0.65;
29
+ export const RULER_MAJOR_TICK = 0.5;
30
+ export const RULER_MINOR_TICK = 0.25;
31
+ export const RULER_HIGHLIGHT_ALPHA = 0.3;
32
+ export const PEN_HANDLE_RADIUS = 3;
33
+ export const PEN_VERTEX_RADIUS = 4;
34
+ export const PEN_CLOSE_RADIUS_BOOST = 2;
35
+ export const PEN_PATH_STROKE_WIDTH = 2;
36
+ export const PARENT_OUTLINE_ALPHA = 0.5;
37
+ export const PARENT_OUTLINE_DASH = 4;
38
+ export const DEFAULT_FONT_FAMILY = 'Inter';
39
+ export const DEFAULT_FONT_SIZE = 14;
40
+ export const DEFAULT_STROKE_MITER_LIMIT = 4;
41
+ export const LABEL_FONT_SIZE = 11;
42
+ export const SIZE_FONT_SIZE = 10;
43
+ export const ROTATION_HANDLE_RADIUS = 4;
44
+ export const HANDLE_HALF_SIZE = 3;
45
+ export const LABEL_OFFSET_Y = 8;
46
+ export const SIZE_PILL_PADDING_X = 6;
47
+ export const SIZE_PILL_PADDING_Y = 6;
48
+ export const SIZE_PILL_HEIGHT = 18;
49
+ export const SIZE_PILL_RADIUS = 4;
50
+ export const SIZE_PILL_TEXT_OFFSET_Y = 13;
51
+ export const MARQUEE_FILL_ALPHA = 0.08;
52
+ export const SELECTION_DASH_ALPHA = 0.6;
53
+ export const DROP_HIGHLIGHT_ALPHA = 0.8;
54
+ export const DROP_HIGHLIGHT_STROKE = 2;
55
+ export const LAYOUT_INDICATOR_STROKE = 2;
56
+ export const SECTION_CORNER_RADIUS = 5;
57
+ export const SECTION_TITLE_HEIGHT = 24;
58
+ export const SECTION_TITLE_PADDING_X = 8;
59
+ export const SECTION_TITLE_RADIUS = 5;
60
+ export const SECTION_TITLE_FONT_SIZE = 12;
61
+ export const SECTION_TITLE_GAP = 6;
62
+ export const COMPONENT_SET_DASH = 6;
63
+ export const COMPONENT_SET_DASH_GAP = 4;
64
+ export const COMPONENT_SET_BORDER_WIDTH = 1.5;
65
+ export const COMPONENT_LABEL_FONT_SIZE = 11;
66
+ export const COMPONENT_LABEL_GAP = 6;
67
+ export const COMPONENT_LABEL_ICON_SIZE = 10;
68
+ export const COMPONENT_LABEL_ICON_GAP = 4;
69
+ export const RULER_TARGET_PIXEL_SPACING = 100;
70
+ export const RULER_MAJOR_TOLERANCE = 0.01;
71
+ export const FLASH_COLOR = SELECTION_COLOR;
72
+ export const FLASH_ATTACK_MS = 200;
73
+ export const FLASH_HOLD_MS = 400;
74
+ export const FLASH_RELEASE_MS = 300;
75
+ export const FLASH_STROKE_WIDTH = 2;
76
+ export const FLASH_PADDING = 5;
77
+ export const FLASH_OVERSHOOT = 30;
78
+ export const FLASH_RADIUS = 4;
79
+ export const TEXT_SELECTION_COLOR = { r: 0.26, g: 0.52, b: 0.96, a: 0.3 };
80
+ export const TEXT_CARET_COLOR = BLACK;
81
+ export const TEXT_CARET_WIDTH = 1;
82
+ export const AI_PROVIDERS = [
83
+ {
84
+ id: 'openrouter',
85
+ name: 'OpenRouter',
86
+ keyPlaceholder: 'sk-or-…',
87
+ keyURL: 'https://openrouter.ai/keys',
88
+ defaultModel: 'anthropic/claude-sonnet-4.6',
89
+ recommended: true,
90
+ models: [
91
+ { id: 'anthropic/claude-sonnet-4.6', name: 'Claude Sonnet 4.6', tag: 'Best for design' },
92
+ { id: 'anthropic/claude-opus-4.6', name: 'Claude Opus 4.6', tag: 'Smartest' },
93
+ { id: 'moonshotai/kimi-k2.5', name: 'Kimi K2.5', tag: 'Vision + code' },
94
+ {
95
+ id: 'google/gemini-3.1-pro-preview',
96
+ name: 'Gemini 3.1 Pro',
97
+ tag: '1M context'
98
+ },
99
+ { id: 'openai/gpt-5.3-codex', name: 'GPT-5.3 Codex' },
100
+ { id: 'google/gemini-3-flash-preview', name: 'Gemini 3 Flash', tag: 'Fast' },
101
+ { id: 'deepseek/deepseek-v3.2', name: 'DeepSeek V3.2', tag: 'Cheap' },
102
+ { id: 'qwen/qwen3.5-flash-02-23', name: 'Qwen 3.5 Flash', tag: 'Cheap' },
103
+ { id: 'qwen/qwen3-coder:free', name: 'Qwen3 Coder', tag: 'Free' },
104
+ { id: 'openai/gpt-oss-120b:free', name: 'GPT-OSS 120B', tag: 'Free' }
105
+ ]
106
+ },
107
+ {
108
+ id: 'anthropic',
109
+ name: 'Anthropic',
110
+ keyPlaceholder: 'sk-ant-…',
111
+ keyURL: 'https://console.anthropic.com/settings/keys',
112
+ defaultModel: 'claude-sonnet-4-6-20260301',
113
+ models: [
114
+ { id: 'claude-sonnet-4-6-20260301', name: 'Claude Sonnet 4.6', tag: 'Best for design' },
115
+ { id: 'claude-opus-4-6-20260301', name: 'Claude Opus 4.6', tag: 'Smartest' }
116
+ ]
117
+ },
118
+ {
119
+ id: 'openai',
120
+ name: 'OpenAI',
121
+ keyPlaceholder: 'sk-…',
122
+ keyURL: 'https://platform.openai.com/api-keys',
123
+ defaultModel: 'gpt-5.3-codex',
124
+ models: [
125
+ { id: 'gpt-5.3-codex', name: 'GPT-5.3 Codex' },
126
+ { id: 'gpt-4.1', name: 'GPT-4.1' },
127
+ { id: 'o3', name: 'o3', tag: 'Reasoning' },
128
+ { id: 'o4-mini', name: 'o4-mini', tag: 'Fast reasoning' }
129
+ ]
130
+ },
131
+ {
132
+ id: 'google',
133
+ name: 'Google AI',
134
+ keyPlaceholder: 'AIza…',
135
+ keyURL: 'https://aistudio.google.com/apikey',
136
+ defaultModel: 'gemini-3.1-pro-preview',
137
+ models: [
138
+ { id: 'gemini-3.1-pro-preview', name: 'Gemini 3.1 Pro', tag: '1M context' },
139
+ { id: 'gemini-3-flash-preview', name: 'Gemini 3 Flash', tag: 'Fast' }
140
+ ]
141
+ },
142
+ {
143
+ id: 'zai',
144
+ name: 'Z.ai',
145
+ keyPlaceholder: 'API key',
146
+ keyURL: 'https://docs.z.ai/api-reference/introduction',
147
+ defaultModel: 'glm-5',
148
+ models: [
149
+ { id: 'glm-5', name: 'GLM-5' },
150
+ { id: 'glm-5-code', name: 'GLM-5-Code' },
151
+ { id: 'glm-4.7', name: 'GLM-4.7' },
152
+ { id: 'glm-4.7-flashx', name: 'GLM-4.7-FlashX' },
153
+ { id: 'glm-4.6', name: 'GLM-4.6' },
154
+ { id: 'glm-4.5', name: 'GLM-4.5' },
155
+ { id: 'glm-4.5-x', name: 'GLM-4.5-X' },
156
+ { id: 'glm-4.5-air', name: 'GLM-4.5-Air' },
157
+ { id: 'glm-4.5-airx', name: 'GLM-4.5-AirX' },
158
+ { id: 'glm-4-32b-0414-128k', name: 'GLM-4-32B-0414-128K' },
159
+ { id: 'glm-4.7-flash', name: 'GLM-4.7-Flash', tag: 'Free' },
160
+ { id: 'glm-4.5-flash', name: 'GLM-4.5-Flash', tag: 'Free' }
161
+ ]
162
+ },
163
+ {
164
+ id: 'minimax',
165
+ name: 'MiniMax',
166
+ keyPlaceholder: 'API key',
167
+ keyURL: 'https://platform.minimax.io/user-center/basic-information/interface-key',
168
+ defaultModel: 'MiniMax-M2.5',
169
+ models: [
170
+ { id: 'MiniMax-M2.5', name: 'MiniMax-M2.5', tag: 'Best' },
171
+ { id: 'MiniMax-M2.5-highspeed', name: 'MiniMax-M2.5 Highspeed', tag: 'Fast' },
172
+ { id: 'MiniMax-M2.1', name: 'MiniMax-M2.1' },
173
+ { id: 'MiniMax-M2.1-highspeed', name: 'MiniMax-M2.1 Highspeed', tag: 'Fast' },
174
+ { id: 'MiniMax-M2', name: 'MiniMax-M2' }
175
+ ]
176
+ },
177
+ {
178
+ id: 'openai-compatible',
179
+ name: 'OpenAI-compatible',
180
+ keyPlaceholder: 'API key',
181
+ keyURL: '',
182
+ defaultModel: '',
183
+ models: [],
184
+ supportsCustomBaseURL: true,
185
+ supportsCustomModel: true
186
+ },
187
+ {
188
+ id: 'anthropic-compatible',
189
+ name: 'Anthropic-compatible',
190
+ keyPlaceholder: 'API key',
191
+ keyURL: '',
192
+ defaultModel: '',
193
+ models: [],
194
+ supportsCustomBaseURL: true,
195
+ supportsCustomModel: true
196
+ }
197
+ ];
198
+ export const DEFAULT_AI_PROVIDER = 'openrouter';
199
+ export const DEFAULT_AI_MODEL = AI_PROVIDERS[0].defaultModel;
200
+ export const AUTOMATION_HTTP_PORT = 7600;
201
+ export const AUTOMATION_WS_PORT = 7601;
202
+ export const GOOGLE_FONTS_API_KEY = import.meta.env?.VITE_GOOGLE_FONTS_API_KEY ?? '';
203
+ export const CJK_FALLBACK_FAMILIES_MACOS = [
204
+ 'PingFang SC',
205
+ 'Hiragino Sans',
206
+ 'Apple SD Gothic Neo',
207
+ 'Heiti SC'
208
+ ];
209
+ export const CJK_FALLBACK_FAMILIES_WINDOWS = [
210
+ 'Microsoft YaHei',
211
+ 'Microsoft JhengHei',
212
+ 'Yu Gothic',
213
+ 'Malgun Gothic',
214
+ 'SimHei'
215
+ ];
216
+ export const CJK_FALLBACK_FAMILIES_LINUX = [
217
+ 'Noto Sans CJK SC',
218
+ 'Noto Sans CJK JP',
219
+ 'Noto Sans CJK KR',
220
+ 'WenQuanYi Micro Hei',
221
+ 'Droid Sans Fallback'
222
+ ];
223
+ export const CJK_GOOGLE_FONT = 'Noto Sans SC';
224
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/copy.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Typed shallow-copy helpers for Fill, Stroke, Effect, and StyleRun.
3
+ *
4
+ * These replace `structuredClone` for known scene-graph array types,
5
+ * avoiding the ~24× overhead of the generic deep-clone algorithm.
6
+ * Each helper spreads the top-level object and any nested objects
7
+ * (color, offset, gradientStops, dashPattern, style) to ensure
8
+ * no shared references between source and copy.
9
+ */
10
+ import type { Effect, Fill, GeometryPath, Stroke, StyleRun } from './scene-graph.js';
11
+ export declare function copyFill(f: Fill): Fill;
12
+ export declare function copyStroke(s: Stroke): Stroke;
13
+ export declare function copyEffect(e: Effect): Effect;
14
+ export declare function copyStyleRun(r: StyleRun): StyleRun;
15
+ export declare function copyFills(fills: Fill[]): Fill[];
16
+ export declare function copyStrokes(strokes: Stroke[]): Stroke[];
17
+ export declare function copyEffects(effects: Effect[]): Effect[];
18
+ export declare function copyStyleRuns(runs: StyleRun[]): StyleRun[];
19
+ export declare function copyGeometryPaths(paths: GeometryPath[]): GeometryPath[];
20
+ //# sourceMappingURL=copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAgB,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI/F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAMtC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAKlD;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAE/C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAKvE"}
package/dist/copy.js ADDED
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Typed shallow-copy helpers for Fill, Stroke, Effect, and StyleRun.
3
+ *
4
+ * These replace `structuredClone` for known scene-graph array types,
5
+ * avoiding the ~24× overhead of the generic deep-clone algorithm.
6
+ * Each helper spreads the top-level object and any nested objects
7
+ * (color, offset, gradientStops, dashPattern, style) to ensure
8
+ * no shared references between source and copy.
9
+ */
10
+ // --- Individual copy functions ---
11
+ export function copyFill(f) {
12
+ const copy = { ...f, color: { ...f.color } };
13
+ if (f.gradientStops)
14
+ copy.gradientStops = f.gradientStops.map(copyGradientStop);
15
+ if (f.gradientTransform)
16
+ copy.gradientTransform = { ...f.gradientTransform };
17
+ if (f.imageTransform)
18
+ copy.imageTransform = { ...f.imageTransform };
19
+ return copy;
20
+ }
21
+ export function copyStroke(s) {
22
+ const copy = { ...s, color: { ...s.color } };
23
+ if (s.dashPattern) {
24
+ copy.dashPattern = [...s.dashPattern];
25
+ }
26
+ return copy;
27
+ }
28
+ export function copyEffect(e) {
29
+ return {
30
+ ...e,
31
+ color: { ...e.color },
32
+ offset: { ...e.offset },
33
+ };
34
+ }
35
+ export function copyStyleRun(r) {
36
+ return {
37
+ ...r,
38
+ style: { ...r.style },
39
+ };
40
+ }
41
+ // --- Array copy functions ---
42
+ export function copyFills(fills) {
43
+ return fills.map(copyFill);
44
+ }
45
+ export function copyStrokes(strokes) {
46
+ return strokes.map(copyStroke);
47
+ }
48
+ export function copyEffects(effects) {
49
+ return effects.map(copyEffect);
50
+ }
51
+ export function copyStyleRuns(runs) {
52
+ return runs.map(copyStyleRun);
53
+ }
54
+ export function copyGeometryPaths(paths) {
55
+ return paths.map((p) => ({
56
+ windingRule: p.windingRule,
57
+ commandsBlob: p.commandsBlob.slice(),
58
+ }));
59
+ }
60
+ // --- Internal helpers ---
61
+ function copyGradientStop(gs) {
62
+ return { color: { ...gs.color }, position: gs.position };
63
+ }
64
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,oCAAoC;AAEpC,MAAM,UAAU,QAAQ,CAAC,CAAO,EAAQ;IACtC,MAAM,IAAI,GAAS,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAA;IAClD,IAAI,CAAC,CAAC,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC/E,IAAI,CAAC,CAAC,iBAAiB;QAAE,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAA;IAC5E,IAAI,CAAC,CAAC,cAAc;QAAE,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAA;IACnE,OAAO,IAAI,CAAA;AAAA,CACZ;AAED,MAAM,UAAU,UAAU,CAAC,CAAS,EAAU;IAC5C,MAAM,IAAI,GAAW,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAA;IACpD,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,IAAI,CAAA;AAAA,CACZ;AAED,MAAM,UAAU,UAAU,CAAC,CAAS,EAAU;IAC5C,OAAO;QACL,GAAG,CAAC;QACJ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE;QACrB,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;KACxB,CAAA;AAAA,CACF;AAED,MAAM,UAAU,YAAY,CAAC,CAAW,EAAY;IAClD,OAAO;QACL,GAAG,CAAC;QACJ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE;KACtB,CAAA;AAAA,CACF;AAED,+BAA+B;AAE/B,MAAM,UAAU,SAAS,CAAC,KAAa,EAAU;IAC/C,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAAA,CAC3B;AAED,MAAM,UAAU,WAAW,CAAC,OAAiB,EAAY;IACvD,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AAAA,CAC/B;AAED,MAAM,UAAU,WAAW,CAAC,OAAiB,EAAY;IACvD,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AAAA,CAC/B;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB,EAAc;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAAA,CAC9B;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAqB,EAAkB;IACvE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;KACrC,CAAC,CAAC,CAAA;AAAA,CACJ;AAED,2BAA2B;AAE3B,SAAS,gBAAgB,CAAC,EAAgB,EAAgB;IACxD,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAA;AAAA,CACzD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fig-export-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fig-export-worker.d.ts","sourceRoot":"","sources":["../src/fig-export-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { zipSync } from 'fflate';
2
+ import { buildFigKiwi } from './kiwi-serialize.js';
3
+ self.onmessage = (e) => {
4
+ const { schemaDeflated, kiwiData, thumbnailPng, metaJson, images } = e.data;
5
+ const canvasData = buildFigKiwi(schemaDeflated, kiwiData);
6
+ const zipEntries = {
7
+ 'canvas.fig': [canvasData, { level: 0 }],
8
+ 'thumbnail.png': [thumbnailPng, { level: 0 }],
9
+ 'meta.json': new TextEncoder().encode(metaJson)
10
+ };
11
+ for (const entry of images) {
12
+ zipEntries[entry.name] = [entry.data, { level: 0 }];
13
+ }
14
+ const result = zipSync(zipEntries);
15
+ self.postMessage(result, { transfer: [result.buffer] });
16
+ };
17
+ //# sourceMappingURL=fig-export-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fig-export-worker.js","sourceRoot":"","sources":["../src/fig-export-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAU/C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAgC,EAAE,EAAE,CAAC;IACrD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAA;IAE3E,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IAEzD,MAAM,UAAU,GAAa;QAC3B,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACxC,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC7C,WAAW,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;KAChD,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAAA,CACxD,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { SkiaRenderer } from './renderer.js';
2
+ import type { SceneGraph } from './scene-graph.js';
3
+ import type { CanvasKit } from 'canvaskit-wasm';
4
+ export declare function exportFigFile(graph: SceneGraph, ck?: CanvasKit, renderer?: SkiaRenderer, pageId?: string): Promise<Uint8Array>;
5
+ export declare function compressFigDataSync(schemaDeflated: Uint8Array, kiwiData: Uint8Array, thumbnailPng: Uint8Array, metaJson: string, imageEntries: Array<{
6
+ name: string;
7
+ data: Uint8Array;
8
+ }>): Uint8Array;
9
+ export declare function compressFigData(schemaDeflated: Uint8Array, kiwiData: Uint8Array, thumbnailPng: Uint8Array, metaJson: string, imageEntries: Array<{
10
+ name: string;
11
+ data: Uint8Array;
12
+ }>): Promise<Uint8Array>;
13
+ //# sourceMappingURL=fig-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fig-export.d.ts","sourceRoot":"","sources":["../src/fig-export.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAsD/C,wBAAsB,aAAa,CACjC,KAAK,EAAE,UAAU,EACjB,EAAE,CAAC,EAAE,SAAS,EACd,QAAQ,CAAC,EAAE,YAAY,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAgLrB;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,UAAU,EAC1B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,UAAU,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,GACtD,UAAU,CAWZ;AA4CD,wBAAgB,eAAe,CAC7B,cAAc,EAAE,UAAU,EAC1B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,UAAU,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,GACtD,OAAO,CAAC,UAAU,CAAC,CAKrB"}