@twick/2d 0.14.21 → 0.15.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 (493) hide show
  1. package/dist/index.cjs +10806 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +4657 -0
  4. package/dist/index.d.ts +4657 -0
  5. package/dist/index.js +10768 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/jsx-runtime.d.mts +1 -0
  8. package/dist/jsx-runtime.d.ts +1 -0
  9. package/editor/index.css +24 -22
  10. package/editor/index.css.map +1 -0
  11. package/editor/index.d.ts +5 -0
  12. package/editor/index.js +472 -258
  13. package/editor/index.js.map +1 -1
  14. package/package.json +54 -27
  15. package/tsconfig.project.json +3 -2
  16. package/lib/code/CodeCursor.d.ts +0 -83
  17. package/lib/code/CodeCursor.d.ts.map +0 -1
  18. package/lib/code/CodeCursor.js +0 -306
  19. package/lib/code/CodeDiffer.d.ts +0 -28
  20. package/lib/code/CodeDiffer.d.ts.map +0 -1
  21. package/lib/code/CodeDiffer.js +0 -51
  22. package/lib/code/CodeFragment.d.ts +0 -42
  23. package/lib/code/CodeFragment.d.ts.map +0 -1
  24. package/lib/code/CodeFragment.js +0 -72
  25. package/lib/code/CodeHighlighter.d.ts +0 -71
  26. package/lib/code/CodeHighlighter.d.ts.map +0 -1
  27. package/lib/code/CodeHighlighter.js +0 -2
  28. package/lib/code/CodeMetrics.d.ts +0 -11
  29. package/lib/code/CodeMetrics.d.ts.map +0 -1
  30. package/lib/code/CodeMetrics.js +0 -29
  31. package/lib/code/CodeRange.d.ts +0 -41
  32. package/lib/code/CodeRange.d.ts.map +0 -1
  33. package/lib/code/CodeRange.js +0 -179
  34. package/lib/code/CodeScope.d.ts +0 -16
  35. package/lib/code/CodeScope.d.ts.map +0 -1
  36. package/lib/code/CodeScope.js +0 -72
  37. package/lib/code/CodeSelection.d.ts +0 -6
  38. package/lib/code/CodeSelection.d.ts.map +0 -1
  39. package/lib/code/CodeSelection.js +0 -13
  40. package/lib/code/CodeSignal.d.ts +0 -60
  41. package/lib/code/CodeSignal.d.ts.map +0 -1
  42. package/lib/code/CodeSignal.js +0 -194
  43. package/lib/code/CodeTokenizer.d.ts +0 -8
  44. package/lib/code/CodeTokenizer.d.ts.map +0 -1
  45. package/lib/code/CodeTokenizer.js +0 -50
  46. package/lib/code/DefaultHighlightStyle.d.ts +0 -3
  47. package/lib/code/DefaultHighlightStyle.d.ts.map +0 -1
  48. package/lib/code/DefaultHighlightStyle.js +0 -98
  49. package/lib/code/LezerHighlighter.d.ts +0 -22
  50. package/lib/code/LezerHighlighter.d.ts.map +0 -1
  51. package/lib/code/LezerHighlighter.js +0 -89
  52. package/lib/code/diff.d.ts +0 -31
  53. package/lib/code/diff.d.ts.map +0 -1
  54. package/lib/code/diff.js +0 -236
  55. package/lib/code/extractRange.d.ts +0 -17
  56. package/lib/code/extractRange.d.ts.map +0 -1
  57. package/lib/code/extractRange.js +0 -102
  58. package/lib/code/index.d.ts +0 -14
  59. package/lib/code/index.d.ts.map +0 -1
  60. package/lib/code/index.js +0 -14
  61. package/lib/components/Audio.d.ts +0 -14
  62. package/lib/components/Audio.d.ts.map +0 -1
  63. package/lib/components/Audio.js +0 -148
  64. package/lib/components/Bezier.d.ts +0 -23
  65. package/lib/components/Bezier.d.ts.map +0 -1
  66. package/lib/components/Bezier.js +0 -81
  67. package/lib/components/Circle.d.ts +0 -193
  68. package/lib/components/Circle.d.ts.map +0 -1
  69. package/lib/components/Circle.js +0 -178
  70. package/lib/components/Code.d.ts +0 -231
  71. package/lib/components/Code.d.ts.map +0 -1
  72. package/lib/components/Code.js +0 -325
  73. package/lib/components/CodeBlock.d.ts +0 -133
  74. package/lib/components/CodeBlock.d.ts.map +0 -1
  75. package/lib/components/CodeBlock.js +0 -461
  76. package/lib/components/CubicBezier.d.ts +0 -70
  77. package/lib/components/CubicBezier.d.ts.map +0 -1
  78. package/lib/components/CubicBezier.js +0 -81
  79. package/lib/components/Curve.d.ts +0 -204
  80. package/lib/components/Curve.d.ts.map +0 -1
  81. package/lib/components/Curve.js +0 -284
  82. package/lib/components/Grid.d.ts +0 -76
  83. package/lib/components/Grid.d.ts.map +0 -1
  84. package/lib/components/Grid.js +0 -91
  85. package/lib/components/Icon.d.ts +0 -59
  86. package/lib/components/Icon.d.ts.map +0 -1
  87. package/lib/components/Icon.js +0 -58
  88. package/lib/components/Img.d.ts +0 -118
  89. package/lib/components/Img.d.ts.map +0 -1
  90. package/lib/components/Img.js +0 -245
  91. package/lib/components/Knot.d.ts +0 -90
  92. package/lib/components/Knot.d.ts.map +0 -1
  93. package/lib/components/Knot.js +0 -68
  94. package/lib/components/Latex.d.ts +0 -39
  95. package/lib/components/Latex.d.ts.map +0 -1
  96. package/lib/components/Latex.js +0 -101
  97. package/lib/components/Layout.d.ts +0 -419
  98. package/lib/components/Layout.d.ts.map +0 -1
  99. package/lib/components/Layout.js +0 -706
  100. package/lib/components/Line.d.ts +0 -160
  101. package/lib/components/Line.d.ts.map +0 -1
  102. package/lib/components/Line.js +0 -346
  103. package/lib/components/Media.d.ts +0 -70
  104. package/lib/components/Media.d.ts.map +0 -1
  105. package/lib/components/Media.js +0 -493
  106. package/lib/components/Node.d.ts +0 -836
  107. package/lib/components/Node.d.ts.map +0 -1
  108. package/lib/components/Node.js +0 -1317
  109. package/lib/components/Path.d.ts +0 -20
  110. package/lib/components/Path.d.ts.map +0 -1
  111. package/lib/components/Path.js +0 -97
  112. package/lib/components/Polygon.d.ts +0 -113
  113. package/lib/components/Polygon.d.ts.map +0 -1
  114. package/lib/components/Polygon.js +0 -123
  115. package/lib/components/QuadBezier.d.ts +0 -62
  116. package/lib/components/QuadBezier.d.ts.map +0 -1
  117. package/lib/components/QuadBezier.js +0 -76
  118. package/lib/components/Ray.d.ts +0 -62
  119. package/lib/components/Ray.d.ts.map +0 -1
  120. package/lib/components/Ray.js +0 -96
  121. package/lib/components/Rect.d.ts +0 -114
  122. package/lib/components/Rect.d.ts.map +0 -1
  123. package/lib/components/Rect.js +0 -76
  124. package/lib/components/Rive.d.ts +0 -22
  125. package/lib/components/Rive.d.ts.map +0 -1
  126. package/lib/components/Rive.js +0 -117
  127. package/lib/components/SVG.d.ts +0 -178
  128. package/lib/components/SVG.d.ts.map +0 -1
  129. package/lib/components/SVG.js +0 -577
  130. package/lib/components/Shape.d.ts +0 -40
  131. package/lib/components/Shape.d.ts.map +0 -1
  132. package/lib/components/Shape.js +0 -134
  133. package/lib/components/Spline.d.ts +0 -89
  134. package/lib/components/Spline.d.ts.map +0 -1
  135. package/lib/components/Spline.js +0 -256
  136. package/lib/components/Txt.d.ts +0 -53
  137. package/lib/components/Txt.d.ts.map +0 -1
  138. package/lib/components/Txt.js +0 -173
  139. package/lib/components/TxtLeaf.d.ts +0 -21
  140. package/lib/components/TxtLeaf.d.ts.map +0 -1
  141. package/lib/components/TxtLeaf.js +0 -181
  142. package/lib/components/Video.d.ts +0 -69
  143. package/lib/components/Video.d.ts.map +0 -1
  144. package/lib/components/Video.js +0 -342
  145. package/lib/components/View2D.d.ts +0 -28
  146. package/lib/components/View2D.d.ts.map +0 -1
  147. package/lib/components/View2D.js +0 -93
  148. package/lib/components/index.d.ts +0 -29
  149. package/lib/components/index.d.ts.map +0 -1
  150. package/lib/components/index.js +0 -29
  151. package/lib/components/types.d.ts +0 -17
  152. package/lib/components/types.d.ts.map +0 -1
  153. package/lib/components/types.js +0 -2
  154. package/lib/curves/ArcSegment.d.ts +0 -26
  155. package/lib/curves/ArcSegment.d.ts.map +0 -1
  156. package/lib/curves/ArcSegment.js +0 -97
  157. package/lib/curves/CircleSegment.d.ts +0 -18
  158. package/lib/curves/CircleSegment.d.ts.map +0 -1
  159. package/lib/curves/CircleSegment.js +0 -52
  160. package/lib/curves/CubicBezierSegment.d.ts +0 -18
  161. package/lib/curves/CubicBezierSegment.d.ts.map +0 -1
  162. package/lib/curves/CubicBezierSegment.js +0 -55
  163. package/lib/curves/CurveDrawingInfo.d.ts +0 -11
  164. package/lib/curves/CurveDrawingInfo.d.ts.map +0 -1
  165. package/lib/curves/CurveDrawingInfo.js +0 -2
  166. package/lib/curves/CurvePoint.d.ts +0 -15
  167. package/lib/curves/CurvePoint.d.ts.map +0 -1
  168. package/lib/curves/CurvePoint.js +0 -2
  169. package/lib/curves/CurveProfile.d.ts +0 -7
  170. package/lib/curves/CurveProfile.d.ts.map +0 -1
  171. package/lib/curves/CurveProfile.js +0 -2
  172. package/lib/curves/KnotInfo.d.ts +0 -12
  173. package/lib/curves/KnotInfo.d.ts.map +0 -1
  174. package/lib/curves/KnotInfo.js +0 -2
  175. package/lib/curves/LineSegment.d.ts +0 -16
  176. package/lib/curves/LineSegment.d.ts.map +0 -1
  177. package/lib/curves/LineSegment.js +0 -45
  178. package/lib/curves/Polynomial.d.ts +0 -118
  179. package/lib/curves/Polynomial.d.ts.map +0 -1
  180. package/lib/curves/Polynomial.js +0 -259
  181. package/lib/curves/Polynomial2D.d.ts +0 -22
  182. package/lib/curves/Polynomial2D.d.ts.map +0 -1
  183. package/lib/curves/Polynomial2D.js +0 -45
  184. package/lib/curves/PolynomialSegment.d.ts +0 -39
  185. package/lib/curves/PolynomialSegment.d.ts.map +0 -1
  186. package/lib/curves/PolynomialSegment.js +0 -86
  187. package/lib/curves/QuadBezierSegment.d.ts +0 -17
  188. package/lib/curves/QuadBezierSegment.d.ts.map +0 -1
  189. package/lib/curves/QuadBezierSegment.js +0 -49
  190. package/lib/curves/Segment.d.ts +0 -9
  191. package/lib/curves/Segment.d.ts.map +0 -1
  192. package/lib/curves/Segment.js +0 -3
  193. package/lib/curves/UniformPolynomialCurveSampler.d.ts +0 -43
  194. package/lib/curves/UniformPolynomialCurveSampler.d.ts.map +0 -1
  195. package/lib/curves/UniformPolynomialCurveSampler.js +0 -73
  196. package/lib/curves/createCurveProfileLerp.d.ts +0 -32
  197. package/lib/curves/createCurveProfileLerp.d.ts.map +0 -1
  198. package/lib/curves/createCurveProfileLerp.js +0 -351
  199. package/lib/curves/getBezierSplineProfile.d.ts +0 -12
  200. package/lib/curves/getBezierSplineProfile.d.ts.map +0 -1
  201. package/lib/curves/getBezierSplineProfile.js +0 -137
  202. package/lib/curves/getCircleProfile.d.ts +0 -4
  203. package/lib/curves/getCircleProfile.d.ts.map +0 -1
  204. package/lib/curves/getCircleProfile.js +0 -44
  205. package/lib/curves/getPathProfile.d.ts +0 -3
  206. package/lib/curves/getPathProfile.d.ts.map +0 -1
  207. package/lib/curves/getPathProfile.js +0 -128
  208. package/lib/curves/getPointAtDistance.d.ts +0 -4
  209. package/lib/curves/getPointAtDistance.d.ts.map +0 -1
  210. package/lib/curves/getPointAtDistance.js +0 -15
  211. package/lib/curves/getPolylineProfile.d.ts +0 -4
  212. package/lib/curves/getPolylineProfile.d.ts.map +0 -1
  213. package/lib/curves/getPolylineProfile.js +0 -58
  214. package/lib/curves/getRectProfile.d.ts +0 -4
  215. package/lib/curves/getRectProfile.d.ts.map +0 -1
  216. package/lib/curves/getRectProfile.js +0 -57
  217. package/lib/curves/index.d.ts +0 -17
  218. package/lib/curves/index.d.ts.map +0 -1
  219. package/lib/curves/index.js +0 -17
  220. package/lib/decorators/canvasStyleSignal.d.ts +0 -5
  221. package/lib/decorators/canvasStyleSignal.d.ts.map +0 -1
  222. package/lib/decorators/canvasStyleSignal.js +0 -12
  223. package/lib/decorators/colorSignal.d.ts +0 -2
  224. package/lib/decorators/colorSignal.d.ts.map +0 -1
  225. package/lib/decorators/colorSignal.js +0 -9
  226. package/lib/decorators/compound.d.ts +0 -26
  227. package/lib/decorators/compound.d.ts.map +0 -1
  228. package/lib/decorators/compound.js +0 -49
  229. package/lib/decorators/computed.d.ts +0 -9
  230. package/lib/decorators/computed.d.ts.map +0 -1
  231. package/lib/decorators/computed.js +0 -18
  232. package/lib/decorators/defaultStyle.d.ts +0 -2
  233. package/lib/decorators/defaultStyle.d.ts.map +0 -1
  234. package/lib/decorators/defaultStyle.js +0 -14
  235. package/lib/decorators/filtersSignal.d.ts +0 -13
  236. package/lib/decorators/filtersSignal.d.ts.map +0 -1
  237. package/lib/decorators/filtersSignal.js +0 -73
  238. package/lib/decorators/index.d.ts +0 -11
  239. package/lib/decorators/index.d.ts.map +0 -1
  240. package/lib/decorators/index.js +0 -11
  241. package/lib/decorators/initializers.d.ts +0 -4
  242. package/lib/decorators/initializers.d.ts.map +0 -1
  243. package/lib/decorators/initializers.js +0 -27
  244. package/lib/decorators/nodeName.d.ts +0 -9
  245. package/lib/decorators/nodeName.d.ts.map +0 -1
  246. package/lib/decorators/nodeName.js +0 -13
  247. package/lib/decorators/signal.d.ts +0 -183
  248. package/lib/decorators/signal.d.ts.map +0 -1
  249. package/lib/decorators/signal.js +0 -285
  250. package/lib/decorators/spacingSignal.d.ts +0 -2
  251. package/lib/decorators/spacingSignal.d.ts.map +0 -1
  252. package/lib/decorators/spacingSignal.js +0 -15
  253. package/lib/decorators/vector2Signal.d.ts +0 -9
  254. package/lib/decorators/vector2Signal.d.ts.map +0 -1
  255. package/lib/decorators/vector2Signal.js +0 -15
  256. package/lib/index.d.ts +0 -9
  257. package/lib/index.d.ts.map +0 -1
  258. package/lib/index.js +0 -9
  259. package/lib/jsx-dev-runtime.d.ts +0 -3
  260. package/lib/jsx-dev-runtime.d.ts.map +0 -1
  261. package/lib/jsx-dev-runtime.js +0 -3
  262. package/lib/jsx-runtime.d.ts +0 -12
  263. package/lib/jsx-runtime.d.ts.map +0 -1
  264. package/lib/jsx-runtime.js +0 -23
  265. package/lib/partials/Filter.d.ts +0 -82
  266. package/lib/partials/Filter.d.ts.map +0 -1
  267. package/lib/partials/Filter.js +0 -135
  268. package/lib/partials/Gradient.d.ts +0 -31
  269. package/lib/partials/Gradient.d.ts.map +0 -1
  270. package/lib/partials/Gradient.js +0 -63
  271. package/lib/partials/Pattern.d.ts +0 -13
  272. package/lib/partials/Pattern.d.ts.map +0 -1
  273. package/lib/partials/Pattern.js +0 -27
  274. package/lib/partials/ShaderConfig.d.ts +0 -81
  275. package/lib/partials/ShaderConfig.d.ts.map +0 -1
  276. package/lib/partials/ShaderConfig.js +0 -25
  277. package/lib/partials/index.d.ts +0 -5
  278. package/lib/partials/index.d.ts.map +0 -1
  279. package/lib/partials/index.js +0 -5
  280. package/lib/partials/types.d.ts +0 -35
  281. package/lib/partials/types.d.ts.map +0 -1
  282. package/lib/partials/types.js +0 -2
  283. package/lib/scenes/Scene2D.d.ts +0 -29
  284. package/lib/scenes/Scene2D.d.ts.map +0 -1
  285. package/lib/scenes/Scene2D.js +0 -180
  286. package/lib/scenes/index.d.ts +0 -4
  287. package/lib/scenes/index.d.ts.map +0 -1
  288. package/lib/scenes/index.js +0 -4
  289. package/lib/scenes/makeScene2D.d.ts +0 -5
  290. package/lib/scenes/makeScene2D.d.ts.map +0 -1
  291. package/lib/scenes/makeScene2D.js +0 -11
  292. package/lib/scenes/useScene2D.d.ts +0 -3
  293. package/lib/scenes/useScene2D.d.ts.map +0 -1
  294. package/lib/scenes/useScene2D.js +0 -5
  295. package/lib/tsconfig.build.tsbuildinfo +0 -1
  296. package/lib/utils/CanvasUtils.d.ts +0 -23
  297. package/lib/utils/CanvasUtils.d.ts.map +0 -1
  298. package/lib/utils/CanvasUtils.js +0 -138
  299. package/lib/utils/diff.d.ts +0 -31
  300. package/lib/utils/diff.d.ts.map +0 -1
  301. package/lib/utils/diff.js +0 -97
  302. package/lib/utils/index.d.ts +0 -3
  303. package/lib/utils/index.d.ts.map +0 -1
  304. package/lib/utils/index.js +0 -3
  305. package/lib/utils/is.d.ts +0 -8
  306. package/lib/utils/is.d.ts.map +0 -1
  307. package/lib/utils/is.js +0 -10
  308. package/lib/utils/makeSignalExtensions.d.ts +0 -4
  309. package/lib/utils/makeSignalExtensions.d.ts.map +0 -1
  310. package/lib/utils/makeSignalExtensions.js +0 -20
  311. package/lib/utils/video/ffmpeg-client.d.ts +0 -5
  312. package/lib/utils/video/ffmpeg-client.d.ts.map +0 -1
  313. package/lib/utils/video/ffmpeg-client.js +0 -32
  314. package/lib/utils/video/mp4-parser-manager.d.ts +0 -3
  315. package/lib/utils/video/mp4-parser-manager.d.ts.map +0 -1
  316. package/lib/utils/video/mp4-parser-manager.js +0 -55
  317. package/lib/utils/video/parser/index.d.ts +0 -2
  318. package/lib/utils/video/parser/index.d.ts.map +0 -1
  319. package/lib/utils/video/parser/index.js +0 -2
  320. package/lib/utils/video/parser/parser.d.ts +0 -21
  321. package/lib/utils/video/parser/parser.d.ts.map +0 -1
  322. package/lib/utils/video/parser/parser.js +0 -168
  323. package/lib/utils/video/parser/sampler.d.ts +0 -16
  324. package/lib/utils/video/parser/sampler.d.ts.map +0 -1
  325. package/lib/utils/video/parser/sampler.js +0 -56
  326. package/lib/utils/video/parser/segment.d.ts +0 -48
  327. package/lib/utils/video/parser/segment.d.ts.map +0 -1
  328. package/lib/utils/video/parser/segment.js +0 -239
  329. package/lib/utils/video/parser/sink.d.ts +0 -9
  330. package/lib/utils/video/parser/sink.d.ts.map +0 -1
  331. package/lib/utils/video/parser/sink.js +0 -22
  332. package/lib/utils/video/parser/utils.d.ts +0 -10
  333. package/lib/utils/video/parser/utils.d.ts.map +0 -1
  334. package/lib/utils/video/parser/utils.js +0 -22
  335. package/src/editor/NodeInspectorConfig.tsx +0 -76
  336. package/src/editor/PreviewOverlayConfig.tsx +0 -67
  337. package/src/editor/Provider.tsx +0 -93
  338. package/src/editor/SceneGraphTabConfig.tsx +0 -81
  339. package/src/editor/icons/CircleIcon.tsx +0 -7
  340. package/src/editor/icons/CodeBlockIcon.tsx +0 -8
  341. package/src/editor/icons/CurveIcon.tsx +0 -7
  342. package/src/editor/icons/GridIcon.tsx +0 -7
  343. package/src/editor/icons/IconMap.ts +0 -35
  344. package/src/editor/icons/ImgIcon.tsx +0 -8
  345. package/src/editor/icons/LayoutIcon.tsx +0 -9
  346. package/src/editor/icons/LineIcon.tsx +0 -7
  347. package/src/editor/icons/NodeIcon.tsx +0 -7
  348. package/src/editor/icons/RayIcon.tsx +0 -7
  349. package/src/editor/icons/RectIcon.tsx +0 -7
  350. package/src/editor/icons/ShapeIcon.tsx +0 -7
  351. package/src/editor/icons/TxtIcon.tsx +0 -8
  352. package/src/editor/icons/VideoIcon.tsx +0 -7
  353. package/src/editor/icons/View2DIcon.tsx +0 -10
  354. package/src/editor/index.css +0 -0
  355. package/src/editor/index.ts +0 -17
  356. package/src/editor/tree/DetachedRoot.tsx +0 -23
  357. package/src/editor/tree/NodeElement.tsx +0 -74
  358. package/src/editor/tree/TreeElement.tsx +0 -72
  359. package/src/editor/tree/TreeRoot.tsx +0 -10
  360. package/src/editor/tree/ViewRoot.tsx +0 -20
  361. package/src/editor/tree/index.module.scss +0 -38
  362. package/src/editor/tree/index.ts +0 -3
  363. package/src/editor/tsconfig.build.json +0 -5
  364. package/src/editor/tsconfig.json +0 -12
  365. package/src/editor/tsdoc.json +0 -4
  366. package/src/editor/vite-env.d.ts +0 -1
  367. package/src/lib/code/CodeCursor.ts +0 -445
  368. package/src/lib/code/CodeDiffer.ts +0 -78
  369. package/src/lib/code/CodeFragment.ts +0 -97
  370. package/src/lib/code/CodeHighlighter.ts +0 -75
  371. package/src/lib/code/CodeMetrics.ts +0 -47
  372. package/src/lib/code/CodeRange.test.ts +0 -74
  373. package/src/lib/code/CodeRange.ts +0 -216
  374. package/src/lib/code/CodeScope.ts +0 -101
  375. package/src/lib/code/CodeSelection.ts +0 -24
  376. package/src/lib/code/CodeSignal.ts +0 -327
  377. package/src/lib/code/CodeTokenizer.ts +0 -54
  378. package/src/lib/code/DefaultHighlightStyle.ts +0 -98
  379. package/src/lib/code/LezerHighlighter.ts +0 -113
  380. package/src/lib/code/diff.test.ts +0 -311
  381. package/src/lib/code/diff.ts +0 -319
  382. package/src/lib/code/extractRange.ts +0 -126
  383. package/src/lib/code/index.ts +0 -13
  384. package/src/lib/components/Audio.ts +0 -168
  385. package/src/lib/components/Bezier.ts +0 -105
  386. package/src/lib/components/Circle.ts +0 -266
  387. package/src/lib/components/Code.ts +0 -526
  388. package/src/lib/components/CodeBlock.ts +0 -576
  389. package/src/lib/components/CubicBezier.ts +0 -112
  390. package/src/lib/components/Curve.ts +0 -455
  391. package/src/lib/components/Grid.ts +0 -135
  392. package/src/lib/components/Icon.ts +0 -96
  393. package/src/lib/components/Img.ts +0 -319
  394. package/src/lib/components/Knot.ts +0 -157
  395. package/src/lib/components/Latex.ts +0 -122
  396. package/src/lib/components/Layout.ts +0 -1092
  397. package/src/lib/components/Line.ts +0 -429
  398. package/src/lib/components/Media.ts +0 -576
  399. package/src/lib/components/Node.ts +0 -1940
  400. package/src/lib/components/Path.ts +0 -137
  401. package/src/lib/components/Polygon.ts +0 -171
  402. package/src/lib/components/QuadBezier.ts +0 -100
  403. package/src/lib/components/Ray.ts +0 -125
  404. package/src/lib/components/Rect.ts +0 -187
  405. package/src/lib/components/Rive.ts +0 -156
  406. package/src/lib/components/SVG.ts +0 -797
  407. package/src/lib/components/Shape.ts +0 -143
  408. package/src/lib/components/Spline.ts +0 -344
  409. package/src/lib/components/Txt.test.tsx +0 -81
  410. package/src/lib/components/Txt.ts +0 -203
  411. package/src/lib/components/TxtLeaf.ts +0 -205
  412. package/src/lib/components/Video.ts +0 -461
  413. package/src/lib/components/View2D.ts +0 -98
  414. package/src/lib/components/__tests__/children.test.tsx +0 -142
  415. package/src/lib/components/__tests__/clone.test.tsx +0 -126
  416. package/src/lib/components/__tests__/generatorTest.ts +0 -28
  417. package/src/lib/components/__tests__/mockScene2D.ts +0 -45
  418. package/src/lib/components/__tests__/query.test.tsx +0 -122
  419. package/src/lib/components/__tests__/state.test.tsx +0 -60
  420. package/src/lib/components/index.ts +0 -28
  421. package/src/lib/components/types.ts +0 -35
  422. package/src/lib/curves/ArcSegment.ts +0 -159
  423. package/src/lib/curves/CircleSegment.ts +0 -77
  424. package/src/lib/curves/CubicBezierSegment.ts +0 -78
  425. package/src/lib/curves/CurveDrawingInfo.ts +0 -11
  426. package/src/lib/curves/CurvePoint.ts +0 -15
  427. package/src/lib/curves/CurveProfile.ts +0 -7
  428. package/src/lib/curves/KnotInfo.ts +0 -10
  429. package/src/lib/curves/LineSegment.ts +0 -62
  430. package/src/lib/curves/Polynomial.ts +0 -355
  431. package/src/lib/curves/Polynomial2D.ts +0 -62
  432. package/src/lib/curves/PolynomialSegment.ts +0 -124
  433. package/src/lib/curves/QuadBezierSegment.ts +0 -64
  434. package/src/lib/curves/Segment.ts +0 -17
  435. package/src/lib/curves/UniformPolynomialCurveSampler.ts +0 -94
  436. package/src/lib/curves/createCurveProfileLerp.ts +0 -471
  437. package/src/lib/curves/getBezierSplineProfile.ts +0 -223
  438. package/src/lib/curves/getCircleProfile.ts +0 -86
  439. package/src/lib/curves/getPathProfile.ts +0 -178
  440. package/src/lib/curves/getPointAtDistance.ts +0 -21
  441. package/src/lib/curves/getPolylineProfile.test.ts +0 -21
  442. package/src/lib/curves/getPolylineProfile.ts +0 -89
  443. package/src/lib/curves/getRectProfile.ts +0 -139
  444. package/src/lib/curves/index.ts +0 -16
  445. package/src/lib/decorators/canvasStyleSignal.ts +0 -16
  446. package/src/lib/decorators/colorSignal.ts +0 -9
  447. package/src/lib/decorators/compound.ts +0 -72
  448. package/src/lib/decorators/computed.ts +0 -18
  449. package/src/lib/decorators/defaultStyle.ts +0 -18
  450. package/src/lib/decorators/filtersSignal.ts +0 -136
  451. package/src/lib/decorators/index.ts +0 -10
  452. package/src/lib/decorators/initializers.ts +0 -32
  453. package/src/lib/decorators/nodeName.ts +0 -13
  454. package/src/lib/decorators/signal.test.ts +0 -90
  455. package/src/lib/decorators/signal.ts +0 -345
  456. package/src/lib/decorators/spacingSignal.ts +0 -15
  457. package/src/lib/decorators/vector2Signal.ts +0 -30
  458. package/src/lib/globals.d.ts +0 -2
  459. package/src/lib/index.ts +0 -8
  460. package/src/lib/jsx-dev-runtime.ts +0 -2
  461. package/src/lib/jsx-runtime.ts +0 -46
  462. package/src/lib/parse-svg-path.d.ts +0 -14
  463. package/src/lib/partials/Filter.ts +0 -180
  464. package/src/lib/partials/Gradient.ts +0 -102
  465. package/src/lib/partials/Pattern.ts +0 -34
  466. package/src/lib/partials/ShaderConfig.ts +0 -117
  467. package/src/lib/partials/index.ts +0 -4
  468. package/src/lib/partials/types.ts +0 -58
  469. package/src/lib/scenes/Scene2D.ts +0 -242
  470. package/src/lib/scenes/index.ts +0 -3
  471. package/src/lib/scenes/makeScene2D.ts +0 -16
  472. package/src/lib/scenes/useScene2D.ts +0 -6
  473. package/src/lib/tsconfig.build.json +0 -5
  474. package/src/lib/tsconfig.json +0 -10
  475. package/src/lib/tsdoc.json +0 -4
  476. package/src/lib/utils/CanvasUtils.ts +0 -306
  477. package/src/lib/utils/diff.test.ts +0 -453
  478. package/src/lib/utils/diff.ts +0 -148
  479. package/src/lib/utils/index.ts +0 -2
  480. package/src/lib/utils/is.ts +0 -11
  481. package/src/lib/utils/makeSignalExtensions.ts +0 -30
  482. package/src/lib/utils/video/declarations.d.ts +0 -1
  483. package/src/lib/utils/video/ffmpeg-client.ts +0 -50
  484. package/src/lib/utils/video/mp4-parser-manager.ts +0 -72
  485. package/src/lib/utils/video/parser/index.ts +0 -1
  486. package/src/lib/utils/video/parser/parser.ts +0 -257
  487. package/src/lib/utils/video/parser/sampler.ts +0 -72
  488. package/src/lib/utils/video/parser/segment.ts +0 -302
  489. package/src/lib/utils/video/parser/sink.ts +0 -29
  490. package/src/lib/utils/video/parser/utils.ts +0 -31
  491. package/src/tsconfig.base.json +0 -19
  492. package/src/tsconfig.build.json +0 -8
  493. package/src/tsconfig.json +0 -5
