@twick/core 0.11.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 (373) hide show
  1. package/LICENSE +21 -0
  2. package/lib/app/Logger.d.ts +105 -0
  3. package/lib/app/Logger.d.ts.map +1 -0
  4. package/lib/app/Logger.js +77 -0
  5. package/lib/app/PlaybackManager.d.ts +55 -0
  6. package/lib/app/PlaybackManager.d.ts.map +1 -0
  7. package/lib/app/PlaybackManager.js +179 -0
  8. package/lib/app/PlaybackStatus.d.ts +30 -0
  9. package/lib/app/PlaybackStatus.d.ts.map +1 -0
  10. package/lib/app/PlaybackStatus.js +46 -0
  11. package/lib/app/Player.d.ts +130 -0
  12. package/lib/app/Player.d.ts.map +1 -0
  13. package/lib/app/Player.js +375 -0
  14. package/lib/app/Project.d.ts +145 -0
  15. package/lib/app/Project.d.ts.map +1 -0
  16. package/lib/app/Project.js +10 -0
  17. package/lib/app/Renderer.d.ts +90 -0
  18. package/lib/app/Renderer.d.ts.map +1 -0
  19. package/lib/app/Renderer.js +318 -0
  20. package/lib/app/SharedWebGLContext.d.ts +24 -0
  21. package/lib/app/SharedWebGLContext.d.ts.map +1 -0
  22. package/lib/app/SharedWebGLContext.js +200 -0
  23. package/lib/app/Stage.d.ts +30 -0
  24. package/lib/app/Stage.d.ts.map +1 -0
  25. package/lib/app/Stage.js +75 -0
  26. package/lib/app/TimeEstimator.d.ts +53 -0
  27. package/lib/app/TimeEstimator.d.ts.map +1 -0
  28. package/lib/app/TimeEstimator.js +70 -0
  29. package/lib/app/index.d.ts +16 -0
  30. package/lib/app/index.d.ts.map +1 -0
  31. package/lib/app/index.js +16 -0
  32. package/lib/app/makeProject.d.ts +15 -0
  33. package/lib/app/makeProject.d.ts.map +1 -0
  34. package/lib/app/makeProject.js +72 -0
  35. package/lib/app/project-settings.d.ts +8 -0
  36. package/lib/app/project-settings.d.ts.map +1 -0
  37. package/lib/app/project-settings.js +13 -0
  38. package/lib/decorators/decorate.d.ts +2 -0
  39. package/lib/decorators/decorate.d.ts.map +1 -0
  40. package/lib/decorators/decorate.js +10 -0
  41. package/lib/decorators/deprecated.d.ts +5 -0
  42. package/lib/decorators/deprecated.d.ts.map +1 -0
  43. package/lib/decorators/deprecated.js +23 -0
  44. package/lib/decorators/index.d.ts +9 -0
  45. package/lib/decorators/index.d.ts.map +1 -0
  46. package/lib/decorators/index.js +9 -0
  47. package/lib/decorators/lazy.d.ts +14 -0
  48. package/lib/decorators/lazy.d.ts.map +1 -0
  49. package/lib/decorators/lazy.js +27 -0
  50. package/lib/decorators/threadable.d.ts +2 -0
  51. package/lib/decorators/threadable.d.ts.map +1 -0
  52. package/lib/decorators/threadable.js +7 -0
  53. package/lib/events/AsyncEventDispatcher.d.ts +45 -0
  54. package/lib/events/AsyncEventDispatcher.d.ts.map +1 -0
  55. package/lib/events/AsyncEventDispatcher.js +33 -0
  56. package/lib/events/EventDispatcher.d.ts +38 -0
  57. package/lib/events/EventDispatcher.d.ts.map +1 -0
  58. package/lib/events/EventDispatcher.js +29 -0
  59. package/lib/events/EventDispatcherBase.d.ts +55 -0
  60. package/lib/events/EventDispatcherBase.d.ts.map +1 -0
  61. package/lib/events/EventDispatcherBase.js +68 -0
  62. package/lib/events/FlagDispatcher.d.ts +54 -0
  63. package/lib/events/FlagDispatcher.d.ts.map +1 -0
  64. package/lib/events/FlagDispatcher.js +63 -0
  65. package/lib/events/ValueDispatcher.d.ts +81 -0
  66. package/lib/events/ValueDispatcher.d.ts.map +1 -0
  67. package/lib/events/ValueDispatcher.js +97 -0
  68. package/lib/events/index.d.ts +11 -0
  69. package/lib/events/index.d.ts.map +1 -0
  70. package/lib/events/index.js +11 -0
  71. package/lib/exporter/Exporter.d.ts +101 -0
  72. package/lib/exporter/Exporter.d.ts.map +1 -0
  73. package/lib/exporter/Exporter.js +2 -0
  74. package/lib/exporter/FFmpegExporter.d.ts +50 -0
  75. package/lib/exporter/FFmpegExporter.d.ts.map +1 -0
  76. package/lib/exporter/FFmpegExporter.js +140 -0
  77. package/lib/exporter/ImageExporter.d.ts +34 -0
  78. package/lib/exporter/ImageExporter.d.ts.map +1 -0
  79. package/lib/exporter/ImageExporter.js +80 -0
  80. package/lib/exporter/WasmExporter.d.ts +19 -0
  81. package/lib/exporter/WasmExporter.d.ts.map +1 -0
  82. package/lib/exporter/WasmExporter.js +78 -0
  83. package/lib/exporter/download-videos.d.ts +3 -0
  84. package/lib/exporter/download-videos.d.ts.map +1 -0
  85. package/lib/exporter/download-videos.js +45 -0
  86. package/lib/exporter/index.d.ts +5 -0
  87. package/lib/exporter/index.d.ts.map +1 -0
  88. package/lib/exporter/index.js +5 -0
  89. package/lib/flow/all.d.ts +18 -0
  90. package/lib/flow/all.d.ts.map +1 -0
  91. package/lib/flow/all.js +25 -0
  92. package/lib/flow/any.d.ts +18 -0
  93. package/lib/flow/any.d.ts.map +1 -0
  94. package/lib/flow/any.js +25 -0
  95. package/lib/flow/chain.d.ts +36 -0
  96. package/lib/flow/chain.d.ts.map +1 -0
  97. package/lib/flow/chain.js +46 -0
  98. package/lib/flow/delay.d.ts +29 -0
  99. package/lib/flow/delay.d.ts.map +1 -0
  100. package/lib/flow/delay.js +39 -0
  101. package/lib/flow/every.d.ts +41 -0
  102. package/lib/flow/every.d.ts.map +1 -0
  103. package/lib/flow/every.js +61 -0
  104. package/lib/flow/index.d.ts +17 -0
  105. package/lib/flow/index.d.ts.map +1 -0
  106. package/lib/flow/index.js +17 -0
  107. package/lib/flow/join.d.ts +35 -0
  108. package/lib/flow/join.d.ts.map +1 -0
  109. package/lib/flow/join.js +33 -0
  110. package/lib/flow/loop.d.ts +58 -0
  111. package/lib/flow/loop.d.ts.map +1 -0
  112. package/lib/flow/loop.js +51 -0
  113. package/lib/flow/loopFor.d.ts +25 -0
  114. package/lib/flow/loopFor.d.ts.map +1 -0
  115. package/lib/flow/loopFor.js +42 -0
  116. package/lib/flow/names.d.ts +3 -0
  117. package/lib/flow/names.d.ts.map +1 -0
  118. package/lib/flow/names.js +11 -0
  119. package/lib/flow/run.d.ts +45 -0
  120. package/lib/flow/run.d.ts.map +1 -0
  121. package/lib/flow/run.js +14 -0
  122. package/lib/flow/scheduling.d.ts +18 -0
  123. package/lib/flow/scheduling.d.ts.map +1 -0
  124. package/lib/flow/scheduling.js +33 -0
  125. package/lib/flow/sequence.d.ts +22 -0
  126. package/lib/flow/sequence.d.ts.map +1 -0
  127. package/lib/flow/sequence.js +31 -0
  128. package/lib/index.d.ts +16 -0
  129. package/lib/index.d.ts.map +1 -0
  130. package/lib/index.js +16 -0
  131. package/lib/media/index.d.ts +7 -0
  132. package/lib/media/index.d.ts.map +1 -0
  133. package/lib/media/index.js +7 -0
  134. package/lib/media/loadImage.d.ts +8 -0
  135. package/lib/media/loadImage.d.ts.map +1 -0
  136. package/lib/media/loadImage.js +29 -0
  137. package/lib/plugin/DefaultPlugin.d.ts +10 -0
  138. package/lib/plugin/DefaultPlugin.d.ts.map +1 -0
  139. package/lib/plugin/DefaultPlugin.js +17 -0
  140. package/lib/plugin/Plugin.d.ts +53 -0
  141. package/lib/plugin/Plugin.d.ts.map +1 -0
  142. package/lib/plugin/Plugin.js +2 -0
  143. package/lib/plugin/index.d.ts +3 -0
  144. package/lib/plugin/index.d.ts.map +1 -0
  145. package/lib/plugin/index.js +3 -0
  146. package/lib/plugin/makePlugin.d.ts +15 -0
  147. package/lib/plugin/makePlugin.d.ts.map +1 -0
  148. package/lib/plugin/makePlugin.js +16 -0
  149. package/lib/scenes/GeneratorScene.d.ts +95 -0
  150. package/lib/scenes/GeneratorScene.d.ts.map +1 -0
  151. package/lib/scenes/GeneratorScene.js +273 -0
  152. package/lib/scenes/Inspectable.d.ts +71 -0
  153. package/lib/scenes/Inspectable.d.ts.map +1 -0
  154. package/lib/scenes/Inspectable.js +4 -0
  155. package/lib/scenes/LifecycleEvents.d.ts +18 -0
  156. package/lib/scenes/LifecycleEvents.d.ts.map +1 -0
  157. package/lib/scenes/LifecycleEvents.js +45 -0
  158. package/lib/scenes/Random.d.ts +66 -0
  159. package/lib/scenes/Random.d.ts.map +1 -0
  160. package/lib/scenes/Random.js +101 -0
  161. package/lib/scenes/Scene.d.ts +298 -0
  162. package/lib/scenes/Scene.d.ts.map +1 -0
  163. package/lib/scenes/Scene.js +25 -0
  164. package/lib/scenes/SceneState.d.ts +34 -0
  165. package/lib/scenes/SceneState.d.ts.map +1 -0
  166. package/lib/scenes/SceneState.js +35 -0
  167. package/lib/scenes/Shaders.d.ts +63 -0
  168. package/lib/scenes/Shaders.d.ts.map +1 -0
  169. package/lib/scenes/Shaders.js +158 -0
  170. package/lib/scenes/Slides.d.ts +33 -0
  171. package/lib/scenes/Slides.d.ts.map +1 -0
  172. package/lib/scenes/Slides.js +115 -0
  173. package/lib/scenes/Threadable.d.ts +19 -0
  174. package/lib/scenes/Threadable.d.ts.map +1 -0
  175. package/lib/scenes/Threadable.js +4 -0
  176. package/lib/scenes/Variables.d.ts +24 -0
  177. package/lib/scenes/Variables.d.ts.map +1 -0
  178. package/lib/scenes/Variables.js +39 -0
  179. package/lib/scenes/index.d.ts +16 -0
  180. package/lib/scenes/index.d.ts.map +1 -0
  181. package/lib/scenes/index.js +16 -0
  182. package/lib/signals/CompoundSignalContext.d.ts +21 -0
  183. package/lib/signals/CompoundSignalContext.d.ts.map +1 -0
  184. package/lib/signals/CompoundSignalContext.js +73 -0
  185. package/lib/signals/ComputedContext.d.ts +14 -0
  186. package/lib/signals/ComputedContext.d.ts.map +1 -0
  187. package/lib/signals/ComputedContext.js +36 -0
  188. package/lib/signals/DependencyContext.d.ts +32 -0
  189. package/lib/signals/DependencyContext.d.ts.map +1 -0
  190. package/lib/signals/DependencyContext.js +87 -0
  191. package/lib/signals/SignalContext.d.ts +120 -0
  192. package/lib/signals/SignalContext.d.ts.map +1 -0
  193. package/lib/signals/SignalContext.js +245 -0
  194. package/lib/signals/createComputed.d.ts +3 -0
  195. package/lib/signals/createComputed.d.ts.map +1 -0
  196. package/lib/signals/createComputed.js +5 -0
  197. package/lib/signals/createComputedAsync.d.ts +4 -0
  198. package/lib/signals/createComputedAsync.d.ts.map +1 -0
  199. package/lib/signals/createComputedAsync.js +15 -0
  200. package/lib/signals/createSignal.d.ts +5 -0
  201. package/lib/signals/createSignal.d.ts.map +1 -0
  202. package/lib/signals/createSignal.js +6 -0
  203. package/lib/signals/index.d.ts +16 -0
  204. package/lib/signals/index.d.ts.map +1 -0
  205. package/lib/signals/index.js +16 -0
  206. package/lib/signals/symbols.d.ts +2 -0
  207. package/lib/signals/symbols.d.ts.map +1 -0
  208. package/lib/signals/symbols.js +2 -0
  209. package/lib/signals/types.d.ts +51 -0
  210. package/lib/signals/types.d.ts.map +1 -0
  211. package/lib/signals/types.js +2 -0
  212. package/lib/signals/utils.d.ts +5 -0
  213. package/lib/signals/utils.d.ts.map +1 -0
  214. package/lib/signals/utils.js +10 -0
  215. package/lib/threading/Thread.d.ts +77 -0
  216. package/lib/threading/Thread.d.ts.map +1 -0
  217. package/lib/threading/Thread.js +169 -0
  218. package/lib/threading/ThreadGenerator.d.ts +39 -0
  219. package/lib/threading/ThreadGenerator.d.ts.map +1 -0
  220. package/lib/threading/ThreadGenerator.js +17 -0
  221. package/lib/threading/cancel.d.ts +17 -0
  222. package/lib/threading/cancel.d.ts.map +1 -0
  223. package/lib/threading/cancel.js +26 -0
  224. package/lib/threading/index.d.ts +11 -0
  225. package/lib/threading/index.d.ts.map +1 -0
  226. package/lib/threading/index.js +11 -0
  227. package/lib/threading/spawn.d.ts +28 -0
  228. package/lib/threading/spawn.d.ts.map +1 -0
  229. package/lib/threading/spawn.js +30 -0
  230. package/lib/threading/threads.d.ts +46 -0
  231. package/lib/threading/threads.d.ts.map +1 -0
  232. package/lib/threading/threads.js +89 -0
  233. package/lib/transitions/fadeTransition.d.ts +8 -0
  234. package/lib/transitions/fadeTransition.d.ts.map +1 -0
  235. package/lib/transitions/fadeTransition.js +16 -0
  236. package/lib/transitions/index.d.ts +11 -0
  237. package/lib/transitions/index.d.ts.map +1 -0
  238. package/lib/transitions/index.js +11 -0
  239. package/lib/transitions/slideTransition.d.ts +18 -0
  240. package/lib/transitions/slideTransition.d.ts.map +1 -0
  241. package/lib/transitions/slideTransition.js +14 -0
  242. package/lib/transitions/useTransition.d.ts +10 -0
  243. package/lib/transitions/useTransition.d.ts.map +1 -0
  244. package/lib/transitions/useTransition.js +27 -0
  245. package/lib/transitions/zoomInTransition.d.ts +10 -0
  246. package/lib/transitions/zoomInTransition.d.ts.map +1 -0
  247. package/lib/transitions/zoomInTransition.js +33 -0
  248. package/lib/transitions/zoomOutTransition.d.ts +10 -0
  249. package/lib/transitions/zoomOutTransition.d.ts.map +1 -0
  250. package/lib/transitions/zoomOutTransition.js +33 -0
  251. package/lib/tsconfig.build.tsbuildinfo +1 -0
  252. package/lib/tweening/helpers.d.ts +5 -0
  253. package/lib/tweening/helpers.d.ts.map +1 -0
  254. package/lib/tweening/helpers.js +16 -0
  255. package/lib/tweening/index.d.ts +11 -0
  256. package/lib/tweening/index.d.ts.map +1 -0
  257. package/lib/tweening/index.js +11 -0
  258. package/lib/tweening/interpolationFunctions.d.ts +38 -0
  259. package/lib/tweening/interpolationFunctions.d.ts.map +1 -0
  260. package/lib/tweening/interpolationFunctions.js +107 -0
  261. package/lib/tweening/spring.d.ts +20 -0
  262. package/lib/tweening/spring.d.ts.map +1 -0
  263. package/lib/tweening/spring.js +103 -0
  264. package/lib/tweening/timingFunctions.d.ts +46 -0
  265. package/lib/tweening/timingFunctions.d.ts.map +1 -0
  266. package/lib/tweening/timingFunctions.js +233 -0
  267. package/lib/tweening/tween.d.ts +3 -0
  268. package/lib/tweening/tween.d.ts.map +1 -0
  269. package/lib/tweening/tween.js +21 -0
  270. package/lib/types/BBox.d.ts +73 -0
  271. package/lib/types/BBox.d.ts.map +1 -0
  272. package/lib/types/BBox.js +249 -0
  273. package/lib/types/Canvas.d.ts +3 -0
  274. package/lib/types/Canvas.d.ts.map +1 -0
  275. package/lib/types/Canvas.js +2 -0
  276. package/lib/types/Color.d.ts +65 -0
  277. package/lib/types/Color.d.ts.map +1 -0
  278. package/lib/types/Color.js +185 -0
  279. package/lib/types/Matrix.d.ts +3 -0
  280. package/lib/types/Matrix.d.ts.map +1 -0
  281. package/lib/types/Matrix.js +10 -0
  282. package/lib/types/Matrix2D.d.ts +363 -0
  283. package/lib/types/Matrix2D.d.ts.map +1 -0
  284. package/lib/types/Matrix2D.js +554 -0
  285. package/lib/types/Origin.d.ts +17 -0
  286. package/lib/types/Origin.d.ts.map +1 -0
  287. package/lib/types/Origin.js +53 -0
  288. package/lib/types/Spacing.d.ts +36 -0
  289. package/lib/types/Spacing.d.ts.map +1 -0
  290. package/lib/types/Spacing.js +70 -0
  291. package/lib/types/Type.d.ts +9 -0
  292. package/lib/types/Type.d.ts.map +1 -0
  293. package/lib/types/Type.js +5 -0
  294. package/lib/types/Vector.d.ts +203 -0
  295. package/lib/types/Vector.d.ts.map +1 -0
  296. package/lib/types/Vector.js +355 -0
  297. package/lib/types/alignment-enums.d.ts +22 -0
  298. package/lib/types/alignment-enums.d.ts.map +1 -0
  299. package/lib/types/alignment-enums.js +25 -0
  300. package/lib/types/index.d.ts +17 -0
  301. package/lib/types/index.d.ts.map +1 -0
  302. package/lib/types/index.js +17 -0
  303. package/lib/types/vector-transformations.d.ts +20 -0
  304. package/lib/types/vector-transformations.d.ts.map +1 -0
  305. package/lib/types/vector-transformations.js +31 -0
  306. package/lib/utils/DetailedError.d.ts +24 -0
  307. package/lib/utils/DetailedError.d.ts.map +1 -0
  308. package/lib/utils/DetailedError.js +16 -0
  309. package/lib/utils/ExperimentalError.d.ts +10 -0
  310. package/lib/utils/ExperimentalError.d.ts.map +1 -0
  311. package/lib/utils/ExperimentalError.js +32 -0
  312. package/lib/utils/Semaphore.d.ts +12 -0
  313. package/lib/utils/Semaphore.d.ts.map +1 -0
  314. package/lib/utils/Semaphore.js +25 -0
  315. package/lib/utils/beginSlide.d.ts +3 -0
  316. package/lib/utils/beginSlide.d.ts.map +1 -0
  317. package/lib/utils/beginSlide.js +12 -0
  318. package/lib/utils/capitalize.d.ts +2 -0
  319. package/lib/utils/capitalize.d.ts.map +1 -0
  320. package/lib/utils/capitalize.js +4 -0
  321. package/lib/utils/createRef.d.ts +15 -0
  322. package/lib/utils/createRef.d.ts.map +1 -0
  323. package/lib/utils/createRef.js +21 -0
  324. package/lib/utils/createRefArray.d.ts +27 -0
  325. package/lib/utils/createRefArray.d.ts.map +1 -0
  326. package/lib/utils/createRefArray.js +49 -0
  327. package/lib/utils/createRefMap.d.ts +50 -0
  328. package/lib/utils/createRefMap.d.ts.map +1 -0
  329. package/lib/utils/createRefMap.js +77 -0
  330. package/lib/utils/debug.d.ts +24 -0
  331. package/lib/utils/debug.d.ts.map +1 -0
  332. package/lib/utils/debug.js +47 -0
  333. package/lib/utils/deprecate.d.ts +9 -0
  334. package/lib/utils/deprecate.d.ts.map +1 -0
  335. package/lib/utils/deprecate.js +15 -0
  336. package/lib/utils/errorToLog.d.ts +3 -0
  337. package/lib/utils/errorToLog.d.ts.map +1 -0
  338. package/lib/utils/errorToLog.js +8 -0
  339. package/lib/utils/experimentalLog.d.ts +3 -0
  340. package/lib/utils/experimentalLog.d.ts.map +1 -0
  341. package/lib/utils/experimentalLog.js +10 -0
  342. package/lib/utils/getContext.d.ts +2 -0
  343. package/lib/utils/getContext.d.ts.map +1 -0
  344. package/lib/utils/getContext.js +8 -0
  345. package/lib/utils/index.d.ts +26 -0
  346. package/lib/utils/index.d.ts.map +1 -0
  347. package/lib/utils/index.js +26 -0
  348. package/lib/utils/math.d.ts +15 -0
  349. package/lib/utils/math.d.ts.map +1 -0
  350. package/lib/utils/math.js +15 -0
  351. package/lib/utils/range.d.ts +40 -0
  352. package/lib/utils/range.d.ts.map +1 -0
  353. package/lib/utils/range.js +18 -0
  354. package/lib/utils/useContext.d.ts +13 -0
  355. package/lib/utils/useContext.d.ts.map +1 -0
  356. package/lib/utils/useContext.js +18 -0
  357. package/lib/utils/usePlayback.d.ts +8 -0
  358. package/lib/utils/usePlayback.d.ts.map +1 -0
  359. package/lib/utils/usePlayback.js +20 -0
  360. package/lib/utils/useScene.d.ts +17 -0
  361. package/lib/utils/useScene.d.ts.map +1 -0
  362. package/lib/utils/useScene.js +33 -0
  363. package/lib/utils/useThread.d.ts +8 -0
  364. package/lib/utils/useThread.d.ts.map +1 -0
  365. package/lib/utils/useThread.js +24 -0
  366. package/lib/utils/useTime.d.ts +19 -0
  367. package/lib/utils/useTime.d.ts.map +1 -0
  368. package/lib/utils/useTime.js +22 -0
  369. package/package.json +36 -0
  370. package/project.d.ts +24 -0
  371. package/shaders/common.glsl +15 -0
  372. package/shaders/fragment.glsl +8 -0
  373. package/tsconfig.project.json +14 -0
