@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,25 @@
1
+ /**
2
+ * A simple semaphore implementation with a capacity of 1.
3
+ *
4
+ * @internal
5
+ */
6
+ export class Semaphore {
7
+ constructor() {
8
+ this.resolveCurrent = null;
9
+ this.current = null;
10
+ }
11
+ async acquire() {
12
+ while (this.current) {
13
+ await this.current;
14
+ }
15
+ this.current = new Promise(resolve => {
16
+ this.resolveCurrent = resolve;
17
+ });
18
+ }
19
+ release() {
20
+ this.current = null;
21
+ this.resolveCurrent?.();
22
+ this.resolveCurrent = null;
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VtYXBob3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NlbWFwaG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFBdEI7UUFDVSxtQkFBYyxHQUF3QixJQUFJLENBQUM7UUFDM0MsWUFBTyxHQUF5QixJQUFJLENBQUM7SUFnQi9DLENBQUM7SUFkUSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDckIsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7Q0FDRiJ9
@@ -0,0 +1,3 @@
1
+ import type { ThreadGenerator } from '../threading';
2
+ export declare function beginSlide(name: string): ThreadGenerator;
3
+ //# sourceMappingURL=beginSlide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beginSlide.d.ts","sourceRoot":"","sources":["../../src/utils/beginSlide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAIlD,wBAAiB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CASzD"}
@@ -0,0 +1,12 @@
1
+ import { useScene } from './useScene';
2
+ import { useThread } from './useThread';
3
+ export function* beginSlide(name) {
4
+ const { slides } = useScene();
5
+ const thread = useThread();
6
+ slides.register(name, thread.fixed);
7
+ yield;
8
+ while (slides.shouldWait(name)) {
9
+ yield;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVnaW5TbGlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9iZWdpblNsaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUV0QyxNQUFNLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFZO0lBQ3RDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQztJQUM1QixNQUFNLE1BQU0sR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsS0FBSyxDQUFDO0lBRU4sT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDL0IsS0FBSyxDQUFDO0lBQ1IsQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ export declare function capitalize<T extends string>(value: T): Capitalize<T>;
2
+ //# sourceMappingURL=capitalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalize.d.ts","sourceRoot":"","sources":["../../src/utils/capitalize.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAEpE"}
@@ -0,0 +1,4 @@
1
+ export function capitalize(value) {
2
+ return (value[0].toUpperCase() + value.slice(1));
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jYXBpdGFsaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxVQUFVLENBQW1CLEtBQVE7SUFDbkQsT0FBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMifQ==
@@ -0,0 +1,15 @@
1
+ export interface ReferenceReceiver<T> {
2
+ (reference: T): void;
3
+ }
4
+ export interface Reference<T> extends ReferenceReceiver<T> {
5
+ (): T;
6
+ }
7
+ export declare function createRef<T>(): Reference<T>;
8
+ export declare function makeRef<TObject, TKey extends keyof TObject>(object: TObject, key: TKey): ReferenceReceiver<TObject[TKey]>;
9
+ export type RefsProperty<TValue> = TValue extends (config: {
10
+ refs?: infer TReference;
11
+ }) => void ? TReference : never;
12
+ export declare function makeRefs<T extends (config: {
13
+ refs?: any;
14
+ }) => void>(): RefsProperty<T>;
15
+ //# sourceMappingURL=createRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRef.d.ts","sourceRoot":"","sources":["../../src/utils/createRef.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC;CACP;AAED,wBAAgB,SAAS,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAW3C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,IAAI,SAAS,MAAM,OAAO,EACzD,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,IAAI,GACR,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAIlC;AAED,MAAM,MAAM,YAAY,CAAC,MAAM,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE;IACzD,IAAI,CAAC,EAAE,MAAM,UAAU,CAAC;CACzB,KAAK,IAAI,GACN,UAAU,GACV,KAAK,CAAC;AAEV,wBAAgB,QAAQ,CACtB,CAAC,SAAS,CAAC,MAAM,EAAE;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAC,KAAK,IAAI,KACrC,YAAY,CAAC,CAAC,CAAC,CAEnB"}
@@ -0,0 +1,21 @@
1
+ export function createRef() {
2
+ let value;
3
+ const ref = (newValue) => {
4
+ if (newValue !== undefined) {
5
+ value = newValue;
6
+ }
7
+ else {
8
+ return value;
9
+ }
10
+ };
11
+ return ref;
12
+ }
13
+ export function makeRef(object, key) {
14
+ return newValue => {
15
+ object[key] = newValue;
16
+ };
17
+ }
18
+ export function makeRefs() {
19
+ return {};
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NyZWF0ZVJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsU0FBUztJQUN2QixJQUFJLEtBQVEsQ0FBQztJQUNiLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBWSxFQUFFLEVBQUU7UUFDM0IsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE9BQU8sR0FBbUIsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FDckIsTUFBZSxFQUNmLEdBQVM7SUFFVCxPQUFPLFFBQVEsQ0FBQyxFQUFFO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDekIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQVFELE1BQU0sVUFBVSxRQUFRO0lBR3RCLE9BQU8sRUFBcUIsQ0FBQztBQUMvQixDQUFDIn0=
@@ -0,0 +1,27 @@
1
+ import type { Reference } from './createRef';
2
+ export type ReferenceArray<T> = T[] & Reference<T>;
3
+ /**
4
+ * Create an array of references.
5
+ *
6
+ * @remarks
7
+ * The returned object is both an array and a reference that can be passed
8
+ * directly to the `ref` property of a node.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const labels = createRefArray<Txt>();
13
+ *
14
+ * view.add(['A', 'B'].map(text => <Txt ref={labels}>{text}</Txt>));
15
+ * view.add(<Txt ref={labels}>C</Txt>);
16
+ *
17
+ * // accessing the references individually:
18
+ * yield* labels[0].text('A changes', 0.3);
19
+ * yield* labels[1].text('B changes', 0.3);
20
+ * yield* labels[2].text('C changes', 0.3);
21
+ *
22
+ * // accessing all references at once:
23
+ * yield* all(...labels.map(label => label.fill('white', 0.3)));
24
+ * ```
25
+ */
26
+ export declare function createRefArray<T>(): ReferenceArray<T>;
27
+ //# sourceMappingURL=createRefArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRefArray.d.ts","sourceRoot":"","sources":["../../src/utils/createRefArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAO3C,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAMrD"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Create an array of references.
3
+ *
4
+ * @remarks
5
+ * The returned object is both an array and a reference that can be passed
6
+ * directly to the `ref` property of a node.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const labels = createRefArray<Txt>();
11
+ *
12
+ * view.add(['A', 'B'].map(text => <Txt ref={labels}>{text}</Txt>));
13
+ * view.add(<Txt ref={labels}>C</Txt>);
14
+ *
15
+ * // accessing the references individually:
16
+ * yield* labels[0].text('A changes', 0.3);
17
+ * yield* labels[1].text('B changes', 0.3);
18
+ * yield* labels[2].text('C changes', 0.3);
19
+ *
20
+ * // accessing all references at once:
21
+ * yield* all(...labels.map(label => label.fill('white', 0.3)));
22
+ * ```
23
+ */
24
+ export function createRefArray() {
25
+ const target = function () {
26
+ // do nothing
27
+ };
28
+ target.array = [];
29
+ return new Proxy(target, Handler);
30
+ }
31
+ const Handler = {
32
+ apply(target, _, argArray) {
33
+ if (argArray.length === 0) {
34
+ return target.array[0];
35
+ }
36
+ target.array.push(...argArray);
37
+ },
38
+ get(target, property, receiver) {
39
+ const value = Reflect.get(target.array, property, receiver);
40
+ if (typeof value === 'function') {
41
+ return value.bind(target.array);
42
+ }
43
+ return value;
44
+ },
45
+ set(target, property, value, receiver) {
46
+ return Reflect.set(target.array, property, value, receiver);
47
+ },
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUmVmQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY3JlYXRlUmVmQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLFVBQVUsY0FBYztJQUM1QixNQUFNLE1BQU0sR0FBRztRQUNiLGFBQWE7SUFDZixDQUFtQixDQUFDO0lBQ3BCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBaUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQW1DO0lBQzlDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVE7UUFDdkIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUTtRQUM1QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVE7UUFDbkMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YsQ0FBQyJ9
@@ -0,0 +1,50 @@
1
+ import type { Reference } from './createRef';
2
+ export type ReferenceMap<T> = Map<string, Reference<T>> & Record<string, Reference<T>> & {
3
+ /**
4
+ * Maps the references in this group to a new array.
5
+ *
6
+ * @param callback - The function to transform each reference.
7
+ *
8
+ * @returns An array of the transformed references.
9
+ */
10
+ mapRefs<TValue>(callback: (value: T, index: number) => TValue): TValue[];
11
+ };
12
+ /**
13
+ * Create a group of references.
14
+ *
15
+ * @remarks
16
+ * The returned object lets you easily create multiple references to the same
17
+ * type without initializing them individually.
18
+ *
19
+ * You can retrieve references by accessing the object's properties. If the
20
+ * reference for a given property does not exist, it will be created
21
+ * automatically.
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * const labels = createRefMap<Txt>();
26
+ *
27
+ * view.add(
28
+ * <>
29
+ * <Txt ref={labels.a}>A</Txt>
30
+ * <Txt ref={labels.b}>B</Txt>
31
+ * <Txt ref={labels.c}>C</Txt>
32
+ * </>,
33
+ * );
34
+ *
35
+ * // accessing the references individually:
36
+ * yield* labels.a().text('A changes', 0.3);
37
+ * yield* labels.b().text('B changes', 0.3);
38
+ * yield* labels.c().text('C changes', 0.3);
39
+ *
40
+ * // checking if the given reference exists:
41
+ * if ('d' in labels) {
42
+ * yield* labels.d().text('D changes', 0.3);
43
+ * }
44
+ *
45
+ * // accessing all references at once:
46
+ * yield* all(...labels.mapRefs(label => label.fill('white', 0.3)));
47
+ * ```
48
+ */
49
+ export declare function createRefMap<T>(): ReferenceMap<T>;
50
+ //# sourceMappingURL=createRefMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRefMap.d.ts","sourceRoot":"","sources":["../../src/utils/createRefMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAG3C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GACrD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG;IAC7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1E,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,YAAY,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAIjD"}
@@ -0,0 +1,77 @@
1
+ import { createRef } from './createRef';
2
+ /**
3
+ * Create a group of references.
4
+ *
5
+ * @remarks
6
+ * The returned object lets you easily create multiple references to the same
7
+ * type without initializing them individually.
8
+ *
9
+ * You can retrieve references by accessing the object's properties. If the
10
+ * reference for a given property does not exist, it will be created
11
+ * automatically.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * const labels = createRefMap<Txt>();
16
+ *
17
+ * view.add(
18
+ * <>
19
+ * <Txt ref={labels.a}>A</Txt>
20
+ * <Txt ref={labels.b}>B</Txt>
21
+ * <Txt ref={labels.c}>C</Txt>
22
+ * </>,
23
+ * );
24
+ *
25
+ * // accessing the references individually:
26
+ * yield* labels.a().text('A changes', 0.3);
27
+ * yield* labels.b().text('B changes', 0.3);
28
+ * yield* labels.c().text('C changes', 0.3);
29
+ *
30
+ * // checking if the given reference exists:
31
+ * if ('d' in labels) {
32
+ * yield* labels.d().text('D changes', 0.3);
33
+ * }
34
+ *
35
+ * // accessing all references at once:
36
+ * yield* all(...labels.mapRefs(label => label.fill('white', 0.3)));
37
+ * ```
38
+ */
39
+ export function createRefMap() {
40
+ const group = new Map();
41
+ group.entries();
42
+ return new Proxy(group, Handler);
43
+ }
44
+ const Handler = {
45
+ get(target, property) {
46
+ if (Reflect.has(target, property)) {
47
+ return Reflect.get(target, property);
48
+ }
49
+ if (property === 'mapRefs') {
50
+ return function (callback) {
51
+ const result = [];
52
+ for (const value of target.values()) {
53
+ result.push(callback(value(), result.length));
54
+ }
55
+ return result;
56
+ };
57
+ }
58
+ if (typeof property === 'string') {
59
+ let value = target.get(property);
60
+ if (!value) {
61
+ value = createRef();
62
+ target.set(property, value);
63
+ }
64
+ return value;
65
+ }
66
+ },
67
+ has(target, property) {
68
+ if (Reflect.has(target, property)) {
69
+ return true;
70
+ }
71
+ if (typeof property === 'string') {
72
+ return target.has(property);
73
+ }
74
+ return false;
75
+ },
76
+ };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUmVmTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NyZWF0ZVJlZk1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBY3RDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFDSCxNQUFNLFVBQVUsWUFBWTtJQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUM5QyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEIsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFvQixDQUFDO0FBQ3RELENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBOEM7SUFDekQsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRO1FBQ2xCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixPQUFPLFVBQ0wsUUFBK0M7Z0JBRS9DLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztnQkFDNUIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztvQkFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDakMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDO2dCQUNwQixNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUTtRQUNsQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGLENBQUMifQ==
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Logs a debug message with an arbitrary payload.
3
+ *
4
+ * @remarks
5
+ * This method is a shortcut for calling `useLogger().debug()` which allows
6
+ * you to more easily log non-string values as well.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * export default makeScene2D(function* (view) {
11
+ * const circle = createRef<Circle>();
12
+ *
13
+ * view.add(
14
+ * <Circle ref={circle} width={320} height={320} fill={'lightseagreen'} />,
15
+ * );
16
+ *
17
+ * debug(circle().position());
18
+ * });
19
+ * ```
20
+ *
21
+ * @param payload - The payload to log
22
+ */
23
+ export declare function debug(payload: any): void;
24
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,GAAG,QAQjC"}
@@ -0,0 +1,47 @@
1
+ import { useLogger } from './useScene';
2
+ function stringify(value) {
3
+ switch (typeof value) {
4
+ case 'string':
5
+ // Prevent strings from getting quoted again
6
+ return value;
7
+ case 'undefined':
8
+ // Prevent `undefined` from being turned into `null`
9
+ return 'undefined';
10
+ default:
11
+ // Prevent `NaN` from being turned into `null`
12
+ if (Number.isNaN(value)) {
13
+ return 'NaN';
14
+ }
15
+ return JSON.stringify(value);
16
+ }
17
+ }
18
+ /**
19
+ * Logs a debug message with an arbitrary payload.
20
+ *
21
+ * @remarks
22
+ * This method is a shortcut for calling `useLogger().debug()` which allows
23
+ * you to more easily log non-string values as well.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * export default makeScene2D(function* (view) {
28
+ * const circle = createRef<Circle>();
29
+ *
30
+ * view.add(
31
+ * <Circle ref={circle} width={320} height={320} fill={'lightseagreen'} />,
32
+ * );
33
+ *
34
+ * debug(circle().position());
35
+ * });
36
+ * ```
37
+ *
38
+ * @param payload - The payload to log
39
+ */
40
+ export function debug(payload) {
41
+ const result = { message: stringify(payload) };
42
+ if (payload && typeof payload === 'object') {
43
+ result.object = payload;
44
+ }
45
+ useLogger().debug(result);
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUVyQyxTQUFTLFNBQVMsQ0FBQyxLQUFVO0lBQzNCLFFBQVEsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNyQixLQUFLLFFBQVE7WUFDWCw0Q0FBNEM7WUFDNUMsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLFdBQVc7WUFDZCxvREFBb0Q7WUFDcEQsT0FBTyxXQUFXLENBQUM7UUFDckI7WUFDRSw4Q0FBOEM7WUFDOUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFDLE9BQVk7SUFDaEMsTUFBTSxNQUFNLEdBQWUsRUFBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7SUFFekQsSUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixDQUFDIn0=
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Mark the given function as deprecated.
3
+ *
4
+ * @param fn - The function to deprecate.
5
+ * @param message - The log message.
6
+ * @param remarks - The optional log remarks.
7
+ */
8
+ export declare function deprecate<TArgs extends any[], TReturn>(fn: (...args: TArgs) => TReturn, message: string, remarks?: string): (...args: TArgs) => TReturn;
9
+ //# sourceMappingURL=deprecate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecate.d.ts","sourceRoot":"","sources":["../../src/utils/deprecate.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EACpD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAK7B"}
@@ -0,0 +1,15 @@
1
+ import { useLogger } from './useScene';
2
+ /**
3
+ * Mark the given function as deprecated.
4
+ *
5
+ * @param fn - The function to deprecate.
6
+ * @param message - The log message.
7
+ * @param remarks - The optional log remarks.
8
+ */
9
+ export function deprecate(fn, message, remarks) {
10
+ return function (...args) {
11
+ useLogger().warn({ message, remarks, stack: new Error().stack });
12
+ return fn.apply(this, args);
13
+ };
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2RlcHJlY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRXJDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEVBQStCLEVBQy9CLE9BQWUsRUFDZixPQUFnQjtJQUVoQixPQUFPLFVBQXFCLEdBQUcsSUFBSTtRQUNqQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDL0QsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ import type { LogPayload } from '../app';
2
+ export declare function errorToLog(error: any): LogPayload;
3
+ //# sourceMappingURL=errorToLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorToLog.d.ts","sourceRoot":"","sources":["../../src/utils/errorToLog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAEvC,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,UAAU,CAMjD"}
@@ -0,0 +1,8 @@
1
+ export function errorToLog(error) {
2
+ return {
3
+ message: error.message,
4
+ stack: error.stack,
5
+ remarks: error.remarks,
6
+ };
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JUb0xvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lcnJvclRvTG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBVTtJQUNuQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztRQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87S0FDdkIsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import type { LogPayload } from '../app/Logger';
2
+ export declare function experimentalLog(message: string, remarks?: string): LogPayload;
3
+ //# sourceMappingURL=experimentalLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimentalLog.d.ts","sourceRoot":"","sources":["../../src/utils/experimentalLog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAI9C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAM7E"}
@@ -0,0 +1,10 @@
1
+ import { LogLevel } from '../app/Logger';
2
+ import { experimentalFeatures } from './ExperimentalError';
3
+ export function experimentalLog(message, remarks) {
4
+ return {
5
+ level: LogLevel.Error,
6
+ message,
7
+ remarks: (remarks ?? '') + experimentalFeatures,
8
+ };
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudGFsTG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2V4cGVyaW1lbnRhbExvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXpELE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBZSxFQUFFLE9BQWdCO0lBQy9ELE9BQU87UUFDTCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7UUFDckIsT0FBTztRQUNQLE9BQU8sRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsR0FBRyxvQkFBb0I7S0FDaEQsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ export declare function getContext(options?: CanvasRenderingContext2DSettings, canvas?: HTMLCanvasElement): CanvasRenderingContext2D;
2
+ //# sourceMappingURL=getContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContext.d.ts","sourceRoot":"","sources":["../../src/utils/getContext.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CACxB,OAAO,CAAC,EAAE,gCAAgC,EAC1C,MAAM,GAAE,iBAAoD,GAC3D,wBAAwB,CAM1B"}
@@ -0,0 +1,8 @@
1
+ export function getContext(options, canvas = document.createElement('canvas')) {
2
+ const context = canvas.getContext('2d', options);
3
+ if (!context) {
4
+ throw new Error('Could not create a 2D context.');
5
+ }
6
+ return context;
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9nZXRDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxVQUFVLENBQ3hCLE9BQTBDLEVBQzFDLFNBQTRCLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBRTVELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyJ9
@@ -0,0 +1,26 @@
1
+ /**
2
+ * General utilities and helper functions.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ export * from './beginSlide';
7
+ export * from './capitalize';
8
+ export * from './createRef';
9
+ export * from './createRefArray';
10
+ export * from './createRefMap';
11
+ export * from './debug';
12
+ export * from './deprecate';
13
+ export * from './DetailedError';
14
+ export * from './errorToLog';
15
+ export * from './ExperimentalError';
16
+ export * from './experimentalLog';
17
+ export * from './getContext';
18
+ export * from './math';
19
+ export * from './range';
20
+ export * from './Semaphore';
21
+ export * from './useContext';
22
+ export * from './usePlayback';
23
+ export * from './useScene';
24
+ export * from './useThread';
25
+ export * from './useTime';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * General utilities and helper functions.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ export * from './beginSlide';
7
+ export * from './capitalize';
8
+ export * from './createRef';
9
+ export * from './createRefArray';
10
+ export * from './createRefMap';
11
+ export * from './debug';
12
+ export * from './deprecate';
13
+ export * from './DetailedError';
14
+ export * from './errorToLog';
15
+ export * from './ExperimentalError';
16
+ export * from './experimentalLog';
17
+ export * from './getContext';
18
+ export * from './math';
19
+ export * from './range';
20
+ export * from './Semaphore';
21
+ export * from './useContext';
22
+ export * from './usePlayback';
23
+ export * from './useScene';
24
+ export * from './useThread';
25
+ export * from './useTime';
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQyJ9
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A constant for converting radians to degrees
3
+ *
4
+ * @example
5
+ * const degrees = 0.6 * RAD2DEG;
6
+ */
7
+ export declare const RAD2DEG: number;
8
+ /**
9
+ * A constant for converting degrees to radians
10
+ *
11
+ * @example
12
+ * const radians = 30 * DEG2RAD;
13
+ */
14
+ export declare const DEG2RAD: number;
15
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAAgB,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAAgB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A constant for converting radians to degrees
3
+ *
4
+ * @example
5
+ * const degrees = 0.6 * RAD2DEG;
6
+ */
7
+ export const RAD2DEG = 180 / Math.PI;
8
+ /**
9
+ * A constant for converting degrees to radians
10
+ *
11
+ * @example
12
+ * const radians = 30 * DEG2RAD;
13
+ */
14
+ export const DEG2RAD = Math.PI / 180;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBRXJDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDIn0=
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Create an array containing a range of numbers.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * const array1 = range(3); // [0, 1, 2]
7
+ * const array2 = range(-3); // [0, -1, -2]
8
+ * ```
9
+ *
10
+ * @param length - The length of the array.
11
+ */
12
+ export declare function range(length: number): number[];
13
+ /**
14
+ * Create an array containing a range of numbers.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const array1 = range(3, 7); // [3, 4, 5, 6]
19
+ * const array2 = range(7, 3); // [7, 6, 5, 4]
20
+ * ```
21
+ *
22
+ * @param from - The start of the range.
23
+ * @param to - The end of the range. `to` itself is not included in the result.
24
+ */
25
+ export declare function range(from: number, to: number): number[];
26
+ /**
27
+ * Create an array containing a range of numbers.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const array1 = range(1, 2, 0.25); // [1, 1.25, 1.5, 1.75]
32
+ * const array2 = range(2, 1, -0.25); // [2, 1.75, 1.5, 1.25]
33
+ * ```
34
+ *
35
+ * @param from - The start of the range.
36
+ * @param to - The end of the range. `to` itself is not included in the result.
37
+ * @param step - The value by which to increment or decrement.
38
+ */
39
+ export declare function range(from: number, to: number, step: number): number[];
40
+ //# sourceMappingURL=range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/utils/range.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;AAChD;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;AAC1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC"}