@@ -1,134 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { createSignal, easeOutExpo, linear, map, threadable, } from '@twick/core';
8
- import { computed, initial, nodeName, signal } from '../decorators';
9
- import { canvasStyleSignal } from '../decorators/canvasStyleSignal';
10
- import { resolveCanvasStyle } from '../utils';
11
- import { Layout } from './Layout';
12
- let Shape = class Shape extends Layout {
13
- rippleSize() {
14
- return easeOutExpo(this.rippleStrength(), 0, 50);
15
- }
16
- constructor(props) {
17
- super(props);
18
- this.rippleStrength = createSignal(0);
19
- }
20
- applyText(context) {
21
- context.direction = this.textDirection();
22
- this.element.dir = this.textDirection();
23
- }
24
- applyStyle(context) {
25
- context.fillStyle = resolveCanvasStyle(this.fill(), context);
26
- context.strokeStyle = resolveCanvasStyle(this.stroke(), context);
27
- context.lineWidth = this.lineWidth();
28
- context.lineJoin = this.lineJoin();
29
- context.lineCap = this.lineCap();
30
- context.setLineDash(this.lineDash());
31
- context.lineDashOffset = this.lineDashOffset();
32
- if (!this.antialiased()) {
33
- // from https://stackoverflow.com/a/68372384
34
- context.filter =
35
- 'url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxmaWx0ZXIgaWQ9ImZpbHRlciIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj48ZmVDb21wb25lbnRUcmFuc2Zlcj48ZmVGdW5jUiB0eXBlPSJpZGVudGl0eSIvPjxmZUZ1bmNHIHR5cGU9ImlkZW50aXR5Ii8+PGZlRnVuY0IgdHlwZT0iaWRlbnRpdHkiLz48ZmVGdW5jQSB0eXBlPSJkaXNjcmV0ZSIgdGFibGVWYWx1ZXM9IjAgMSIvPjwvZmVDb21wb25lbnRUcmFuc2Zlcj48L2ZpbHRlcj48L3N2Zz4=#filter)';
36
- }
37
- }
38
- async draw(context) {
39
- this.drawShape(context);
40
- if (this.clip()) {
41
- context.clip(this.getPath());
42
- }
43
- await this.drawChildren(context);
44
- }
45
- drawShape(context) {
46
- const path = this.getPath();
47
- const hasStroke = this.lineWidth() > 0 && this.stroke() !== null;
48
- const hasFill = this.fill() !== null;
49
- context.save();
50
- this.applyStyle(context);
51
- this.drawRipple(context);
52
- if (this.strokeFirst()) {
53
- hasStroke && context.stroke(path);
54
- hasFill && context.fill(path);
55
- }
56
- else {
57
- hasFill && context.fill(path);
58
- hasStroke && context.stroke(path);
59
- }
60
- context.restore();
61
- }
62
- getCacheBBox() {
63
- return super.getCacheBBox().expand(this.lineWidth() / 2);
64
- }
65
- getPath() {
66
- return new Path2D();
67
- }
68
- getRipplePath() {
69
- return new Path2D();
70
- }
71
- drawRipple(context) {
72
- const rippleStrength = this.rippleStrength();
73
- if (rippleStrength > 0) {
74
- const ripplePath = this.getRipplePath();
75
- context.save();
76
- context.globalAlpha *= map(0.54, 0, rippleStrength);
77
- context.fill(ripplePath);
78
- context.restore();
79
- }
80
- }
81
- *ripple(duration = 1) {
82
- this.rippleStrength(0);
83
- yield* this.rippleStrength(1, duration, linear);
84
- this.rippleStrength(0);
85
- }
86
- };
87
- __decorate([
88
- canvasStyleSignal()
89
- ], Shape.prototype, "fill", void 0);
90
- __decorate([
91
- canvasStyleSignal()
92
- ], Shape.prototype, "stroke", void 0);
93
- __decorate([
94
- initial(false),
95
- signal()
96
- ], Shape.prototype, "strokeFirst", void 0);
97
- __decorate([
98
- initial(0),
99
- signal()
100
- ], Shape.prototype, "lineWidth", void 0);
101
- __decorate([
102
- initial('miter'),
103
- signal()
104
- ], Shape.prototype, "lineJoin", void 0);
105
- __decorate([
106
- initial('butt'),
107
- signal()
108
- ], Shape.prototype, "lineCap", void 0);
109
- __decorate([
110
- initial([]),
111
- signal()
112
- ], Shape.prototype, "lineDash", void 0);
113
- __decorate([
114
- initial(0),
115
- signal()
116
- ], Shape.prototype, "lineDashOffset", void 0);
117
- __decorate([
118
- initial(true),
119
- signal()
120
- ], Shape.prototype, "antialiased", void 0);
121
- __decorate([
122
- computed()
123
- ], Shape.prototype, "rippleSize", null);
124
- __decorate([
125
- computed()
126
- ], Shape.prototype, "getPath", null);
127
- __decorate([
128
- threadable()
129
- ], Shape.prototype, "ripple", null);
130
- Shape = __decorate([
131
- nodeName('Shape')
132
- ], Shape);
133
- export { Shape };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvU2hhcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEdBQUcsRUFDSCxVQUFVLEdBQ1gsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFNUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQWV6QixJQUFlLEtBQUssR0FBcEIsTUFBZSxLQUFNLFNBQVEsTUFBTTtJQThCOUIsVUFBVTtRQUNsQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFtQixLQUFpQjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFSSSxtQkFBYyxHQUFHLFlBQVksQ0FBZSxDQUFDLENBQUMsQ0FBQztJQVNsRSxDQUFDO0lBRVMsU0FBUyxDQUFDLE9BQWlDO1FBQ25ELE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRVMsVUFBVSxDQUFDLE9BQWlDO1FBQ3BELE9BQU8sQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sQ0FBQyxX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
@@ -1,89 +0,0 @@
1
- import type { PossibleVector2, SerializedVector2, SignalValue, SimpleSignal } from '@twick/core';
2
- import { BBox } from '@twick/core';
3
- import type { CurveProfile, KnotInfo } from '../curves';
4
- import type { DesiredLength } from '../partials';
5
- import type { CurveProps } from './Curve';
6
- import { Curve } from './Curve';
7
- export interface SplineProps extends CurveProps {
8
- /**
9
- * {@inheritDoc Spline.smoothness}
10
- */
11
- smoothness?: SignalValue<number>;
12
- /**
13
- * {@inheritDoc Spline.points}
14
- */
15
- points?: SignalValue<SignalValue<PossibleVector2[]>>;
16
- }
17
- /**
18
- * A node for drawing a smooth line through a number of points.
19
- *
20
- * @remarks
21
- * This node uses Bézier curves for drawing each segment of the spline.
22
- *
23
- * @example
24
- * Defining knots using the `points` property. This will automatically
25
- * calculate the handle positions for each knot do draw a smooth curve. You
26
- * can control the smoothness of the resulting curve via the
27
- * {@link Spline.smoothness} property:
28
- *
29
- * ```tsx
30
- * <Spline
31
- * lineWidth={4}
32
- * stroke={'white'}
33
- * smoothness={0.4}
34
- * points={[
35
- * [-400, 0],
36
- * [-200, -300],
37
- * [0, 0],
38
- * [200, -300],
39
- * [400, 0],
40
- * ]}
41
- * />
42
- * ```
43
- *
44
- * Defining knots with {@link Knot} nodes:
45
- *
46
- * ```tsx
47
- * <Spline lineWidth={4} stroke={'white'}>
48
- * <Knot position={[-400, 0]} />
49
- * <Knot position={[-200, -300]} />
50
- * <Knot
51
- * position={[0, 0]}
52
- * startHandle={[-100, 200]}
53
- * endHandle={[100, 200]}
54
- * />
55
- * <Knot position={[200, -300]} />
56
- * <Knot position={[400, 0]} />
57
- * </Spline>
58
- * ```
59
- */
60
- export declare class Spline extends Curve {
61
- /**
62
- * The smoothness of the spline when using auto-calculated handles.
63
- *
64
- * @remarks
65
- * This property is only applied to knots that don't use explicit handles.
66
- *
67
- * @defaultValue 0.4
68
- */
69
- readonly smoothness: SimpleSignal<number>;
70
- /**
71
- * The knots of the spline as an array of knots with auto-calculated handles.
72
- *
73
- * @remarks
74
- * You can control the smoothness of the resulting curve
75
- * via the {@link smoothness} property.
76
- */
77
- readonly points: SimpleSignal<SignalValue<PossibleVector2>[] | null, this>;
78
- constructor(props: SplineProps);
79
- profile(): CurveProfile;
80
- knots(): KnotInfo[];
81
- protected childrenBBox(): BBox;
82
- protected lineWidthCoefficient(): number;
83
- protected desiredSize(): SerializedVector2<DesiredLength>;
84
- protected offsetComputedLayout(box: BBox): BBox;
85
- private getTightBBox;
86
- drawOverlay(context: CanvasRenderingContext2D, matrix: DOMMatrix): void;
87
- private isKnot;
88
- }
89
- //# sourceMappingURL=Spline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spline.d.ts","sourceRoot":"","sources":["../../src/lib/components/Spline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,IAAI,EAKL,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAC;AAItD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAU/C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AA+B9B,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,MAAO,SAAQ,KAAK;IAC/B;;;;;;;OAOG;IACH,SAEwB,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,SAEwB,MAAM,EAAE,YAAY,CAC1C,WAAW,CAAC,eAAe,CAAC,EAAE,GAAG,IAAI,EACrC,IAAI,CACL,CAAC;gBAEiB,KAAK,EAAE,WAAW;IAoBrB,OAAO,IAAI,YAAY;IAShC,KAAK,IAAI,QAAQ,EAAE;IAsB1B,SAAS,CAAC,YAAY;cAOH,oBAAoB,IAAI,MAAM;cAiB9B,WAAW,IAAI,iBAAiB,CAAC,aAAa,CAAC;cAI/C,oBAAoB,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAMxD,OAAO,CAAC,YAAY;IAOJ,WAAW,CACzB,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,SAAS;IAyGnB,OAAO,CAAC,MAAM;CAGf"}
@@ -1,256 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { BBox, Vector2, transformVectorAsPoint, unwrap, useLogger, } from '@twick/core';
8
- import { CubicBezierSegment, getBezierSplineProfile } from '../curves';
9
- import { computed, initial, signal } from '../decorators';
10
- import { arc, bezierCurveTo, drawLine, drawPivot, lineTo, moveTo, quadraticCurveTo, } from '../utils';
11
- import { Curve } from './Curve';
12
- import { Knot } from './Knot';
13
- const splineWithInsufficientKnots = `
14
- The spline won't be visible unless you specify at least two knots:
15
-
16
- \`\`\`tsx
17
- <Spline
18
- stroke="#fff"
19
- lineWidth={8}
20
- points={[
21
- [100, 0],
22
- [0, 0],
23
- [0, 100],
24
- ]}
25
- />
26
- \`\`\`
27
-
28
- For more control over the knot handles, you can alternatively provide the knots
29
- as children to the spline using the \`Knot\` component:
30
-
31
- \`\`\`tsx
32
- <Spline stroke="#fff" lineWidth={8}>
33
- <Knot x={100} endHandle={[-50, 0]} />
34
- <Knot />
35
- <Knot y={100} startHandle={[-100, 50]} />
36
- </Spline>
37
- \`\`\`
38
- `;
39
- /**
40
- * A node for drawing a smooth line through a number of points.
41
- *
42
- * @remarks
43
- * This node uses Bézier curves for drawing each segment of the spline.
44
- *
45
- * @example
46
- * Defining knots using the `points` property. This will automatically
47
- * calculate the handle positions for each knot do draw a smooth curve. You
48
- * can control the smoothness of the resulting curve via the
49
- * {@link Spline.smoothness} property:
50
- *
51
- * ```tsx
52
- * <Spline
53
- * lineWidth={4}
54
- * stroke={'white'}
55
- * smoothness={0.4}
56
- * points={[
57
- * [-400, 0],
58
- * [-200, -300],
59
- * [0, 0],
60
- * [200, -300],
61
- * [400, 0],
62
- * ]}
63
- * />
64
- * ```
65
- *
66
- * Defining knots with {@link Knot} nodes:
67
- *
68
- * ```tsx
69
- * <Spline lineWidth={4} stroke={'white'}>
70
- * <Knot position={[-400, 0]} />
71
- * <Knot position={[-200, -300]} />
72
- * <Knot
73
- * position={[0, 0]}
74
- * startHandle={[-100, 200]}
75
- * endHandle={[100, 200]}
76
- * />
77
- * <Knot position={[200, -300]} />
78
- * <Knot position={[400, 0]} />
79
- * </Spline>
80
- * ```
81
- */
82
- export class Spline extends Curve {
83
- constructor(props) {
84
- super(props);
85
- if ((props.children === undefined ||
86
- !Array.isArray(props.children) ||
87
- props.children.length < 2) &&
88
- (props.points === undefined || props.points.length < 2) &&
89
- props.spawner === undefined) {
90
- useLogger().warn({
91
- message: 'Insufficient number of knots specified for spline. A spline needs at least two knots.',
92
- remarks: splineWithInsufficientKnots,
93
- inspect: this.key,
94
- });
95
- }
96
- }
97
- profile() {
98
- return getBezierSplineProfile(this.knots(), this.closed(), this.smoothness());
99
- }
100
- knots() {
101
- const points = this.points();
102
- if (points) {
103
- return points.map(signal => {
104
- const point = new Vector2(unwrap(signal));
105
- return {
106
- position: point,
107
- startHandle: point,
108
- endHandle: point,
109
- auto: { start: 1, end: 1 },
110
- };
111
- });
112
- }
113
- return this.children()
114
- .filter(this.isKnot)
115
- .map(knot => knot.points());
116
- }
117
- childrenBBox() {
118
- const points = this.profile().segments.flatMap(segment => segment.points);
119
- return BBox.fromPoints(...points);
120
- }
121
- lineWidthCoefficient() {
122
- const join = this.lineJoin();
123
- let coefficient = super.lineWidthCoefficient();
124
- if (join !== 'miter') {
125
- return coefficient;
126
- }
127
- const { minSin } = this.profile();
128
- if (minSin > 0) {
129
- coefficient = Math.max(coefficient, 0.5 / minSin);
130
- }
131
- return coefficient;
132
- }
133
- desiredSize() {
134
- return this.getTightBBox().size;
135
- }
136
- offsetComputedLayout(box) {
137
- box.position = box.position.sub(this.getTightBBox().center);
138
- return box;
139
- }
140
- getTightBBox() {
141
- const bounds = this.profile().segments.map(segment => segment.getBBox());
142
- return BBox.fromBBoxes(...bounds);
143
- }
144
- drawOverlay(context, matrix) {
145
- const size = this.computedSize();
146
- const box = this.childrenBBox().transformCorners(matrix);
147
- const offsetVector = size.mul(this.offset()).scale(0.5);
148
- const offset = transformVectorAsPoint(offsetVector, matrix);
149
- const segments = this.profile().segments;
150
- context.lineWidth = 1;
151
- context.strokeStyle = 'white';
152
- context.fillStyle = 'white';
153
- const splinePath = new Path2D();
154
- // Draw the actual spline first so that all control points get drawn on top of it.
155
- for (let i = 0; i < segments.length; i++) {
156
- const segment = segments[i];
157
- const [from, startHandle, endHandle, to] = segment.transformPoints(matrix);
158
- moveTo(splinePath, from);
159
- if (segment instanceof CubicBezierSegment) {
160
- bezierCurveTo(splinePath, startHandle, endHandle, to);
161
- }
162
- else {
163
- quadraticCurveTo(splinePath, startHandle, endHandle);
164
- }
165
- }
166
- context.stroke(splinePath);
167
- for (let i = 0; i < segments.length; i++) {
168
- const segment = segments[i];
169
- context.fillStyle = 'white';
170
- const [from, startHandle, endHandle, to] = segment.transformPoints(matrix);
171
- const handlePath = new Path2D();
172
- context.globalAlpha = 0.5;
173
- // Line from p0 to p1
174
- moveTo(handlePath, from);
175
- lineTo(handlePath, startHandle);
176
- if (segment instanceof CubicBezierSegment) {
177
- // Line from p2 to p3
178
- moveTo(handlePath, endHandle);
179
- lineTo(handlePath, to);
180
- context.beginPath();
181
- context.stroke(handlePath);
182
- }
183
- else {
184
- // Line from p1 to p2
185
- lineTo(handlePath, endHandle);
186
- context.beginPath();
187
- context.stroke(handlePath);
188
- }
189
- context.globalAlpha = 1;
190
- context.lineWidth = 2;
191
- // Draw first point of segment
192
- moveTo(context, from);
193
- context.beginPath();
194
- arc(context, from, 4);
195
- context.closePath();
196
- context.stroke();
197
- context.fill();
198
- // Draw final point of segment only if we're on the last segment.
199
- // Otherwise, it will get drawn as the start point of the next segment.
200
- if (i === segments.length - 1) {
201
- if (to !== undefined) {
202
- moveTo(context, to);
203
- context.beginPath();
204
- arc(context, to, 4);
205
- context.closePath();
206
- context.stroke();
207
- context.fill();
208
- }
209
- }
210
- // Draw the control points
211
- context.fillStyle = 'black';
212
- for (const point of [startHandle, endHandle]) {
213
- if (point.magnitude > 0) {
214
- moveTo(context, point);
215
- context.beginPath();
216
- arc(context, point, 4);
217
- context.closePath();
218
- context.fill();
219
- context.stroke();
220
- }
221
- }
222
- }
223
- context.lineWidth = 1;
224
- context.beginPath();
225
- drawPivot(context, offset);
226
- context.stroke();
227
- context.beginPath();
228
- drawLine(context, box);
229
- context.closePath();
230
- context.stroke();
231
- }
232
- isKnot(node) {
233
- return node instanceof Knot;
234
- }
235
- }
236
- __decorate([
237
- initial(0.4),
238
- signal()
239
- ], Spline.prototype, "smoothness", void 0);
240
- __decorate([
241
- initial(null),
242
- signal()
243
- ], Spline.prototype, "points", void 0);
244
- __decorate([
245
- computed()
246
- ], Spline.prototype, "profile", null);
247
- __decorate([
248
- computed()
249
- ], Spline.prototype, "knots", null);
250
- __decorate([
251
- computed()
252
- ], Spline.prototype, "childrenBBox", null);
253
- __decorate([
254
- computed()
255
- ], Spline.prototype, "getTightBBox", null);
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL1NwbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFNQSxPQUFPLEVBQ0wsSUFBSSxFQUNKLE9BQU8sRUFDUCxzQkFBc0IsRUFDdEIsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFckUsT0FBTyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhELE9BQU8sRUFDTCxHQUFHLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sRUFDTixnQkFBZ0IsR0FDakIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE1BQU0sMkJBQTJCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F5Qm5DLENBQUM7QUFjRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENHO0FBQ0gsTUFBTSxPQUFPLE1BQU8sU0FBUSxLQUFLO0lBMkIvQixZQUFtQixLQUFrQjtRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUNFLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQzlCLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMs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
@@ -1,53 +0,0 @@
1
- import type { InterpolationFunction, SignalValue, SimpleSignal, ThreadGenerator, TimingFunction } from '@twick/core';
2
- import type { Node } from './Node';
3
- import type { ShapeProps } from './Shape';
4
- import { Shape } from './Shape';
5
- import { TXT_TYPE, TxtLeaf } from './TxtLeaf';
6
- import type { ComponentChildren } from './types';
7
- type TxtChildren = string | Node | (string | Node)[];
8
- type AnyTxt = Txt | TxtLeaf;
9
- export interface TxtProps extends ShapeProps {
10
- children?: TxtChildren;
11
- text?: SignalValue<string>;
12
- }
13
- export declare class Txt extends Shape {
14
- readonly [TXT_TYPE] = true;
15
- /**
16
- * Create a bold text node.
17
- *
18
- * @remarks
19
- * This is a shortcut for
20
- * ```tsx
21
- * <Txt fontWeight={700} />
22
- * ```
23
- *
24
- * @param props - Additional text properties.
25
- */
26
- static b(props: TxtProps): Txt;
27
- /**
28
- * Create an italic text node.
29
- *
30
- * @remarks
31
- * This is a shortcut for
32
- * ```tsx
33
- * <Txt fontStyle={'italic'} />
34
- * ```
35
- *
36
- * @param props - Additional text properties.
37
- */
38
- static i(props: TxtProps): Txt;
39
- readonly text: SimpleSignal<string, this>;
40
- protected getText(): string;
41
- protected setText(value: SignalValue<string>): void;
42
- protected setChildren(value: SignalValue<ComponentChildren>): void;
43
- protected tweenText(value: SignalValue<string>, time: number, timingFunction: TimingFunction, interpolationFunction: InterpolationFunction<string>): ThreadGenerator;
44
- protected getLayout(): boolean;
45
- constructor({ children, text, ...props }: TxtProps);
46
- protected innerText(): string;
47
- protected parentTxt(): Txt | null;
48
- protected parseChildren(children: ComponentChildren): AnyTxt[];
49
- protected applyFlex(): void;
50
- protected draw(context: CanvasRenderingContext2D): Promise<void>;
51
- }
52
- export {};
53
- //# sourceMappingURL=Txt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Txt.d.ts","sourceRoot":"","sources":["../../src/lib/components/Txt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAE/C,KAAK,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;AACrD,KAAK,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;AAE5B,MAAM,WAAW,QAAS,SAAQ,UAAU;IAC1C,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,qBACa,GAAI,SAAQ,KAAK;IAC5B,SAAgB,CAAC,QAAQ,CAAC,QAAQ;IAElC;;;;;;;;;;OAUG;WACW,CAAC,CAAC,KAAK,EAAE,QAAQ;IAI/B;;;;;;;;;;OAUG;WACW,CAAC,CAAC,KAAK,EAAE,QAAQ;IAI/B,SAEwB,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzD,SAAS,CAAC,OAAO,IAAI,MAAM;IAI3B,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;cAsBzB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAapE,SAAS,CAAE,SAAS,CAClB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACnD,eAAe;IA2BlB,SAAS,CAAC,SAAS,IAAI,OAAO;gBAIX,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,QAAQ;IAMvD,SAAS,CAAC,SAAS,IAAI,MAAM;IAW7B,SAAS,CAAC,SAAS;cAKA,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,EAAE;cAcpD,SAAS;cAOH,IAAI,CAAC,OAAO,EAAE,wBAAwB;CAIhE"}