@@ -0,0 +1,36 @@
1
+ import type { CompoundSignal, SignalValue } from '../signals';
2
+ import type { InterpolationFunction } from '../tweening';
3
+ import type { Type, WebGLConvertible } from './Type';
4
+ export type SerializedSpacing = {
5
+ top: number;
6
+ right: number;
7
+ bottom: number;
8
+ left: number;
9
+ };
10
+ export type PossibleSpacing = SerializedSpacing | number | [number, number] | [number, number, number] | [number, number, number, number] | undefined;
11
+ export type SpacingSignal<T> = CompoundSignal<PossibleSpacing, Spacing, 'top' | 'right' | 'bottom' | 'left', T>;
12
+ export declare class Spacing implements Type, WebGLConvertible {
13
+ static readonly symbol: unique symbol;
14
+ top: number;
15
+ right: number;
16
+ bottom: number;
17
+ left: number;
18
+ static createSignal(initial?: SignalValue<PossibleSpacing>, interpolation?: InterpolationFunction<Spacing>): SpacingSignal<void>;
19
+ static lerp(from: Spacing, to: Spacing, value: number): Spacing;
20
+ get x(): number;
21
+ get y(): number;
22
+ constructor();
23
+ constructor(from: PossibleSpacing);
24
+ constructor(all: number);
25
+ constructor(vertical: number, horizontal: number);
26
+ constructor(top: number, horizontal: number, bottom: number);
27
+ constructor(top: number, right: number, bottom: number, left: number);
28
+ lerp(to: Spacing, value: number): Spacing;
29
+ scale(value: number): Spacing;
30
+ addScalar(value: number): Spacing;
31
+ toSymbol(): symbol;
32
+ toString(): string;
33
+ toUniform(gl: WebGL2RenderingContext, location: WebGLUniformLocation): void;
34
+ serialize(): SerializedSpacing;
35
+ }
36
+ //# sourceMappingURL=Spacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spacing.d.ts","sourceRoot":"","sources":["../../src/types/Spacing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,MAAM,GACN,CAAC,MAAM,EAAE,MAAM,CAAC,GAChB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,SAAS,CAAC;AAEd,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,cAAc,CAC3C,eAAe,EACf,OAAO,EACP,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EACnC,CAAC,CACF,CAAC;AAEF,qBAAa,OAAQ,YAAW,IAAI,EAAE,gBAAgB;IACpD,gBAAuB,MAAM,gBAA2C;IAEjE,GAAG,SAAK;IACR,KAAK,SAAK;IACV,MAAM,SAAK;IACX,IAAI,SAAK;WAEF,YAAY,CACxB,OAAO,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,EACtC,aAAa,GAAE,qBAAqB,CAAC,OAAO,CAAgB,GAC3D,aAAa,CAAC,IAAI,CAAC;WASR,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAStE,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;;gBAGkB,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;gBACpC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC/C,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAgCpE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IAI/B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAS7B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASjC,QAAQ,IAAI,MAAM;IAIlB,QAAQ;IAIR,SAAS,CACd,EAAE,EAAE,sBAAsB,EAC1B,QAAQ,EAAE,oBAAoB,GAC7B,IAAI;IAIA,SAAS,IAAI,iBAAiB;CAQtC"}
@@ -0,0 +1,70 @@
1
+ import { CompoundSignalContext } from '../signals';
2
+ import { map } from '../tweening';
3
+ export class Spacing {
4
+ static createSignal(initial, interpolation = Spacing.lerp) {
5
+ return new CompoundSignalContext(['top', 'right', 'bottom', 'left'], (value) => new Spacing(value), initial, interpolation).toSignal();
6
+ }
7
+ static lerp(from, to, value) {
8
+ return new Spacing(map(from.top, to.top, value), map(from.right, to.right, value), map(from.bottom, to.bottom, value), map(from.left, to.left, value));
9
+ }
10
+ get x() {
11
+ return this.left + this.right;
12
+ }
13
+ get y() {
14
+ return this.top + this.bottom;
15
+ }
16
+ constructor(one = 0, two, three, four) {
17
+ this.top = 0;
18
+ this.right = 0;
19
+ this.bottom = 0;
20
+ this.left = 0;
21
+ if (one === undefined || one === null) {
22
+ return;
23
+ }
24
+ if (Array.isArray(one)) {
25
+ four = one[3];
26
+ three = one[2];
27
+ two = one[1];
28
+ one = one[0];
29
+ }
30
+ if (typeof one === 'number') {
31
+ this.top = one;
32
+ this.right = two !== undefined ? two : one;
33
+ this.bottom = three !== undefined ? three : one;
34
+ this.left = four !== undefined ? four : two !== undefined ? two : one;
35
+ return;
36
+ }
37
+ this.top = one.top;
38
+ this.right = one.right;
39
+ this.bottom = one.bottom;
40
+ this.left = one.left;
41
+ }
42
+ lerp(to, value) {
43
+ return Spacing.lerp(this, to, value);
44
+ }
45
+ scale(value) {
46
+ return new Spacing(this.top * value, this.right * value, this.bottom * value, this.left * value);
47
+ }
48
+ addScalar(value) {
49
+ return new Spacing(this.top + value, this.right + value, this.bottom + value, this.left + value);
50
+ }
51
+ toSymbol() {
52
+ return Spacing.symbol;
53
+ }
54
+ toString() {
55
+ return `Spacing(${this.top}, ${this.right}, ${this.bottom}, ${this.left})`;
56
+ }
57
+ toUniform(gl, location) {
58
+ gl.uniform4f(location, this.top, this.right, this.bottom, this.left);
59
+ }
60
+ serialize() {
61
+ return {
62
+ top: this.top,
63
+ right: this.right,
64
+ bottom: this.bottom,
65
+ left: this.left,
66
+ };
67
+ }
68
+ }
69
+ Spacing.symbol = Symbol.for('@twick/core/types/Spacing');
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BhY2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9TcGFjaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUVqRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBeUJoQyxNQUFNLE9BQU8sT0FBTztJQVFYLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLE9BQXNDLEVBQ3RDLGdCQUFnRCxPQUFPLENBQUMsSUFBSTtRQUU1RCxPQUFPLElBQUkscUJBQXFCLENBQzlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQ2xDLENBQUMsS0FBc0IsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQzlDLE9BQU8sRUFDUCxhQUFhLENBQ2QsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQWEsRUFBRSxFQUFXLEVBQUUsS0FBYTtRQUMxRCxPQUFPLElBQUksT0FBTyxDQUNoQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUM1QixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUNoQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsQ0FBQztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFF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
@@ -0,0 +1,9 @@
1
+ export declare const EPSILON = 0.000001;
2
+ export interface Type {
3
+ toSymbol(): symbol;
4
+ }
5
+ export interface WebGLConvertible {
6
+ toUniform(gl: WebGL2RenderingContext, location: WebGLUniformLocation): void;
7
+ }
8
+ export declare function isType(value: any): value is Type;
9
+ //# sourceMappingURL=Type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../src/types/Type.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,MAAM,WAAW,IAAI;IACnB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7E;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,IAAI,CAEhD"}
@@ -0,0 +1,5 @@
1
+ export const EPSILON = 0.000001;
2
+ export function isType(value) {
3
+ return value && typeof value === 'object' && 'toSymbol' in value;
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9UeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFVaEMsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDO0FBQ25FLENBQUMifQ==
@@ -0,0 +1,203 @@
1
+ import type { CompoundSignal, Signal, SignalValue } from '../signals';
2
+ import type { InterpolationFunction } from '../tweening';
3
+ import { Direction, Origin } from './alignment-enums';
4
+ import type { Type, WebGLConvertible } from './Type';
5
+ export type SerializedVector2<T = number> = {
6
+ x: T;
7
+ y: T;
8
+ };
9
+ export type PossibleVector2<T = number> = SerializedVector2<T> | {
10
+ width: T;
11
+ height: T;
12
+ } | T | [T, T] | undefined;
13
+ export type Vector2Signal<T> = CompoundSignal<PossibleVector2, Vector2, 'x' | 'y', T>;
14
+ export type SimpleVector2Signal<T> = Signal<PossibleVector2, Vector2, T>;
15
+ /**
16
+ * Represents a two-dimensional vector.
17
+ */
18
+ export declare class Vector2 implements Type, WebGLConvertible {
19
+ static readonly symbol: unique symbol;
20
+ static readonly zero: Vector2;
21
+ static readonly one: Vector2;
22
+ static readonly right: Vector2;
23
+ static readonly left: Vector2;
24
+ static readonly up: Vector2;
25
+ static readonly down: Vector2;
26
+ /**
27
+ * A constant equal to `Vector2(0, -1)`
28
+ */
29
+ static readonly top: Vector2;
30
+ /**
31
+ * A constant equal to `Vector2(0, 1)`
32
+ */
33
+ static readonly bottom: Vector2;
34
+ /**
35
+ * A constant equal to `Vector2(-1, -1)`
36
+ */
37
+ static readonly topLeft: Vector2;
38
+ /**
39
+ * A constant equal to `Vector2(1, -1)`
40
+ */
41
+ static readonly topRight: Vector2;
42
+ /**
43
+ * A constant equal to `Vector2(-1, 1)`
44
+ */
45
+ static readonly bottomLeft: Vector2;
46
+ /**
47
+ * A constant equal to `Vector2(1, 1)`
48
+ */
49
+ static readonly bottomRight: Vector2;
50
+ x: number;
51
+ y: number;
52
+ static createSignal(initial?: SignalValue<PossibleVector2>, interpolation?: InterpolationFunction<Vector2>, owner?: any): Vector2Signal<void>;
53
+ static lerp(from: Vector2, to: Vector2, value: number | Vector2): Vector2;
54
+ static arcLerp(from: Vector2, to: Vector2, value: number, reverse?: boolean, ratio?: number): Vector2;
55
+ static createArcLerp(reverse?: boolean, ratio?: number): (from: Vector2, to: Vector2, value: number) => Vector2;
56
+ /**
57
+ * Interpolates between two vectors on the polar plane by interpolating
58
+ * the angles and magnitudes of the vectors individually.
59
+ *
60
+ * @param from - The starting vector.
61
+ * @param to - The target vector.
62
+ * @param value - The t-value of the interpolation.
63
+ * @param counterclockwise - Whether the vector should get rotated
64
+ * counterclockwise. Defaults to `false`.
65
+ * @param origin - The center of rotation. Defaults to the origin.
66
+ *
67
+ * @remarks
68
+ * This function is useful when used in conjunction with {@link rotate} to
69
+ * animate an object's position on a circular arc (see examples).
70
+ *
71
+ * @example
72
+ * Animating an object in a circle around the origin
73
+ * ```tsx
74
+ * circle().position(
75
+ * circle().position().rotate(180),
76
+ * 1,
77
+ * easeInOutCubic,
78
+ * Vector2.polarLerp
79
+ * );
80
+ * ```
81
+ * @example
82
+ * Rotating an object around the point `[-200, 100]`
83
+ * ```ts
84
+ * circle().position(
85
+ * circle().position().rotate(180, [-200, 100]),
86
+ * 1,
87
+ * easeInOutCubic,
88
+ * Vector2.createPolarLerp(false, [-200, 100]),
89
+ * );
90
+ * ```
91
+ * @example
92
+ * Rotating an object counterclockwise around the origin
93
+ * ```ts
94
+ * circle().position(
95
+ * circle().position().rotate(180),
96
+ * 1,
97
+ * easeInOutCubic,
98
+ * Vector2.createPolarLerp(true),
99
+ * );
100
+ * ```
101
+ */
102
+ static polarLerp(from: Vector2, to: Vector2, value: number, counterclockwise?: boolean, origin?: Vector2): Vector2;
103
+ /**
104
+ * Helper function to create a {@link Vector2.polarLerp} interpolation
105
+ * function with additional parameters.
106
+ *
107
+ * @param counterclockwise - Whether the point should get rotated
108
+ * counterclockwise.
109
+ * @param center - The center of rotation. Defaults to the origin.
110
+ */
111
+ static createPolarLerp(counterclockwise?: boolean, center?: PossibleVector2): (from: Vector2, to: Vector2, value: number) => Vector2;
112
+ static fromOrigin(origin: Origin | Direction): Vector2;
113
+ static fromScalar(value: number): Vector2;
114
+ static fromRadians(radians: number): Vector2;
115
+ static fromDegrees(degrees: number): Vector2;
116
+ /**
117
+ * Return the angle in radians between the vector described by x and y and the
118
+ * positive x-axis.
119
+ *
120
+ * @param x - The x component of the vector.
121
+ * @param y - The y component of the vector.
122
+ */
123
+ static radians(x: number, y: number): number;
124
+ /**
125
+ * Return the angle in degrees between the vector described by x and y and the
126
+ * positive x-axis.
127
+ *
128
+ * @param x - The x component of the vector.
129
+ * @param y - The y component of the vector.
130
+ *
131
+ * @remarks
132
+ * The returned angle will be between -180 and 180 degrees.
133
+ */
134
+ static degrees(x: number, y: number): number;
135
+ static magnitude(x: number, y: number): number;
136
+ static squaredMagnitude(x: number, y: number): number;
137
+ static angleBetween(u: Vector2, v: Vector2): number;
138
+ get width(): number;
139
+ set width(value: number);
140
+ get height(): number;
141
+ set height(value: number);
142
+ get magnitude(): number;
143
+ get squaredMagnitude(): number;
144
+ get normalized(): Vector2;
145
+ get safe(): Vector2;
146
+ get flipped(): Vector2;
147
+ get floored(): Vector2;
148
+ get perpendicular(): Vector2;
149
+ /**
150
+ * Return the angle in radians between the vector and the positive x-axis.
151
+ */
152
+ get radians(): number;
153
+ /**
154
+ * Return the angle in degrees between the vector and the positive x-axis.
155
+ *
156
+ * @remarks
157
+ * The returned angle will be between -180 and 180 degrees.
158
+ */
159
+ get degrees(): number;
160
+ get ctg(): number;
161
+ constructor();
162
+ constructor(from: PossibleVector2);
163
+ constructor(x: number, y: number);
164
+ lerp(to: Vector2, value: Vector2 | number): Vector2;
165
+ getOriginOffset(origin: Origin | Direction): Vector2;
166
+ scale(value: number): Vector2;
167
+ mul(possibleVector: PossibleVector2): Vector2;
168
+ div(possibleVector: PossibleVector2): Vector2;
169
+ add(possibleVector: PossibleVector2): Vector2;
170
+ sub(possibleVector: PossibleVector2): Vector2;
171
+ dot(possibleVector: PossibleVector2): number;
172
+ cross(possibleVector: PossibleVector2): number;
173
+ mod(possibleVector: PossibleVector2): Vector2;
174
+ addX(value: number): Vector2;
175
+ addY(value: number): Vector2;
176
+ toSymbol(): symbol;
177
+ toString(): string;
178
+ toUniform(gl: WebGL2RenderingContext, location: WebGLUniformLocation): void;
179
+ serialize(): SerializedVector2;
180
+ /**
181
+ * Check if two vectors are exactly equal to each other.
182
+ *
183
+ * @remarks
184
+ * If you need to compensate for floating point inaccuracies, use the
185
+ * {@link equals} method, instead.
186
+ *
187
+ * @param other - The vector to compare.
188
+ */
189
+ exactlyEquals(other: Vector2): boolean;
190
+ /**
191
+ * Check if two vectors are equal to each other.
192
+ *
193
+ * @remarks
194
+ * This method allows passing an allowed error margin when comparing vectors
195
+ * to compensate for floating point inaccuracies. To check if two vectors are
196
+ * exactly equal, use the {@link exactlyEquals} method, instead.
197
+ *
198
+ * @param other - The vector to compare.
199
+ * @param threshold - The allowed error threshold when comparing the vectors.
200
+ */
201
+ equals(other: Vector2, threshold?: number): boolean;
202
+ }
203
+ //# sourceMappingURL=Vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector.d.ts","sourceRoot":"","sources":["../../src/types/Vector.ts"],"names":[],"mappings":"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"}