@bhbr/minter 0.0.0-stage → 1.0.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 (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -3
  3. package/dist/boards/Board.d.ts +138 -0
  4. package/dist/boards/Board.d.ts.map +1 -0
  5. package/dist/boards/Board.js +1329 -0
  6. package/dist/boards/Board.js.map +1 -0
  7. package/dist/boards/BoardCreator.d.ts +8 -0
  8. package/dist/boards/BoardCreator.d.ts.map +1 -0
  9. package/dist/boards/BoardCreator.js +24 -0
  10. package/dist/boards/BoardCreator.js.map +1 -0
  11. package/dist/boards/EditableLinkHook.d.ts +2 -0
  12. package/dist/boards/EditableLinkHook.d.ts.map +1 -0
  13. package/dist/boards/EditableLinkHook.js +137 -0
  14. package/dist/boards/EditableLinkHook.js.map +1 -0
  15. package/dist/boards/EditableLinkHookView.d.ts +2 -0
  16. package/dist/boards/EditableLinkHookView.d.ts.map +1 -0
  17. package/dist/boards/EditableLinkHookView.js +42 -0
  18. package/dist/boards/EditableLinkHookView.js.map +1 -0
  19. package/dist/boards/ExpandButton.d.ts +17 -0
  20. package/dist/boards/ExpandButton.d.ts.map +1 -0
  21. package/dist/boards/ExpandButton.js +59 -0
  22. package/dist/boards/ExpandButton.js.map +1 -0
  23. package/dist/boards/ExpandedBoardIOList.d.ts +12 -0
  24. package/dist/boards/ExpandedBoardIOList.d.ts.map +1 -0
  25. package/dist/boards/ExpandedBoardIOList.js +35 -0
  26. package/dist/boards/ExpandedBoardIOList.js.map +1 -0
  27. package/dist/boards/ExpandedBoardInputList.d.ts +4 -0
  28. package/dist/boards/ExpandedBoardInputList.d.ts.map +1 -0
  29. package/dist/boards/ExpandedBoardInputList.js +4 -0
  30. package/dist/boards/ExpandedBoardInputList.js.map +1 -0
  31. package/dist/boards/ExpandedBoardOutputList.d.ts +4 -0
  32. package/dist/boards/ExpandedBoardOutputList.d.ts.map +1 -0
  33. package/dist/boards/ExpandedBoardOutputList.js +4 -0
  34. package/dist/boards/ExpandedBoardOutputList.js.map +1 -0
  35. package/dist/boards/constants.d.ts +6 -0
  36. package/dist/boards/constants.d.ts.map +1 -0
  37. package/dist/boards/constants.js +6 -0
  38. package/dist/boards/constants.js.map +1 -0
  39. package/dist/constants.d.ts +14 -0
  40. package/dist/constants.d.ts.map +1 -0
  41. package/dist/constants.js +23 -0
  42. package/dist/constants.js.map +1 -0
  43. package/dist/creators/Creator.d.ts +19 -0
  44. package/dist/creators/Creator.d.ts.map +1 -0
  45. package/dist/creators/Creator.js +54 -0
  46. package/dist/creators/Creator.js.map +1 -0
  47. package/dist/creators/DraggingCreator.d.ts +10 -0
  48. package/dist/creators/DraggingCreator.d.ts.map +1 -0
  49. package/dist/creators/DraggingCreator.js +45 -0
  50. package/dist/creators/DraggingCreator.js.map +1 -0
  51. package/dist/creators/Freehand.d.ts +16 -0
  52. package/dist/creators/Freehand.d.ts.map +1 -0
  53. package/dist/creators/Freehand.js +68 -0
  54. package/dist/creators/Freehand.js.map +1 -0
  55. package/dist/creators/SpanningCreator.d.ts +15 -0
  56. package/dist/creators/SpanningCreator.d.ts.map +1 -0
  57. package/dist/creators/SpanningCreator.js +66 -0
  58. package/dist/creators/SpanningCreator.js.map +1 -0
  59. package/dist/functions/logging.d.ts +4 -0
  60. package/dist/functions/logging.d.ts.map +1 -0
  61. package/dist/functions/logging.js +103 -0
  62. package/dist/functions/logging.js.map +1 -0
  63. package/dist/functions/math.d.ts +9 -0
  64. package/dist/functions/math.d.ts.map +1 -0
  65. package/dist/functions/math.js +85 -0
  66. package/dist/functions/math.js.map +1 -0
  67. package/dist/functions/various.d.ts +4 -0
  68. package/dist/functions/various.d.ts.map +1 -0
  69. package/dist/functions/various.js +54 -0
  70. package/dist/functions/various.js.map +1 -0
  71. package/dist/index.d.ts +77 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +79 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/linkables/DependencyLink.d.ts +24 -0
  76. package/dist/linkables/DependencyLink.d.ts.map +1 -0
  77. package/dist/linkables/DependencyLink.js +70 -0
  78. package/dist/linkables/DependencyLink.js.map +1 -0
  79. package/dist/linkables/IOList.d.ts +37 -0
  80. package/dist/linkables/IOList.d.ts.map +1 -0
  81. package/dist/linkables/IOList.js +203 -0
  82. package/dist/linkables/IOList.js.map +1 -0
  83. package/dist/linkables/InputList.d.ts +7 -0
  84. package/dist/linkables/InputList.d.ts.map +1 -0
  85. package/dist/linkables/InputList.js +13 -0
  86. package/dist/linkables/InputList.js.map +1 -0
  87. package/dist/linkables/LinkBullet.d.ts +11 -0
  88. package/dist/linkables/LinkBullet.d.ts.map +1 -0
  89. package/dist/linkables/LinkBullet.js +35 -0
  90. package/dist/linkables/LinkBullet.js.map +1 -0
  91. package/dist/linkables/LinkHook.d.ts +14 -0
  92. package/dist/linkables/LinkHook.d.ts.map +1 -0
  93. package/dist/linkables/LinkHook.js +50 -0
  94. package/dist/linkables/LinkHook.js.map +1 -0
  95. package/dist/linkables/LinkOutlet.d.ts +26 -0
  96. package/dist/linkables/LinkOutlet.d.ts.map +1 -0
  97. package/dist/linkables/LinkOutlet.js +136 -0
  98. package/dist/linkables/LinkOutlet.js.map +1 -0
  99. package/dist/linkables/Linkable.d.ts +55 -0
  100. package/dist/linkables/Linkable.d.ts.map +1 -0
  101. package/dist/linkables/Linkable.js +258 -0
  102. package/dist/linkables/Linkable.js.map +1 -0
  103. package/dist/linkables/OutputList.d.ts +7 -0
  104. package/dist/linkables/OutputList.d.ts.map +1 -0
  105. package/dist/linkables/OutputList.js +16 -0
  106. package/dist/linkables/OutputList.js.map +1 -0
  107. package/dist/linkables/constants.d.ts +12 -0
  108. package/dist/linkables/constants.d.ts.map +1 -0
  109. package/dist/linkables/constants.js +16 -0
  110. package/dist/linkables/constants.js.map +1 -0
  111. package/dist/mobjects/Dependency.d.ts +11 -0
  112. package/dist/mobjects/Dependency.d.ts.map +1 -0
  113. package/dist/mobjects/Dependency.js +19 -0
  114. package/dist/mobjects/Dependency.js.map +1 -0
  115. package/dist/mobjects/MGroup.d.ts +5 -0
  116. package/dist/mobjects/MGroup.d.ts.map +1 -0
  117. package/dist/mobjects/MGroup.js +15 -0
  118. package/dist/mobjects/MGroup.js.map +1 -0
  119. package/dist/mobjects/Mobject.d.ts +138 -0
  120. package/dist/mobjects/Mobject.d.ts.map +1 -0
  121. package/dist/mobjects/Mobject.js +488 -0
  122. package/dist/mobjects/Mobject.js.map +1 -0
  123. package/dist/mobjects/Motor.d.ts +20 -0
  124. package/dist/mobjects/Motor.d.ts.map +1 -0
  125. package/dist/mobjects/Motor.js +118 -0
  126. package/dist/mobjects/Motor.js.map +1 -0
  127. package/dist/mobjects/Sensor.d.ts +112 -0
  128. package/dist/mobjects/Sensor.d.ts.map +1 -0
  129. package/dist/mobjects/Sensor.js +650 -0
  130. package/dist/mobjects/Sensor.js.map +1 -0
  131. package/dist/mobjects/UpdateCall.d.ts +17 -0
  132. package/dist/mobjects/UpdateCall.d.ts.map +1 -0
  133. package/dist/mobjects/UpdateCall.js +67 -0
  134. package/dist/mobjects/UpdateCall.js.map +1 -0
  135. package/dist/mobjects/screen_events.d.ts +38 -0
  136. package/dist/mobjects/screen_events.d.ts.map +1 -0
  137. package/dist/mobjects/screen_events.js +143 -0
  138. package/dist/mobjects/screen_events.js.map +1 -0
  139. package/dist/paper/APILoader.d.ts +10 -0
  140. package/dist/paper/APILoader.d.ts.map +1 -0
  141. package/dist/paper/APILoader.js +18 -0
  142. package/dist/paper/APILoader.js.map +1 -0
  143. package/dist/paper/Paper.d.ts +34 -0
  144. package/dist/paper/Paper.d.ts.map +1 -0
  145. package/dist/paper/Paper.js +210 -0
  146. package/dist/paper/Paper.js.map +1 -0
  147. package/dist/paper/PaperView.d.ts +5 -0
  148. package/dist/paper/PaperView.d.ts.map +1 -0
  149. package/dist/paper/PaperView.js +9 -0
  150. package/dist/paper/PaperView.js.map +1 -0
  151. package/dist/paper/getPaper.d.ts +3 -0
  152. package/dist/paper/getPaper.d.ts.map +1 -0
  153. package/dist/paper/getPaper.js +8 -0
  154. package/dist/paper/getPaper.js.map +1 -0
  155. package/dist/paper/initPaper.d.ts +2 -0
  156. package/dist/paper/initPaper.d.ts.map +1 -0
  157. package/dist/paper/initPaper.js +3 -0
  158. package/dist/paper/initPaper.js.map +1 -0
  159. package/dist/shapes/Circle.d.ts +6 -0
  160. package/dist/shapes/Circle.d.ts.map +1 -0
  161. package/dist/shapes/Circle.js +20 -0
  162. package/dist/shapes/Circle.js.map +1 -0
  163. package/dist/shapes/CircularArc.d.ts +13 -0
  164. package/dist/shapes/CircularArc.d.ts.map +1 -0
  165. package/dist/shapes/CircularArc.js +95 -0
  166. package/dist/shapes/CircularArc.js.map +1 -0
  167. package/dist/shapes/CurvedArrow.d.ts +19 -0
  168. package/dist/shapes/CurvedArrow.d.ts.map +1 -0
  169. package/dist/shapes/CurvedArrow.js +89 -0
  170. package/dist/shapes/CurvedArrow.js.map +1 -0
  171. package/dist/shapes/Line.d.ts +14 -0
  172. package/dist/shapes/Line.d.ts.map +1 -0
  173. package/dist/shapes/Line.js +33 -0
  174. package/dist/shapes/Line.js.map +1 -0
  175. package/dist/shapes/Pill.d.ts +9 -0
  176. package/dist/shapes/Pill.d.ts.map +1 -0
  177. package/dist/shapes/Pill.js +51 -0
  178. package/dist/shapes/Pill.js.map +1 -0
  179. package/dist/shapes/Rectangle.d.ts +14 -0
  180. package/dist/shapes/Rectangle.d.ts.map +1 -0
  181. package/dist/shapes/Rectangle.js +34 -0
  182. package/dist/shapes/Rectangle.js.map +1 -0
  183. package/dist/shapes/RoundedRectangle.d.ts +17 -0
  184. package/dist/shapes/RoundedRectangle.d.ts.map +1 -0
  185. package/dist/shapes/RoundedRectangle.js +86 -0
  186. package/dist/shapes/RoundedRectangle.js.map +1 -0
  187. package/dist/shapes/Square.d.ts +8 -0
  188. package/dist/shapes/Square.d.ts.map +1 -0
  189. package/dist/shapes/Square.js +25 -0
  190. package/dist/shapes/Square.js.map +1 -0
  191. package/dist/sidebar/Sidebar.d.ts +28 -0
  192. package/dist/sidebar/Sidebar.d.ts.map +1 -0
  193. package/dist/sidebar/Sidebar.js +222 -0
  194. package/dist/sidebar/Sidebar.js.map +1 -0
  195. package/dist/sidebar/SidebarView.d.ts +5 -0
  196. package/dist/sidebar/SidebarView.d.ts.map +1 -0
  197. package/dist/sidebar/SidebarView.js +9 -0
  198. package/dist/sidebar/SidebarView.js.map +1 -0
  199. package/dist/sidebar/buttons/BoardButton.d.ts +6 -0
  200. package/dist/sidebar/buttons/BoardButton.d.ts.map +1 -0
  201. package/dist/sidebar/buttons/BoardButton.js +14 -0
  202. package/dist/sidebar/buttons/BoardButton.js.map +1 -0
  203. package/dist/sidebar/buttons/ControlsButton.d.ts +5 -0
  204. package/dist/sidebar/buttons/ControlsButton.d.ts.map +1 -0
  205. package/dist/sidebar/buttons/ControlsButton.js +11 -0
  206. package/dist/sidebar/buttons/ControlsButton.js.map +1 -0
  207. package/dist/sidebar/buttons/CreativeButton.d.ts +13 -0
  208. package/dist/sidebar/buttons/CreativeButton.d.ts.map +1 -0
  209. package/dist/sidebar/buttons/CreativeButton.js +49 -0
  210. package/dist/sidebar/buttons/CreativeButton.js.map +1 -0
  211. package/dist/sidebar/buttons/DragButton.d.ts +5 -0
  212. package/dist/sidebar/buttons/DragButton.d.ts.map +1 -0
  213. package/dist/sidebar/buttons/DragButton.js +10 -0
  214. package/dist/sidebar/buttons/DragButton.js.map +1 -0
  215. package/dist/sidebar/buttons/EraseButton.d.ts +7 -0
  216. package/dist/sidebar/buttons/EraseButton.d.ts.map +1 -0
  217. package/dist/sidebar/buttons/EraseButton.js +34 -0
  218. package/dist/sidebar/buttons/EraseButton.js.map +1 -0
  219. package/dist/sidebar/buttons/LinkButton.d.ts +5 -0
  220. package/dist/sidebar/buttons/LinkButton.d.ts.map +1 -0
  221. package/dist/sidebar/buttons/LinkButton.js +9 -0
  222. package/dist/sidebar/buttons/LinkButton.js.map +1 -0
  223. package/dist/sidebar/buttons/SidebarButton.d.ts +72 -0
  224. package/dist/sidebar/buttons/SidebarButton.d.ts.map +1 -0
  225. package/dist/sidebar/buttons/SidebarButton.js +369 -0
  226. package/dist/sidebar/buttons/SidebarButton.js.map +1 -0
  227. package/dist/sidebar/buttons/SidebarButtonView.d.ts +6 -0
  228. package/dist/sidebar/buttons/SidebarButtonView.d.ts.map +1 -0
  229. package/dist/sidebar/buttons/SidebarButtonView.js +8 -0
  230. package/dist/sidebar/buttons/SidebarButtonView.js.map +1 -0
  231. package/dist/sidebar/buttons/ToggleButton.d.ts +17 -0
  232. package/dist/sidebar/buttons/ToggleButton.d.ts.map +1 -0
  233. package/dist/sidebar/buttons/ToggleButton.js +79 -0
  234. package/dist/sidebar/buttons/ToggleButton.js.map +1 -0
  235. package/dist/sidebar/buttons/button_geometry.d.ts +10 -0
  236. package/dist/sidebar/buttons/button_geometry.d.ts.map +1 -0
  237. package/dist/sidebar/buttons/button_geometry.js +15 -0
  238. package/dist/sidebar/buttons/button_geometry.js.map +1 -0
  239. package/dist/sidebar/getSidebar.d.ts +3 -0
  240. package/dist/sidebar/getSidebar.d.ts.map +1 -0
  241. package/dist/sidebar/getSidebar.js +8 -0
  242. package/dist/sidebar/getSidebar.js.map +1 -0
  243. package/dist/sidebar/initSidebar.d.ts +2 -0
  244. package/dist/sidebar/initSidebar.d.ts.map +1 -0
  245. package/dist/sidebar/initSidebar.js +3 -0
  246. package/dist/sidebar/initSidebar.js.map +1 -0
  247. package/dist/ui/Checkbox.d.ts +20 -0
  248. package/dist/ui/Checkbox.d.ts.map +1 -0
  249. package/dist/ui/Checkbox.js +71 -0
  250. package/dist/ui/Checkbox.js.map +1 -0
  251. package/dist/ui/InputTextBox.d.ts +24 -0
  252. package/dist/ui/InputTextBox.d.ts.map +1 -0
  253. package/dist/ui/InputTextBox.js +104 -0
  254. package/dist/ui/InputTextBox.js.map +1 -0
  255. package/dist/ui/LinkableInputTextBox.d.ts +11 -0
  256. package/dist/ui/LinkableInputTextBox.d.ts.map +1 -0
  257. package/dist/ui/LinkableInputTextBox.js +32 -0
  258. package/dist/ui/LinkableInputTextBox.js.map +1 -0
  259. package/dist/ui/Popover.d.ts +34 -0
  260. package/dist/ui/Popover.d.ts.map +1 -0
  261. package/dist/ui/Popover.js +187 -0
  262. package/dist/ui/Popover.js.map +1 -0
  263. package/dist/ui/RadioButton.d.ts +16 -0
  264. package/dist/ui/RadioButton.d.ts.map +1 -0
  265. package/dist/ui/RadioButton.js +53 -0
  266. package/dist/ui/RadioButton.js.map +1 -0
  267. package/dist/ui/RadioButtonList.d.ts +16 -0
  268. package/dist/ui/RadioButtonList.d.ts.map +1 -0
  269. package/dist/ui/RadioButtonList.js +71 -0
  270. package/dist/ui/RadioButtonList.js.map +1 -0
  271. package/dist/ui/Scroll.d.ts +10 -0
  272. package/dist/ui/Scroll.d.ts.map +1 -0
  273. package/dist/ui/Scroll.js +30 -0
  274. package/dist/ui/Scroll.js.map +1 -0
  275. package/dist/ui/SimpleButton.d.ts +16 -0
  276. package/dist/ui/SimpleButton.d.ts.map +1 -0
  277. package/dist/ui/SimpleButton.js +61 -0
  278. package/dist/ui/SimpleButton.js.map +1 -0
  279. package/dist/ui/TextLabel.d.ts +19 -0
  280. package/dist/ui/TextLabel.d.ts.map +1 -0
  281. package/dist/ui/TextLabel.js +21 -0
  282. package/dist/ui/TextLabel.js.map +1 -0
  283. package/dist/ui/TextLabelView.d.ts +15 -0
  284. package/dist/ui/TextLabelView.d.ts.map +1 -0
  285. package/dist/ui/TextLabelView.js +52 -0
  286. package/dist/ui/TextLabelView.js.map +1 -0
  287. package/dist/views/Color.d.ts +31 -0
  288. package/dist/views/Color.d.ts.map +1 -0
  289. package/dist/views/Color.js +107 -0
  290. package/dist/views/Color.js.map +1 -0
  291. package/dist/views/Frame.d.ts +64 -0
  292. package/dist/views/Frame.d.ts.map +1 -0
  293. package/dist/views/Frame.js +132 -0
  294. package/dist/views/Frame.js.map +1 -0
  295. package/dist/views/ImageView.d.ts +10 -0
  296. package/dist/views/ImageView.d.ts.map +1 -0
  297. package/dist/views/ImageView.js +28 -0
  298. package/dist/views/ImageView.js.map +1 -0
  299. package/dist/views/View.d.ts +45 -0
  300. package/dist/views/View.d.ts.map +1 -0
  301. package/dist/views/View.js +181 -0
  302. package/dist/views/View.js.map +1 -0
  303. package/dist/vmobjects/CurvedLine.d.ts +14 -0
  304. package/dist/vmobjects/CurvedLine.d.ts.map +1 -0
  305. package/dist/vmobjects/CurvedLine.js +66 -0
  306. package/dist/vmobjects/CurvedLine.js.map +1 -0
  307. package/dist/vmobjects/CurvedShape.d.ts +5 -0
  308. package/dist/vmobjects/CurvedShape.d.ts.map +1 -0
  309. package/dist/vmobjects/CurvedShape.js +12 -0
  310. package/dist/vmobjects/CurvedShape.js.map +1 -0
  311. package/dist/vmobjects/Polygon.d.ts +5 -0
  312. package/dist/vmobjects/Polygon.d.ts.map +1 -0
  313. package/dist/vmobjects/Polygon.js +12 -0
  314. package/dist/vmobjects/Polygon.js.map +1 -0
  315. package/dist/vmobjects/PolygonalLine.d.ts +9 -0
  316. package/dist/vmobjects/PolygonalLine.d.ts.map +1 -0
  317. package/dist/vmobjects/PolygonalLine.js +34 -0
  318. package/dist/vmobjects/PolygonalLine.js.map +1 -0
  319. package/dist/vmobjects/VMobject.d.ts +58 -0
  320. package/dist/vmobjects/VMobject.d.ts.map +1 -0
  321. package/dist/vmobjects/VMobject.js +165 -0
  322. package/dist/vmobjects/VMobject.js.map +1 -0
  323. package/dist/vmobjects/VView.d.ts +19 -0
  324. package/dist/vmobjects/VView.d.ts.map +1 -0
  325. package/dist/vmobjects/VView.js +61 -0
  326. package/dist/vmobjects/VView.js.map +1 -0
  327. package/package.json +43 -4
@@ -0,0 +1,19 @@
1
+ import { Mobject } from '../mobjects/Mobject.js';
2
+ import { vertex, vertexArray } from '@bhbr/affr2';
3
+ import { Board } from '../boards/Board.js';
4
+ export declare class Creator extends Mobject {
5
+ creation?: Mobject;
6
+ creationStroke: vertexArray;
7
+ helpText: string;
8
+ pointOffset: vertex;
9
+ defaults(): object;
10
+ get parent(): Board;
11
+ set parent(newValue: Board);
12
+ setup(): void;
13
+ getStartPoint(): vertex;
14
+ getEndPoint(): vertex;
15
+ dissolve(): void;
16
+ createMobject(): Mobject;
17
+ updateFromTip(q: vertex, redraw?: boolean): void;
18
+ }
19
+ //# sourceMappingURL=Creator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Creator.d.ts","sourceRoot":"","sources":["../../src/creators/Creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,WAAW,EAA6B,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,qBAAa,OAAQ,SAAQ,OAAO;IAEnC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,WAAW,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IAEnB,QAAQ,IAAI,MAAM;IAUlB,IAAI,MAAM,IAAI,KAAK,CAElB;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,EAEzB;IAED,KAAK;IAOL,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,MAAM;IAIrB,QAAQ;IAWR,aAAa,IAAI,OAAO;IAMxB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;CAK/C"}
@@ -0,0 +1,54 @@
1
+ import { Mobject } from '../mobjects/Mobject.js';
2
+ import { ScreenEventHandler } from '../mobjects/screen_events.js';
3
+ import { vertexAdd } from '@bhbr/affr2';
4
+ export class Creator extends Mobject {
5
+ defaults() {
6
+ return {
7
+ creationStroke: [],
8
+ creation: null,
9
+ screenEventHandler: ScreenEventHandler.Self,
10
+ helpText: '',
11
+ pointOffset: [0, 0]
12
+ };
13
+ }
14
+ get parent() {
15
+ return super.parent;
16
+ }
17
+ set parent(newValue) {
18
+ super.parent = newValue;
19
+ }
20
+ setup() {
21
+ super.setup();
22
+ this.update({
23
+ anchor: this.getStartPoint()
24
+ });
25
+ }
26
+ getStartPoint() {
27
+ return this.creationStroke[0] ?? this.view.frame.anchor;
28
+ }
29
+ getEndPoint() {
30
+ return this.creationStroke[this.creationStroke.length - 1] ?? this.view.frame.anchor;
31
+ }
32
+ dissolve() {
33
+ this.remove(this.creation);
34
+ this.creation = this.createMobject();
35
+ this.creation.update({
36
+ anchor: vertexAdd(this.getStartPoint(), this.pointOffset)
37
+ }, true);
38
+ this.parent.addToContent(this.creation);
39
+ this.parent.creator = null;
40
+ this.parent.remove(this);
41
+ }
42
+ createMobject() {
43
+ return new Mobject({
44
+ anchor: this.pointOffset
45
+ });
46
+ }
47
+ updateFromTip(q, redraw = true) {
48
+ this.updateDependents();
49
+ if (redraw) {
50
+ this.view.redraw();
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=Creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Creator.js","sourceRoot":"","sources":["../../src/creators/Creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAuB,SAAS,EAAkB,MAAM,aAAa,CAAA;AAI5E,MAAM,OAAO,OAAQ,SAAQ,OAAO;IAOnC,QAAQ;QACP,OAAO;YACN,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,IAAI;YACd,kBAAkB,EAAE,kBAAkB,CAAC,IAAI;YAC3C,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,CAAA;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAO,KAAK,CAAC,MAAe,CAAA;IAC7B,CAAC;IACD,IAAI,MAAM,CAAC,QAAe;QACzB,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAA;IACxB,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,MAAM,CAAC;YACX,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE;SAC5B,CAAC,CAAA;IACH,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IACxD,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IACrF,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC;SACzD,EAAE,IAAI,CAAC,CAAA;QACR,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,OAAO,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC,CAAA;IACH,CAAC;IAED,aAAa,CAAC,CAAS,EAAE,SAAkB,IAAI;QAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;QAAC,CAAC;IACnC,CAAC;CAED"}
@@ -0,0 +1,10 @@
1
+ import { Mobject } from '../mobjects/Mobject.js';
2
+ import { Creator } from './Creator.js';
3
+ import { vertex } from '@bhbr/affr2';
4
+ export declare class DraggingCreator extends Creator {
5
+ setup(): void;
6
+ createMobject(): Mobject;
7
+ updateFromTip(q: vertex, redraw?: boolean): void;
8
+ dissolve(): void;
9
+ }
10
+ //# sourceMappingURL=DraggingCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DraggingCreator.d.ts","sourceRoot":"","sources":["../../src/creators/DraggingCreator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,MAAM,EAA6B,MAAM,aAAa,CAAA;AAK/D,qBAAa,eAAgB,SAAQ,OAAO;IAE3C,KAAK;IAML,aAAa,IAAI,OAAO;IAYxB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAQ/C,QAAQ;CAWR"}
@@ -0,0 +1,45 @@
1
+ import { Creator } from './Creator.js';
2
+ import { Color } from '../views/Color.js';
3
+ import { vertexAdd, vertexSubtract } from '@bhbr/affr2';
4
+ import { Rectangle } from '../shapes/Rectangle.js';
5
+ import { VView } from '../vmobjects/VView.js';
6
+ export class DraggingCreator extends Creator {
7
+ setup() {
8
+ super.setup();
9
+ this.creation = this.createMobject();
10
+ this.add(this.creation);
11
+ }
12
+ createMobject() {
13
+ return new Rectangle({
14
+ width: 50,
15
+ height: 50,
16
+ view: new VView({
17
+ fillColor: Color.red(),
18
+ fillOpacity: 1.0
19
+ }),
20
+ anchor: this.pointOffset
21
+ });
22
+ }
23
+ updateFromTip(q, redraw = true) {
24
+ super.updateFromTip(q, false);
25
+ this.creation.update({
26
+ anchor: vertexAdd(vertexSubtract(q, this.getStartPoint()), this.pointOffset)
27
+ }, redraw);
28
+ if (redraw) {
29
+ this.view.redraw();
30
+ }
31
+ }
32
+ dissolve() {
33
+ if (this.creation === null) {
34
+ return;
35
+ }
36
+ this.creation.update({
37
+ anchor: vertexAdd(this.creation.anchor, this.anchor)
38
+ });
39
+ this.remove(this.creation);
40
+ this.parent.addToContent(this.creation);
41
+ this.parent.creator = null;
42
+ this.parent.remove(this);
43
+ }
44
+ }
45
+ //# sourceMappingURL=DraggingCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DraggingCreator.js","sourceRoot":"","sources":["../../src/creators/DraggingCreator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAU,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAG7C,MAAM,OAAO,eAAgB,SAAQ,OAAO;IAE3C,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,SAAS,CAAC;YACpB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,IAAI,KAAK,CAAC;gBACf,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE;gBACtB,WAAW,EAAE,GAAG;aAChB,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC,CAAA;IACH,CAAC;IAED,aAAa,CAAC,CAAS,EAAE,SAAkB,IAAI;QAC9C,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;SAC5E,EAAE,MAAM,CAAC,CAAA;QACV,IAAI,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;QAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACP,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAAC,OAAM;QAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;SACpD,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;CAED"}
@@ -0,0 +1,16 @@
1
+ import { Creator } from '../creators/Creator.js';
2
+ import { PolygonalLine } from '../vmobjects/PolygonalLine.js';
3
+ import { vertex } from '@bhbr/affr2';
4
+ import { Color } from '../views/Color.js';
5
+ export declare class Freehand extends Creator {
6
+ line: PolygonalLine;
7
+ penStrokeColor: Color;
8
+ penStrokeWidth: number;
9
+ penStrokeLength: number;
10
+ defaults(): object;
11
+ mutabilities(): object;
12
+ setup(): void;
13
+ updateFromTip(q: vertex, redraw?: boolean): void;
14
+ dissolve(): void;
15
+ }
16
+ //# sourceMappingURL=Freehand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Freehand.d.ts","sourceRoot":"","sources":["../../src/creators/Freehand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAMzC,qBAAa,QAAS,SAAQ,OAAO;IAEpC,IAAI,EAAE,aAAa,CAAA;IACnB,cAAc,EAAE,KAAK,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IAEvB,QAAQ,IAAI,MAAM;IAYlB,YAAY,IAAI,MAAM;IAOtB,KAAK;IAaL,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAQ/C,QAAQ;CAwBR"}
@@ -0,0 +1,68 @@
1
+ import { Creator } from '../creators/Creator.js';
2
+ import { PolygonalLine } from '../vmobjects/PolygonalLine.js';
3
+ import { Color } from '../views/Color.js';
4
+ import { ScreenEventHandler } from '../mobjects/screen_events.js';
5
+ export class Freehand extends Creator {
6
+ defaults() {
7
+ return {
8
+ screenEventHandler: ScreenEventHandler.Below,
9
+ line: new PolygonalLine({
10
+ closed: false
11
+ }),
12
+ penStrokeColor: Color.white(),
13
+ penStrokeWidth: 1.0,
14
+ penStrokeLength: 2.0
15
+ };
16
+ }
17
+ mutabilities() {
18
+ return {
19
+ screenEventHandler: 'never',
20
+ line: 'never'
21
+ };
22
+ }
23
+ setup() {
24
+ super.setup();
25
+ this.update({
26
+ anchor: [0, 0]
27
+ });
28
+ this.line.update({
29
+ anchor: [0, 0],
30
+ vertices: this.creationStroke
31
+ });
32
+ this.addDependency('penStrokeColor', this.line, 'strokeColor');
33
+ this.add(this.line);
34
+ }
35
+ updateFromTip(q, redraw = true) {
36
+ super.updateFromTip(q, false);
37
+ if (redraw) {
38
+ this.line.view.redraw();
39
+ this.view.redraw();
40
+ }
41
+ }
42
+ dissolve() {
43
+ this.update({
44
+ frameWidth: this.line.getWidth(),
45
+ frameHeight: this.line.getHeight()
46
+ });
47
+ let tl = this.line.ulCorner();
48
+ this.update({
49
+ anchor: tl
50
+ });
51
+ for (var i = 0; i < this.line.vertices.length; i++) {
52
+ this.line.vertices[i][0] -= tl[0];
53
+ this.line.vertices[i][1] -= tl[1];
54
+ }
55
+ this.line.view.redraw();
56
+ let par = this.parent;
57
+ if (par === null || par === undefined) {
58
+ return;
59
+ }
60
+ par.creator = null;
61
+ par.remove(this);
62
+ if (this.view.visible) {
63
+ par.addToContent(this);
64
+ par.content.moveToBack(this);
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=Freehand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Freehand.js","sourceRoot":"","sources":["../../src/creators/Freehand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Creator } from './Creator.js';
2
+ import { Rectangle } from '../shapes/Rectangle.js';
3
+ import { vertex } from '@bhbr/affr2';
4
+ export declare class SpanningCreator extends Creator {
5
+ rectangle: Rectangle;
6
+ defaults(): object;
7
+ mutabilities(): object;
8
+ setup(): void;
9
+ topLeftVertex(): vertex;
10
+ getWidth(): number;
11
+ getHeight(): number;
12
+ updateFromTip(q: vertex, redraw?: boolean): void;
13
+ dissolve(): void;
14
+ }
15
+ //# sourceMappingURL=SpanningCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpanningCreator.d.ts","sourceRoot":"","sources":["../../src/creators/SpanningCreator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAa,MAAM,aAAa,CAAA;AAK/C,qBAAa,eAAgB,SAAQ,OAAO;IAE3C,SAAS,EAAE,SAAS,CAAA;IAEpB,QAAQ,IAAI,MAAM;IAMlB,YAAY,IAAI,MAAM;IAMtB,KAAK;IASL,aAAa,IAAI,MAAM;IAOvB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAU/C,QAAQ;CAoBR"}
@@ -0,0 +1,66 @@
1
+ import { Creator } from './Creator.js';
2
+ import { Rectangle } from '../shapes/Rectangle.js';
3
+ import { vertexAdd } from '@bhbr/affr2';
4
+ import { Linkable } from '../linkables/Linkable.js';
5
+ export class SpanningCreator extends Creator {
6
+ defaults() {
7
+ return {
8
+ rectangle: new Rectangle()
9
+ };
10
+ }
11
+ mutabilities() {
12
+ return {
13
+ rectangle: 'always' // should be never (Mobject bug)
14
+ };
15
+ }
16
+ setup() {
17
+ super.setup();
18
+ this.add(this.rectangle);
19
+ //this.addDependency('topLeftVertex', this.rectangle, 'anchor')
20
+ this.addDependency('getWidth', this.rectangle, 'width');
21
+ this.addDependency('getHeight', this.rectangle, 'height');
22
+ }
23
+ topLeftVertex() {
24
+ return vertexAdd([
25
+ Math.min(this.getStartPoint()[0], this.getEndPoint()[0]),
26
+ Math.min(this.getStartPoint()[1], this.getEndPoint()[1])
27
+ ], this.pointOffset);
28
+ }
29
+ getWidth() {
30
+ return Math.abs(this.getStartPoint()[0] - this.getEndPoint()[0]);
31
+ }
32
+ getHeight() {
33
+ return Math.abs(this.getStartPoint()[1] - this.getEndPoint()[1]);
34
+ }
35
+ updateFromTip(q, redraw = true) {
36
+ super.updateFromTip(q, false);
37
+ this.update({
38
+ anchor: this.topLeftVertex(),
39
+ frameWidth: this.getWidth(),
40
+ frameHeight: this.getHeight()
41
+ });
42
+ if (redraw) {
43
+ this.view.redraw();
44
+ }
45
+ }
46
+ dissolve() {
47
+ let w = this.getWidth();
48
+ let h = this.getHeight();
49
+ if (this.creation) {
50
+ this.remove(this.creation);
51
+ }
52
+ this.creation = this.createMobject();
53
+ this.creation.update({
54
+ anchor: this.topLeftVertex(),
55
+ frameWidth: w,
56
+ frameHeight: h
57
+ });
58
+ if (this.creation instanceof Linkable) {
59
+ this.creation.positionIOLists();
60
+ }
61
+ this.parent.addToContent(this.creation);
62
+ this.parent.creator = null;
63
+ this.parent.remove(this);
64
+ }
65
+ }
66
+ //# sourceMappingURL=SpanningCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpanningCreator.js","sourceRoot":"","sources":["../../src/creators/SpanningCreator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function logString(msg: any): string;
2
+ export declare function htmlLog(msg: any): void;
3
+ export declare function log(msg: any): void;
4
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/functions/logging.ts"],"names":[],"mappings":"AAyEA,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE1C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,QAE/B;AAaD,wBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,QAI3B"}
@@ -0,0 +1,103 @@
1
+ import { isTouchDevice } from '../mobjects/screen_events.js';
2
+ import { SHOW_HTML_CONSOLE } from '../constants.js';
3
+ let debugging = true;
4
+ let logTimestamps = false;
5
+ // logging inside HTML instead of the console
6
+ // for debugging the app e. g. on iPad
7
+ function logInto(obj, id) {
8
+ let msg = obj.toString() + '\n';
9
+ let htmlConsole = document.querySelector('#' + id);
10
+ htmlConsole.hidden = (isTouchDevice && !SHOW_HTML_CONSOLE) || !isTouchDevice;
11
+ htmlConsole.append(msg);
12
+ // push old log entries out the top of the scroll view
13
+ // (these lines don't work though)
14
+ htmlConsole.scrollTop = htmlConsole.scrollHeight;
15
+ }
16
+ function mereLogString(msg) {
17
+ if (msg === undefined) {
18
+ return 'undefined';
19
+ }
20
+ else if (msg === null) {
21
+ return 'null';
22
+ }
23
+ else if (typeof msg === 'string') {
24
+ return msg;
25
+ }
26
+ else if (typeof msg === 'boolean') {
27
+ return msg ? 'true' : 'false';
28
+ }
29
+ else if (typeof msg === 'number') {
30
+ return msg.toString();
31
+ }
32
+ else if (msg.constructor.name == 'Array' || msg.constructor.name == 'Vertex') {
33
+ if (msg.length == 0) {
34
+ return "[]";
35
+ }
36
+ else if (msg[0].constructor.name == 'HTMLDivElement') {
37
+ let ret = '[';
38
+ for (let i = 0; i < msg.length - 1; i++) {
39
+ ret += msg[i].className + ', ';
40
+ }
41
+ ret += msg[msg.length - 1].className + ']';
42
+ return ret;
43
+ }
44
+ else {
45
+ let ret = '[';
46
+ for (let i = 0; i < msg.length - 1; i++) {
47
+ ret += mereLogString(msg[i]) + ', ';
48
+ }
49
+ ret += mereLogString(msg[msg.length - 1]) + ']';
50
+ return ret;
51
+ }
52
+ }
53
+ else {
54
+ let keys = Object.keys(msg);
55
+ if (keys.length == 0) {
56
+ return '{}';
57
+ }
58
+ else if (keys.length <= 5) {
59
+ var ret = '{ ';
60
+ for (let i = 0; i < keys.length - 1; i++) {
61
+ ret += keys[i] + ' : ' + mereLogString(msg[keys[i]]) + ', ';
62
+ }
63
+ ret += keys[keys.length - 1] + ' : ' + mereLogString(msg[keys[keys.length - 1]]) + ' }';
64
+ return ret;
65
+ }
66
+ else {
67
+ return msg.constructor.name;
68
+ }
69
+ }
70
+ }
71
+ function datedLogString(msg) {
72
+ return `${Date.now()} ${mereLogString(msg)}`;
73
+ }
74
+ export function logString(msg) {
75
+ return logTimestamps ? datedLogString(msg) : mereLogString(msg);
76
+ }
77
+ export function htmlLog(msg) {
78
+ logInto(logString(msg), 'htmlConsole');
79
+ }
80
+ function jsLog(msg) {
81
+ if (typeof msg == 'string') {
82
+ console.log(logString(msg));
83
+ }
84
+ else {
85
+ if (logTimestamps) {
86
+ console.log(`${Date.now()}`, msg);
87
+ }
88
+ else {
89
+ console.log(msg);
90
+ }
91
+ }
92
+ }
93
+ export function log(msg) {
94
+ // device-agnostic log function
95
+ // this should be used for logging
96
+ if (isTouchDevice && debugging) {
97
+ htmlLog(msg);
98
+ }
99
+ else {
100
+ jsLog(msg);
101
+ }
102
+ }
103
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/functions/logging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function numberArraySum(arr: Array<number>): number;
2
+ export declare function numberArrayAverage(arr: Array<number>): number;
3
+ export declare function numberArrayCumSum(arr: Array<number>): Array<number>;
4
+ export declare function numberArrayCumAverage(arr: Array<number>): Array<number>;
5
+ export declare function factorial(n: number): number;
6
+ export declare function binomial(n: number, k: number): number;
7
+ export declare function gaussianRandom(mean?: number, stdev?: number): number;
8
+ export declare function randomBinomial(n?: number, p?: number): number;
9
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/functions/math.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAMzD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAG7D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CASnE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CASvE;AAUD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CASrD;AAUD,wBAAgB,cAAc,CAAC,IAAI,GAAE,MAAU,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAM1E;AAED,wBAAgB,cAAc,CAAC,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAY,GAAG,MAAM,CAUrE"}
@@ -0,0 +1,85 @@
1
+ ///////////////////////
2
+ // SUMS AND AVERAGES //
3
+ ///////////////////////
4
+ export function numberArraySum(arr) {
5
+ var sum = 0;
6
+ for (var i = 0; i < arr.length; i++) {
7
+ sum += arr[i];
8
+ }
9
+ return sum;
10
+ }
11
+ export function numberArrayAverage(arr) {
12
+ if (arr.length == 0) {
13
+ return NaN;
14
+ }
15
+ return numberArraySum(arr) / arr.length;
16
+ }
17
+ export function numberArrayCumSum(arr) {
18
+ if (arr.length == 0) {
19
+ return [];
20
+ }
21
+ let cumsum = [];
22
+ var sum = 0;
23
+ for (var i = 0; i < arr.length; i++) {
24
+ sum += arr[i];
25
+ cumsum.push(sum);
26
+ }
27
+ return cumsum;
28
+ }
29
+ export function numberArrayCumAverage(arr) {
30
+ if (arr.length == 0) {
31
+ return [];
32
+ }
33
+ let cumsum = [];
34
+ var sum = 0;
35
+ for (var i = 0; i < arr.length; i++) {
36
+ sum += arr[i];
37
+ cumsum.push(sum / (i + 1));
38
+ }
39
+ return cumsum;
40
+ }
41
+ ///////////////////
42
+ // COMBINATORICS //
43
+ ///////////////////
44
+ export function factorial(n) {
45
+ if (n == 0 || n == 1) {
46
+ return 1;
47
+ }
48
+ var prod = 1;
49
+ for (var i = 2; i <= n; i++) {
50
+ prod *= i;
51
+ }
52
+ return prod;
53
+ }
54
+ export function binomial(n, k) {
55
+ var prod = 1;
56
+ for (var i = 0; i < k; i++) {
57
+ prod *= (n - i) / (k - i);
58
+ }
59
+ for (var j = 0; j < n - k; j++) {
60
+ prod *= (n - k - j) / (j + 1);
61
+ }
62
+ return Math.round(prod);
63
+ }
64
+ //////////
65
+ // RNGS //
66
+ //////////
67
+ export function gaussianRandom(mean = 0, stdev = 1) {
68
+ const u = 1 - Math.random(); // Converting [0,1) to (0,1]
69
+ const v = Math.random();
70
+ const z = Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v);
71
+ // Transform to the desired mean and standard deviation:
72
+ return z * stdev + mean;
73
+ }
74
+ export function randomBinomial(n = 1, p = 0.5) {
75
+ if (n < 5e3) {
76
+ var X = 0;
77
+ for (var i = 0; i < n; i++) {
78
+ let v = (Math.random() < p) ? 1 : 0;
79
+ X += v;
80
+ }
81
+ return X;
82
+ }
83
+ return Math.round(gaussianRandom(n * p, (n * p * (1 - p)) ** 0.5));
84
+ }
85
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/functions/math.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function roundedString(x: number, digits?: number): string;
2
+ export declare function prettyPrint(value: any, precision?: number): string;
3
+ export declare function conditionTrigger(condition: () => boolean, handler: () => void, period?: number): void;
4
+ //# sourceMappingURL=various.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"various.d.ts","sourceRoot":"","sources":["../../src/functions/various.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAyBnE;AAUD,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,GAAE,MAAY,QASnG"}
@@ -0,0 +1,54 @@
1
+ export function roundedString(x, digits = 3) {
2
+ //log(x)
3
+ if (digits <= 0) {
4
+ digits = 1;
5
+ }
6
+ let signed = (x < 0);
7
+ x = Math.abs(x);
8
+ let maxDecimalPlace = Math.floor(Math.log10(x));
9
+ //log(maxDecimalPlace)
10
+ let minDecimalPlace = maxDecimalPlace - digits + 1;
11
+ //log(minDecimalPlace)
12
+ let y = x * 10 ** (-minDecimalPlace);
13
+ //log(y)
14
+ let z = Math.round(y);
15
+ //log(z)
16
+ let w = z * 10 ** minDecimalPlace;
17
+ //log(w)
18
+ let s = w.toString();
19
+ //log(s)
20
+ if (s.includes('.')) {
21
+ let t = s.substring(0, digits + 1);
22
+ return `${signed ? '-' : ''}${t}`;
23
+ }
24
+ else {
25
+ return `${signed ? '-' : ''}${s}`;
26
+ }
27
+ }
28
+ function prettyPrintNumber(value, precision = 4) {
29
+ if (Math.round(value) != value) {
30
+ return value.toPrecision(precision);
31
+ }
32
+ else {
33
+ return `${value}`;
34
+ }
35
+ }
36
+ export function prettyPrint(value, precision = 4) {
37
+ if (typeof value == 'number') {
38
+ return prettyPrintNumber(value);
39
+ }
40
+ else {
41
+ return `${value}`;
42
+ }
43
+ }
44
+ export function conditionTrigger(condition, handler, period = 0.1) {
45
+ let id = `timeoutID_${Date.now()}`;
46
+ window[id] = window.setInterval(function () {
47
+ if (condition()) {
48
+ window.clearInterval(window[id]);
49
+ delete window[id];
50
+ handler();
51
+ }
52
+ }, period * 1000);
53
+ }
54
+ //# sourceMappingURL=various.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"various.js","sourceRoot":"","sources":["../../src/functions/various.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,SAAiB,CAAC;IAC1D,QAAQ;IACR,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC,CAAA;IACX,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACpB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACf,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,sBAAsB;IACtB,IAAI,eAAe,GAAG,eAAe,GAAG,MAAM,GAAG,CAAC,CAAA;IAClD,sBAAsB;IACtB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACpC,QAAQ;IACR,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrB,QAAQ;IACR,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,eAAe,CAAA;IACjC,QAAQ;IACR,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;IACpB,QAAQ;IACR,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;QAClC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;IAClC,CAAC;SAAM,CAAC;QACP,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;IAClC,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,YAAoB,CAAC;IAC9D,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;SAAM,CAAC;QACP,OAAO,GAAG,KAAK,EAAE,CAAC;IACnB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAU,EAAE,YAAqB,CAAC;IAC7D,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC,KAAe,CAAC,CAAA;IAC1C,CAAC;SAAM,CAAC;QACP,OAAO,GAAG,KAAK,EAAE,CAAC;IACnB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAwB,EAAE,OAAmB,EAAE,SAAiB,GAAG;IACnG,IAAI,EAAE,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IAClC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/B,IAAI,SAAS,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAChC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;YACjB,OAAO,EAAE,CAAA;QACV,CAAC;IACF,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;AAClB,CAAC"}