@classytic/labs 0.3.0 → 0.4.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 (2479) hide show
  1. package/README.md +63 -22
  2. package/dist/_virtual/_rolldown/runtime.mjs +19 -1
  3. package/dist/algorithms/GraphAlgorithmLab.d.mts +1 -9
  4. package/dist/algorithms/GraphAlgorithmLab.mjs +2 -2
  5. package/dist/algorithms/GraphView.d.mts +1 -10
  6. package/dist/algorithms/GridPathLab.d.mts +1 -6
  7. package/dist/algorithms/GrowthLab.d.mts +1 -7
  8. package/dist/algorithms/GrowthLab.mjs +1 -1
  9. package/dist/algorithms/HashLab.d.mts +1 -9
  10. package/dist/algorithms/HashLab.mjs +3 -2
  11. package/dist/algorithms/HeapDualView.d.mts +1 -7
  12. package/dist/algorithms/HeapQuestLab.d.mts +1 -10
  13. package/dist/algorithms/HeapQuestLab.mjs +1 -1
  14. package/dist/algorithms/ListLab.d.mts +1 -9
  15. package/dist/algorithms/ListLab.mjs +1 -1
  16. package/dist/algorithms/SearchLab.d.mts +1 -7
  17. package/dist/algorithms/SearchLab.mjs +1 -1
  18. package/dist/algorithms/SortingLab.d.mts +1 -9
  19. package/dist/algorithms/SortingLab.mjs +1 -1
  20. package/dist/algorithms/TraceTransport.d.mts +1 -8
  21. package/dist/algorithms/TraceTransport.mjs +0 -1
  22. package/dist/algorithms/TreeQuestLab.d.mts +1 -12
  23. package/dist/algorithms/TreeQuestLab.mjs +3 -3
  24. package/dist/algorithms/TreeScene.d.mts +1 -7
  25. package/dist/algorithms/TreeScene.mjs +8 -4
  26. package/dist/algorithms/core/index.d.mts +6 -1
  27. package/dist/algorithms/core/index.mjs +9 -4
  28. package/dist/algorithms/cost-derivation/core.d.mts +1 -1
  29. package/dist/algorithms/cost-derivation/core.mjs +1 -1
  30. package/dist/algorithms/cost-derivation/index.d.mts +2 -1
  31. package/dist/algorithms/cost-derivation/preset.d.mts +1 -7
  32. package/dist/algorithms/cost-derivation/preset.mjs +1 -1
  33. package/dist/algorithms/dp.d.mts +0 -1
  34. package/dist/algorithms/graph.d.mts +0 -1
  35. package/dist/algorithms/graph.mjs +1 -1
  36. package/dist/algorithms/heap.d.mts +0 -1
  37. package/dist/algorithms/index.d.mts +6 -5
  38. package/dist/algorithms/index.mjs +12 -12
  39. package/dist/algorithms/normalize.d.mts +0 -1
  40. package/dist/algorithms/presets.d.mts +0 -1
  41. package/dist/algorithms/search.d.mts +0 -1
  42. package/dist/algorithms/sorting.d.mts +0 -1
  43. package/dist/algorithms/tree/index.mjs +1 -1
  44. package/dist/algorithms/tree-builder.d.mts +0 -1
  45. package/dist/algorithms/tree-layout.d.mts +0 -1
  46. package/dist/algorithms/tree-presets.d.mts +0 -1
  47. package/dist/algorithms/tree.d.mts +0 -1
  48. package/dist/authoring/evidence.mjs +68 -0
  49. package/dist/authoring/index.d.mts +2 -3
  50. package/dist/authoring/index.mjs +2 -2
  51. package/dist/authoring/quality.d.mts +4 -3
  52. package/dist/authoring/quality.mjs +28 -1
  53. package/dist/authoring/report.d.mts +9 -1
  54. package/dist/authoring/report.mjs +12 -1
  55. package/dist/biology/cell-division/activity.d.mts +1 -1
  56. package/dist/biology/cell-division/core.mjs +2 -1
  57. package/dist/biology/cell-division/index.d.mts +4 -1
  58. package/dist/biology/cell-division/meiosis-activity.d.mts +1 -1
  59. package/dist/biology/cell-division/meiosis-preset.d.mts +2 -12
  60. package/dist/biology/cell-division/meiosis-preset.mjs +1 -1
  61. package/dist/biology/cell-division/meiosis-scene.d.mts +1 -7
  62. package/dist/biology/cell-division/preset.d.mts +2 -13
  63. package/dist/biology/cell-division/preset.mjs +6 -4
  64. package/dist/biology/cell-energy/activity.d.mts +1 -1
  65. package/dist/biology/cell-energy/core.d.mts +1 -6
  66. package/dist/biology/cell-energy/index.d.mts +3 -1
  67. package/dist/biology/cell-energy/preset.d.mts +2 -15
  68. package/dist/biology/cell-sample-investigator/core.d.mts +18 -0
  69. package/dist/biology/cell-sample-investigator/core.mjs +56 -0
  70. package/dist/biology/cell-sample-investigator.d.mts +17 -0
  71. package/dist/biology/cell-sample-investigator.mjs +446 -0
  72. package/dist/biology/cell-system/activity.d.mts +1 -1
  73. package/dist/biology/cell-system/index.d.mts +3 -1
  74. package/dist/biology/cell-system/preset.d.mts +2 -13
  75. package/dist/biology/cell-system/preset.mjs +5 -5
  76. package/dist/biology/enzyme-rate/index.d.mts +2 -1
  77. package/dist/biology/enzyme-rate/preset.d.mts +1 -11
  78. package/dist/biology/enzyme-rate/preset.mjs +2 -1
  79. package/dist/biology/genetic-cross/core.mjs +1 -1
  80. package/dist/biology/genetic-cross/grid.mjs +3 -2
  81. package/dist/biology/genetic-cross/index.d.mts +2 -1
  82. package/dist/biology/genetic-cross/preset.d.mts +1 -12
  83. package/dist/biology/genetic-cross/sex-linked.d.mts +1 -12
  84. package/dist/biology/index.d.mts +13 -1
  85. package/dist/biology/index.mjs +3 -1
  86. package/dist/biology/membrane-transport/activity.d.mts +1 -1
  87. package/dist/biology/membrane-transport/core.d.mts +1 -7
  88. package/dist/biology/membrane-transport/index.d.mts +3 -1
  89. package/dist/biology/membrane-transport/preset.d.mts +2 -18
  90. package/dist/biology/photosynthesis-factors/index.d.mts +2 -1
  91. package/dist/biology/photosynthesis-factors/preset.d.mts +1 -11
  92. package/dist/biology/punnett-cross/index.d.mts +2 -1
  93. package/dist/biology/punnett-cross/preset.d.mts +1 -12
  94. package/dist/biology/respiration/index.d.mts +2 -1
  95. package/dist/biology/respiration/preset.d.mts +1 -7
  96. package/dist/biology/respiration/preset.mjs +2 -2
  97. package/dist/biology/sequence/central-dogma.d.mts +1 -7
  98. package/dist/biology/sequence/central-dogma.mjs +1 -1
  99. package/dist/biology/sequence/index.d.mts +2 -1
  100. package/dist/biology/sequence/preset.d.mts +1 -8
  101. package/dist/blocks/authoring.d.mts +0 -1
  102. package/dist/blocks/authoring.mjs +1 -1
  103. package/dist/blocks/catalog.d.mts +1 -1
  104. package/dist/blocks/domains.d.mts +2 -3
  105. package/dist/blocks/domains.mjs +3 -4
  106. package/dist/blocks/index.d.mts +0 -1
  107. package/dist/blocks/lab-block.mjs +14 -1
  108. package/dist/blocks/lab-config.d.mts +1 -8
  109. package/dist/blocks/lab-config.mjs +1 -1
  110. package/dist/blocks/lazy-resolve.d.mts +1 -5
  111. package/dist/blocks/lazy.d.mts +1 -3
  112. package/dist/blocks/lazy.mjs +1 -2
  113. package/dist/blocks/lesson.d.mts +1 -7
  114. package/dist/blocks/lesson.mjs +11 -10
  115. package/dist/blocks/resolve.d.mts +2 -0
  116. package/dist/blocks/resolve.mjs +5 -0
  117. package/dist/build/CircuitEditor.d.mts +1 -5
  118. package/dist/build/CircuitEditor.mjs +3 -2
  119. package/dist/build/CircuitPlayer.d.mts +1 -7
  120. package/dist/build/CircuitScene.d.mts +1 -11
  121. package/dist/build/contract.d.mts +1 -2
  122. package/dist/build/editor-ops.d.mts +0 -1
  123. package/dist/build/editor-ops.mjs +3 -2
  124. package/dist/build/flow.d.mts +0 -1
  125. package/dist/build/parts/ammeter.d.mts +1 -1
  126. package/dist/build/parts/bulb.d.mts +1 -1
  127. package/dist/build/parts/capacitor.d.mts +1 -1
  128. package/dist/build/parts/cell.d.mts +1 -1
  129. package/dist/build/parts/diode.d.mts +1 -1
  130. package/dist/build/parts/index.d.mts +10 -0
  131. package/dist/build/parts/index.mjs +1 -1
  132. package/dist/build/parts/mosfet.d.mts +1 -1
  133. package/dist/build/parts/mosfet.mjs +2 -1
  134. package/dist/build/parts/node.d.mts +1 -1
  135. package/dist/build/parts/resistor.d.mts +1 -1
  136. package/dist/build/parts/switch.d.mts +1 -1
  137. package/dist/build/registry.d.mts +0 -1
  138. package/dist/build/solve.d.mts +0 -1
  139. package/dist/build/solve.mjs +0 -0
  140. package/dist/build/viewport.mjs +3 -3
  141. package/dist/catalog/registry.d.mts +1 -2
  142. package/dist/chem/applied-chemistry-lab.d.mts +10 -0
  143. package/dist/chem/applied-chemistry-lab.mjs +341 -0
  144. package/dist/chem/battery.d.mts +1 -7
  145. package/dist/chem/battery.mjs +22 -17
  146. package/dist/chem/bohr-atom.d.mts +1 -7
  147. package/dist/chem/bohr-atom.mjs +2 -3
  148. package/dist/chem/crystal-lattice/activity.d.mts +0 -1
  149. package/dist/chem/crystal-lattice/index.d.mts +2 -1
  150. package/dist/chem/crystal-lattice/preset.d.mts +2 -18
  151. package/dist/chem/diffusion/index.d.mts +2 -1
  152. package/dist/chem/diffusion/preset.d.mts +1 -7
  153. package/dist/chem/diffusion/preset.mjs +2 -1
  154. package/dist/chem/electrochem/index.d.mts +3 -1
  155. package/dist/chem/electrochem/preset.d.mts +1 -11
  156. package/dist/chem/electrochem/preset.mjs +19 -327
  157. package/dist/chem/electrochem/scene.d.mts +2 -0
  158. package/dist/chem/electrochem/scene.mjs +370 -0
  159. package/dist/chem/equation-conservation-desk.d.mts +22 -0
  160. package/dist/chem/equation-conservation-desk.mjs +250 -0
  161. package/dist/chem/equilibrium/index.d.mts +2 -1
  162. package/dist/chem/equilibrium/preset.d.mts +1 -14
  163. package/dist/chem/equilibrium/preset.mjs +25 -16
  164. package/dist/chem/evidence-scenes.mjs +460 -0
  165. package/dist/chem/formula-forge.d.mts +11 -0
  166. package/dist/chem/formula-forge.mjs +347 -0
  167. package/dist/chem/gas-box/index.d.mts +2 -1
  168. package/dist/chem/gas-box/preset.d.mts +1 -13
  169. package/dist/chem/gas-box/preset.mjs +34 -25
  170. package/dist/chem/index.d.mts +33 -1
  171. package/dist/chem/index.mjs +17 -1
  172. package/dist/chem/industrial-process-lab.d.mts +10 -0
  173. package/dist/chem/industrial-process-lab.mjs +197 -0
  174. package/dist/chem/kinetics/index.d.mts +2 -1
  175. package/dist/chem/kinetics/preset.d.mts +1 -12
  176. package/dist/chem/kinetics/preset.mjs +27 -23
  177. package/dist/chem/mole-factory.d.mts +11 -0
  178. package/dist/chem/mole-factory.mjs +351 -0
  179. package/dist/chem/molecular-geometry/activity.d.mts +0 -1
  180. package/dist/chem/molecular-geometry/index.d.mts +2 -1
  181. package/dist/chem/molecular-geometry/preset.d.mts +1 -15
  182. package/dist/chem/molecular-geometry/preset.mjs +6 -5
  183. package/dist/chem/o-level-concepts.d.mts +32 -0
  184. package/dist/chem/o-level-concepts.mjs +700 -0
  185. package/dist/chem/orbital-overlap/activity.d.mts +0 -1
  186. package/dist/chem/orbital-overlap/index.d.mts +2 -1
  187. package/dist/chem/orbital-overlap/preset.d.mts +2 -16
  188. package/dist/chem/orbitals/activity.d.mts +0 -1
  189. package/dist/chem/orbitals/index.d.mts +2 -1
  190. package/dist/chem/orbitals/preset.d.mts +2 -20
  191. package/dist/chem/particle-theatre.d.mts +11 -0
  192. package/dist/chem/particle-theatre.mjs +362 -0
  193. package/dist/chem/periodic-trends/index.d.mts +2 -1
  194. package/dist/chem/periodic-trends/preset.d.mts +1 -9
  195. package/dist/chem/periodic-trends/preset.mjs +109 -593
  196. package/dist/chem/ratio-normalizer/core.d.mts +37 -0
  197. package/dist/chem/ratio-normalizer/core.mjs +84 -0
  198. package/dist/chem/ratio-normalizer/index.d.mts +3 -0
  199. package/dist/chem/ratio-normalizer/preset.d.mts +14 -0
  200. package/dist/chem/ratio-normalizer/preset.mjs +241 -0
  201. package/dist/chem/reaction-lab.d.mts +1 -8
  202. package/dist/chem/reaction-lab.mjs +133 -82
  203. package/dist/chem/reaction-profile.d.mts +1 -9
  204. package/dist/chem/solubility-kitchen.d.mts +11 -0
  205. package/dist/chem/solubility-kitchen.mjs +267 -0
  206. package/dist/chem/solution/dilution.d.mts +1 -13
  207. package/dist/chem/solution/dilution.mjs +6 -5
  208. package/dist/chem/solution/field.d.mts +1 -12
  209. package/dist/chem/solution/index.d.mts +2 -1
  210. package/dist/chem/solution/solution-box.d.mts +1 -13
  211. package/dist/chem/solution/solution-box.mjs +6 -5
  212. package/dist/chem/solution-mixer.d.mts +11 -0
  213. package/dist/chem/solution-mixer.mjs +268 -0
  214. package/dist/chem/species-workshop.d.mts +11 -0
  215. package/dist/chem/species-workshop.mjs +274 -0
  216. package/dist/chem/stereochemistry/activity.d.mts +0 -1
  217. package/dist/chem/stereochemistry/core.mjs +66 -67
  218. package/dist/chem/stereochemistry/index.d.mts +2 -1
  219. package/dist/chem/stereochemistry/preset.d.mts +1 -14
  220. package/dist/chem/stoichiometry/index.d.mts +2 -1
  221. package/dist/chem/stoichiometry/preset.d.mts +1 -11
  222. package/dist/chem/stoichiometry/preset.mjs +10 -6
  223. package/dist/chem/structure-detective.d.mts +12 -0
  224. package/dist/chem/structure-detective.mjs +496 -0
  225. package/dist/chem/titration/index.d.mts +2 -1
  226. package/dist/chem/titration/preset.d.mts +1 -13
  227. package/dist/chem/titration/preset.mjs +10 -8
  228. package/dist/circuits/ac-dc/index.d.mts +2 -1
  229. package/dist/circuits/ac-dc/preset.d.mts +3 -11
  230. package/dist/circuits/ac-dc/preset.mjs +214 -52
  231. package/dist/circuits/ac-response/activity.mjs +121 -0
  232. package/dist/circuits/ac-response/preset.mjs +474 -0
  233. package/dist/circuits/brownout/index.d.mts +2 -1
  234. package/dist/circuits/brownout/preset.d.mts +1 -9
  235. package/dist/circuits/brownout/preset.mjs +22 -21
  236. package/dist/circuits/capacitor-leak/index.d.mts +2 -1
  237. package/dist/circuits/capacitor-leak/preset.d.mts +4 -14
  238. package/dist/circuits/capacitor-leak/preset.mjs +396 -228
  239. package/dist/circuits/cell-combination/activity.mjs +119 -0
  240. package/dist/circuits/cell-combination/core.mjs +115 -0
  241. package/dist/circuits/cell-combination/preset.mjs +265 -0
  242. package/dist/circuits/circuit/activity-plan.mjs +6 -6
  243. package/dist/circuits/circuit/asset.d.mts +0 -1
  244. package/dist/circuits/circuit/asset.mjs +1 -2
  245. package/dist/circuits/circuit/index.d.mts +2 -1
  246. package/dist/circuits/circuit/preset.d.mts +1 -8
  247. package/dist/circuits/circuit/preset.mjs +25 -36
  248. package/dist/circuits/circuit-builder.d.mts +1 -10
  249. package/dist/circuits/circuit-lab.d.mts +1 -11
  250. package/dist/circuits/circuit-lab.mjs +82 -92
  251. package/dist/circuits/cmos-gate/index.d.mts +3 -1
  252. package/dist/circuits/cmos-gate/inverter.d.mts +1 -10
  253. package/dist/circuits/cmos-gate/inverter.mjs +23 -18
  254. package/dist/circuits/cmos-gate/nand.d.mts +1 -9
  255. package/dist/circuits/cmos-gate/nand.mjs +6 -5
  256. package/dist/circuits/cmos-gate/nor.d.mts +1 -9
  257. package/dist/circuits/cmos-gate/nor.mjs +7 -6
  258. package/dist/circuits/cmos-gate/preset.d.mts +2 -1
  259. package/dist/circuits/cmos-gate/rnmos-not.d.mts +1 -10
  260. package/dist/circuits/cmos-gate/rnmos-not.mjs +9 -8
  261. package/dist/circuits/diode/index.d.mts +2 -1
  262. package/dist/circuits/diode/preset.d.mts +2 -11
  263. package/dist/circuits/diode/preset.mjs +251 -77
  264. package/dist/circuits/energy-cost/activity.mjs +120 -0
  265. package/dist/circuits/energy-cost/core.mjs +93 -0
  266. package/dist/circuits/energy-cost/preset.mjs +278 -0
  267. package/dist/circuits/index.d.mts +16 -1
  268. package/dist/circuits/index.mjs +5 -1
  269. package/dist/circuits/kirchhoff/core.d.mts +70 -0
  270. package/dist/circuits/kirchhoff/core.mjs +187 -0
  271. package/dist/circuits/kirchhoff/index.d.mts +3 -0
  272. package/dist/circuits/kirchhoff/preset.d.mts +37 -0
  273. package/dist/circuits/kirchhoff/preset.mjs +929 -0
  274. package/dist/circuits/meter-conversion/activity.mjs +119 -0
  275. package/dist/circuits/meter-conversion/core.mjs +114 -0
  276. package/dist/circuits/meter-conversion/preset.mjs +311 -0
  277. package/dist/circuits/network-reduction/activity.mjs +140 -0
  278. package/dist/circuits/network-reduction/preset.mjs +424 -0
  279. package/dist/circuits/network-reduction/presets.mjs +239 -0
  280. package/dist/circuits/null-balance/activity.mjs +96 -0
  281. package/dist/circuits/null-balance/core.mjs +145 -0
  282. package/dist/circuits/null-balance/preset.mjs +375 -0
  283. package/dist/circuits/potential-divider/core.d.mts +42 -0
  284. package/dist/circuits/potential-divider/core.mjs +80 -0
  285. package/dist/circuits/potential-divider/index.d.mts +3 -0
  286. package/dist/circuits/potential-divider/preset.d.mts +35 -0
  287. package/dist/circuits/potential-divider/preset.mjs +686 -0
  288. package/dist/circuits/rc-charging/index.d.mts +2 -1
  289. package/dist/circuits/rc-charging/preset.d.mts +2 -12
  290. package/dist/circuits/rc-charging/preset.mjs +318 -101
  291. package/dist/circuits/semiconductor/bjt-inside.d.mts +1 -9
  292. package/dist/circuits/semiconductor/bjt-inside.mjs +13 -13
  293. package/dist/circuits/semiconductor/conduction.d.mts +1 -7
  294. package/dist/circuits/semiconductor/conduction.mjs +12 -14
  295. package/dist/circuits/semiconductor/hall-effect.d.mts +1 -7
  296. package/dist/circuits/semiconductor/hall-effect.mjs +13 -13
  297. package/dist/circuits/semiconductor/index.d.mts +3 -1
  298. package/dist/circuits/semiconductor/mosfet-inside.d.mts +1 -10
  299. package/dist/circuits/semiconductor/mosfet-inside.mjs +50 -43
  300. package/dist/circuits/semiconductor/pn-junction.d.mts +1 -9
  301. package/dist/circuits/semiconductor/pn-junction.mjs +26 -23
  302. package/dist/circuits/semiconductor/preset.d.mts +2 -1
  303. package/dist/circuits/semiconductor/silicon-lattice.d.mts +1 -11
  304. package/dist/circuits/semiconductor/silicon-lattice.mjs +12 -12
  305. package/dist/circuits/transistor/index.d.mts +2 -1
  306. package/dist/circuits/transistor/preset.d.mts +2 -12
  307. package/dist/circuits/transistor/preset.mjs +220 -68
  308. package/dist/commerce/accounting/core.d.mts +3 -18
  309. package/dist/commerce/accounting/core.mjs +4 -26
  310. package/dist/commerce/accounting/equation-balance.d.mts +1 -11
  311. package/dist/commerce/accounting/equation-balance.mjs +31 -27
  312. package/dist/commerce/accounting/index.d.mts +2 -1
  313. package/dist/commerce/accounting/journal-poster.d.mts +1 -9
  314. package/dist/commerce/accounting/journal-poster.mjs +103 -81
  315. package/dist/commerce/accounting/statement-sorter.d.mts +1 -9
  316. package/dist/commerce/accounting/statement-sorter.mjs +34 -33
  317. package/dist/commerce/activity.d.mts +5 -23
  318. package/dist/commerce/economics/demand-shift-vs-move.d.mts +1 -13
  319. package/dist/commerce/economics/elasticity-revenue.d.mts +1 -11
  320. package/dist/commerce/economics/index.d.mts +2 -1
  321. package/dist/commerce/economics/market-equilibrium.d.mts +1 -13
  322. package/dist/commerce/economics/market-equilibrium.mjs +1 -1
  323. package/dist/commerce/finance/apportion.d.mts +1 -14
  324. package/dist/commerce/finance/apportion.mjs +36 -34
  325. package/dist/commerce/finance/break-even.d.mts +1 -12
  326. package/dist/commerce/finance/break-even.mjs +37 -63
  327. package/dist/commerce/finance/business-lesson.d.mts +3 -11
  328. package/dist/commerce/finance/business-lesson.mjs +57 -55
  329. package/dist/commerce/finance/club-subscriptions/preset.mjs +420 -0
  330. package/dist/commerce/finance/compound-interest.d.mts +1 -13
  331. package/dist/commerce/finance/compound-interest.mjs +55 -61
  332. package/dist/commerce/finance/depreciation.d.mts +1 -13
  333. package/dist/commerce/finance/depreciation.mjs +112 -95
  334. package/dist/commerce/finance/eoq.d.mts +1 -12
  335. package/dist/commerce/finance/incomplete-records/core.mjs +69 -0
  336. package/dist/commerce/finance/incomplete-records/preset.mjs +212 -0
  337. package/dist/commerce/finance/index.d.mts +2 -1
  338. package/dist/commerce/finance/inventory-policy.d.mts +1 -8
  339. package/dist/commerce/finance/limited-company.d.mts +1 -11
  340. package/dist/commerce/finance/limited-company.mjs +141 -145
  341. package/dist/commerce/finance/manufacturing-flow/preset.mjs +134 -0
  342. package/dist/commerce/finance/manufacturing-flow/scene.mjs +257 -0
  343. package/dist/commerce/finance/partnership-split/preset.mjs +218 -0
  344. package/dist/commerce/finance/ratio-lab.d.mts +2 -17
  345. package/dist/commerce/finance/ratio-lab.mjs +142 -61
  346. package/dist/commerce/finance/statement-builder.d.mts +2 -17
  347. package/dist/commerce/finance/statement-builder.mjs +64 -54
  348. package/dist/commerce/finance/supply-chain.d.mts +1 -15
  349. package/dist/commerce/finance/supply-chain.mjs +12 -3
  350. package/dist/commerce/finance/warehouse-allocation.d.mts +1 -10
  351. package/dist/commerce/index.d.mts +3 -0
  352. package/dist/core/embedding.d.mts +14 -0
  353. package/dist/{domains/ml/embedding-space → core}/embedding.mjs +5 -19
  354. package/dist/core/index.d.mts +2 -2
  355. package/dist/core/index.mjs +2 -2
  356. package/dist/core/next-token.d.mts +9 -0
  357. package/dist/{domains/ml/next-token/model.mjs → core/next-token.mjs} +9 -33
  358. package/dist/core/numeric.d.mts +1 -8
  359. package/dist/core/numeric.mjs +1 -15
  360. package/dist/core/tex.d.mts +1 -6
  361. package/dist/core/timeline.d.mts +0 -1
  362. package/dist/core/timeline.mjs +13 -10
  363. package/dist/core/util.d.mts +0 -1
  364. package/dist/data/core/evaluation-leakage.d.mts +16 -0
  365. package/dist/data/core/evaluation-leakage.mjs +24 -0
  366. package/dist/data/core/record-model.d.mts +29 -0
  367. package/dist/data/core/record-model.mjs +39 -0
  368. package/dist/data/foundation/design-records.d.mts +8 -0
  369. package/dist/data/foundation/design-records.mjs +60 -0
  370. package/dist/data/foundation/dirty-data.d.mts +8 -0
  371. package/dist/data/foundation/dirty-data.mjs +119 -0
  372. package/dist/data/index.d.mts +7 -0
  373. package/dist/data/index.mjs +8 -0
  374. package/dist/data/visuals/leakage-board.d.mts +10 -0
  375. package/dist/data/visuals/leakage-board.mjs +87 -0
  376. package/dist/data/visuals/record-model-board.d.mts +11 -0
  377. package/dist/data/visuals/record-model-board.mjs +188 -0
  378. package/dist/databases/core/access-path.d.mts +21 -0
  379. package/dist/databases/core/access-path.mjs +72 -0
  380. package/dist/databases/core/b-plus-tree.d.mts +21 -0
  381. package/dist/databases/core/b-plus-tree.mjs +54 -0
  382. package/dist/databases/core/query-plan.d.mts +32 -0
  383. package/dist/databases/core/query-plan.mjs +54 -0
  384. package/dist/databases/foundation/b-plus-range.d.mts +8 -0
  385. package/dist/databases/foundation/b-plus-range.mjs +81 -0
  386. package/dist/databases/foundation/index-detective.d.mts +8 -0
  387. package/dist/databases/foundation/index-detective.mjs +113 -0
  388. package/dist/databases/foundation/query-plan.d.mts +8 -0
  389. package/dist/databases/foundation/query-plan.mjs +90 -0
  390. package/dist/databases/foundation/range-query.d.mts +8 -0
  391. package/dist/databases/foundation/range-query.mjs +113 -0
  392. package/dist/databases/index.d.mts +14 -0
  393. package/dist/databases/index.mjs +15 -0
  394. package/dist/databases/visuals/access-path-primitives.d.mts +43 -0
  395. package/dist/databases/visuals/access-path-primitives.mjs +151 -0
  396. package/dist/databases/visuals/b-plus-tree-board.d.mts +9 -0
  397. package/dist/databases/visuals/b-plus-tree-board.mjs +96 -0
  398. package/dist/databases/visuals/index-detective-board.d.mts +12 -0
  399. package/dist/databases/visuals/index-detective-board.mjs +187 -0
  400. package/dist/databases/visuals/query-plan-board.d.mts +11 -0
  401. package/dist/databases/visuals/query-plan-board.mjs +118 -0
  402. package/dist/databases/visuals/query-plan-primitives.d.mts +17 -0
  403. package/dist/databases/visuals/query-plan-primitives.mjs +92 -0
  404. package/dist/databases/visuals/range-query-board.d.mts +11 -0
  405. package/dist/databases/visuals/range-query-board.mjs +97 -0
  406. package/dist/deep-learning/core/attention.d.mts +24 -0
  407. package/dist/deep-learning/core/attention.mjs +123 -0
  408. package/dist/deep-learning/core/causal-mask.d.mts +18 -0
  409. package/dist/deep-learning/core/causal-mask.mjs +35 -0
  410. package/dist/deep-learning/core/context-window.d.mts +15 -0
  411. package/dist/deep-learning/core/context-window.mjs +31 -0
  412. package/dist/deep-learning/core/convolution.d.mts +22 -0
  413. package/dist/deep-learning/core/convolution.mjs +91 -0
  414. package/dist/deep-learning/core/dense-layer.d.mts +49 -0
  415. package/dist/deep-learning/core/dense-layer.mjs +108 -0
  416. package/dist/deep-learning/core/embedding-neighborhood.d.mts +10 -0
  417. package/dist/deep-learning/core/embedding-neighborhood.mjs +92 -0
  418. package/dist/deep-learning/core/encoder-decoder.d.mts +17 -0
  419. package/dist/deep-learning/core/encoder-decoder.mjs +39 -0
  420. package/dist/deep-learning/core/feed-forward-network.d.mts +13 -0
  421. package/dist/deep-learning/core/feed-forward-network.mjs +27 -0
  422. package/dist/deep-learning/core/gradient-run.d.mts +12 -0
  423. package/dist/deep-learning/core/gradient-run.mjs +20 -0
  424. package/dist/deep-learning/core/gradient-step.d.mts +24 -0
  425. package/dist/deep-learning/core/gradient-step.mjs +34 -0
  426. package/dist/deep-learning/core/layer-normalization.d.mts +16 -0
  427. package/dist/deep-learning/core/layer-normalization.mjs +28 -0
  428. package/dist/deep-learning/core/learning-loop.d.mts +20 -0
  429. package/dist/deep-learning/core/learning-loop.mjs +36 -0
  430. package/dist/deep-learning/core/linear-algebra.d.mts +10 -0
  431. package/dist/deep-learning/core/linear-algebra.mjs +16 -0
  432. package/dist/deep-learning/core/linear-fit.d.mts +20 -0
  433. package/dist/deep-learning/core/linear-fit.mjs +31 -0
  434. package/dist/deep-learning/core/loss.d.mts +11 -0
  435. package/dist/deep-learning/core/loss.mjs +15 -0
  436. package/dist/deep-learning/core/memory-relay.d.mts +15 -0
  437. package/dist/deep-learning/core/memory-relay.mjs +31 -0
  438. package/dist/deep-learning/core/multi-head-attention.d.mts +17 -0
  439. package/dist/deep-learning/core/multi-head-attention.mjs +103 -0
  440. package/dist/deep-learning/core/multimodal-alignment.d.mts +18 -0
  441. package/dist/deep-learning/core/multimodal-alignment.mjs +70 -0
  442. package/dist/deep-learning/core/neural-trace.d.mts +20 -0
  443. package/dist/deep-learning/core/neural-trace.mjs +29 -0
  444. package/dist/deep-learning/core/position.d.mts +17 -0
  445. package/dist/deep-learning/core/position.mjs +64 -0
  446. package/dist/deep-learning/core/query-key-value.d.mts +31 -0
  447. package/dist/deep-learning/core/query-key-value.mjs +37 -0
  448. package/dist/deep-learning/core/residual-stream.d.mts +12 -0
  449. package/dist/deep-learning/core/residual-stream.mjs +16 -0
  450. package/dist/deep-learning/core/scaled-dot-product-attention.d.mts +24 -0
  451. package/dist/deep-learning/core/scaled-dot-product-attention.mjs +41 -0
  452. package/dist/deep-learning/core/token-generation.d.mts +14 -0
  453. package/dist/deep-learning/core/token-generation.mjs +23 -0
  454. package/dist/deep-learning/core/transformer-block.d.mts +23 -0
  455. package/dist/deep-learning/core/transformer-block.mjs +25 -0
  456. package/dist/deep-learning/core/unembedding.d.mts +25 -0
  457. package/dist/deep-learning/core/unembedding.mjs +23 -0
  458. package/dist/deep-learning/foundation/activation-gates.d.mts +12 -0
  459. package/dist/deep-learning/foundation/activation-gates.mjs +63 -0
  460. package/dist/deep-learning/foundation/affine-neuron.d.mts +14 -0
  461. package/dist/deep-learning/foundation/affine-neuron.mjs +75 -0
  462. package/dist/deep-learning/foundation/anomaly-detector.d.mts +8 -0
  463. package/dist/deep-learning/foundation/anomaly-detector.mjs +79 -0
  464. package/dist/deep-learning/foundation/attention-routing.d.mts +8 -0
  465. package/dist/deep-learning/foundation/attention-routing.mjs +41 -0
  466. package/dist/deep-learning/foundation/autoencoder.d.mts +8 -0
  467. package/dist/deep-learning/foundation/autoencoder.mjs +74 -0
  468. package/dist/deep-learning/foundation/causal-mask.d.mts +8 -0
  469. package/dist/deep-learning/foundation/causal-mask.mjs +44 -0
  470. package/dist/deep-learning/foundation/context-window.d.mts +8 -0
  471. package/dist/deep-learning/foundation/context-window.mjs +39 -0
  472. package/dist/deep-learning/foundation/denoising.d.mts +8 -0
  473. package/dist/deep-learning/foundation/denoising.mjs +78 -0
  474. package/dist/deep-learning/foundation/embedding-neighborhood.d.mts +8 -0
  475. package/dist/deep-learning/foundation/embedding-neighborhood.mjs +41 -0
  476. package/dist/deep-learning/foundation/encoder-decoder.d.mts +8 -0
  477. package/dist/deep-learning/foundation/encoder-decoder.mjs +48 -0
  478. package/dist/deep-learning/foundation/feature-map.d.mts +10 -0
  479. package/dist/deep-learning/foundation/feature-map.mjs +105 -0
  480. package/dist/deep-learning/foundation/feed-forward-network.d.mts +12 -0
  481. package/dist/deep-learning/foundation/feed-forward-network.mjs +70 -0
  482. package/dist/deep-learning/foundation/fit-evidence.d.mts +14 -0
  483. package/dist/deep-learning/foundation/fit-evidence.mjs +96 -0
  484. package/dist/deep-learning/foundation/gradient-step.d.mts +14 -0
  485. package/dist/deep-learning/foundation/gradient-step.mjs +78 -0
  486. package/dist/deep-learning/foundation/latent-space.d.mts +8 -0
  487. package/dist/deep-learning/foundation/latent-space.mjs +41 -0
  488. package/dist/deep-learning/foundation/layer-normalization.d.mts +14 -0
  489. package/dist/deep-learning/foundation/layer-normalization.mjs +65 -0
  490. package/dist/deep-learning/foundation/learning-loop.d.mts +14 -0
  491. package/dist/deep-learning/foundation/learning-loop.mjs +55 -0
  492. package/dist/deep-learning/foundation/loss-error.d.mts +11 -0
  493. package/dist/deep-learning/foundation/loss-error.mjs +50 -0
  494. package/dist/deep-learning/foundation/matrix-vector.d.mts +11 -0
  495. package/dist/deep-learning/foundation/matrix-vector.mjs +61 -0
  496. package/dist/deep-learning/foundation/memory-relay.d.mts +8 -0
  497. package/dist/deep-learning/foundation/memory-relay.mjs +48 -0
  498. package/dist/deep-learning/foundation/multi-head-attention.d.mts +8 -0
  499. package/dist/deep-learning/foundation/multi-head-attention.mjs +59 -0
  500. package/dist/deep-learning/foundation/multimodal-alignment.d.mts +8 -0
  501. package/dist/deep-learning/foundation/multimodal-alignment.mjs +63 -0
  502. package/dist/deep-learning/foundation/pixel-filter.d.mts +8 -0
  503. package/dist/deep-learning/foundation/pixel-filter.mjs +52 -0
  504. package/dist/deep-learning/foundation/position.d.mts +8 -0
  505. package/dist/deep-learning/foundation/position.mjs +40 -0
  506. package/dist/deep-learning/foundation/query-key-value.d.mts +8 -0
  507. package/dist/deep-learning/foundation/query-key-value.mjs +51 -0
  508. package/dist/deep-learning/foundation/residual-stream.d.mts +13 -0
  509. package/dist/deep-learning/foundation/residual-stream.mjs +44 -0
  510. package/dist/deep-learning/foundation/scaled-dot-product-attention.d.mts +10 -0
  511. package/dist/deep-learning/foundation/scaled-dot-product-attention.mjs +122 -0
  512. package/dist/deep-learning/foundation/tiny-network.d.mts +9 -0
  513. package/dist/deep-learning/foundation/tiny-network.mjs +48 -0
  514. package/dist/deep-learning/foundation/token-generation.d.mts +8 -0
  515. package/dist/deep-learning/foundation/token-generation.mjs +45 -0
  516. package/dist/deep-learning/foundation/training-loop.d.mts +14 -0
  517. package/dist/deep-learning/foundation/training-loop.mjs +83 -0
  518. package/dist/deep-learning/foundation/transformer-block.d.mts +13 -0
  519. package/dist/deep-learning/foundation/transformer-block.mjs +74 -0
  520. package/dist/deep-learning/foundation/unembedding.d.mts +14 -0
  521. package/dist/deep-learning/foundation/unembedding.mjs +113 -0
  522. package/dist/deep-learning/index.d.mts +91 -0
  523. package/dist/deep-learning/index.mjs +92 -0
  524. package/dist/deep-learning/visuals/activation-diagram.d.mts +10 -0
  525. package/dist/deep-learning/visuals/activation-diagram.mjs +153 -0
  526. package/dist/deep-learning/visuals/anomaly-diagram.d.mts +11 -0
  527. package/dist/deep-learning/visuals/anomaly-diagram.mjs +175 -0
  528. package/dist/deep-learning/visuals/attention-routing-diagram.d.mts +9 -0
  529. package/dist/deep-learning/visuals/attention-routing-diagram.mjs +160 -0
  530. package/dist/deep-learning/visuals/autoencoder-diagram.d.mts +12 -0
  531. package/dist/deep-learning/visuals/autoencoder-diagram.mjs +161 -0
  532. package/dist/deep-learning/visuals/causal-mask-diagram.d.mts +10 -0
  533. package/dist/deep-learning/visuals/causal-mask-diagram.mjs +183 -0
  534. package/dist/deep-learning/visuals/context-window-diagram.d.mts +9 -0
  535. package/dist/deep-learning/visuals/context-window-diagram.mjs +200 -0
  536. package/dist/deep-learning/visuals/convolution-diagram.d.mts +10 -0
  537. package/dist/deep-learning/visuals/convolution-diagram.mjs +139 -0
  538. package/dist/deep-learning/visuals/denoising-diagram.d.mts +10 -0
  539. package/dist/deep-learning/visuals/denoising-diagram.mjs +103 -0
  540. package/dist/deep-learning/visuals/embedding-neighborhood-diagram.d.mts +9 -0
  541. package/dist/deep-learning/visuals/embedding-neighborhood-diagram.mjs +162 -0
  542. package/dist/deep-learning/visuals/encoder-decoder-diagram.d.mts +10 -0
  543. package/dist/deep-learning/visuals/encoder-decoder-diagram.mjs +229 -0
  544. package/dist/deep-learning/visuals/feature-map-diagram.d.mts +13 -0
  545. package/dist/deep-learning/visuals/feature-map-diagram.mjs +168 -0
  546. package/dist/deep-learning/visuals/feed-forward-workshop-diagram.d.mts +11 -0
  547. package/dist/deep-learning/visuals/feed-forward-workshop-diagram.mjs +131 -0
  548. package/dist/deep-learning/visuals/gradient-step-diagram.d.mts +9 -0
  549. package/dist/deep-learning/visuals/gradient-step-diagram.mjs +126 -0
  550. package/dist/deep-learning/visuals/latent-space-diagram.d.mts +9 -0
  551. package/dist/deep-learning/visuals/latent-space-diagram.mjs +140 -0
  552. package/dist/deep-learning/visuals/layer-normalization-diagram.d.mts +11 -0
  553. package/dist/deep-learning/visuals/layer-normalization-diagram.mjs +191 -0
  554. package/dist/deep-learning/visuals/learning-loop-diagram.d.mts +9 -0
  555. package/dist/deep-learning/visuals/learning-loop-diagram.mjs +148 -0
  556. package/dist/deep-learning/visuals/linear-fit-diagram.d.mts +11 -0
  557. package/dist/deep-learning/visuals/linear-fit-diagram.mjs +113 -0
  558. package/dist/deep-learning/visuals/loss-diagram.d.mts +8 -0
  559. package/dist/deep-learning/visuals/loss-diagram.mjs +173 -0
  560. package/dist/deep-learning/visuals/matrix-vector-diagram.d.mts +12 -0
  561. package/dist/deep-learning/visuals/matrix-vector-diagram.mjs +165 -0
  562. package/dist/deep-learning/visuals/memory-relay-diagram.d.mts +10 -0
  563. package/dist/deep-learning/visuals/memory-relay-diagram.mjs +242 -0
  564. package/dist/deep-learning/visuals/multi-head-attention-diagram.d.mts +10 -0
  565. package/dist/deep-learning/visuals/multi-head-attention-diagram.mjs +170 -0
  566. package/dist/deep-learning/visuals/multimodal-alignment-diagram.d.mts +13 -0
  567. package/dist/deep-learning/visuals/multimodal-alignment-diagram.mjs +138 -0
  568. package/dist/deep-learning/visuals/neuron-diagram.d.mts +12 -0
  569. package/dist/deep-learning/visuals/neuron-diagram.mjs +231 -0
  570. package/dist/deep-learning/visuals/position-diagram.d.mts +10 -0
  571. package/dist/deep-learning/visuals/position-diagram.mjs +157 -0
  572. package/dist/deep-learning/visuals/query-key-value-diagram.d.mts +12 -0
  573. package/dist/deep-learning/visuals/query-key-value-diagram.mjs +247 -0
  574. package/dist/deep-learning/visuals/residual-stream-diagram.d.mts +9 -0
  575. package/dist/deep-learning/visuals/residual-stream-diagram.mjs +221 -0
  576. package/dist/deep-learning/visuals/scaled-attention-mixer.d.mts +15 -0
  577. package/dist/deep-learning/visuals/scaled-attention-mixer.mjs +244 -0
  578. package/dist/deep-learning/visuals/tiny-network-diagram.d.mts +9 -0
  579. package/dist/deep-learning/visuals/tiny-network-diagram.mjs +136 -0
  580. package/dist/deep-learning/visuals/token-generation-diagram.d.mts +10 -0
  581. package/dist/deep-learning/visuals/token-generation-diagram.mjs +199 -0
  582. package/dist/deep-learning/visuals/training-trail-diagram.d.mts +9 -0
  583. package/dist/deep-learning/visuals/training-trail-diagram.mjs +109 -0
  584. package/dist/deep-learning/visuals/transformer-block-diagram.d.mts +11 -0
  585. package/dist/deep-learning/visuals/transformer-block-diagram.mjs +273 -0
  586. package/dist/deep-learning/visuals/unembedding-diagram.d.mts +12 -0
  587. package/dist/deep-learning/visuals/unembedding-diagram.mjs +195 -0
  588. package/dist/discrete/arrangements/preset.d.mts +1 -10
  589. package/dist/discrete/bayes/preset.d.mts +1 -15
  590. package/dist/discrete/binomial/preset.d.mts +1 -11
  591. package/dist/discrete/binomial/preset.mjs +9 -4
  592. package/dist/discrete/combination-studio/figure.d.mts +0 -1
  593. package/dist/discrete/combination-studio/index.d.mts +2 -1
  594. package/dist/discrete/combination-studio/preset.d.mts +1 -12
  595. package/dist/discrete/combination-studio/preset.mjs +4 -2
  596. package/dist/discrete/core/inclusionExclusion.d.mts +0 -1
  597. package/dist/discrete/counting-slots/preset.d.mts +1 -13
  598. package/dist/discrete/counting-tree/index.d.mts +2 -1
  599. package/dist/discrete/counting-tree/preset.d.mts +1 -15
  600. package/dist/discrete/counting-tree/preset.mjs +10 -8
  601. package/dist/discrete/expected-value/preset.d.mts +1 -10
  602. package/dist/discrete/hypergeometric/preset.d.mts +1 -11
  603. package/dist/discrete/hypergeometric/preset.mjs +13 -8
  604. package/dist/discrete/index.d.mts +16 -0
  605. package/dist/discrete/induction/index.d.mts +2 -1
  606. package/dist/discrete/induction/preset.d.mts +1 -7
  607. package/dist/discrete/invariant/index.d.mts +2 -1
  608. package/dist/discrete/invariant/preset.d.mts +1 -9
  609. package/dist/discrete/karnaugh/index.d.mts +2 -1
  610. package/dist/discrete/karnaugh/preset.d.mts +1 -13
  611. package/dist/discrete/karnaugh/preset.mjs +6 -4
  612. package/dist/discrete/lln/index.d.mts +2 -1
  613. package/dist/discrete/lln/preset.d.mts +1 -7
  614. package/dist/discrete/modular-clock/index.d.mts +2 -1
  615. package/dist/discrete/modular-clock/preset.d.mts +1 -9
  616. package/dist/discrete/monte-carlo/index.d.mts +2 -1
  617. package/dist/discrete/monte-carlo/preset.d.mts +1 -15
  618. package/dist/discrete/monte-carlo/preset.mjs +1 -1
  619. package/dist/discrete/monty-hall/index.d.mts +2 -1
  620. package/dist/discrete/monty-hall/preset.d.mts +1 -10
  621. package/dist/discrete/monty-hall/preset.mjs +5 -2
  622. package/dist/discrete/outcome-builder/preset.d.mts +1 -10
  623. package/dist/discrete/outcome-builder/preset.mjs +2 -1
  624. package/dist/discrete/pascal/preset.d.mts +1 -10
  625. package/dist/discrete/pascal/preset.mjs +12 -6
  626. package/dist/discrete/pigeonhole/index.d.mts +2 -1
  627. package/dist/discrete/pigeonhole/preset.d.mts +1 -8
  628. package/dist/discrete/proof/core.d.mts +1 -1
  629. package/dist/discrete/proof-builder/index.d.mts +2 -1
  630. package/dist/discrete/proof-builder/preset.d.mts +1 -7
  631. package/dist/discrete/proof-builder/preset.mjs +2 -1
  632. package/dist/discrete/recurrence/index.d.mts +2 -1
  633. package/dist/discrete/recurrence/preset.d.mts +1 -8
  634. package/dist/discrete/rules.d.mts +1 -2
  635. package/dist/discrete/rules.mjs +1 -1
  636. package/dist/discrete/sample-space/index.d.mts +2 -1
  637. package/dist/discrete/sample-space/preset.d.mts +1 -15
  638. package/dist/discrete/sample-space/preset.mjs +2 -1
  639. package/dist/discrete/selection/preset.d.mts +1 -12
  640. package/dist/discrete/statement-logic/index.d.mts +2 -1
  641. package/dist/discrete/statement-logic/preset.d.mts +1 -8
  642. package/dist/discrete/truth-table/index.d.mts +2 -1
  643. package/dist/discrete/truth-table/preset.d.mts +1 -12
  644. package/dist/discrete/truth-table/preset.mjs +4 -2
  645. package/dist/discrete/venn/index.d.mts +2 -1
  646. package/dist/discrete/venn/preset.d.mts +1 -11
  647. package/dist/discrete/venn/preset.mjs +2 -1
  648. package/dist/discrete/visuals/reasoning-scenes.mjs +1 -1
  649. package/dist/distributed-systems/core/sharding.d.mts +19 -0
  650. package/dist/distributed-systems/core/sharding.mjs +24 -0
  651. package/dist/distributed-systems/foundation/shard-key.d.mts +8 -0
  652. package/dist/distributed-systems/foundation/shard-key.mjs +103 -0
  653. package/dist/distributed-systems/index.d.mts +4 -0
  654. package/dist/distributed-systems/index.mjs +5 -0
  655. package/dist/distributed-systems/visuals/shard-key-board.d.mts +20 -0
  656. package/dist/distributed-systems/visuals/shard-key-board.mjs +126 -0
  657. package/dist/domains/accounting/bank-reconciliation/activity.mjs +96 -0
  658. package/dist/domains/accounting/bank-reconciliation/manifest.mjs +75 -0
  659. package/dist/domains/accounting/bank-reconciliation/runtime.mjs +171 -0
  660. package/dist/domains/accounting/bank-reconciliation/scene.mjs +251 -0
  661. package/dist/domains/accounting/business-day-mission/activity.mjs +114 -0
  662. package/dist/domains/accounting/business-day-mission/manifest.mjs +58 -0
  663. package/dist/domains/accounting/business-day-mission/runtime.mjs +191 -0
  664. package/dist/domains/accounting/business-day-mission/scene.mjs +184 -0
  665. package/dist/domains/accounting/business-lesson/schema.mjs +3 -6
  666. package/dist/domains/accounting/cash-budget-runway/activity.mjs +119 -0
  667. package/dist/domains/accounting/cash-budget-runway/manifest.mjs +74 -0
  668. package/dist/domains/accounting/cash-budget-runway/runtime.mjs +142 -0
  669. package/dist/domains/accounting/club-subscriptions/manifest.mjs +67 -0
  670. package/dist/domains/accounting/club-subscriptions/runtime.mjs +5 -0
  671. package/dist/domains/accounting/company-statement-builder/activity.mjs +114 -0
  672. package/dist/domains/accounting/company-statement-builder/manifest.mjs +68 -0
  673. package/dist/domains/accounting/company-statement-builder/runtime.mjs +110 -0
  674. package/dist/domains/accounting/control-account-builder/activity.mjs +96 -0
  675. package/dist/domains/accounting/control-account-builder/manifest.mjs +66 -0
  676. package/dist/domains/accounting/control-account-builder/runtime.mjs +151 -0
  677. package/dist/domains/accounting/control-account-builder/scene.mjs +119 -0
  678. package/dist/domains/accounting/costing-profit-bridge/activity.mjs +119 -0
  679. package/dist/domains/accounting/costing-profit-bridge/manifest.mjs +73 -0
  680. package/dist/domains/accounting/costing-profit-bridge/runtime.mjs +203 -0
  681. package/dist/domains/accounting/factory-expansion-case/activity.mjs +118 -0
  682. package/dist/domains/accounting/factory-expansion-case/manifest.mjs +59 -0
  683. package/dist/domains/accounting/factory-expansion-case/runtime.mjs +245 -0
  684. package/dist/domains/accounting/incomplete-records/manifest.mjs +71 -0
  685. package/dist/domains/accounting/incomplete-records/runtime.mjs +5 -0
  686. package/dist/domains/accounting/integrated-budget-mission/activity.mjs +115 -0
  687. package/dist/domains/accounting/integrated-budget-mission/manifest.mjs +76 -0
  688. package/dist/domains/accounting/integrated-budget-mission/runtime.mjs +169 -0
  689. package/dist/domains/accounting/integrated-budget-mission/scene.mjs +229 -0
  690. package/dist/domains/accounting/inventory-costing/activity.mjs +119 -0
  691. package/dist/domains/accounting/inventory-costing/manifest.mjs +73 -0
  692. package/dist/domains/accounting/inventory-costing/runtime.mjs +166 -0
  693. package/dist/domains/accounting/inventory-costing/scene.mjs +257 -0
  694. package/dist/domains/accounting/investment-appraisal/activity.mjs +119 -0
  695. package/dist/domains/accounting/investment-appraisal/manifest.mjs +72 -0
  696. package/dist/domains/accounting/investment-appraisal/runtime.mjs +177 -0
  697. package/dist/domains/accounting/limiting-factor-mix/activity.mjs +119 -0
  698. package/dist/domains/accounting/limiting-factor-mix/manifest.mjs +65 -0
  699. package/dist/domains/accounting/limiting-factor-mix/runtime.mjs +140 -0
  700. package/dist/domains/accounting/management-scenes.mjs +582 -0
  701. package/dist/domains/accounting/manufacturing-flow/manifest.mjs +75 -0
  702. package/dist/domains/accounting/manufacturing-flow/runtime.mjs +5 -0
  703. package/dist/domains/accounting/operating-budget-chain/activity.mjs +119 -0
  704. package/dist/domains/accounting/operating-budget-chain/manifest.mjs +75 -0
  705. package/dist/domains/accounting/operating-budget-chain/runtime.mjs +167 -0
  706. package/dist/domains/accounting/partnership-split/manifest.mjs +69 -0
  707. package/dist/domains/accounting/partnership-split/runtime.mjs +5 -0
  708. package/dist/domains/accounting/period-adjustment-workbench/activity.mjs +77 -0
  709. package/dist/domains/accounting/period-adjustment-workbench/manifest.mjs +120 -0
  710. package/dist/domains/accounting/period-adjustment-workbench/runtime.mjs +142 -0
  711. package/dist/domains/accounting/period-close-mission/activity.mjs +118 -0
  712. package/dist/domains/accounting/period-close-mission/manifest.mjs +63 -0
  713. package/dist/domains/accounting/period-close-mission/runtime.mjs +327 -0
  714. package/dist/domains/accounting/period-close-mission/scene.mjs +265 -0
  715. package/dist/domains/accounting/process-loss/activity.mjs +119 -0
  716. package/dist/domains/accounting/process-loss/manifest.mjs +60 -0
  717. package/dist/domains/accounting/process-loss/runtime.mjs +136 -0
  718. package/dist/domains/accounting/statement-builder/manifest.mjs +2 -1
  719. package/dist/domains/accounting/suspense-reconstruction/activity.mjs +84 -0
  720. package/dist/domains/accounting/suspense-reconstruction/manifest.mjs +75 -0
  721. package/dist/domains/accounting/suspense-reconstruction/runtime.mjs +138 -0
  722. package/dist/domains/accounting/suspense-reconstruction/scene.mjs +176 -0
  723. package/dist/domains/accounting/variance-detective/activity.mjs +119 -0
  724. package/dist/domains/accounting/variance-detective/manifest.mjs +57 -0
  725. package/dist/domains/accounting/variance-detective/runtime.mjs +144 -0
  726. package/dist/domains/activity-map.d.mts +0 -1
  727. package/dist/domains/activity-map.mjs +129 -0
  728. package/dist/domains/biology/cell-sample-investigator/activity.mjs +53 -0
  729. package/dist/domains/biology/cell-sample-investigator/manifest.mjs +72 -0
  730. package/dist/domains/biology/cell-sample-investigator/runtime.mjs +6 -0
  731. package/dist/domains/biology/genetic-cross/runtime.mjs +2 -1
  732. package/dist/domains/biology/punnett-cross/manifest.mjs +1 -1
  733. package/dist/domains/biology/sequence/runtime.mjs +2 -1
  734. package/dist/domains/biology/sex-linked-cross/manifest.mjs +1 -1
  735. package/dist/domains/block-loaders.mjs +3 -0
  736. package/dist/domains/block-sets/accounting.mjs +56 -14
  737. package/dist/domains/block-sets/biology.mjs +15 -13
  738. package/dist/domains/block-sets/chem.mjs +131 -19
  739. package/dist/domains/block-sets/circuits.mjs +38 -20
  740. package/dist/domains/block-sets/data.mjs +10 -0
  741. package/dist/domains/block-sets/databases.mjs +17 -0
  742. package/dist/domains/block-sets/distributed-systems.mjs +9 -0
  743. package/dist/domains/block-sets/math.mjs +71 -53
  744. package/dist/domains/block-sets/ml.mjs +72 -8
  745. package/dist/domains/block-sets/networking.mjs +109 -9
  746. package/dist/domains/block-sets/physics.mjs +137 -71
  747. package/dist/domains/blocks.mjs +1 -1
  748. package/dist/domains/catalog-map.mjs +9411 -2599
  749. package/dist/domains/chem/air-composition/manifest.mjs +45 -0
  750. package/dist/domains/chem/air-composition/runtime.mjs +5 -0
  751. package/dist/domains/chem/alkene-geometry/activity.mjs +73 -0
  752. package/dist/domains/chem/alkene-geometry/manifest.mjs +58 -0
  753. package/dist/domains/chem/alkene-geometry/model.mjs +204 -0
  754. package/dist/domains/chem/alkene-geometry/runtime.mjs +122 -0
  755. package/dist/domains/chem/alkene-geometry/scene.mjs +170 -0
  756. package/dist/domains/chem/apparatus-choice/manifest.mjs +51 -0
  757. package/dist/domains/chem/apparatus-choice/runtime.mjs +5 -0
  758. package/dist/domains/chem/applied-chemistry/manifest.mjs +62 -0
  759. package/dist/domains/chem/applied-chemistry/runtime.mjs +5 -0
  760. package/dist/domains/chem/arene-evidence/activity.mjs +86 -0
  761. package/dist/domains/chem/arene-evidence/manifest.mjs +51 -0
  762. package/dist/domains/chem/arene-evidence/model.d.mts +71 -0
  763. package/dist/domains/chem/arene-evidence/model.mjs +116 -0
  764. package/dist/domains/chem/arene-evidence/runtime.mjs +138 -0
  765. package/dist/domains/chem/arene-evidence/scene.d.mts +8 -0
  766. package/dist/domains/chem/arene-evidence/scene.mjs +208 -0
  767. package/dist/domains/chem/battery/manifest.mjs +1 -0
  768. package/dist/domains/chem/bohr-atom/manifest.mjs +1 -0
  769. package/dist/domains/chem/catalytic-cycle/activity.mjs +36 -0
  770. package/dist/domains/chem/catalytic-cycle/manifest.mjs +44 -0
  771. package/dist/domains/chem/catalytic-cycle/model.mjs +61 -0
  772. package/dist/domains/chem/catalytic-cycle/runtime.mjs +61 -0
  773. package/dist/domains/chem/catalytic-cycle/scene.mjs +27 -0
  774. package/dist/domains/chem/change-detective/activity.mjs +81 -0
  775. package/dist/domains/chem/change-detective/manifest.mjs +46 -0
  776. package/dist/domains/chem/change-detective/model.mjs +65 -0
  777. package/dist/domains/chem/change-detective/runtime.mjs +73 -0
  778. package/dist/domains/chem/change-detective/scene.mjs +415 -0
  779. package/dist/domains/chem/chem-qualitative-analysis/activity.mjs +95 -0
  780. package/dist/domains/chem/chem-qualitative-analysis/manifest.mjs +68 -0
  781. package/dist/domains/chem/chem-qualitative-analysis/runtime.mjs +303 -0
  782. package/dist/domains/chem/chromatography-plate/activity.mjs +87 -0
  783. package/dist/domains/chem/chromatography-plate/manifest.mjs +59 -0
  784. package/dist/domains/chem/chromatography-plate/model.mjs +180 -0
  785. package/dist/domains/chem/chromatography-plate/runtime.mjs +200 -0
  786. package/dist/domains/chem/chromatography-plate/scene.mjs +292 -0
  787. package/dist/domains/chem/complex-colour/activity.mjs +94 -0
  788. package/dist/domains/chem/complex-colour/manifest.mjs +53 -0
  789. package/dist/domains/chem/complex-colour/model.mjs +243 -0
  790. package/dist/domains/chem/complex-colour/runtime.mjs +168 -0
  791. package/dist/domains/chem/complex-colour/scene.mjs +283 -0
  792. package/dist/domains/chem/complex-shape/activity.mjs +86 -0
  793. package/dist/domains/chem/complex-shape/manifest.mjs +52 -0
  794. package/dist/domains/chem/complex-shape/model.mjs +182 -0
  795. package/dist/domains/chem/complex-shape/runtime.mjs +162 -0
  796. package/dist/domains/chem/complex-shape/scene.mjs +270 -0
  797. package/dist/domains/chem/composition-evidence/activity.mjs +94 -0
  798. package/dist/domains/chem/composition-evidence/manifest.mjs +71 -0
  799. package/dist/domains/chem/composition-evidence/model.mjs +60 -0
  800. package/dist/domains/chem/composition-evidence/runtime.mjs +127 -0
  801. package/dist/domains/chem/composition-evidence/scene.mjs +308 -0
  802. package/dist/domains/chem/conductivity-bench/activity.mjs +71 -0
  803. package/dist/domains/chem/conductivity-bench/manifest.mjs +58 -0
  804. package/dist/domains/chem/conductivity-bench/model.mjs +257 -0
  805. package/dist/domains/chem/conductivity-bench/runtime.mjs +136 -0
  806. package/dist/domains/chem/conductivity-bench/scene.mjs +305 -0
  807. package/dist/domains/chem/contact-process-control/activity.mjs +75 -0
  808. package/dist/domains/chem/contact-process-control/manifest.mjs +48 -0
  809. package/dist/domains/chem/contact-process-control/model.mjs +106 -0
  810. package/dist/domains/chem/contact-process-control/runtime.mjs +65 -0
  811. package/dist/domains/chem/contact-process-control/scene.mjs +694 -0
  812. package/dist/domains/chem/electrolysis-bench/activity.mjs +72 -0
  813. package/dist/domains/chem/electrolysis-bench/manifest.mjs +71 -0
  814. package/dist/domains/chem/electrolysis-bench/model.mjs +174 -0
  815. package/dist/domains/chem/electrolysis-bench/runtime.mjs +169 -0
  816. package/dist/domains/chem/electrolysis-bench/scene.mjs +291 -0
  817. package/dist/domains/chem/energy-cycle/activity.mjs +86 -0
  818. package/dist/domains/chem/energy-cycle/manifest.mjs +52 -0
  819. package/dist/domains/chem/energy-cycle/model.mjs +249 -0
  820. package/dist/domains/chem/energy-cycle/runtime.mjs +181 -0
  821. package/dist/domains/chem/energy-cycle/scene.mjs +277 -0
  822. package/dist/domains/chem/equation-conservation-desk/activity.mjs +55 -0
  823. package/dist/domains/chem/equation-conservation-desk/manifest.mjs +61 -0
  824. package/dist/domains/chem/equation-conservation-desk/runtime.mjs +6 -0
  825. package/dist/domains/chem/faraday-bench/activity.mjs +51 -0
  826. package/dist/domains/chem/faraday-bench/manifest.mjs +65 -0
  827. package/dist/domains/chem/faraday-bench/model.mjs +193 -0
  828. package/dist/domains/chem/faraday-bench/runtime.mjs +99 -0
  829. package/dist/domains/chem/faraday-bench/scene.mjs +254 -0
  830. package/dist/domains/chem/flame-test/activity.mjs +66 -0
  831. package/dist/domains/chem/flame-test/manifest.mjs +66 -0
  832. package/dist/domains/chem/flame-test/model.mjs +149 -0
  833. package/dist/domains/chem/flame-test/runtime.mjs +120 -0
  834. package/dist/domains/chem/flame-test/scene.mjs +172 -0
  835. package/dist/domains/chem/formula-forge/activity.mjs +55 -0
  836. package/dist/domains/chem/formula-forge/manifest.mjs +66 -0
  837. package/dist/domains/chem/formula-forge/runtime.mjs +6 -0
  838. package/dist/domains/chem/formula-workbench/activity.mjs +92 -0
  839. package/dist/domains/chem/formula-workbench/manifest.mjs +73 -0
  840. package/dist/domains/chem/formula-workbench/model.mjs +89 -0
  841. package/dist/domains/chem/formula-workbench/runtime.mjs +135 -0
  842. package/dist/domains/chem/formula-workbench/scene.mjs +275 -0
  843. package/dist/domains/chem/fuel-cell-flow/activity.mjs +81 -0
  844. package/dist/domains/chem/fuel-cell-flow/manifest.mjs +49 -0
  845. package/dist/domains/chem/fuel-cell-flow/model.mjs +63 -0
  846. package/dist/domains/chem/fuel-cell-flow/runtime.mjs +134 -0
  847. package/dist/domains/chem/fuel-cell-flow/scene.mjs +245 -0
  848. package/dist/domains/chem/functional-group-lens/activity.mjs +86 -0
  849. package/dist/domains/chem/functional-group-lens/manifest.mjs +54 -0
  850. package/dist/domains/chem/functional-group-lens/model.d.mts +128 -0
  851. package/dist/domains/chem/functional-group-lens/model.mjs +250 -0
  852. package/dist/domains/chem/functional-group-lens/runtime.d.mts +16 -0
  853. package/dist/domains/chem/functional-group-lens/runtime.mjs +135 -0
  854. package/dist/domains/chem/functional-group-lens/scene.d.mts +8 -0
  855. package/dist/domains/chem/functional-group-lens/scene.mjs +389 -0
  856. package/dist/domains/chem/gas-box/manifest.mjs +18 -3
  857. package/dist/domains/chem/hydrate-cycle/activity.mjs +78 -0
  858. package/dist/domains/chem/hydrate-cycle/manifest.mjs +47 -0
  859. package/dist/domains/chem/hydrate-cycle/model.mjs +66 -0
  860. package/dist/domains/chem/hydrate-cycle/runtime.mjs +72 -0
  861. package/dist/domains/chem/hydrate-cycle/scene.mjs +187 -0
  862. package/dist/domains/chem/industrial-process/manifest.mjs +51 -0
  863. package/dist/domains/chem/industrial-process/runtime.mjs +5 -0
  864. package/dist/domains/chem/ionic-bond-builder/manifest.mjs +47 -0
  865. package/dist/domains/chem/ionic-bond-builder/runtime.mjs +5 -0
  866. package/dist/domains/chem/isomer-builder/activity.mjs +86 -0
  867. package/dist/domains/chem/isomer-builder/manifest.mjs +52 -0
  868. package/dist/domains/chem/isomer-builder/model.mjs +345 -0
  869. package/dist/domains/chem/isomer-builder/runtime.mjs +174 -0
  870. package/dist/domains/chem/isomer-builder/scene.mjs +216 -0
  871. package/dist/domains/chem/mechanism-walk/activity.mjs +53 -0
  872. package/dist/domains/chem/mechanism-walk/manifest.mjs +53 -0
  873. package/dist/domains/chem/mechanism-walk/model.mjs +429 -0
  874. package/dist/domains/chem/mechanism-walk/runtime.mjs +76 -0
  875. package/dist/domains/chem/mechanism-walk/scene.mjs +36 -0
  876. package/dist/domains/chem/mole-factory/activity.mjs +55 -0
  877. package/dist/domains/chem/mole-factory/manifest.mjs +62 -0
  878. package/dist/domains/chem/mole-factory/runtime.mjs +6 -0
  879. package/dist/domains/chem/nmr-reader/activity.mjs +88 -0
  880. package/dist/domains/chem/nmr-reader/manifest.mjs +59 -0
  881. package/dist/domains/chem/nmr-reader/model.mjs +200 -0
  882. package/dist/domains/chem/nmr-reader/runtime.mjs +167 -0
  883. package/dist/domains/chem/nmr-reader/scene.mjs +30 -0
  884. package/dist/domains/chem/orbital-diagram/activity.mjs +74 -0
  885. package/dist/domains/chem/orbital-diagram/manifest.mjs +58 -0
  886. package/dist/domains/chem/orbital-diagram/model.mjs +182 -0
  887. package/dist/domains/chem/orbital-diagram/runtime.mjs +98 -0
  888. package/dist/domains/chem/orbital-diagram/scene.mjs +289 -0
  889. package/dist/domains/chem/organic-formula-studio/activity.mjs +128 -0
  890. package/dist/domains/chem/organic-formula-studio/manifest.mjs +67 -0
  891. package/dist/domains/chem/organic-formula-studio/model.mjs +47 -0
  892. package/dist/domains/chem/organic-formula-studio/pattern-scene.mjs +344 -0
  893. package/dist/domains/chem/organic-formula-studio/runtime.mjs +221 -0
  894. package/dist/domains/chem/organic-formula-studio/scene.mjs +354 -0
  895. package/dist/domains/chem/organic-formula-studio/topics.mjs +186 -0
  896. package/dist/domains/chem/organic-reaction-map/manifest.mjs +67 -0
  897. package/dist/domains/chem/organic-reaction-map/runtime.mjs +5 -0
  898. package/dist/domains/chem/particle-theatre/manifest.mjs +66 -0
  899. package/dist/domains/chem/particle-theatre/runtime.mjs +5 -0
  900. package/dist/domains/chem/percent-lens/activity.mjs +119 -0
  901. package/dist/domains/chem/percent-lens/manifest.mjs +65 -0
  902. package/dist/domains/chem/percent-lens/model.mjs +84 -0
  903. package/dist/domains/chem/percent-lens/runtime.mjs +114 -0
  904. package/dist/domains/chem/percent-lens/scene.mjs +278 -0
  905. package/dist/domains/chem/percentage-purity-lab/activity.mjs +85 -0
  906. package/dist/domains/chem/percentage-purity-lab/manifest.mjs +51 -0
  907. package/dist/domains/chem/percentage-purity-lab/model.mjs +101 -0
  908. package/dist/domains/chem/percentage-purity-lab/runtime.mjs +146 -0
  909. package/dist/domains/chem/percentage-purity-lab/scene.mjs +309 -0
  910. package/dist/domains/chem/percentage-yield-lab/activity.mjs +54 -0
  911. package/dist/domains/chem/percentage-yield-lab/manifest.mjs +60 -0
  912. package/dist/domains/chem/percentage-yield-lab/model.mjs +96 -0
  913. package/dist/domains/chem/percentage-yield-lab/runtime.mjs +124 -0
  914. package/dist/domains/chem/percentage-yield-lab/scene.mjs +152 -0
  915. package/dist/domains/chem/polymer-builder/activity.mjs +88 -0
  916. package/dist/domains/chem/polymer-builder/manifest.mjs +63 -0
  917. package/dist/domains/chem/polymer-builder/model.mjs +200 -0
  918. package/dist/domains/chem/polymer-builder/runtime.mjs +175 -0
  919. package/dist/domains/chem/polymer-builder/scene.mjs +170 -0
  920. package/dist/domains/chem/practical-observation/activity.mjs +66 -0
  921. package/dist/domains/chem/practical-observation/manifest.mjs +50 -0
  922. package/dist/domains/chem/practical-observation/model.mjs +487 -0
  923. package/dist/domains/chem/practical-observation/runtime.mjs +113 -0
  924. package/dist/domains/chem/practical-observation/scene.mjs +662 -0
  925. package/dist/domains/chem/precipitation-bench/activity.mjs +65 -0
  926. package/dist/domains/chem/precipitation-bench/manifest.mjs +61 -0
  927. package/dist/domains/chem/precipitation-bench/model.mjs +119 -0
  928. package/dist/domains/chem/precipitation-bench/runtime.mjs +90 -0
  929. package/dist/domains/chem/precipitation-bench/scene.mjs +215 -0
  930. package/dist/domains/chem/quantity-route/manifest.mjs +133 -0
  931. package/dist/domains/chem/quantity-route/runtime.mjs +5 -0
  932. package/dist/domains/chem/ratio-normalizer/manifest.mjs +61 -0
  933. package/dist/domains/chem/ratio-normalizer/runtime.mjs +5 -0
  934. package/dist/domains/chem/reaction-evidence/manifest.mjs +51 -0
  935. package/dist/domains/chem/reaction-evidence/runtime.mjs +5 -0
  936. package/dist/domains/chem/reaction-lab/manifest.mjs +2 -1
  937. package/dist/domains/chem/reaction-profile/manifest.mjs +1 -0
  938. package/dist/domains/chem/reagent-ladder/activity.mjs +85 -0
  939. package/dist/domains/chem/reagent-ladder/manifest.mjs +58 -0
  940. package/dist/domains/chem/reagent-ladder/model.mjs +120 -0
  941. package/dist/domains/chem/reagent-ladder/runtime.mjs +107 -0
  942. package/dist/domains/chem/reagent-ladder/scene.mjs +174 -0
  943. package/dist/domains/chem/redox-balancer/activity.mjs +86 -0
  944. package/dist/domains/chem/redox-balancer/manifest.mjs +52 -0
  945. package/dist/domains/chem/redox-balancer/model.mjs +191 -0
  946. package/dist/domains/chem/redox-balancer/runtime.mjs +175 -0
  947. package/dist/domains/chem/redox-balancer/scene.mjs +159 -0
  948. package/dist/domains/chem/relation-origin/activity.mjs +42 -0
  949. package/dist/domains/chem/relation-origin/manifest.mjs +61 -0
  950. package/dist/domains/chem/relation-origin/model.mjs +172 -0
  951. package/dist/domains/chem/relation-origin/runtime.mjs +114 -0
  952. package/dist/domains/chem/relation-origin/scene.mjs +195 -0
  953. package/dist/domains/chem/solubility-kitchen/activity.mjs +54 -0
  954. package/dist/domains/chem/solubility-kitchen/manifest.mjs +66 -0
  955. package/dist/domains/chem/solubility-kitchen/runtime.mjs +6 -0
  956. package/dist/domains/chem/soluble-salt-workshop/activity.mjs +115 -0
  957. package/dist/domains/chem/soluble-salt-workshop/manifest.mjs +50 -0
  958. package/dist/domains/chem/soluble-salt-workshop/model.mjs +187 -0
  959. package/dist/domains/chem/soluble-salt-workshop/runtime.mjs +118 -0
  960. package/dist/domains/chem/soluble-salt-workshop/scene.mjs +700 -0
  961. package/dist/domains/chem/solution-mixer/activity.mjs +54 -0
  962. package/dist/domains/chem/solution-mixer/manifest.mjs +58 -0
  963. package/dist/domains/chem/solution-mixer/runtime.mjs +6 -0
  964. package/dist/domains/chem/species-workshop/activity.mjs +55 -0
  965. package/dist/domains/chem/species-workshop/manifest.mjs +66 -0
  966. package/dist/domains/chem/species-workshop/runtime.mjs +6 -0
  967. package/dist/domains/chem/specimen-row/activity.mjs +70 -0
  968. package/dist/domains/chem/specimen-row/manifest.mjs +57 -0
  969. package/dist/domains/chem/specimen-row/model.mjs +122 -0
  970. package/dist/domains/chem/specimen-row/runtime.mjs +105 -0
  971. package/dist/domains/chem/specimen-row/scene.mjs +230 -0
  972. package/dist/domains/chem/spectrum-reader/activity.mjs +36 -0
  973. package/dist/domains/chem/spectrum-reader/manifest.mjs +47 -0
  974. package/dist/domains/chem/spectrum-reader/model.mjs +244 -0
  975. package/dist/domains/chem/spectrum-reader/runtime.mjs +62 -0
  976. package/dist/domains/chem/spectrum-reader/scene.mjs +37 -0
  977. package/dist/domains/chem/structure-detective/activity.mjs +67 -0
  978. package/dist/domains/chem/structure-detective/manifest.mjs +59 -0
  979. package/dist/domains/chem/structure-detective/runtime.mjs +6 -0
  980. package/dist/domains/chem/synthesis-route/activity.mjs +36 -0
  981. package/dist/domains/chem/synthesis-route/manifest.mjs +45 -0
  982. package/dist/domains/chem/synthesis-route/model.mjs +165 -0
  983. package/dist/domains/chem/synthesis-route/runtime.mjs +67 -0
  984. package/dist/domains/chem/synthesis-route/scene.mjs +152 -0
  985. package/dist/domains/chem/titration/manifest.mjs +2 -0
  986. package/dist/domains/chem/titration-run/activity.mjs +54 -0
  987. package/dist/domains/chem/titration-run/manifest.mjs +61 -0
  988. package/dist/domains/chem/titration-run/model.mjs +174 -0
  989. package/dist/domains/chem/titration-run/runtime.mjs +113 -0
  990. package/dist/domains/chem/titration-run/scene.mjs +166 -0
  991. package/dist/domains/chem/trend-axis/activity.mjs +52 -0
  992. package/dist/domains/chem/trend-axis/manifest.mjs +57 -0
  993. package/dist/domains/chem/trend-axis/model.mjs +487 -0
  994. package/dist/domains/chem/trend-axis/runtime.mjs +87 -0
  995. package/dist/domains/chem/trend-axis/scene.mjs +246 -0
  996. package/dist/domains/circuits/ac-dc/manifest.mjs +65 -0
  997. package/dist/domains/circuits/ac-dc/runtime.mjs +5 -0
  998. package/dist/domains/circuits/ac-response/activity.mjs +3 -0
  999. package/dist/domains/circuits/ac-response/manifest.mjs +70 -0
  1000. package/dist/domains/circuits/ac-response/runtime.mjs +3 -0
  1001. package/dist/domains/circuits/cell-combination/activity.mjs +3 -0
  1002. package/dist/domains/circuits/cell-combination/manifest.mjs +69 -0
  1003. package/dist/domains/circuits/cell-combination/runtime.mjs +3 -0
  1004. package/dist/domains/circuits/circuit/runtime.mjs +11 -10
  1005. package/dist/domains/circuits/circuit-scene/manifest.mjs +1 -0
  1006. package/dist/domains/circuits/energy-cost/activity.mjs +3 -0
  1007. package/dist/domains/circuits/energy-cost/manifest.mjs +79 -0
  1008. package/dist/domains/circuits/energy-cost/runtime.mjs +3 -0
  1009. package/dist/domains/circuits/kirchhoff-laws/manifest.mjs +64 -0
  1010. package/dist/domains/circuits/kirchhoff-laws/runtime.mjs +5 -0
  1011. package/dist/domains/circuits/meter-conversion/activity.mjs +3 -0
  1012. package/dist/domains/circuits/meter-conversion/manifest.mjs +69 -0
  1013. package/dist/domains/circuits/meter-conversion/runtime.mjs +3 -0
  1014. package/dist/domains/circuits/network-reduction/activity.mjs +3 -0
  1015. package/dist/domains/circuits/network-reduction/manifest.mjs +85 -0
  1016. package/dist/domains/circuits/network-reduction/runtime.mjs +3 -0
  1017. package/dist/domains/circuits/null-balance/activity.mjs +3 -0
  1018. package/dist/domains/circuits/null-balance/manifest.mjs +69 -0
  1019. package/dist/domains/circuits/null-balance/runtime.mjs +3 -0
  1020. package/dist/domains/circuits/potential-divider/manifest.mjs +69 -0
  1021. package/dist/domains/circuits/potential-divider/runtime.mjs +5 -0
  1022. package/dist/domains/data/design-records/manifest.mjs +54 -0
  1023. package/dist/domains/data/design-records/runtime.mjs +3 -0
  1024. package/dist/domains/data/dirty-data/manifest.mjs +53 -0
  1025. package/dist/domains/data/dirty-data/runtime.mjs +3 -0
  1026. package/dist/domains/databases/b-plus-range/manifest.mjs +48 -0
  1027. package/dist/domains/databases/b-plus-range/runtime.mjs +3 -0
  1028. package/dist/domains/databases/index-detective/manifest.mjs +54 -0
  1029. package/dist/domains/databases/index-detective/runtime.mjs +3 -0
  1030. package/dist/domains/databases/query-plan/manifest.mjs +49 -0
  1031. package/dist/domains/databases/query-plan/runtime.mjs +3 -0
  1032. package/dist/domains/databases/range-query/manifest.mjs +53 -0
  1033. package/dist/domains/databases/range-query/runtime.mjs +3 -0
  1034. package/dist/domains/discrete/arrangements/manifest.mjs +2 -0
  1035. package/dist/domains/discrete/combination-studio/manifest.mjs +2 -0
  1036. package/dist/domains/discrete/counting-tree/manifest.mjs +2 -0
  1037. package/dist/domains/discrete/rule-card/builtins.mjs +1 -1
  1038. package/dist/domains/discrete/rule-card/manifest.mjs +2 -0
  1039. package/dist/domains/discrete/rule-card/runtime.mjs +14 -12
  1040. package/dist/domains/discrete/selection/manifest.mjs +2 -0
  1041. package/dist/domains/distributed-systems/shard-key/manifest.mjs +50 -0
  1042. package/dist/domains/distributed-systems/shard-key/runtime.mjs +3 -0
  1043. package/dist/domains/domain-map.mjs +1008 -0
  1044. package/dist/domains/exam/exam-question/manifest.mjs +3 -12
  1045. package/dist/domains/geometry/geometry-board/scene.mjs +1 -1
  1046. package/dist/domains/geometry/intersecting-circles/manifest.mjs +1 -0
  1047. package/dist/domains/ict/binary-counter/runtime.mjs +5 -5
  1048. package/dist/domains/ict/graph-algorithm/authoring.mjs +1 -1
  1049. package/dist/domains/ict/logic-circuit/runtime.mjs +7 -6
  1050. package/dist/domains/ict/sequence-detector/runtime.mjs +1 -1
  1051. package/dist/domains/ict/tree-quest/authoring.mjs +1 -1
  1052. package/dist/domains/language/agreement/authoring.mjs +2 -1
  1053. package/dist/domains/language/article-lens/authoring.mjs +2 -1
  1054. package/dist/domains/language/cloze/authoring.mjs +2 -1
  1055. package/dist/domains/language/error-correct/authoring.mjs +2 -1
  1056. package/dist/domains/language/preposition/authoring.mjs +2 -1
  1057. package/dist/domains/manifests.mjs +719 -283
  1058. package/dist/domains/math/area-model/manifest.mjs +2 -0
  1059. package/dist/domains/math/balance-algebra/manifest.mjs +2 -0
  1060. package/dist/domains/math/balance-algebra/runtime.mjs +2 -0
  1061. package/dist/domains/math/bounds-window/manifest.mjs +64 -0
  1062. package/dist/domains/math/bounds-window/runtime.mjs +29 -0
  1063. package/dist/domains/math/cone-frustum/manifest.mjs +69 -0
  1064. package/dist/domains/math/cone-frustum/runtime.mjs +20 -0
  1065. package/dist/domains/math/custom-scene/manifest.mjs +2 -0
  1066. package/dist/domains/math/derivation/manifest.mjs +1 -0
  1067. package/dist/domains/math/derivative-explorer/manifest.mjs +1 -0
  1068. package/dist/domains/math/derivative-explorer/runtime.mjs +4 -2
  1069. package/dist/domains/math/differential-equation/manifest.mjs +1 -0
  1070. package/dist/domains/math/differential-equation/runtime.mjs +2 -1
  1071. package/dist/domains/math/exact-triangle/manifest.mjs +62 -0
  1072. package/dist/domains/math/exact-triangle/runtime.mjs +19 -0
  1073. package/dist/domains/math/function-machine/manifest.mjs +1 -0
  1074. package/dist/domains/math/fundamental-theorem/manifest.mjs +1 -0
  1075. package/dist/domains/math/fundamental-theorem/runtime.mjs +4 -2
  1076. package/dist/domains/math/geometry-transform/runtime.mjs +25 -24
  1077. package/dist/domains/math/gradient-descent/manifest.mjs +1 -0
  1078. package/dist/domains/math/gradient-descent/runtime.mjs +4 -2
  1079. package/dist/domains/math/graph/manifest.mjs +1 -0
  1080. package/dist/domains/math/growing-pattern/manifest.mjs +2 -0
  1081. package/dist/domains/math/growing-pattern/runtime.mjs +2 -0
  1082. package/dist/domains/math/integral-explorer/manifest.mjs +1 -0
  1083. package/dist/domains/math/integral-explorer/runtime.mjs +4 -2
  1084. package/dist/domains/math/limit-explorer/manifest.mjs +1 -0
  1085. package/dist/domains/math/limit-explorer/runtime.mjs +4 -2
  1086. package/dist/domains/math/linear-system/manifest.mjs +2 -0
  1087. package/dist/domains/math/linearisation/activity.mjs +94 -0
  1088. package/dist/domains/math/linearisation/manifest.mjs +51 -0
  1089. package/dist/domains/math/linearisation/runtime.mjs +110 -0
  1090. package/dist/domains/math/log-law-workbench/activity.mjs +112 -0
  1091. package/dist/domains/math/log-law-workbench/manifest.mjs +51 -0
  1092. package/dist/domains/math/log-law-workbench/runtime.mjs +133 -0
  1093. package/dist/domains/math/modulus-cases/activity.mjs +94 -0
  1094. package/dist/domains/math/modulus-cases/manifest.mjs +52 -0
  1095. package/dist/domains/math/modulus-cases/runtime.mjs +105 -0
  1096. package/dist/domains/math/mystery-bucket/manifest.mjs +3 -1
  1097. package/dist/domains/math/mystery-bucket/runtime.mjs +3 -1
  1098. package/dist/domains/math/newton-method/manifest.mjs +1 -0
  1099. package/dist/domains/math/newton-method/runtime.mjs +2 -1
  1100. package/dist/domains/math/number-line/manifest.mjs +3 -1
  1101. package/dist/domains/math/number-line/runtime.mjs +3 -1
  1102. package/dist/domains/math/phase-portrait/manifest.mjs +1 -0
  1103. package/dist/domains/math/solid-slice/manifest.mjs +67 -0
  1104. package/dist/domains/math/solid-slice/runtime.mjs +24 -0
  1105. package/dist/domains/math/tank-design/manifest.mjs +69 -0
  1106. package/dist/domains/math/tank-design/runtime.mjs +20 -0
  1107. package/dist/domains/math/taylor-series/manifest.mjs +1 -0
  1108. package/dist/domains/math/taylor-series/runtime.mjs +2 -1
  1109. package/dist/domains/math/trig-explorer/manifest.mjs +2 -0
  1110. package/dist/domains/math/vector-geometry-two-d/activity.mjs +94 -0
  1111. package/dist/domains/math/vector-geometry-two-d/manifest.mjs +52 -0
  1112. package/dist/domains/math/vector-geometry-two-d/runtime.mjs +110 -0
  1113. package/dist/domains/math/vertex-parabola/manifest.mjs +5 -1
  1114. package/dist/domains/ml/activation-gates/manifest.mjs +60 -0
  1115. package/dist/domains/ml/activation-gates/runtime.mjs +3 -0
  1116. package/dist/domains/ml/activity.mjs +24 -20
  1117. package/dist/domains/ml/affine-neuron/manifest.mjs +62 -0
  1118. package/dist/domains/ml/affine-neuron/runtime.mjs +3 -0
  1119. package/dist/domains/ml/anomaly-detector/manifest.mjs +52 -0
  1120. package/dist/domains/ml/anomaly-detector/runtime.mjs +3 -0
  1121. package/dist/domains/ml/attention-routing/manifest.mjs +52 -0
  1122. package/dist/domains/ml/attention-routing/runtime.mjs +3 -0
  1123. package/dist/domains/ml/autoencoder/manifest.mjs +52 -0
  1124. package/dist/domains/ml/autoencoder/runtime.mjs +3 -0
  1125. package/dist/domains/ml/causal-mask/manifest.mjs +52 -0
  1126. package/dist/domains/ml/causal-mask/runtime.mjs +3 -0
  1127. package/dist/domains/ml/classifier-threshold/runtime.d.mts +2 -12
  1128. package/dist/domains/ml/context-window/manifest.mjs +53 -0
  1129. package/dist/domains/ml/context-window/runtime.mjs +3 -0
  1130. package/dist/domains/ml/decision-boundary/runtime.d.mts +2 -11
  1131. package/dist/domains/ml/decision-boundary/runtime.mjs +2 -1
  1132. package/dist/domains/ml/denoising/manifest.mjs +52 -0
  1133. package/dist/domains/ml/denoising/runtime.mjs +3 -0
  1134. package/dist/domains/ml/embedding-neighborhood/manifest.mjs +52 -0
  1135. package/dist/domains/ml/embedding-neighborhood/runtime.mjs +3 -0
  1136. package/dist/domains/ml/embedding-space/runtime.mjs +3 -4
  1137. package/dist/domains/ml/encoder-decoder/manifest.mjs +53 -0
  1138. package/dist/domains/ml/encoder-decoder/runtime.mjs +3 -0
  1139. package/dist/domains/ml/feature-map/manifest.mjs +61 -0
  1140. package/dist/domains/ml/feature-map/runtime.mjs +3 -0
  1141. package/dist/domains/ml/feed-forward-network/manifest.mjs +61 -0
  1142. package/dist/domains/ml/feed-forward-network/runtime.mjs +3 -0
  1143. package/dist/domains/ml/fit-evidence/manifest.mjs +62 -0
  1144. package/dist/domains/ml/fit-evidence/runtime.mjs +3 -0
  1145. package/dist/domains/ml/gradient-step/manifest.mjs +58 -0
  1146. package/dist/domains/ml/gradient-step/runtime.mjs +3 -0
  1147. package/dist/domains/ml/kmeans/runtime.d.mts +2 -13
  1148. package/dist/domains/ml/kmeans/runtime.mjs +2 -1
  1149. package/dist/domains/ml/knn/runtime.d.mts +2 -13
  1150. package/dist/domains/ml/knn/runtime.mjs +3 -1
  1151. package/dist/domains/ml/latent-space/manifest.mjs +52 -0
  1152. package/dist/domains/ml/latent-space/runtime.mjs +3 -0
  1153. package/dist/domains/ml/layer-normalization/manifest.mjs +79 -0
  1154. package/dist/domains/ml/layer-normalization/runtime.mjs +3 -0
  1155. package/dist/domains/ml/learning-loop/manifest.mjs +55 -0
  1156. package/dist/domains/ml/learning-loop/runtime.mjs +3 -0
  1157. package/dist/domains/ml/loss-error/manifest.mjs +57 -0
  1158. package/dist/domains/ml/loss-error/runtime.mjs +3 -0
  1159. package/dist/domains/ml/matrix-vector/manifest.mjs +57 -0
  1160. package/dist/domains/ml/matrix-vector/runtime.mjs +3 -0
  1161. package/dist/domains/ml/memory-relay/manifest.mjs +53 -0
  1162. package/dist/domains/ml/memory-relay/runtime.mjs +3 -0
  1163. package/dist/domains/ml/multi-head-attention/manifest.mjs +52 -0
  1164. package/dist/domains/ml/multi-head-attention/runtime.mjs +3 -0
  1165. package/dist/domains/ml/multimodal-alignment/manifest.mjs +52 -0
  1166. package/dist/domains/ml/multimodal-alignment/runtime.mjs +3 -0
  1167. package/dist/domains/ml/next-token/runtime.mjs +1 -1
  1168. package/dist/domains/ml/pixel-filter/manifest.mjs +48 -0
  1169. package/dist/domains/ml/pixel-filter/runtime.mjs +3 -0
  1170. package/dist/domains/ml/position-signals/manifest.mjs +52 -0
  1171. package/dist/domains/ml/position-signals/runtime.mjs +3 -0
  1172. package/dist/domains/ml/query-key-value/manifest.mjs +54 -0
  1173. package/dist/domains/ml/query-key-value/runtime.mjs +3 -0
  1174. package/dist/domains/ml/regression/runtime.d.mts +2 -14
  1175. package/dist/domains/ml/residual-stream/manifest.mjs +59 -0
  1176. package/dist/domains/ml/residual-stream/runtime.mjs +3 -0
  1177. package/dist/domains/ml/scaled-dot-product-attention/manifest.mjs +60 -0
  1178. package/dist/domains/ml/scaled-dot-product-attention/runtime.mjs +3 -0
  1179. package/dist/domains/ml/tiny-network/manifest.mjs +56 -0
  1180. package/dist/domains/ml/tiny-network/runtime.mjs +3 -0
  1181. package/dist/domains/ml/token-generation/manifest.mjs +53 -0
  1182. package/dist/domains/ml/token-generation/runtime.mjs +3 -0
  1183. package/dist/domains/ml/training-loop/manifest.mjs +58 -0
  1184. package/dist/domains/ml/training-loop/runtime.mjs +3 -0
  1185. package/dist/domains/ml/transformer-block/manifest.mjs +67 -0
  1186. package/dist/domains/ml/transformer-block/runtime.mjs +3 -0
  1187. package/dist/domains/ml/unembedding/manifest.mjs +61 -0
  1188. package/dist/domains/ml/unembedding/runtime.mjs +3 -0
  1189. package/dist/domains/networking/_shared/decision-scene.mjs +91 -0
  1190. package/dist/domains/networking/adaptive-video-call/activity.mjs +57 -0
  1191. package/dist/domains/networking/adaptive-video-call/manifest.mjs +69 -0
  1192. package/dist/domains/networking/adaptive-video-call/runtime.mjs +132 -0
  1193. package/dist/domains/networking/adaptive-video-call/scene.mjs +194 -0
  1194. package/dist/domains/networking/bottleneck-queue/activity.mjs +33 -0
  1195. package/dist/domains/networking/bottleneck-queue/manifest.mjs +68 -0
  1196. package/dist/domains/networking/bottleneck-queue/runtime.mjs +137 -0
  1197. package/dist/domains/networking/bottleneck-queue/scene.mjs +162 -0
  1198. package/dist/domains/networking/broadcast-delivery/activity.mjs +71 -0
  1199. package/dist/domains/networking/broadcast-delivery/manifest.mjs +76 -0
  1200. package/dist/domains/networking/broadcast-delivery/runtime.mjs +100 -0
  1201. package/dist/domains/networking/broadcast-delivery/scene.mjs +99 -0
  1202. package/dist/domains/networking/cafe-privacy/manifest.mjs +84 -0
  1203. package/dist/domains/networking/cafe-privacy/runtime.mjs +259 -0
  1204. package/dist/domains/networking/cell-size/manifest.mjs +78 -0
  1205. package/dist/domains/networking/cell-size/runtime.mjs +166 -0
  1206. package/dist/domains/networking/cloud-storage-design/activity.mjs +58 -0
  1207. package/dist/domains/networking/cloud-storage-design/manifest.mjs +81 -0
  1208. package/dist/domains/networking/cloud-storage-design/runtime.mjs +108 -0
  1209. package/dist/domains/networking/cloud-storage-design/scene.mjs +134 -0
  1210. package/dist/domains/networking/container-deployment/activity.mjs +58 -0
  1211. package/dist/domains/networking/container-deployment/manifest.mjs +79 -0
  1212. package/dist/domains/networking/container-deployment/runtime.mjs +124 -0
  1213. package/dist/domains/networking/container-deployment/scene.mjs +243 -0
  1214. package/dist/domains/networking/data-recovery-planner/activity.mjs +58 -0
  1215. package/dist/domains/networking/data-recovery-planner/manifest.mjs +74 -0
  1216. package/dist/domains/networking/data-recovery-planner/runtime.mjs +111 -0
  1217. package/dist/domains/networking/data-recovery-planner/scene.mjs +139 -0
  1218. package/dist/domains/networking/dhcp-lease/manifest.mjs +64 -0
  1219. package/dist/domains/networking/dhcp-lease/runtime.mjs +108 -0
  1220. package/dist/domains/networking/distributed-inference-topology/activity.mjs +58 -0
  1221. package/dist/domains/networking/distributed-inference-topology/manifest.mjs +82 -0
  1222. package/dist/domains/networking/distributed-inference-topology/runtime.mjs +142 -0
  1223. package/dist/domains/networking/distributed-inference-topology/scene.mjs +179 -0
  1224. package/dist/domains/networking/dns-resolution/activity.mjs +33 -0
  1225. package/dist/domains/networking/dns-resolution/manifest.mjs +71 -0
  1226. package/dist/domains/networking/dns-resolution/runtime.mjs +80 -0
  1227. package/dist/domains/networking/dns-resolution/scene.mjs +129 -0
  1228. package/dist/domains/networking/edge-cache-delivery/activity.mjs +58 -0
  1229. package/dist/domains/networking/edge-cache-delivery/manifest.mjs +74 -0
  1230. package/dist/domains/networking/edge-cache-delivery/runtime.mjs +111 -0
  1231. package/dist/domains/networking/edge-cache-delivery/scene.mjs +130 -0
  1232. package/dist/domains/networking/ethernet-pinout/runtime.mjs +1 -1
  1233. package/dist/domains/networking/failure-domain-planner/activity.mjs +58 -0
  1234. package/dist/domains/networking/failure-domain-planner/manifest.mjs +82 -0
  1235. package/dist/domains/networking/failure-domain-planner/runtime.mjs +119 -0
  1236. package/dist/domains/networking/failure-domain-planner/scene.mjs +120 -0
  1237. package/dist/domains/networking/generation-capability/manifest.mjs +73 -0
  1238. package/dist/domains/networking/generation-capability/runtime.mjs +156 -0
  1239. package/dist/domains/networking/geo-market-routing/activity.mjs +58 -0
  1240. package/dist/domains/networking/geo-market-routing/manifest.mjs +79 -0
  1241. package/dist/domains/networking/geo-market-routing/runtime.mjs +122 -0
  1242. package/dist/domains/networking/geo-market-routing/scene.mjs +129 -0
  1243. package/dist/domains/networking/group-message-sync/activity.mjs +33 -0
  1244. package/dist/domains/networking/group-message-sync/manifest.mjs +73 -0
  1245. package/dist/domains/networking/group-message-sync/runtime.mjs +118 -0
  1246. package/dist/domains/networking/group-message-sync/scene.mjs +132 -0
  1247. package/dist/domains/networking/handover-margin/manifest.mjs +81 -0
  1248. package/dist/domains/networking/handover-margin/runtime.mjs +224 -0
  1249. package/dist/domains/networking/home-broadband-journey/activity.mjs +44 -0
  1250. package/dist/domains/networking/home-broadband-journey/manifest.mjs +79 -0
  1251. package/dist/domains/networking/home-broadband-journey/runtime.mjs +108 -0
  1252. package/dist/domains/networking/home-broadband-journey/scene.mjs +133 -0
  1253. package/dist/domains/networking/inference-capacity-planner/activity.mjs +58 -0
  1254. package/dist/domains/networking/inference-capacity-planner/manifest.mjs +82 -0
  1255. package/dist/domains/networking/inference-capacity-planner/runtime.mjs +163 -0
  1256. package/dist/domains/networking/inference-capacity-planner/scene.mjs +138 -0
  1257. package/dist/domains/networking/inference-degradation-planner/activity.mjs +58 -0
  1258. package/dist/domains/networking/inference-degradation-planner/manifest.mjs +81 -0
  1259. package/dist/domains/networking/inference-degradation-planner/runtime.mjs +143 -0
  1260. package/dist/domains/networking/inference-degradation-planner/scene.mjs +130 -0
  1261. package/dist/domains/networking/inference-request-pipeline/activity.mjs +58 -0
  1262. package/dist/domains/networking/inference-request-pipeline/manifest.mjs +86 -0
  1263. package/dist/domains/networking/inference-request-pipeline/runtime.mjs +141 -0
  1264. package/dist/domains/networking/inference-request-pipeline/scene.mjs +137 -0
  1265. package/dist/domains/networking/infrastructure-drift-planner/activity.mjs +58 -0
  1266. package/dist/domains/networking/infrastructure-drift-planner/manifest.mjs +87 -0
  1267. package/dist/domains/networking/infrastructure-drift-planner/runtime.mjs +141 -0
  1268. package/dist/domains/networking/infrastructure-drift-planner/scene.mjs +36 -0
  1269. package/dist/domains/networking/ipv6-neighbor/manifest.mjs +61 -0
  1270. package/dist/domains/networking/ipv6-neighbor/runtime.mjs +124 -0
  1271. package/dist/domains/networking/layer-encapsulation/runtime.mjs +1 -1
  1272. package/dist/domains/networking/live-stream-pipeline/activity.mjs +72 -0
  1273. package/dist/domains/networking/live-stream-pipeline/manifest.mjs +67 -0
  1274. package/dist/domains/networking/live-stream-pipeline/runtime.mjs +98 -0
  1275. package/dist/domains/networking/live-stream-pipeline/scene.mjs +122 -0
  1276. package/dist/domains/networking/media-encoding/activity.mjs +33 -0
  1277. package/dist/domains/networking/media-encoding/manifest.mjs +72 -0
  1278. package/dist/domains/networking/media-encoding/runtime.mjs +111 -0
  1279. package/dist/domains/networking/media-encoding/scene.mjs +155 -0
  1280. package/dist/domains/networking/message-journey/activity.mjs +51 -0
  1281. package/dist/domains/networking/message-journey/manifest.mjs +80 -0
  1282. package/dist/domains/networking/message-journey/runtime.mjs +170 -0
  1283. package/dist/domains/networking/message-journey/scene.mjs +388 -0
  1284. package/dist/domains/networking/mobile-call-journey/activity.mjs +51 -0
  1285. package/dist/domains/networking/mobile-call-journey/manifest.mjs +81 -0
  1286. package/dist/domains/networking/mobile-call-journey/runtime.mjs +164 -0
  1287. package/dist/domains/networking/mobile-call-journey/scene.mjs +390 -0
  1288. package/dist/domains/networking/model-routing-economics/activity.mjs +58 -0
  1289. package/dist/domains/networking/model-routing-economics/manifest.mjs +79 -0
  1290. package/dist/domains/networking/model-routing-economics/runtime.mjs +124 -0
  1291. package/dist/domains/networking/model-routing-economics/scene.mjs +165 -0
  1292. package/dist/domains/networking/modem-modulation/activity.mjs +33 -0
  1293. package/dist/domains/networking/modem-modulation/manifest.mjs +71 -0
  1294. package/dist/domains/networking/modem-modulation/runtime.mjs +98 -0
  1295. package/dist/domains/networking/modem-modulation/scene.mjs +150 -0
  1296. package/dist/domains/networking/nat-traversal/manifest.mjs +70 -0
  1297. package/dist/domains/networking/nat-traversal/runtime.mjs +115 -0
  1298. package/dist/domains/networking/network-media/runtime.mjs +2 -2
  1299. package/dist/domains/networking/orbit-latency/manifest.mjs +83 -0
  1300. package/dist/domains/networking/orbit-latency/runtime.mjs +222 -0
  1301. package/dist/domains/networking/orchestration-reconciler/activity.mjs +58 -0
  1302. package/dist/domains/networking/orchestration-reconciler/manifest.mjs +76 -0
  1303. package/dist/domains/networking/orchestration-reconciler/runtime.mjs +129 -0
  1304. package/dist/domains/networking/orchestration-reconciler/scene.mjs +162 -0
  1305. package/dist/domains/networking/packet-journey/runtime.d.mts +3 -12
  1306. package/dist/domains/networking/packet-journey/runtime.mjs +1 -2
  1307. package/dist/domains/networking/prefix-cache-planner/activity.mjs +58 -0
  1308. package/dist/domains/networking/prefix-cache-planner/manifest.mjs +79 -0
  1309. package/dist/domains/networking/prefix-cache-planner/runtime.mjs +145 -0
  1310. package/dist/domains/networking/prefix-cache-planner/scene.mjs +120 -0
  1311. package/dist/domains/networking/release-strategy-planner/activity.mjs +56 -0
  1312. package/dist/domains/networking/release-strategy-planner/manifest.mjs +83 -0
  1313. package/dist/domains/networking/release-strategy-planner/runtime.mjs +142 -0
  1314. package/dist/domains/networking/release-strategy-planner/scene.mjs +68 -0
  1315. package/dist/domains/networking/route-learning/manifest.mjs +57 -0
  1316. package/dist/domains/networking/route-learning/runtime.mjs +130 -0
  1317. package/dist/domains/networking/secret-rotation-planner/activity.mjs +57 -0
  1318. package/dist/domains/networking/secret-rotation-planner/manifest.mjs +80 -0
  1319. package/dist/domains/networking/secret-rotation-planner/runtime.mjs +136 -0
  1320. package/dist/domains/networking/secret-rotation-planner/scene.mjs +70 -0
  1321. package/dist/domains/networking/server-deployment/activity.mjs +58 -0
  1322. package/dist/domains/networking/server-deployment/manifest.mjs +89 -0
  1323. package/dist/domains/networking/server-deployment/runtime.mjs +150 -0
  1324. package/dist/domains/networking/server-deployment/scene.mjs +231 -0
  1325. package/dist/domains/networking/service-scaling/activity.mjs +58 -0
  1326. package/dist/domains/networking/service-scaling/manifest.mjs +74 -0
  1327. package/dist/domains/networking/service-scaling/runtime.mjs +120 -0
  1328. package/dist/domains/networking/service-scaling/scene.mjs +134 -0
  1329. package/dist/domains/networking/shared-airtime/manifest.mjs +80 -0
  1330. package/dist/domains/networking/shared-airtime/runtime.mjs +238 -0
  1331. package/dist/domains/networking/signal-through-walls/manifest.mjs +77 -0
  1332. package/dist/domains/networking/signal-through-walls/runtime.mjs +160 -0
  1333. package/dist/domains/networking/slo-incident-console/activity.mjs +58 -0
  1334. package/dist/domains/networking/slo-incident-console/manifest.mjs +83 -0
  1335. package/dist/domains/networking/slo-incident-console/runtime.mjs +128 -0
  1336. package/dist/domains/networking/slo-incident-console/scene.mjs +143 -0
  1337. package/dist/domains/networking/spectrum-map/manifest.mjs +64 -0
  1338. package/dist/domains/networking/spectrum-map/runtime.mjs +149 -0
  1339. package/dist/domains/networking/subnet-builder/runtime.mjs +1 -1
  1340. package/dist/domains/networking/switch-learning/runtime.mjs +1 -1
  1341. package/dist/domains/networking/tcp-handshake/manifest.mjs +81 -0
  1342. package/dist/domains/networking/tcp-handshake/runtime.mjs +257 -0
  1343. package/dist/domains/networking/tcp-sender/manifest.mjs +63 -0
  1344. package/dist/domains/networking/tcp-sender/runtime.mjs +151 -0
  1345. package/dist/domains/networking/tls-connection/activity.mjs +33 -0
  1346. package/dist/domains/networking/tls-connection/manifest.mjs +70 -0
  1347. package/dist/domains/networking/tls-connection/runtime.mjs +94 -0
  1348. package/dist/domains/networking/tls-connection/scene.mjs +96 -0
  1349. package/dist/domains/networking/vlan-designer/runtime.mjs +5 -3
  1350. package/dist/domains/networking/vpc-route-planner/activity.mjs +58 -0
  1351. package/dist/domains/networking/vpc-route-planner/manifest.mjs +80 -0
  1352. package/dist/domains/networking/vpc-route-planner/runtime.mjs +107 -0
  1353. package/dist/domains/networking/vpc-route-planner/scene.mjs +145 -0
  1354. package/dist/domains/networking/vpn-tunnel/runtime.mjs +2 -2
  1355. package/dist/domains/networking/wave-size/manifest.mjs +69 -0
  1356. package/dist/domains/networking/wave-size/runtime.mjs +149 -0
  1357. package/dist/domains/networking/wifi-contention/activity.mjs +33 -0
  1358. package/dist/domains/networking/wifi-contention/manifest.mjs +62 -0
  1359. package/dist/domains/networking/wifi-contention/runtime.mjs +93 -0
  1360. package/dist/domains/networking/wifi-contention/scene.mjs +92 -0
  1361. package/dist/domains/networking/wifi-coverage/manifest.mjs +82 -0
  1362. package/dist/domains/networking/wifi-coverage/runtime.mjs +253 -0
  1363. package/dist/domains/networking/workload-identity-planner/activity.mjs +58 -0
  1364. package/dist/domains/networking/workload-identity-planner/manifest.mjs +82 -0
  1365. package/dist/domains/networking/workload-identity-planner/runtime.mjs +120 -0
  1366. package/dist/domains/networking/workload-identity-planner/scene.mjs +71 -0
  1367. package/dist/domains/physics/ac-generator/manifest.mjs +64 -0
  1368. package/dist/domains/physics/ac-generator/runtime.mjs +5 -0
  1369. package/dist/domains/physics/car-suspension/manifest.mjs +59 -0
  1370. package/dist/domains/physics/car-suspension/runtime.mjs +5 -0
  1371. package/dist/domains/physics/circuit-fault-detective/activity.mjs +59 -0
  1372. package/dist/domains/physics/circuit-fault-detective/manifest.mjs +59 -0
  1373. package/dist/domains/physics/circuit-fault-detective/runtime.mjs +157 -0
  1374. package/dist/domains/physics/circuit-iv-investigation/activity.mjs +127 -0
  1375. package/dist/domains/physics/circuit-iv-investigation/manifest.mjs +78 -0
  1376. package/dist/domains/physics/circuit-iv-investigation/runtime.mjs +329 -0
  1377. package/dist/domains/physics/circular-motion/manifest.mjs +0 -2
  1378. package/dist/domains/physics/coil-torque/activity.mjs +3 -0
  1379. package/dist/domains/physics/coil-torque/manifest.mjs +69 -0
  1380. package/dist/domains/physics/coil-torque/runtime.mjs +3 -0
  1381. package/dist/domains/physics/collision-track/manifest.mjs +15 -5
  1382. package/dist/domains/physics/cooling-insulation-investigation/activity.mjs +128 -0
  1383. package/dist/domains/physics/cooling-insulation-investigation/manifest.mjs +78 -0
  1384. package/dist/domains/physics/cooling-insulation-investigation/runtime.mjs +273 -0
  1385. package/dist/domains/physics/coulomb-superposition/activity.mjs +3 -0
  1386. package/dist/domains/physics/coulomb-superposition/manifest.mjs +75 -0
  1387. package/dist/domains/physics/coulomb-superposition/runtime.mjs +3 -0
  1388. package/dist/domains/physics/dc-motor/manifest.mjs +58 -0
  1389. package/dist/domains/physics/dc-motor/runtime.mjs +5 -0
  1390. package/dist/domains/physics/density-displacement/activity.mjs +128 -0
  1391. package/dist/domains/physics/density-displacement/manifest.mjs +75 -0
  1392. package/dist/domains/physics/density-displacement/runtime.mjs +197 -0
  1393. package/dist/domains/physics/earth-field/activity.mjs +3 -0
  1394. package/dist/domains/physics/earth-field/manifest.mjs +77 -0
  1395. package/dist/domains/physics/earth-field/runtime.mjs +3 -0
  1396. package/dist/domains/physics/energy-resource-grid/activity.mjs +169 -0
  1397. package/dist/domains/physics/energy-resource-grid/manifest.mjs +89 -0
  1398. package/dist/domains/physics/energy-resource-grid/palette.mjs +69 -0
  1399. package/dist/domains/physics/energy-resource-grid/runtime.mjs +1483 -0
  1400. package/dist/domains/physics/energy-skate/manifest.mjs +0 -2
  1401. package/dist/domains/physics/generator-grid-mission/activity.mjs +153 -0
  1402. package/dist/domains/physics/generator-grid-mission/manifest.mjs +81 -0
  1403. package/dist/domains/physics/generator-grid-mission/palette.mjs +30 -0
  1404. package/dist/domains/physics/generator-grid-mission/runtime.mjs +466 -0
  1405. package/dist/domains/physics/glass-block-refraction/activity.mjs +128 -0
  1406. package/dist/domains/physics/glass-block-refraction/manifest.mjs +77 -0
  1407. package/dist/domains/physics/glass-block-refraction/runtime.mjs +327 -0
  1408. package/dist/domains/physics/gravitation/manifest.mjs +8 -5
  1409. package/dist/domains/physics/gravity-profile/manifest.mjs +62 -0
  1410. package/dist/domains/physics/gravity-profile/runtime.mjs +5 -0
  1411. package/dist/domains/physics/guitar-string/manifest.mjs +69 -0
  1412. package/dist/domains/physics/guitar-string/runtime.mjs +5 -0
  1413. package/dist/domains/physics/heat-transfer/manifest.mjs +0 -2
  1414. package/dist/domains/physics/kepler/manifest.mjs +0 -2
  1415. package/dist/domains/physics/lens-focal-investigation/activity.mjs +128 -0
  1416. package/dist/domains/physics/lens-focal-investigation/manifest.mjs +78 -0
  1417. package/dist/domains/physics/lens-focal-investigation/runtime.mjs +329 -0
  1418. package/dist/domains/physics/lift-weight/manifest.mjs +55 -0
  1419. package/dist/domains/physics/lift-weight/runtime.mjs +5 -0
  1420. package/dist/domains/physics/lifting-work/manifest.mjs +62 -0
  1421. package/dist/domains/physics/lifting-work/runtime.mjs +5 -0
  1422. package/dist/domains/physics/magnetic-field/activity.mjs +3 -0
  1423. package/dist/domains/physics/magnetic-field/manifest.mjs +80 -0
  1424. package/dist/domains/physics/magnetic-field/runtime.mjs +3 -0
  1425. package/dist/domains/physics/magnetic-field-mission/activity.mjs +120 -0
  1426. package/dist/domains/physics/magnetic-field-mission/manifest.mjs +73 -0
  1427. package/dist/domains/physics/magnetic-field-mission/palette.mjs +40 -0
  1428. package/dist/domains/physics/magnetic-field-mission/runtime.mjs +547 -0
  1429. package/dist/domains/physics/orbit-lab/manifest.mjs +0 -2
  1430. package/dist/domains/physics/paper5-analysis-lab/activity.mjs +144 -0
  1431. package/dist/domains/physics/paper5-analysis-lab/manifest.mjs +67 -0
  1432. package/dist/domains/physics/paper5-analysis-lab/runtime.mjs +706 -0
  1433. package/dist/domains/physics/pendulum-worlds/manifest.mjs +55 -0
  1434. package/dist/domains/physics/pendulum-worlds/runtime.mjs +5 -0
  1435. package/dist/domains/physics/pet-scan/activity.mjs +3 -0
  1436. package/dist/domains/physics/pet-scan/manifest.mjs +73 -0
  1437. package/dist/domains/physics/pet-scan/runtime.mjs +3 -0
  1438. package/dist/domains/physics/physics-practical-studio/activity.mjs +96 -0
  1439. package/dist/domains/physics/physics-practical-studio/core.mjs +75 -0
  1440. package/dist/domains/physics/physics-practical-studio/manifest.mjs +53 -0
  1441. package/dist/domains/physics/physics-practical-studio/runtime.mjs +207 -0
  1442. package/dist/domains/physics/plug-safety-inspector/activity.mjs +97 -0
  1443. package/dist/domains/physics/plug-safety-inspector/manifest.mjs +54 -0
  1444. package/dist/domains/physics/plug-safety-inspector/palette.mjs +44 -0
  1445. package/dist/domains/physics/plug-safety-inspector/runtime.mjs +414 -0
  1446. package/dist/domains/physics/precision-measurement-lab/activity.mjs +148 -0
  1447. package/dist/domains/physics/precision-measurement-lab/manifest.mjs +81 -0
  1448. package/dist/domains/physics/precision-measurement-lab/palette.mjs +41 -0
  1449. package/dist/domains/physics/precision-measurement-lab/runtime.mjs +641 -0
  1450. package/dist/domains/physics/projectile-lab/core/formulas.mjs +1 -1
  1451. package/dist/domains/physics/projectile-lab/manifest.mjs +2 -0
  1452. package/dist/domains/physics/projectile-lab/runtime/index.mjs +4 -2
  1453. package/dist/domains/physics/radiation-half-life-investigation/activity.mjs +154 -0
  1454. package/dist/domains/physics/radiation-half-life-investigation/manifest.mjs +88 -0
  1455. package/dist/domains/physics/radiation-half-life-investigation/palette.mjs +47 -0
  1456. package/dist/domains/physics/radiation-half-life-investigation/runtime.mjs +1036 -0
  1457. package/dist/domains/physics/shm/manifest.mjs +0 -2
  1458. package/dist/domains/physics/shm-energy/manifest.mjs +58 -0
  1459. package/dist/domains/physics/shm-energy/runtime.mjs +5 -0
  1460. package/dist/domains/physics/shm-graphs/manifest.mjs +56 -0
  1461. package/dist/domains/physics/shm-graphs/runtime.mjs +5 -0
  1462. package/dist/domains/physics/space-evidence-mission/activity.mjs +148 -0
  1463. package/dist/domains/physics/space-evidence-mission/manifest.mjs +88 -0
  1464. package/dist/domains/physics/space-evidence-mission/runtime.mjs +624 -0
  1465. package/dist/domains/physics/spin-studio/manifest.mjs +58 -0
  1466. package/dist/domains/physics/spin-studio/runtime.mjs +5 -0
  1467. package/dist/domains/physics/spring-combinations/manifest.mjs +52 -0
  1468. package/dist/domains/physics/spring-combinations/runtime.mjs +5 -0
  1469. package/dist/domains/physics/terminal-velocity/manifest.mjs +0 -2
  1470. package/dist/domains/physics/thermal-expansion/manifest.mjs +0 -2
  1471. package/dist/domains/physics/trolley-acceleration-investigation/activity.mjs +158 -0
  1472. package/dist/domains/physics/trolley-acceleration-investigation/manifest.mjs +78 -0
  1473. package/dist/domains/physics/trolley-acceleration-investigation/runtime.mjs +390 -0
  1474. package/dist/domains/physics/vector-board/manifest.mjs +1 -0
  1475. package/dist/domains/physics/vector-board/runtime.mjs +1 -0
  1476. package/dist/domains/render-map.mjs +437 -1
  1477. package/dist/domains/render.d.mts +0 -1
  1478. package/dist/exam/exam-question/core.d.mts +11 -6
  1479. package/dist/exam/exam-question/core.mjs +37 -4
  1480. package/dist/exam/exam-question/default-question.d.mts +0 -1
  1481. package/dist/exam/exam-question/index.d.mts +2 -1
  1482. package/dist/exam/exam-question/preset.d.mts +3 -8
  1483. package/dist/exam/exam-question/preset.mjs +61 -26
  1484. package/dist/exam/index.d.mts +1 -0
  1485. package/dist/geography/cycle-lab/index.d.mts +2 -1
  1486. package/dist/geography/cycle-lab/preset.d.mts +1 -10
  1487. package/dist/geography/cycle-lab/preset.mjs +3 -2
  1488. package/dist/geography/cycles.d.mts +0 -1
  1489. package/dist/geography/index.d.mts +1 -0
  1490. package/dist/geometry/board/index.d.mts +2 -1
  1491. package/dist/geometry/board/preset.d.mts +1 -8
  1492. package/dist/geometry/builder.d.mts +2 -7
  1493. package/dist/geometry/builder.mjs +1 -1
  1494. package/dist/geometry/index.d.mts +1 -0
  1495. package/dist/geometry/intersecting-circles.d.mts +1 -7
  1496. package/dist/geometry/intersecting-circles.mjs +76 -75
  1497. package/dist/ict/index.d.mts +1 -0
  1498. package/dist/ict/number-systems/base-odometer.d.mts +1 -13
  1499. package/dist/ict/number-systems/bit-grouper.d.mts +1 -11
  1500. package/dist/ict/number-systems/index.d.mts +2 -1
  1501. package/dist/ict/number-systems/place-value-dial.d.mts +1 -11
  1502. package/dist/ict/number-systems/wheel.d.mts +4 -25
  1503. package/dist/ict/number-systems/wheel.mjs +12 -11
  1504. package/dist/index.d.mts +2 -2
  1505. package/dist/index.mjs +2 -2
  1506. package/dist/kit/activity-authoring.d.mts +14 -3
  1507. package/dist/kit/activity-authoring.mjs +8 -1
  1508. package/dist/kit/activity.d.mts +69 -70
  1509. package/dist/kit/activity.mjs +135 -12
  1510. package/dist/kit/anim.d.mts +22 -0
  1511. package/dist/kit/annotate.mjs +8 -4
  1512. package/dist/kit/ask.d.mts +1 -2
  1513. package/dist/kit/ask.mjs +1 -1
  1514. package/dist/kit/assets.d.mts +30 -0
  1515. package/dist/kit/assets.mjs +31 -0
  1516. package/dist/kit/authored-activity-runtime.d.mts +9 -31
  1517. package/dist/kit/authored-activity-runtime.mjs +78 -66
  1518. package/dist/kit/authored-response.d.mts +1 -5
  1519. package/dist/kit/authored-response.mjs +17 -2
  1520. package/dist/kit/celebrate.d.mts +2 -7
  1521. package/dist/kit/celebrate.mjs +3 -2
  1522. package/dist/kit/chemistry/composition-evidence.d.mts +45 -0
  1523. package/dist/kit/chemistry/composition-evidence.mjs +164 -0
  1524. package/dist/kit/chemistry/cycle.mjs +147 -0
  1525. package/dist/kit/chemistry/electrode.d.mts +103 -0
  1526. package/dist/kit/chemistry/electrode.mjs +155 -0
  1527. package/dist/kit/chemistry/equation-model.d.mts +35 -0
  1528. package/dist/kit/chemistry/equation-model.mjs +84 -0
  1529. package/dist/kit/chemistry/flame.d.mts +38 -0
  1530. package/dist/kit/chemistry/flame.mjs +129 -0
  1531. package/dist/kit/chemistry/formula-model.d.mts +38 -0
  1532. package/dist/kit/chemistry/formula-model.mjs +221 -0
  1533. package/dist/kit/chemistry/formula.d.mts +18 -0
  1534. package/dist/kit/chemistry/formula.mjs +94 -0
  1535. package/dist/kit/chemistry/glassware.d.mts +114 -0
  1536. package/dist/kit/chemistry/glassware.mjs +697 -0
  1537. package/dist/kit/chemistry/groups.d.mts +104 -0
  1538. package/dist/kit/chemistry/groups.mjs +317 -0
  1539. package/dist/kit/chemistry/index.d.mts +18 -0
  1540. package/dist/kit/chemistry/mechanism.mjs +248 -0
  1541. package/dist/kit/chemistry/molecule.d.mts +246 -0
  1542. package/dist/kit/chemistry/molecule.mjs +441 -0
  1543. package/dist/kit/chemistry/nmr-figure.d.mts +15 -0
  1544. package/dist/kit/chemistry/nmr-figure.mjs +207 -0
  1545. package/dist/kit/chemistry/observation.d.mts +68 -0
  1546. package/dist/kit/chemistry/observation.mjs +86 -0
  1547. package/dist/kit/chemistry/percent-lens.d.mts +35 -0
  1548. package/dist/kit/chemistry/percent-lens.mjs +44 -0
  1549. package/dist/kit/chemistry/process.d.mts +31 -0
  1550. package/dist/kit/chemistry/process.mjs +234 -0
  1551. package/dist/kit/chemistry/quantity-route-figure.d.mts +25 -0
  1552. package/dist/kit/chemistry/quantity-route-figure.mjs +198 -0
  1553. package/dist/kit/chemistry/quantity-route.d.mts +78 -0
  1554. package/dist/kit/chemistry/quantity-route.mjs +117 -0
  1555. package/dist/kit/chemistry/reaction.mjs +293 -0
  1556. package/dist/kit/chemistry/safety.d.mts +25 -0
  1557. package/dist/kit/chemistry/safety.mjs +77 -0
  1558. package/dist/kit/chemistry/species.mjs +1078 -0
  1559. package/dist/kit/chemistry/spectrum.mjs +252 -0
  1560. package/dist/kit/chemistry/structure-figure.d.mts +38 -0
  1561. package/dist/kit/chemistry/structure-figure.mjs +161 -0
  1562. package/dist/kit/clue-scene.d.mts +7 -38
  1563. package/dist/kit/clue-scene.mjs +15 -12
  1564. package/dist/kit/cluster.d.mts +1 -11
  1565. package/dist/kit/commerce/glyphs.d.mts +144 -0
  1566. package/dist/kit/commerce/glyphs.mjs +569 -0
  1567. package/dist/kit/commerce/index.d.mts +3 -0
  1568. package/dist/kit/commerce/ledger.d.mts +64 -0
  1569. package/dist/kit/commerce/ledger.mjs +224 -0
  1570. package/dist/kit/controls.mjs +27 -13
  1571. package/dist/kit/coords.d.mts +3 -21
  1572. package/dist/kit/coords.mjs +1 -1
  1573. package/dist/kit/cycle.d.mts +2 -12
  1574. package/dist/kit/cycle.mjs +2 -3
  1575. package/dist/kit/data-scene.d.mts +0 -1
  1576. package/dist/kit/diagram/circuit-box.mjs +2 -1
  1577. package/dist/kit/electronics/_shared.mjs +2 -1
  1578. package/dist/kit/electronics/basics.mjs +274 -7
  1579. package/dist/kit/electronics/meter.mjs +137 -2
  1580. package/dist/kit/electronics/wire.mjs +1 -1
  1581. package/dist/kit/embed.mjs +29 -6
  1582. package/dist/kit/figure/action.d.mts +11 -0
  1583. package/dist/kit/figure/action.mjs +27 -0
  1584. package/dist/kit/figure/beam.d.mts +6 -42
  1585. package/dist/kit/figure/beam.mjs +2 -1
  1586. package/dist/kit/figure/body.d.mts +5 -33
  1587. package/dist/kit/figure/body.mjs +3 -3
  1588. package/dist/kit/figure/container.d.mts +3 -32
  1589. package/dist/kit/figure/container.mjs +10 -0
  1590. package/dist/kit/figure/digits.d.mts +39 -0
  1591. package/dist/kit/figure/digits.mjs +30 -0
  1592. package/dist/kit/figure/figure.d.mts +79 -13
  1593. package/dist/kit/figure/figure.mjs +81 -5
  1594. package/dist/kit/figure/gauge.d.mts +54 -0
  1595. package/dist/kit/figure/gauge.mjs +54 -0
  1596. package/dist/kit/figure/illustration.d.mts +1 -10
  1597. package/dist/kit/figure/index.d.mts +9 -3
  1598. package/dist/kit/figure/legend.d.mts +27 -0
  1599. package/dist/kit/figure/legend.mjs +71 -0
  1600. package/dist/kit/figure/plot.d.mts +7 -44
  1601. package/dist/kit/figure/plot.mjs +52 -29
  1602. package/dist/kit/figure/system.d.mts +59 -0
  1603. package/dist/kit/figure/system.mjs +205 -0
  1604. package/dist/kit/figure/text.d.mts +77 -25
  1605. package/dist/kit/figure/text.mjs +65 -3
  1606. package/dist/kit/finance-viz/apportion-bar.d.mts +1 -9
  1607. package/dist/kit/finance-viz/apportion-bar.mjs +51 -42
  1608. package/dist/kit/finance-viz/index.d.mts +2 -1
  1609. package/dist/kit/finance-viz/plot-chart.d.mts +1 -13
  1610. package/dist/kit/finance-viz/plot-chart.mjs +46 -115
  1611. package/dist/kit/finance-viz/stock-timeline.d.mts +1 -10
  1612. package/dist/kit/finance-viz/stock-timeline.mjs +61 -85
  1613. package/dist/kit/finance-viz/tradeoff-curve.d.mts +1 -14
  1614. package/dist/kit/finance-viz/tradeoff-curve.mjs +136 -189
  1615. package/dist/kit/frame.d.mts +10 -24
  1616. package/dist/kit/frame.mjs +25 -5
  1617. package/dist/kit/freq-tree.mjs +2 -2
  1618. package/dist/kit/gravitation/index.d.mts +2 -0
  1619. package/dist/kit/gravitation/section.d.mts +60 -0
  1620. package/dist/kit/gravitation/section.mjs +128 -0
  1621. package/dist/kit/guide.d.mts +1 -4
  1622. package/dist/kit/index.d.mts +54 -7
  1623. package/dist/kit/index.mjs +48 -9
  1624. package/dist/kit/instruments-palette.mjs +14 -0
  1625. package/dist/kit/instruments.mjs +679 -0
  1626. package/dist/kit/learning-sequence.d.mts +5 -5
  1627. package/dist/kit/learning-sequence.mjs +7 -6
  1628. package/dist/kit/logic-gates/display.mjs +1 -1
  1629. package/dist/kit/logic-gates/gate.d.mts +0 -1
  1630. package/dist/kit/logic-gates/gate.mjs +1 -1
  1631. package/dist/kit/magnetism/glyphs.d.mts +179 -0
  1632. package/dist/kit/magnetism/glyphs.mjs +445 -0
  1633. package/dist/kit/magnetism/index.d.mts +2 -0
  1634. package/dist/kit/mechanics/energy.d.mts +221 -0
  1635. package/dist/kit/mechanics/energy.mjs +578 -0
  1636. package/dist/kit/mechanics/index.d.mts +3 -0
  1637. package/dist/kit/mechanics/palette.mjs +27 -0
  1638. package/dist/kit/mechanics/primitives.d.mts +298 -0
  1639. package/dist/kit/mechanics/primitives.mjs +887 -0
  1640. package/dist/kit/networking/access-glyphs.d.mts +2 -0
  1641. package/dist/kit/networking/access-glyphs.mjs +123 -0
  1642. package/dist/kit/networking/glyphs.d.mts +13 -0
  1643. package/dist/kit/networking/glyphs.mjs +1 -11
  1644. package/dist/kit/networking/index.d.mts +7 -0
  1645. package/dist/kit/networking/infrastructure-glyphs.d.mts +2 -0
  1646. package/dist/kit/networking/infrastructure-glyphs.mjs +149 -0
  1647. package/dist/kit/networking/layout.mjs +15 -0
  1648. package/dist/kit/networking/primitives.d.mts +69 -0
  1649. package/dist/kit/networking/primitives.mjs +798 -0
  1650. package/dist/kit/networking/release-glyphs.d.mts +2 -0
  1651. package/dist/kit/networking/release-glyphs.mjs +128 -0
  1652. package/dist/kit/networking/secret-glyphs.d.mts +2 -0
  1653. package/dist/kit/networking/secret-glyphs.mjs +148 -0
  1654. package/dist/kit/palette.mjs +49 -1
  1655. package/dist/kit/pedagogy.d.mts +15 -34
  1656. package/dist/kit/pedagogy.mjs +1 -1
  1657. package/dist/kit/play.d.mts +1 -5
  1658. package/dist/kit/predict-gate.d.mts +1 -9
  1659. package/dist/kit/predict.d.mts +1 -19
  1660. package/dist/kit/probability.d.mts +3 -21
  1661. package/dist/kit/proportion.mjs +1 -1
  1662. package/dist/kit/receipt.d.mts +1 -9
  1663. package/dist/kit/rich.d.mts +1 -4
  1664. package/dist/kit/rich.mjs +41 -1
  1665. package/dist/kit/rule.d.mts +7 -22
  1666. package/dist/kit/scale.mjs +49 -20
  1667. package/dist/kit/scene-library.d.mts +1 -4
  1668. package/dist/kit/scene-studio.d.mts +1 -5
  1669. package/dist/kit/scenes.d.mts +0 -1
  1670. package/dist/kit/scenes.mjs +4 -4
  1671. package/dist/kit/simulation/adapter.d.mts +9 -0
  1672. package/dist/kit/simulation/adapter.mjs +11 -0
  1673. package/dist/kit/simulation/behavior.d.mts +15 -0
  1674. package/dist/kit/simulation/behavior.mjs +24 -0
  1675. package/dist/kit/simulation/clock.d.mts +65 -0
  1676. package/dist/kit/simulation/clock.mjs +155 -0
  1677. package/dist/kit/simulation/model.d.mts +133 -0
  1678. package/dist/kit/simulation/model.mjs +79 -0
  1679. package/dist/kit/simulation/rig.d.mts +11 -0
  1680. package/dist/kit/simulation/rig.mjs +11 -0
  1681. package/dist/kit/simulation/use-simulation.d.mts +60 -0
  1682. package/dist/kit/simulation/use-simulation.mjs +92 -0
  1683. package/dist/kit/slot-fill.d.mts +3 -16
  1684. package/dist/kit/space/backdrop.d.mts +39 -0
  1685. package/dist/kit/space/backdrop.mjs +174 -0
  1686. package/dist/kit/space/bodies.d.mts +66 -0
  1687. package/dist/kit/space/bodies.mjs +464 -0
  1688. package/dist/kit/space/index.d.mts +4 -0
  1689. package/dist/kit/space/palette.d.mts +144 -0
  1690. package/dist/kit/space/palette.mjs +165 -0
  1691. package/dist/kit/space-glyphs.mjs +63 -0
  1692. package/dist/kit/steps.d.mts +1 -6
  1693. package/dist/kit/thermal-palette.mjs +38 -0
  1694. package/dist/kit/thermal.mjs +140 -25
  1695. package/dist/kit/vessel.d.mts +2 -27
  1696. package/dist/lab-def/define-lab.d.mts +29 -3
  1697. package/dist/lab-def/lab-runtime.mjs +21 -1
  1698. package/dist/lab-def/to-block.mjs +3 -2
  1699. package/dist/language/activity.d.mts +1 -12
  1700. package/dist/language/agreement/index.d.mts +2 -1
  1701. package/dist/language/agreement/preset.d.mts +1 -9
  1702. package/dist/language/article-lens/index.d.mts +2 -1
  1703. package/dist/language/article-lens/preset.d.mts +1 -9
  1704. package/dist/language/cloze/index.d.mts +2 -1
  1705. package/dist/language/cloze/preset.d.mts +1 -9
  1706. package/dist/language/cloze/preset.mjs +4 -2
  1707. package/dist/language/deck.d.mts +0 -1
  1708. package/dist/language/dictation/index.d.mts +2 -1
  1709. package/dist/language/dictation/preset.d.mts +1 -8
  1710. package/dist/language/error-correct/index.d.mts +2 -1
  1711. package/dist/language/error-correct/preset.d.mts +1 -8
  1712. package/dist/language/icon.d.mts +2 -9
  1713. package/dist/language/index.d.mts +11 -0
  1714. package/dist/language/listening/index.d.mts +2 -1
  1715. package/dist/language/listening/preset.d.mts +1 -9
  1716. package/dist/language/listening/preset.mjs +2 -1
  1717. package/dist/language/preposition-scene/index.d.mts +2 -1
  1718. package/dist/language/preposition-scene/preset.d.mts +1 -9
  1719. package/dist/language/preposition-scene/preset.mjs +2 -1
  1720. package/dist/language/reading/index.d.mts +2 -1
  1721. package/dist/language/reading/preset.d.mts +1 -10
  1722. package/dist/language/reading/preset.mjs +2 -1
  1723. package/dist/language/sentence-builder/index.d.mts +2 -1
  1724. package/dist/language/sentence-builder/preset.d.mts +1 -12
  1725. package/dist/language/sentence-builder/preset.mjs +2 -1
  1726. package/dist/language/transform/index.d.mts +2 -1
  1727. package/dist/language/transform/preset.d.mts +1 -12
  1728. package/dist/language/transform/preset.mjs +2 -1
  1729. package/dist/language/ui.d.mts +4 -26
  1730. package/dist/language/ui.mjs +2 -1
  1731. package/dist/language/word-match/index.d.mts +2 -1
  1732. package/dist/language/word-match/preset.d.mts +1 -10
  1733. package/dist/logic/ChipScene.d.mts +1 -11
  1734. package/dist/logic/ChipScene.mjs +6 -5
  1735. package/dist/logic/CounterScene.d.mts +1 -7
  1736. package/dist/logic/CounterScene.mjs +1 -1
  1737. package/dist/logic/DetectorScene.d.mts +1 -8
  1738. package/dist/logic/DetectorScene.mjs +4 -5
  1739. package/dist/logic/LatchScene.d.mts +1 -8
  1740. package/dist/logic/LatchScene.mjs +7 -7
  1741. package/dist/logic/LogicBuildLab.d.mts +1 -8
  1742. package/dist/logic/LogicEditScene.d.mts +1 -13
  1743. package/dist/logic/LogicEditScene.mjs +1 -1
  1744. package/dist/logic/LogicEditor.d.mts +1 -8
  1745. package/dist/logic/LogicScene.d.mts +1 -11
  1746. package/dist/logic/LogicScene.mjs +13 -5
  1747. package/dist/logic/SequentialLogicLab.d.mts +1 -9
  1748. package/dist/logic/ShiftScene.d.mts +1 -6
  1749. package/dist/logic/ShiftScene.mjs +9 -8
  1750. package/dist/logic/TimingScene.d.mts +1 -12
  1751. package/dist/logic/TimingScene.mjs +2 -3
  1752. package/dist/logic/TwosScene.d.mts +1 -13
  1753. package/dist/logic/TwosScene.mjs +16 -16
  1754. package/dist/logic/WaveScene.d.mts +1 -10
  1755. package/dist/logic/WaveScene.mjs +3 -4
  1756. package/dist/logic/contract.d.mts +1 -2
  1757. package/dist/logic/counter.d.mts +0 -1
  1758. package/dist/logic/display.d.mts +1 -9
  1759. package/dist/logic/display.mjs +2 -2
  1760. package/dist/logic/edit-ops.d.mts +0 -1
  1761. package/dist/logic/evaluate.d.mts +1 -2
  1762. package/dist/logic/ic.d.mts +1 -1
  1763. package/dist/logic/lab.d.mts +1 -12
  1764. package/dist/logic/lab.mjs +2 -1
  1765. package/dist/logic/latch.d.mts +2 -11
  1766. package/dist/logic/netlist.d.mts +0 -1
  1767. package/dist/logic/presets.d.mts +0 -1
  1768. package/dist/logic/registry.d.mts +0 -1
  1769. package/dist/logic/sequential-presets.d.mts +0 -1
  1770. package/dist/logic/sequential.d.mts +0 -1
  1771. package/dist/logic/sequential.mjs +8 -7
  1772. package/dist/logic/timing.mjs +6 -4
  1773. package/dist/logic/twos.d.mts +1 -1
  1774. package/dist/logic/twos.mjs +7 -5
  1775. package/dist/math/area-model/asset.d.mts +0 -1
  1776. package/dist/math/area-model/index.d.mts +2 -1
  1777. package/dist/math/area-model/preset.d.mts +2 -15
  1778. package/dist/math/area-model/preset.mjs +8 -6
  1779. package/dist/math/area-rearrange/index.d.mts +2 -1
  1780. package/dist/math/area-rearrange/preset.d.mts +1 -12
  1781. package/dist/math/area-rearrange/preset.mjs +4 -5
  1782. package/dist/math/balance-algebra/asset.d.mts +0 -1
  1783. package/dist/math/balance-algebra/index.d.mts +2 -1
  1784. package/dist/math/balance-algebra/preset.d.mts +3 -9
  1785. package/dist/math/balance-algebra/preset.mjs +10 -8
  1786. package/dist/math/bearings/core.mjs +3 -2
  1787. package/dist/math/bearings/index.d.mts +2 -1
  1788. package/dist/math/bearings/preset.d.mts +1 -12
  1789. package/dist/math/bearings/preset.mjs +15 -13
  1790. package/dist/math/bounds-window/preset.mjs +239 -0
  1791. package/dist/math/broken-tree/index.d.mts +2 -1
  1792. package/dist/math/broken-tree/preset.d.mts +1 -10
  1793. package/dist/math/circle/index.d.mts +2 -1
  1794. package/dist/math/circle/preset.d.mts +1 -15
  1795. package/dist/math/complex/index.d.mts +3 -2
  1796. package/dist/math/complex/index.mjs +5 -0
  1797. package/dist/math/complex/preset.d.mts +0 -1
  1798. package/dist/math/complex/preset.mjs +18 -18
  1799. package/dist/math/complex/rule-figures.mjs +3 -3
  1800. package/dist/math/complex/rules.d.mts +1 -2
  1801. package/dist/math/complex/rules.mjs +4 -4
  1802. package/dist/math/cone-frustum/core.mjs +34 -0
  1803. package/dist/math/cone-frustum/preset.mjs +342 -0
  1804. package/dist/math/conic/index.d.mts +2 -1
  1805. package/dist/math/conic/preset.d.mts +0 -1
  1806. package/dist/math/conic/preset.mjs +2 -1
  1807. package/dist/math/derivation.d.mts +2 -9
  1808. package/dist/math/derivation.mjs +20 -27
  1809. package/dist/math/derivative-explorer/preset.d.mts +1 -8
  1810. package/dist/math/derivative-explorer/preset.mjs +2 -1
  1811. package/dist/math/differential-equation/preset.d.mts +1 -11
  1812. package/dist/math/differential-equation/preset.mjs +5 -3
  1813. package/dist/math/division-workbench/index.d.mts +2 -1
  1814. package/dist/math/division-workbench/preset.d.mts +1 -10
  1815. package/dist/math/division-workbench/visuals.mjs +2 -1
  1816. package/dist/math/domain-range/index.d.mts +2 -1
  1817. package/dist/math/domain-range/preset.d.mts +1 -13
  1818. package/dist/math/domain-range/preset.mjs +33 -3
  1819. package/dist/math/exact-triangle/preset.mjs +409 -0
  1820. package/dist/math/expression-order/core.d.mts +9 -0
  1821. package/dist/math/expression-order/core.mjs +22 -11
  1822. package/dist/math/expression-order/index.d.mts +2 -1
  1823. package/dist/math/expression-order/preset.d.mts +3 -8
  1824. package/dist/math/expression-order/preset.mjs +2 -1
  1825. package/dist/math/fraction-bar/index.d.mts +2 -1
  1826. package/dist/math/fraction-bar/preset.d.mts +0 -1
  1827. package/dist/math/function-machine/index.d.mts +2 -1
  1828. package/dist/math/function-machine/preset.d.mts +2 -9
  1829. package/dist/math/function-machine/preset.mjs +2 -2
  1830. package/dist/math/fundamental-theorem/preset.d.mts +1 -9
  1831. package/dist/math/fundamental-theorem/preset.mjs +2 -1
  1832. package/dist/math/geometry-foundations/activity.d.mts +1 -1
  1833. package/dist/math/geometry-foundations/index.d.mts +3 -1
  1834. package/dist/math/geometry-foundations/preset.d.mts +1 -12
  1835. package/dist/math/geometry-foundations/preset.mjs +7 -6
  1836. package/dist/math/gradient-descent.d.mts +1 -9
  1837. package/dist/math/gradient-descent.mjs +2 -2
  1838. package/dist/math/grapher/index.d.mts +2 -1
  1839. package/dist/math/grapher/preset.d.mts +1 -12
  1840. package/dist/math/grapher/preset.mjs +4 -2
  1841. package/dist/math/harmonic-form/index.d.mts +2 -1
  1842. package/dist/math/harmonic-form/preset.d.mts +1 -8
  1843. package/dist/math/identity-proof/default-proof.d.mts +0 -1
  1844. package/dist/math/identity-proof/index.d.mts +2 -1
  1845. package/dist/math/identity-proof/preset.d.mts +1 -8
  1846. package/dist/math/index.d.mts +55 -7
  1847. package/dist/math/index.mjs +5 -7
  1848. package/dist/math/integral-explorer/preset.d.mts +1 -10
  1849. package/dist/math/integral-explorer/preset.mjs +4 -4
  1850. package/dist/math/interactive/index.d.mts +2 -1
  1851. package/dist/math/interactive/preset.d.mts +2 -14
  1852. package/dist/math/interactive/preset.mjs +2 -3
  1853. package/dist/math/iteration/index.d.mts +2 -1
  1854. package/dist/math/iteration/preset.d.mts +1 -11
  1855. package/dist/math/iteration/preset.mjs +2 -1
  1856. package/dist/math/limit-explorer/preset.d.mts +1 -8
  1857. package/dist/math/limit-explorer/preset.mjs +2 -1
  1858. package/dist/math/linear-model/index.d.mts +2 -1
  1859. package/dist/math/linear-model/preset.d.mts +0 -1
  1860. package/dist/math/linear-model/preset.mjs +23 -22
  1861. package/dist/math/linear-system/index.d.mts +2 -1
  1862. package/dist/math/linear-system/preset.d.mts +1 -9
  1863. package/dist/math/lines-in-space/core.mjs +1 -1
  1864. package/dist/math/lines-in-space/index.d.mts +2 -1
  1865. package/dist/math/lines-in-space/preset.d.mts +1 -17
  1866. package/dist/math/lines-in-space/preset.mjs +4 -2
  1867. package/dist/math/measurement/activity.d.mts +1 -1
  1868. package/dist/math/measurement/index.d.mts +3 -1
  1869. package/dist/math/measurement/preset.d.mts +1 -17
  1870. package/dist/math/measurement/preset.mjs +4 -3
  1871. package/dist/math/mystery-bucket/asset.d.mts +0 -1
  1872. package/dist/math/mystery-bucket/asset.mjs +2 -1
  1873. package/dist/math/mystery-bucket/index.d.mts +2 -1
  1874. package/dist/math/mystery-bucket/preset.d.mts +2 -11
  1875. package/dist/math/mystery-bucket/preset.mjs +1 -1
  1876. package/dist/math/newton-method/preset.d.mts +1 -9
  1877. package/dist/math/newton-method/preset.mjs +4 -2
  1878. package/dist/math/number-line/index.d.mts +2 -1
  1879. package/dist/math/number-line/preset.d.mts +1 -10
  1880. package/dist/math/number-structure/core.mjs +1 -1
  1881. package/dist/math/number-structure/index.d.mts +2 -1
  1882. package/dist/math/number-structure/preset.d.mts +1 -12
  1883. package/dist/math/number-structure/preset.mjs +1 -1
  1884. package/dist/math/number-structure/visuals.mjs +2 -1
  1885. package/dist/math/oblique-triangle/index.d.mts +2 -1
  1886. package/dist/math/oblique-triangle/preset.d.mts +1 -8
  1887. package/dist/math/ode/system.d.mts +0 -1
  1888. package/dist/math/parabola/index.d.mts +2 -1
  1889. package/dist/math/parabola/preset.d.mts +1 -5
  1890. package/dist/math/partial-fractions/core.d.mts +1 -2
  1891. package/dist/math/partial-fractions/core.mjs +3 -2
  1892. package/dist/math/partial-fractions/index.d.mts +2 -1
  1893. package/dist/math/partial-fractions/preset.d.mts +2 -11
  1894. package/dist/math/partial-fractions/preset.mjs +1 -1
  1895. package/dist/math/pattern/asset.d.mts +0 -1
  1896. package/dist/math/pattern/asset.mjs +2 -1
  1897. package/dist/math/pattern/index.d.mts +2 -1
  1898. package/dist/math/pattern/preset.d.mts +3 -16
  1899. package/dist/math/pattern/preset.mjs +9 -7
  1900. package/dist/math/percent-bar/index.d.mts +2 -1
  1901. package/dist/math/percent-bar/preset.d.mts +0 -1
  1902. package/dist/math/percent-bar/preset.mjs +4 -4
  1903. package/dist/math/phase-portrait/preset.d.mts +1 -12
  1904. package/dist/math/phase-portrait/preset.mjs +3 -2
  1905. package/dist/math/poly/index.d.mts +3 -2
  1906. package/dist/math/poly/index.mjs +5 -0
  1907. package/dist/math/poly/preset.d.mts +1 -8
  1908. package/dist/math/poly/preset.mjs +6 -7
  1909. package/dist/math/poly/steps.d.mts +2 -3
  1910. package/dist/math/poly/steps.mjs +6 -6
  1911. package/dist/math/radian-wrap/core.d.mts +1 -1
  1912. package/dist/math/radian-wrap/index.d.mts +2 -1
  1913. package/dist/math/radian-wrap/preset.d.mts +1 -7
  1914. package/dist/math/rate-machine/index.d.mts +2 -1
  1915. package/dist/math/rate-machine/preset.d.mts +0 -1
  1916. package/dist/math/rate-machine/preset.mjs +21 -20
  1917. package/dist/math/ratio-share/index.d.mts +2 -1
  1918. package/dist/math/ratio-share/preset.d.mts +0 -1
  1919. package/dist/math/receipt/index.d.mts +2 -1
  1920. package/dist/math/receipt/preset.d.mts +0 -1
  1921. package/dist/math/receipt/preset.mjs +7 -5
  1922. package/dist/math/sequence-predict/index.d.mts +2 -1
  1923. package/dist/math/sequence-predict/preset.d.mts +0 -1
  1924. package/dist/math/sequence-predict/preset.mjs +3 -2
  1925. package/dist/math/slide-rule/index.d.mts +2 -1
  1926. package/dist/math/slide-rule/preset.d.mts +1 -9
  1927. package/dist/math/slide-rule/preset.mjs +6 -7
  1928. package/dist/math/solid-net/core.d.mts +1 -1
  1929. package/dist/math/solid-net/index.d.mts +2 -1
  1930. package/dist/math/solid-net/preset.d.mts +1 -12
  1931. package/dist/math/solid-net/preset.mjs +15 -15
  1932. package/dist/math/solid-slice/core.mjs +189 -0
  1933. package/dist/math/solid-slice/preset.mjs +278 -0
  1934. package/dist/math/straight-line/index.d.mts +2 -1
  1935. package/dist/math/straight-line/preset.d.mts +0 -1
  1936. package/dist/math/system-solve/index.d.mts +2 -1
  1937. package/dist/math/system-solve/preset.d.mts +0 -1
  1938. package/dist/math/tank-design/core.mjs +40 -0
  1939. package/dist/math/tank-design/preset.mjs +465 -0
  1940. package/dist/math/taylor-series/preset.d.mts +1 -10
  1941. package/dist/math/taylor-series/preset.mjs +2 -1
  1942. package/dist/math/transform/index.d.mts +2 -1
  1943. package/dist/math/transform/preset.d.mts +5 -11
  1944. package/dist/math/transform/preset.mjs +5 -4
  1945. package/dist/math/triangle-trig/index.d.mts +2 -1
  1946. package/dist/math/triangle-trig/preset.d.mts +2 -17
  1947. package/dist/math/triangle-trig/preset.mjs +1 -1
  1948. package/dist/math/trig/core.d.mts +1 -3
  1949. package/dist/math/trig/core.mjs +3 -2
  1950. package/dist/math/trig/diagrams.mjs +2 -2
  1951. package/dist/math/trig/index.d.mts +3 -1
  1952. package/dist/math/trig/preset.d.mts +1 -10
  1953. package/dist/math/trig/rules.d.mts +1 -1
  1954. package/dist/math/trig/rules.mjs +2 -2
  1955. package/dist/math/trig-explorer.d.mts +1 -5
  1956. package/dist/networking/AirtimeScene.d.mts +10 -0
  1957. package/dist/networking/AirtimeScene.mjs +212 -0
  1958. package/dist/networking/CellularScene.d.mts +36 -0
  1959. package/dist/networking/CellularScene.mjs +406 -0
  1960. package/dist/networking/EncapScene.mjs +22 -37
  1961. package/dist/networking/HandoverScene.d.mts +15 -0
  1962. package/dist/networking/HandoverScene.mjs +196 -0
  1963. package/dist/networking/HandshakeScene.d.mts +11 -0
  1964. package/dist/networking/HandshakeScene.mjs +270 -0
  1965. package/dist/networking/MediaScene.mjs +2 -2
  1966. package/dist/networking/NetworkScene.d.mts +2 -10
  1967. package/dist/networking/NetworkScene.mjs +5 -1
  1968. package/dist/networking/NetworkingPrimitiveScene.d.mts +8 -0
  1969. package/dist/networking/NetworkingPrimitiveScene.mjs +183 -0
  1970. package/dist/networking/PacketInspector.d.mts +2 -5
  1971. package/dist/networking/PlugScene.mjs +5 -5
  1972. package/dist/networking/PrivacyScene.d.mts +13 -0
  1973. package/dist/networking/PrivacyScene.mjs +307 -0
  1974. package/dist/networking/SatelliteScene.d.mts +10 -0
  1975. package/dist/networking/SatelliteScene.mjs +240 -0
  1976. package/dist/networking/SpectrumScene.d.mts +15 -0
  1977. package/dist/networking/SpectrumScene.mjs +444 -0
  1978. package/dist/networking/SubnetScene.mjs +4 -4
  1979. package/dist/networking/SwitchScene.mjs +2 -2
  1980. package/dist/networking/VlanScene.mjs +2 -2
  1981. package/dist/networking/VpnScene.mjs +1 -1
  1982. package/dist/networking/WifiScene.d.mts +19 -0
  1983. package/dist/networking/WifiScene.mjs +702 -0
  1984. package/dist/networking/index.d.mts +13 -5
  1985. package/dist/networking/index.mjs +12 -4
  1986. package/dist/pathways/biology.d.mts +0 -1
  1987. package/dist/pathways/calculus.d.mts +0 -1
  1988. package/dist/pathways/chemistry.d.mts +0 -1
  1989. package/dist/pathways/cloud-infrastructure.d.mts +6 -0
  1990. package/dist/pathways/cloud-infrastructure.mjs +211 -0
  1991. package/dist/pathways/digital-logic.d.mts +0 -1
  1992. package/dist/pathways/electronic-circuits.d.mts +0 -1
  1993. package/dist/pathways/electronic-circuits.mjs +9 -3
  1994. package/dist/pathways/electronic-devices.d.mts +0 -1
  1995. package/dist/pathways/index.d.mts +4 -2
  1996. package/dist/pathways/index.mjs +4 -2
  1997. package/dist/pathways/network-communication.d.mts +6 -0
  1998. package/dist/pathways/network-communication.mjs +172 -0
  1999. package/dist/pathways/quantum.d.mts +0 -1
  2000. package/dist/pathways/relativity.d.mts +0 -1
  2001. package/dist/pathways/types.d.mts +3 -5
  2002. package/dist/pathways/types.mjs +10 -5
  2003. package/dist/physics/alternating-current/index.d.mts +3 -2
  2004. package/dist/physics/alternating-current/index.mjs +4 -0
  2005. package/dist/physics/alternating-current/preset.d.mts +4 -21
  2006. package/dist/physics/alternating-current/preset.mjs +873 -684
  2007. package/dist/physics/astronomy/core.d.mts +111 -0
  2008. package/dist/physics/astronomy/core.mjs +147 -0
  2009. package/dist/physics/attenuation/core.d.mts +106 -0
  2010. package/dist/physics/attenuation/core.mjs +112 -0
  2011. package/dist/physics/atwood/index.d.mts +2 -1
  2012. package/dist/physics/atwood/preset.d.mts +2 -10
  2013. package/dist/physics/atwood/preset.mjs +228 -283
  2014. package/dist/physics/biot-savart/activity.mjs +61 -0
  2015. package/dist/physics/biot-savart/preset.mjs +337 -0
  2016. package/dist/physics/biot-savart/presets.mjs +149 -0
  2017. package/dist/physics/biot-savart/torque-activity.mjs +57 -0
  2018. package/dist/physics/biot-savart/torque-preset.mjs +334 -0
  2019. package/dist/physics/bullet-walls/index.d.mts +2 -1
  2020. package/dist/physics/bullet-walls/model.mjs +81 -0
  2021. package/dist/physics/bullet-walls/preset.d.mts +1 -12
  2022. package/dist/physics/bullet-walls/preset.mjs +27 -49
  2023. package/dist/physics/carnot/index.d.mts +2 -1
  2024. package/dist/physics/carnot/preset.d.mts +1 -11
  2025. package/dist/physics/carnot/preset.mjs +25 -27
  2026. package/dist/physics/circular-motion/index.d.mts +2 -1
  2027. package/dist/physics/circular-motion/model.mjs +46 -0
  2028. package/dist/physics/circular-motion/preset.d.mts +1 -11
  2029. package/dist/physics/circular-motion/preset.mjs +30 -47
  2030. package/dist/physics/collision-track/index.d.mts +2 -1
  2031. package/dist/physics/collision-track/model.mjs +62 -0
  2032. package/dist/physics/collision-track/preset.d.mts +1 -13
  2033. package/dist/physics/collision-track/preset.mjs +87 -70
  2034. package/dist/physics/constants.d.mts +125 -0
  2035. package/dist/physics/constants.mjs +128 -0
  2036. package/dist/physics/couple-torque/index.d.mts +2 -1
  2037. package/dist/physics/couple-torque/preset.d.mts +1 -11
  2038. package/dist/physics/couple-torque/preset.mjs +18 -7
  2039. package/dist/physics/efficiency/index.d.mts +2 -1
  2040. package/dist/physics/efficiency/preset.d.mts +1 -12
  2041. package/dist/physics/efficiency/preset.mjs +22 -25
  2042. package/dist/physics/electric-field/index.d.mts +2 -1
  2043. package/dist/physics/electric-field/preset.d.mts +2 -8
  2044. package/dist/physics/electric-field/preset.mjs +14 -15
  2045. package/dist/physics/electric-flux/index.d.mts +2 -1
  2046. package/dist/physics/electric-flux/preset.d.mts +1 -12
  2047. package/dist/physics/electricity/engine.d.mts +54 -0
  2048. package/dist/physics/electricity/engine.mjs +126 -0
  2049. package/dist/physics/electricity/faults.d.mts +31 -0
  2050. package/dist/physics/electricity/faults.mjs +65 -0
  2051. package/dist/physics/electrostatics/coulomb-activity.mjs +119 -0
  2052. package/dist/physics/electrostatics/coulomb-preset.mjs +331 -0
  2053. package/dist/physics/electrostatics/coulomb-presets.mjs +60 -0
  2054. package/dist/physics/energy/core.d.mts +199 -0
  2055. package/dist/physics/energy/core.mjs +265 -0
  2056. package/dist/physics/energy-skate/index.d.mts +2 -1
  2057. package/dist/physics/energy-skate/model.mjs +92 -0
  2058. package/dist/physics/energy-skate/preset.d.mts +1 -11
  2059. package/dist/physics/energy-skate/preset.mjs +24 -49
  2060. package/dist/physics/entropy/index.d.mts +2 -1
  2061. package/dist/physics/entropy/preset.d.mts +1 -8
  2062. package/dist/physics/entropy/preset.mjs +11 -6
  2063. package/dist/physics/expansion/index.d.mts +2 -1
  2064. package/dist/physics/expansion/preset.d.mts +1 -9
  2065. package/dist/physics/expansion/preset.mjs +26 -19
  2066. package/dist/physics/exponential/asset.mjs +2 -2
  2067. package/dist/physics/exponential/index.d.mts +2 -1
  2068. package/dist/physics/exponential/preset.d.mts +1 -7
  2069. package/dist/physics/fields/activity.d.mts +23 -1
  2070. package/dist/physics/fields/activity.mjs +29 -2
  2071. package/dist/physics/fields/index.d.mts +9 -2
  2072. package/dist/physics/fields/index.mjs +19 -0
  2073. package/dist/physics/fields/spatial-activity.d.mts +0 -1
  2074. package/dist/physics/fields/spatial-preset.d.mts +4 -15
  2075. package/dist/physics/fields/spatial-preset.mjs +1 -3
  2076. package/dist/physics/fluid-pressure/index.d.mts +2 -1
  2077. package/dist/physics/fluid-pressure/preset.d.mts +1 -11
  2078. package/dist/physics/fluid-pressure/preset.mjs +3 -3
  2079. package/dist/physics/force-pairs/index.d.mts +2 -1
  2080. package/dist/physics/force-pairs/preset.d.mts +1 -11
  2081. package/dist/physics/force-pairs/preset.mjs +90 -87
  2082. package/dist/physics/gas-process/index.d.mts +2 -1
  2083. package/dist/physics/gas-process/preset.d.mts +1 -12
  2084. package/dist/physics/gas-process/preset.mjs +15 -12
  2085. package/dist/physics/gauss-law/index.d.mts +2 -1
  2086. package/dist/physics/gauss-law/preset.d.mts +1 -9
  2087. package/dist/physics/geomagnetism/activity.mjs +60 -0
  2088. package/dist/physics/geomagnetism/preset.mjs +300 -0
  2089. package/dist/physics/geomagnetism/presets.mjs +68 -0
  2090. package/dist/physics/gravitation/index.d.mts +2 -1
  2091. package/dist/physics/gravitation/preset.d.mts +8 -15
  2092. package/dist/physics/gravitation/preset.mjs +94 -46
  2093. package/dist/physics/gravity-drop.d.mts +1 -8
  2094. package/dist/physics/gravity-drop.mjs +9 -7
  2095. package/dist/physics/gravity-profile/index.d.mts +2 -0
  2096. package/dist/physics/gravity-profile/preset.d.mts +39 -0
  2097. package/dist/physics/gravity-profile/preset.mjs +508 -0
  2098. package/dist/physics/heat-transfer/index.d.mts +2 -1
  2099. package/dist/physics/heat-transfer/preset.d.mts +1 -9
  2100. package/dist/physics/heat-transfer/preset.mjs +52 -43
  2101. package/dist/physics/impulse/index.d.mts +2 -1
  2102. package/dist/physics/impulse/preset.d.mts +1 -12
  2103. package/dist/physics/impulse/preset.mjs +37 -35
  2104. package/dist/physics/index.d.mts +90 -7
  2105. package/dist/physics/index.mjs +38 -7
  2106. package/dist/physics/intercept/index.d.mts +2 -1
  2107. package/dist/physics/intercept/preset.d.mts +1 -14
  2108. package/dist/physics/intercept/preset.mjs +2 -2
  2109. package/dist/physics/investigation/circuit.d.mts +41 -0
  2110. package/dist/physics/investigation/circuit.mjs +174 -0
  2111. package/dist/physics/investigation/cooling.d.mts +44 -0
  2112. package/dist/physics/investigation/cooling.mjs +195 -0
  2113. package/dist/physics/investigation/density.d.mts +28 -0
  2114. package/dist/physics/investigation/density.mjs +136 -0
  2115. package/dist/physics/investigation/energy-resource.mjs +453 -0
  2116. package/dist/physics/investigation/engine.d.mts +106 -0
  2117. package/dist/physics/investigation/engine.mjs +126 -0
  2118. package/dist/physics/investigation/measurement.mjs +182 -0
  2119. package/dist/physics/investigation/optics.d.mts +38 -0
  2120. package/dist/physics/investigation/optics.mjs +155 -0
  2121. package/dist/physics/investigation/paper5.mjs +359 -0
  2122. package/dist/physics/investigation/radiation.mjs +304 -0
  2123. package/dist/physics/investigation/refraction.d.mts +40 -0
  2124. package/dist/physics/investigation/refraction.mjs +161 -0
  2125. package/dist/physics/investigation/space.mjs +191 -0
  2126. package/dist/physics/investigation/trolley.d.mts +43 -0
  2127. package/dist/physics/investigation/trolley.mjs +194 -0
  2128. package/dist/physics/investigation-activity.d.mts +25 -0
  2129. package/dist/physics/investigation-activity.mjs +86 -0
  2130. package/dist/physics/kepler/index.d.mts +2 -1
  2131. package/dist/physics/kepler/preset.d.mts +1 -11
  2132. package/dist/physics/kepler/preset.mjs +20 -21
  2133. package/dist/physics/lever/asset.d.mts +0 -1
  2134. package/dist/physics/lever/index.d.mts +2 -1
  2135. package/dist/physics/lever/preset.d.mts +2 -17
  2136. package/dist/physics/lever/preset.mjs +7 -5
  2137. package/dist/physics/lift-weight/index.d.mts +2 -0
  2138. package/dist/physics/lift-weight/preset.d.mts +23 -0
  2139. package/dist/physics/lift-weight/preset.mjs +362 -0
  2140. package/dist/physics/lifting-work/preset.mjs +411 -0
  2141. package/dist/physics/linear-pursuit/preset.d.mts +1 -12
  2142. package/dist/physics/lorentz/index.d.mts +2 -1
  2143. package/dist/physics/lorentz/model.mjs +16 -0
  2144. package/dist/physics/lorentz/preset.d.mts +1 -14
  2145. package/dist/physics/lorentz/preset.mjs +162 -93
  2146. package/dist/physics/machines/ac-generator/core.d.mts +41 -0
  2147. package/dist/physics/machines/ac-generator/core.mjs +63 -0
  2148. package/dist/physics/machines/ac-generator/index.d.mts +3 -0
  2149. package/dist/physics/machines/ac-generator/model.mjs +14 -0
  2150. package/dist/physics/machines/ac-generator/preset.d.mts +30 -0
  2151. package/dist/physics/machines/ac-generator/preset.mjs +684 -0
  2152. package/dist/physics/machines/dc-motor/core.d.mts +28 -0
  2153. package/dist/physics/machines/dc-motor/core.mjs +69 -0
  2154. package/dist/physics/machines/dc-motor/index.d.mts +3 -0
  2155. package/dist/physics/machines/dc-motor/preset.d.mts +30 -0
  2156. package/dist/physics/machines/dc-motor/preset.mjs +689 -0
  2157. package/dist/physics/magnetism/formula-core.d.mts +1 -0
  2158. package/dist/physics/magnetism/formula-core.mjs +30 -0
  2159. package/dist/physics/magnetism/index.d.mts +4 -1
  2160. package/dist/physics/magnetism/preset.d.mts +2 -8
  2161. package/dist/physics/magnetism/preset.mjs +73 -37
  2162. package/dist/physics/mechanics/activity.mjs +8 -21
  2163. package/dist/physics/mechanics/core.d.mts +59 -23
  2164. package/dist/physics/mechanics/core.mjs +90 -55
  2165. package/dist/physics/mechanics/presentation.mjs +3 -98
  2166. package/dist/physics/modern/imaging/activity.d.mts +0 -1
  2167. package/dist/physics/modern/imaging/index.d.mts +7 -2
  2168. package/dist/physics/modern/imaging/pet-activity.d.mts +5 -0
  2169. package/dist/physics/modern/imaging/pet-activity.mjs +115 -0
  2170. package/dist/physics/modern/imaging/pet-core.d.mts +296 -0
  2171. package/dist/physics/modern/imaging/pet-core.mjs +389 -0
  2172. package/dist/physics/modern/imaging/pet-preset.d.mts +26 -0
  2173. package/dist/physics/modern/imaging/pet-preset.mjs +167 -0
  2174. package/dist/physics/modern/imaging/pet-scene.d.mts +21 -0
  2175. package/dist/physics/modern/imaging/pet-scene.mjs +245 -0
  2176. package/dist/physics/modern/imaging/preset.d.mts +1 -10
  2177. package/dist/physics/modern/imaging/spectrum-activity.d.mts +0 -1
  2178. package/dist/physics/modern/imaging/spectrum-preset.d.mts +1 -10
  2179. package/dist/physics/modern/imaging/spectrum-preset.mjs +5 -4
  2180. package/dist/physics/modern/imaging/spectrum-scene.d.mts +1 -5
  2181. package/dist/physics/modern/imaging/spectrum-scene.mjs +3 -1
  2182. package/dist/physics/modern/imaging/xray-core.d.mts +20 -1
  2183. package/dist/physics/modern/imaging/xray-core.mjs +26 -1
  2184. package/dist/physics/modern/imaging/xray-scene.mjs +2 -2
  2185. package/dist/physics/modern/index.d.mts +14 -5
  2186. package/dist/physics/modern/index.mjs +9 -5
  2187. package/dist/physics/modern/nuclear/activity.d.mts +0 -1
  2188. package/dist/physics/modern/nuclear/core.d.mts +2 -3
  2189. package/dist/physics/modern/nuclear/core.mjs +2 -1
  2190. package/dist/physics/modern/nuclear/fission-activity.d.mts +0 -1
  2191. package/dist/physics/modern/nuclear/fission-core.d.mts +1 -9
  2192. package/dist/physics/modern/nuclear/fission-preset.d.mts +1 -10
  2193. package/dist/physics/modern/nuclear/fission-scene.mjs +4 -5
  2194. package/dist/physics/modern/nuclear/index.d.mts +4 -2
  2195. package/dist/physics/modern/nuclear/preset.d.mts +1 -8
  2196. package/dist/physics/modern/quantum/activity.d.mts +0 -1
  2197. package/dist/physics/modern/quantum/bloch-activity.d.mts +0 -1
  2198. package/dist/physics/modern/quantum/bloch-preset.d.mts +2 -13
  2199. package/dist/physics/modern/quantum/bloch-preset.mjs +9 -9
  2200. package/dist/physics/modern/quantum/double-slit-activity.d.mts +0 -1
  2201. package/dist/physics/modern/quantum/double-slit-core.d.mts +32 -1
  2202. package/dist/physics/modern/quantum/double-slit-core.mjs +43 -5
  2203. package/dist/physics/modern/quantum/double-slit-preset.d.mts +2 -11
  2204. package/dist/physics/modern/quantum/double-slit-preset.mjs +187 -126
  2205. package/dist/physics/modern/quantum/gates-activity.d.mts +0 -1
  2206. package/dist/physics/modern/quantum/gates-core.d.mts +0 -1
  2207. package/dist/physics/modern/quantum/gates-core.mjs +6 -3
  2208. package/dist/physics/modern/quantum/gates-preset.d.mts +1 -8
  2209. package/dist/physics/modern/quantum/index.d.mts +4 -2
  2210. package/dist/physics/modern/quantum/photoelectric-core.d.mts +2 -2
  2211. package/dist/physics/modern/quantum/photoelectric-core.mjs +3 -2
  2212. package/dist/physics/modern/quantum/preset.d.mts +1 -10
  2213. package/dist/physics/modern/quantum/preset.mjs +1 -1
  2214. package/dist/physics/modern/quantum/uncertainty-activity.d.mts +0 -1
  2215. package/dist/physics/modern/quantum/uncertainty-preset.d.mts +1 -8
  2216. package/dist/physics/modern/relativity/activity.d.mts +0 -1
  2217. package/dist/physics/modern/relativity/explorer-activity.d.mts +0 -1
  2218. package/dist/physics/modern/relativity/explorer-core.d.mts +0 -1
  2219. package/dist/physics/modern/relativity/explorer-preset.d.mts +1 -8
  2220. package/dist/physics/modern/relativity/index.d.mts +2 -1
  2221. package/dist/physics/modern/relativity/length-activity.d.mts +0 -1
  2222. package/dist/physics/modern/relativity/length-core.d.mts +0 -1
  2223. package/dist/physics/modern/relativity/length-core.mjs +1 -1
  2224. package/dist/physics/modern/relativity/length-preset.d.mts +1 -8
  2225. package/dist/physics/modern/relativity/length-preset.mjs +2 -2
  2226. package/dist/physics/modern/relativity/light-clock.d.mts +1 -4
  2227. package/dist/physics/modern/relativity/light-clock.mjs +3 -3
  2228. package/dist/physics/modern/relativity/muon-activity.d.mts +0 -1
  2229. package/dist/physics/modern/relativity/muon-core.mjs +1 -1
  2230. package/dist/physics/modern/relativity/muon-preset.d.mts +1 -10
  2231. package/dist/physics/modern/relativity/muon-scene.d.mts +1 -6
  2232. package/dist/physics/modern/relativity/muon-scene.mjs +3 -3
  2233. package/dist/physics/modern/relativity/preset.d.mts +1 -12
  2234. package/dist/physics/modern/relativity/simultaneity-activity.d.mts +0 -1
  2235. package/dist/physics/modern/relativity/simultaneity-core.d.mts +0 -1
  2236. package/dist/physics/modern/relativity/simultaneity-core.mjs +1 -1
  2237. package/dist/physics/modern/relativity/simultaneity-preset.d.mts +1 -8
  2238. package/dist/physics/modern/relativity/simultaneity-preset.mjs +1 -1
  2239. package/dist/physics/modern/relativity/spacetime.d.mts +1 -4
  2240. package/dist/physics/modern/shared/experiment-transport.d.mts +2 -12
  2241. package/dist/physics/modern/shared/experiment-transport.mjs +28 -23
  2242. package/dist/physics/modern/shared/index.d.mts +2 -1
  2243. package/dist/physics/optics/asset.d.mts +0 -1
  2244. package/dist/physics/optics/index.d.mts +2 -2
  2245. package/dist/physics/optics/lens.d.mts +1 -12
  2246. package/dist/physics/optics/lens.mjs +235 -226
  2247. package/dist/physics/optics/mirror.d.mts +1 -12
  2248. package/dist/physics/optics/mirror.mjs +237 -227
  2249. package/dist/physics/optics/preset.d.mts +1 -8
  2250. package/dist/physics/optics/preset.mjs +1 -1
  2251. package/dist/physics/optics/refraction.d.mts +1 -12
  2252. package/dist/physics/optics/refraction.mjs +8 -5
  2253. package/dist/physics/orbit-lab.d.mts +2 -10
  2254. package/dist/physics/orbit-lab.mjs +153 -156
  2255. package/dist/physics/orbital/core.d.mts +57 -14
  2256. package/dist/physics/orbital/core.mjs +60 -38
  2257. package/dist/physics/orbital/model.d.mts +50 -0
  2258. package/dist/physics/orbital/model.mjs +66 -0
  2259. package/dist/physics/power/index.d.mts +2 -1
  2260. package/dist/physics/power/preset.d.mts +1 -13
  2261. package/dist/physics/power/preset.mjs +12 -11
  2262. package/dist/physics/projectiles/core.d.mts +1 -0
  2263. package/dist/physics/projectiles/core.mjs +32 -4
  2264. package/dist/physics/projectiles/falling-target.d.mts +1 -12
  2265. package/dist/physics/projectiles/falling-target.mjs +4 -3
  2266. package/dist/physics/projectiles/index.d.mts +3 -1
  2267. package/dist/physics/projectiles/moving-launcher.d.mts +1 -15
  2268. package/dist/physics/projectiles/moving-launcher.mjs +4 -4
  2269. package/dist/physics/rain-relative/index.d.mts +2 -1
  2270. package/dist/physics/rain-relative/model.mjs +14 -0
  2271. package/dist/physics/rain-relative/preset.d.mts +1 -10
  2272. package/dist/physics/rain-relative/preset.mjs +14 -10
  2273. package/dist/physics/ramp-forces/index.d.mts +2 -1
  2274. package/dist/physics/ramp-forces/preset.d.mts +1 -15
  2275. package/dist/physics/ramp-forces/preset.mjs +63 -44
  2276. package/dist/physics/river-boat.d.mts +1 -12
  2277. package/dist/physics/river-crossing.mjs +1 -1
  2278. package/dist/physics/shm/core.mjs +51 -17
  2279. package/dist/physics/shm/energy.d.mts +24 -0
  2280. package/dist/physics/shm/energy.mjs +654 -0
  2281. package/dist/physics/shm/graphs.d.mts +20 -0
  2282. package/dist/physics/shm/graphs.mjs +483 -0
  2283. package/dist/physics/shm/index.d.mts +6 -1
  2284. package/dist/physics/shm/pendulum-worlds.d.mts +18 -0
  2285. package/dist/physics/shm/pendulum-worlds.mjs +356 -0
  2286. package/dist/physics/shm/preset.d.mts +2 -14
  2287. package/dist/physics/shm/preset.mjs +107 -33
  2288. package/dist/physics/shm/springs.d.mts +23 -0
  2289. package/dist/physics/shm/springs.mjs +404 -0
  2290. package/dist/physics/spin-studio/index.d.mts +2 -0
  2291. package/dist/physics/spin-studio/preset.d.mts +20 -0
  2292. package/dist/physics/spin-studio/preset.mjs +395 -0
  2293. package/dist/physics/stopping-distance/index.d.mts +2 -1
  2294. package/dist/physics/stopping-distance/preset.d.mts +1 -14
  2295. package/dist/physics/stopping-distance/preset.mjs +58 -52
  2296. package/dist/physics/stress-strain/core.d.mts +1 -6
  2297. package/dist/physics/stress-strain/core.mjs +1 -1
  2298. package/dist/physics/stress-strain/index.d.mts +2 -1
  2299. package/dist/physics/stress-strain/preset.d.mts +2 -15
  2300. package/dist/physics/stress-strain/preset.mjs +285 -89
  2301. package/dist/physics/suspension/index.d.mts +2 -0
  2302. package/dist/physics/suspension/preset.d.mts +26 -0
  2303. package/dist/physics/suspension/preset.mjs +887 -0
  2304. package/dist/physics/temperature-scales/index.d.mts +2 -1
  2305. package/dist/physics/temperature-scales/preset.d.mts +1 -9
  2306. package/dist/physics/temperature-scales/preset.mjs +24 -17
  2307. package/dist/physics/terminal-velocity/index.d.mts +2 -1
  2308. package/dist/physics/terminal-velocity/model.mjs +54 -0
  2309. package/dist/physics/terminal-velocity/preset.d.mts +1 -11
  2310. package/dist/physics/terminal-velocity/preset.mjs +25 -59
  2311. package/dist/physics/thermal/activity.d.mts +3 -39
  2312. package/dist/physics/thermal/activity.mjs +8 -21
  2313. package/dist/physics/thermal/index.d.mts +2 -1
  2314. package/dist/physics/thermal/model.mjs +46 -0
  2315. package/dist/physics/thermal/preset.d.mts +1 -17
  2316. package/dist/physics/thermal/preset.mjs +45 -44
  2317. package/dist/physics/ultrasound/core.d.mts +221 -0
  2318. package/dist/physics/ultrasound/core.mjs +235 -0
  2319. package/dist/physics/vector-board/index.d.mts +2 -1
  2320. package/dist/physics/vector-board/preset.d.mts +1 -17
  2321. package/dist/physics/vector-board/preset.mjs +93 -39
  2322. package/dist/physics/vector-types/index.d.mts +2 -1
  2323. package/dist/physics/vector-types/preset.d.mts +1 -8
  2324. package/dist/physics/venturi/core.mjs +1 -1
  2325. package/dist/physics/venturi/index.d.mts +2 -1
  2326. package/dist/physics/venturi/preset.d.mts +1 -10
  2327. package/dist/physics/venturi/preset.mjs +2 -1
  2328. package/dist/physics/water-density/index.d.mts +2 -1
  2329. package/dist/physics/water-density/preset.d.mts +1 -8
  2330. package/dist/physics/water-density/preset.mjs +34 -38
  2331. package/dist/physics/waves/doppler-core.d.mts +106 -0
  2332. package/dist/physics/waves/doppler-core.mjs +157 -0
  2333. package/dist/physics/waves/doppler-model.mjs +90 -0
  2334. package/dist/physics/waves/doppler.d.mts +1 -11
  2335. package/dist/physics/waves/doppler.mjs +32 -52
  2336. package/dist/physics/waves/guitar.d.mts +22 -0
  2337. package/dist/physics/waves/guitar.mjs +807 -0
  2338. package/dist/physics/waves/index.d.mts +3 -1
  2339. package/dist/physics/waves/interference-core.d.mts +157 -0
  2340. package/dist/physics/waves/interference-core.mjs +207 -0
  2341. package/dist/physics/waves/preset.d.mts +2 -15
  2342. package/dist/physics/waves/preset.mjs +24 -20
  2343. package/dist/physics/waves/ripple.d.mts +2 -13
  2344. package/dist/physics/waves/ripple.mjs +25 -12
  2345. package/dist/physics/waves/string.d.mts +2 -14
  2346. package/dist/physics/waves/string.mjs +43 -19
  2347. package/dist/physics/waves/wave-activity.mjs +53 -3
  2348. package/dist/physics/work-energy/index.d.mts +2 -1
  2349. package/dist/physics/work-energy/preset.d.mts +1 -8
  2350. package/dist/physics/work-energy/preset.mjs +11 -10
  2351. package/dist/physics/work-potential/index.d.mts +2 -1
  2352. package/dist/physics/work-potential/preset.d.mts +1 -16
  2353. package/dist/physics/work-potential/preset.mjs +18 -17
  2354. package/dist/schemas/activity-authoring.d.mts +2 -3
  2355. package/dist/schemas/index.d.mts +2 -3
  2356. package/dist/shared/fields.mjs +1 -1
  2357. package/dist/statistics/center-spread/preset.d.mts +1 -14
  2358. package/dist/statistics/center-spread/preset.mjs +11 -8
  2359. package/dist/statistics/frequency-density/index.d.mts +2 -1
  2360. package/dist/statistics/frequency-density/preset.d.mts +1 -10
  2361. package/dist/statistics/frequency-density/preset.mjs +1 -1
  2362. package/dist/statistics/galton/preset.d.mts +1 -12
  2363. package/dist/statistics/galton/preset.mjs +7 -6
  2364. package/dist/statistics/histogram/preset.d.mts +1 -12
  2365. package/dist/statistics/histogram/preset.mjs +12 -8
  2366. package/dist/statistics/index.d.mts +2 -0
  2367. package/dist/statistics/normal/preset.d.mts +1 -13
  2368. package/dist/statistics/normal/preset.mjs +7 -3
  2369. package/dist/statistics/ogive/index.d.mts +2 -1
  2370. package/dist/statistics/ogive/preset.d.mts +1 -8
  2371. package/dist/statistics/sampling/preset.d.mts +1 -14
  2372. package/dist/statistics/sequence/preset.d.mts +1 -12
  2373. package/dist/statistics/sequence/preset.mjs +8 -5
  2374. package/dist/statistics/z-table/preset.d.mts +1 -12
  2375. package/dist/statistics/z-table/preset.mjs +9 -7
  2376. package/dist/tex/index.d.mts +2 -0
  2377. package/dist/tex/index.mjs +3 -0
  2378. package/dist/three/biology/cell-energy.d.mts +2 -8
  2379. package/dist/three/biology/cell-system.d.mts +3 -10
  2380. package/dist/three/biology/cell-world.d.mts +5 -33
  2381. package/dist/three/biology/cell-world.mjs +173 -171
  2382. package/dist/three/biology/meiosis-explorer.d.mts +2 -7
  2383. package/dist/three/biology/membrane-transport.d.mts +2 -7
  2384. package/dist/three/biology/membrane-transport.mjs +3 -2
  2385. package/dist/three/biology/mitosis-explorer.d.mts +2 -8
  2386. package/dist/three/biology/mitosis-explorer.mjs +11 -10
  2387. package/dist/three/biology/organelles.d.mts +1 -11
  2388. package/dist/three/chemistry/atomic-orbital.d.mts +1 -1
  2389. package/dist/three/chemistry/atomic-orbital.mjs +4 -2
  2390. package/dist/three/chemistry/crystal-lattice.d.mts +1 -1
  2391. package/dist/three/chemistry/crystal-lattice.mjs +38 -37
  2392. package/dist/three/chemistry/molecular-geometry.d.mts +1 -1
  2393. package/dist/three/chemistry/molecular-geometry.mjs +12 -8
  2394. package/dist/three/chemistry/orbital-overlap.d.mts +1 -1
  2395. package/dist/three/chemistry/stereochemistry.d.mts +1 -1
  2396. package/dist/three/index.d.mts +3 -0
  2397. package/dist/three/model-asset.d.mts +1 -7
  2398. package/dist/three/palette.d.mts +0 -1
  2399. package/dist/three/palette.mjs +1 -1
  2400. package/dist/three/physics/bloch-sphere.d.mts +0 -1
  2401. package/dist/three/physics/spatial-lorentz.d.mts +1 -1
  2402. package/dist/three/physics/spatial-lorentz.mjs +2 -2
  2403. package/dist/three/primitives.d.mts +7 -48
  2404. package/dist/three/primitives.mjs +3 -3
  2405. package/dist/three/surface.d.mts +1 -14
  2406. package/package.json +44 -8
  2407. package/styles/core.css +753 -661
  2408. package/styles/domains/algorithms.css +3 -3
  2409. package/styles/domains/biology.css +2 -3
  2410. package/styles/domains/chemistry.css +2 -3
  2411. package/styles/domains/circuits.css +2 -3
  2412. package/styles/domains/discrete.css +2 -3
  2413. package/styles/domains/editor.css +2 -3
  2414. package/styles/domains/ict.css +2 -3
  2415. package/styles/domains/logic.css +2 -3
  2416. package/styles/domains/math.css +2 -3
  2417. package/styles/domains/ml.css +2 -3
  2418. package/styles/domains/networking.css +4 -0
  2419. package/styles/domains/parts/algorithms-0.css +441 -0
  2420. package/styles/domains/parts/algorithms-3.css +1 -1
  2421. package/styles/domains/parts/biology.css +91 -0
  2422. package/styles/domains/parts/chemistry.css +1452 -28
  2423. package/styles/domains/parts/circuits.css +1 -1
  2424. package/styles/domains/parts/discrete-2.css +12 -3
  2425. package/styles/domains/parts/discrete-6.css +38 -13
  2426. package/styles/domains/parts/editor.css +23 -0
  2427. package/styles/domains/parts/logic-2.css +1 -1
  2428. package/styles/domains/parts/math-1.css +33 -3
  2429. package/styles/domains/parts/math-2.css +9 -0
  2430. package/styles/domains/parts/math-6.css +107 -20
  2431. package/styles/domains/parts/networking.css +212 -0
  2432. package/styles/domains/parts/physics-1.css +92 -10
  2433. package/styles/domains/parts/physics-2.css +25 -3
  2434. package/styles/domains/parts/physics-3.css +52 -11
  2435. package/styles/domains/physics.css +2 -3
  2436. package/styles/domains/probability.css +2 -3
  2437. package/styles/domains/statistics.css +2 -3
  2438. package/styles/domains.css +2 -2
  2439. package/styles/figure.css +130 -4
  2440. package/dist/kit/answer-check.d.mts +0 -38
  2441. package/dist/kit/answer-check.mjs +0 -93
  2442. package/dist/kit/calc.d.mts +0 -33
  2443. package/dist/kit/calc.mjs +0 -27
  2444. package/dist/kit/expr-analysis.d.mts +0 -49
  2445. package/dist/kit/expr-analysis.mjs +0 -166
  2446. package/dist/kit/solve.d.mts +0 -21
  2447. package/dist/kit/solve.mjs +0 -75
  2448. package/dist/kit/space.mjs +0 -326
  2449. package/dist/math/complex/core.d.mts +0 -93
  2450. package/dist/math/complex/core.mjs +0 -239
  2451. package/dist/math/poly/core.d.mts +0 -50
  2452. package/dist/math/poly/core.mjs +0 -268
  2453. package/dist/networking/contract.d.mts +0 -136
  2454. package/dist/networking/encapsulation.mjs +0 -130
  2455. package/dist/networking/ip.d.mts +0 -12
  2456. package/dist/networking/ip.mjs +0 -30
  2457. package/dist/networking/media.mjs +0 -183
  2458. package/dist/networking/presets.d.mts +0 -7
  2459. package/dist/networking/presets.mjs +0 -302
  2460. package/dist/networking/simulation.d.mts +0 -8
  2461. package/dist/networking/simulation.mjs +0 -148
  2462. package/dist/networking/subnet.mjs +0 -84
  2463. package/dist/networking/switch.mjs +0 -155
  2464. package/dist/networking/vlan.mjs +0 -100
  2465. package/dist/networking/vpn.mjs +0 -118
  2466. package/dist/physics/alternating-current/core.d.mts +0 -162
  2467. package/dist/physics/alternating-current/core.mjs +0 -155
  2468. package/dist/physics/fields/spatial-core.d.mts +0 -16
  2469. package/dist/physics/fields/spatial-core.mjs +0 -72
  2470. package/dist/physics/modern/constants.d.mts +0 -5
  2471. package/dist/physics/modern/constants.mjs +0 -6
  2472. package/dist/physics/optics/core.d.mts +0 -37
  2473. package/dist/physics/optics/core.mjs +0 -67
  2474. package/dist/physics/vector-scene.d.mts +0 -41
  2475. package/dist/physics/vector-scene.mjs +0 -235
  2476. package/dist/physics/waves/core.mjs +0 -33
  2477. package/styles/domains/parts/shared-1.css +0 -142
  2478. package/styles/domains/parts/shared-2.css +0 -60
  2479. package/styles/domains/shared.css +0 -3
@@ -1,79 +1,41 @@
1
1
  'use client';
2
2
 
3
3
  import { Tex } from "../../core/tex.mjs";
4
- import { ActivitySelect, Segmented, Slider } from "../../kit/controls.mjs";
4
+ import { ActionButton, Segmented, Slider } from "../../kit/controls.mjs";
5
+ import { Activity } from "../../kit/activity.mjs";
5
6
  import { Field, Readout, Stat, StatList } from "../../kit/frame.mjs";
6
7
  import { AuthoredActivityRuntime, AuthoredMetricGate } from "../../kit/authored-activity-runtime.mjs";
7
- import { Figure, HUE, fmt } from "../../kit/figure/figure.mjs";
8
+ import { Figure, HUE, STROKE, figUrl, useFigureId } from "../../kit/figure/figure.mjs";
8
9
  import { FigText } from "../../kit/figure/text.mjs";
9
10
  import { Ball, Block } from "../../kit/figure/body.mjs";
10
- import { Arrow, Track } from "../../kit/figure/beam.mjs";
11
- import { Area, Curve, Guide, Marker, PlotFrame, scale } from "../../kit/figure/plot.mjs";
12
- import { acPeriodS, acRectifiedTrace, acState, acWaveTrace, meanRectifiedVoltage } from "./core.mjs";
11
+ import { Arrow } from "../../kit/figure/beam.mjs";
12
+ import { Area, Curve, Guide, Marker } from "../../kit/figure/plot.mjs";
13
+ import { AcSourceGlyph } from "../../kit/electronics/basics.mjs";
14
+ import { DiodeGlyph } from "../../kit/electronics/semiconductor.mjs";
15
+ import { Wire as Wire$1 } from "../../kit/electronics/wire.mjs";
13
16
  import { useState } from "react";
14
17
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
18
+ import { acPeriodS, acRectifiedTrace, acState, acWaveTrace, meanRectifiedVoltage } from "@classytic/stage/physics/ac";
15
19
 
16
20
  //#region src/physics/alternating-current/preset.tsx
17
21
  /**
18
22
  * AlternatingCurrentLab, Cambridge A Level Physics 9702 chapter 21 (alternating currents).
19
23
  *
20
- * One circuit, a sinusoidal supply across a resistor, drawn beside one plot with three views:
24
+ * Professional dual-trace oscilloscope and signal analyzer with three dedicated views:
21
25
  *
22
- * waveform v = V0 sin(2 pi f t) and i = v / R, the period T = 1/f and both peaks
23
- * r.m.s. v faint, v squared, the MEASURED mean of v squared, and V_rms = root of it
24
- * rectification one diode or a bridge, then a capacitor that turns ripple into a steady line
26
+ * waveform Sinusoidal voltage v(t) = V0 sin(2π f t) and in-phase current i(t) = v/R,
27
+ * marking period T = 1/f and peak values V0 and I0 with oscilloscope cursors.
28
+ * r.m.s. The heart of the Cambridge 9702 syllabus: Upper trace shows v(t) swinging ±V0
29
+ * with mean = 0, while lower trace shows instantaneous power / squared wave v²(t).
30
+ * The mean of v² sits exactly at V0²/2. Taking the square root gives V_rms = V0/√2,
31
+ * the exact steady d.c. voltage that delivers the same mean heating power.
32
+ * rectification Bench schematic with diode(s) and smoothing capacitor above a clean DC output trace.
33
+ * Shows ripple reduction as the time constant τ = RC increases.
25
34
  *
26
- * The middle view is the point of the lab. Learners are handed V_rms = V0 / sqrt(2) as a fact and
27
- * usually guess it is an average of the wave. It is not: the mean of v over a cycle is zero. The
28
- * plot squares the wave first, so every value is positive, draws the mean of that square (a real
29
- * number added up by `meanSquareByIntegration`, not the formula), then takes the root. The result
30
- * is the steady d.c. voltage that would heat the same resistor at the same rate, and the readout
31
- * says so in watts.
32
- *
33
- * All the physics lives in `core.ts`, outside React and free of clocks and random numbers, so the
34
- * server and the browser draw identical paths.
35
+ * All physics calculations live in `core.ts` outside React and free of side effects.
35
36
  */
36
- const W = 720;
37
- const H = 400;
38
- /** Two stacked plots share one time axis: ticks and the axis label sit on the lower one. */
39
- const PLOT_TOP = {
40
- x: 322,
41
- y: 62,
42
- w: 376,
43
- h: 118
44
- };
45
- const PLOT_BOT = {
46
- x: 322,
47
- y: 240,
48
- w: 376,
49
- h: 114
50
- };
51
- /** The single tall plot the rectification view uses. */
52
- const PLOT_ONE = {
53
- x: 322,
54
- y: 66,
55
- w: 376,
56
- h: 268
57
- };
58
- const LOOP = {
59
- left: 70,
60
- right: 252,
61
- top: 118,
62
- bottom: 298
63
- };
64
- const SRC = {
65
- cx: 70,
66
- cy: 208,
67
- r: 24
68
- };
69
- const RES = {
70
- x: 236,
71
- y: 176,
72
- w: 32,
73
- h: 64
74
- };
75
- const RECT_X = 150;
76
- const CAP_X = 206;
37
+ const W = 540;
38
+ const H = 270;
77
39
  const V0_MIN = 5;
78
40
  const V0_MAX = 400;
79
41
  const F_MIN = 5;
@@ -81,72 +43,34 @@ const F_MAX = 200;
81
43
  const R_MIN = 10;
82
44
  const R_MAX = 500;
83
45
  const C_MAX_UF = 5e3;
84
- /**
85
- * Four significant figures, without trailing zeros. Four rather than three because the numbers
86
- * this lab is judged on are read directly: 229.8 V, not 230 V, and 1056 W, not 1060 W.
87
- */
46
+ /** Four significant figures, without trailing zeros. */
88
47
  const num = (value, digits = 4) => Number(value.toPrecision(digits)).toString();
89
- /**
90
- * A large V² value, grouped in threes so 52813 reads as 52 813.
91
- *
92
- * The value is settled to ten significant figures first. The measured mean square arrives from
93
- * Simpson's rule as 52812.499999999985 while the algebra gives exactly 52812.5, and rounding
94
- * those two straight to an integer would print 52 812 beside 52 813 in the same panel. The lab's
95
- * whole claim is that they are the SAME number, so the last few float bits must not show.
96
- */
48
+ /** A large V² value, grouped in threes so 52813 reads as 52 813. */
97
49
  const grouped = (value) => {
98
50
  const settled = Number(value.toPrecision(10));
99
51
  const rounded = Math.abs(settled) >= 100 ? Math.round(settled) : Number(settled.toFixed(1));
100
52
  return String(rounded).replace(/\B(?=(\d{3})+(?!\d))/g, " ");
101
53
  };
102
- /** An axis tick with a real minus sign rather than a hyphen. */
103
- const tick = (value, digits = 1) => value < 0 ? `−${fmt(-value, digits)}` : fmt(value, digits);
104
54
  function Wire({ x1, y1, x2, y2 }) {
105
- return /* @__PURE__ */ jsx(Curve, {
106
- points: [[x1, y1], [x2, y2]],
107
- color: HUE.metal,
108
- weight: "edge"
109
- });
55
+ return /* @__PURE__ */ jsx(Wire$1, { points: [[x1, y1], [x2, y2]] });
110
56
  }
111
- /** The a.c. source symbol: a ring with one cycle of a sine drawn inside it. */
57
+ /** The a.c. source symbol, at the vocabulary's standard body size. */
112
58
  function AcSource({ cx, cy, r }) {
113
- const ring = `M ${cx - r} ${cy} A ${r} ${r} 0 1 0 ${cx + r} ${cy} A ${r} ${r} 0 1 0 ${cx - r} ${cy}`;
114
- const wave = Array.from({ length: 33 }, (_, k) => {
115
- const u = k / 32;
116
- return [cx - r * .62 + u * r * 1.24, cy - Math.sin(u * 2 * Math.PI) * r * .4];
59
+ return /* @__PURE__ */ jsx(AcSourceGlyph, {
60
+ cx,
61
+ cy,
62
+ half: r
117
63
  });
118
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Track, {
119
- d: ring,
120
- color: HUE.ink,
121
- weight: "edge",
122
- dashed: false
123
- }), /* @__PURE__ */ jsx(Curve, {
124
- points: wave,
125
- color: HUE[1],
126
- weight: "line"
127
- })] });
128
64
  }
129
- /**
130
- * A diode: the filled triangle points the way conventional current may pass, and the bar is the
131
- * wall it cannot pass backwards through. The triangle is an `Area` closed onto its own base, so
132
- * the schematic still uses nothing but figure-kit primitives.
133
- */
65
+ /** Diode symbol with forward triangle and blocking bar. */
134
66
  function Diode({ x, y, w, h }) {
135
- const half = h / 2;
136
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Area, {
137
- points: [
138
- [x, y - half],
139
- [x + w, y],
140
- [x, y + half]
141
- ],
142
- baseY: y + half,
143
- color: HUE[1],
144
- opacity: 100
145
- }), /* @__PURE__ */ jsx(Curve, {
146
- points: [[x + w, y - half], [x + w, y + half]],
147
- color: HUE[1],
148
- weight: "edge"
149
- })] });
67
+ return /* @__PURE__ */ jsx(DiodeGlyph, {
68
+ cx: x + w / 2,
69
+ cy: y,
70
+ half: Math.max(w, 22),
71
+ conducting: true,
72
+ live: true
73
+ });
150
74
  }
151
75
  const AC_ACTIVITY = {
152
76
  pattern: "investigation",
@@ -286,15 +210,14 @@ const AC_ACTIVITY = {
286
210
  }
287
211
  ]
288
212
  };
289
- function AlternatingCurrentLab({ peakVoltageV: peak0 = 325, frequencyHz: freq0 = 50, resistanceOhm: res0 = 50, capacitanceUf: cap0 = 1e3, rectifier: rectifier0 = "full", view: view0 = "waveform", title = "Alternating current: peak, r.m.s. and rectifying", prompt = "A sinusoidal supply drives a resistor. The wave swings between +V0 and -V0, so its mean is zero, yet the resistor still gets hot. The r.m.s. view shows which value does the heating.", objectives, activity = "alternating-current" } = {}) {
290
- const activityId = typeof activity === "string" ? activity : "alternating-current";
291
- const authoredActivity = typeof activity === "string" ? AC_ACTIVITY : activity;
213
+ function AlternatingCurrentLab({ peakVoltageV: peak0 = 325, frequencyHz: freq0 = 50, resistanceOhm: res0 = 50, capacitanceUf: cap0 = 1e3, rectifier: rectifier0 = "full", view: view0 = "waveform", title = "Alternating current: peak, r.m.s. and rectifying", prompt = "A sinusoidal supply drives a resistor. The wave swings between +V0 and -V0, so its mean is zero, yet the resistor still gets hot. The r.m.s. view shows which value does the heating.", objectives, activity, initialStepId } = {}) {
292
214
  const [peakVoltage, setPeakVoltage] = useState(peak0);
293
215
  const [frequency, setFrequency] = useState(freq0);
294
216
  const [resistance, setResistance] = useState(res0);
295
217
  const [capacitanceUf, setCapacitanceUf] = useState(cap0);
296
218
  const [rectifier, setRectifier] = useState(rectifier0);
297
219
  const [view, setView] = useState(view0);
220
+ const [drawerOpen, setDrawerOpen] = useState(false);
298
221
  const supply = {
299
222
  peakVoltageV: peakVoltage,
300
223
  frequencyHz: frequency,
@@ -303,190 +226,517 @@ function AlternatingCurrentLab({ peakVoltageV: peak0 = 325, frequencyHz: freq0 =
303
226
  const state = acState(supply);
304
227
  const periodMs = acPeriodS(frequency) * 1e3;
305
228
  const spanMs = 2 * periodMs;
306
- const wave = acWaveTrace(supply, 2, 160);
307
- const timeTicks = [
308
- 0,
309
- .5,
310
- 1,
311
- 1.5,
312
- 2
313
- ].map((k) => k * periodMs);
314
- const scTop = scale(PLOT_TOP, [0, spanMs], [-1.15 * peakVoltage, 1.15 * peakVoltage]);
315
- const vPoints = wave.map((p) => [scTop.x(p.t * 1e3), scTop.y(p.v)]);
316
229
  const peakCurrent = state.peakCurrentA;
317
- const scCurrent = scale(PLOT_BOT, [0, spanMs], [-1.15 * peakCurrent, 1.15 * peakCurrent]);
318
- const iPoints = wave.map((p) => [scCurrent.x(p.t * 1e3), scCurrent.y(p.i)]);
230
+ const wave = acWaveTrace(supply, 2, 160);
231
+ const scW_x = (tMs) => 38 + tMs / spanMs * 464;
232
+ const scW_yV = (v) => 134 - v / (1.25 * peakVoltage) * 74;
233
+ const scW_yI = (i) => 134 - i / (1.25 * peakCurrent) * 46;
234
+ const vPoints = wave.map((p) => [scW_x(p.t * 1e3), scW_yV(p.v)]);
235
+ const iPoints = wave.map((p) => [scW_x(p.t * 1e3), scW_yI(p.i)]);
236
+ const figId = useFigureId();
319
237
  const squareMax = peakVoltage * peakVoltage;
320
- const scSquare = scale(PLOT_BOT, [0, spanMs], [0, 1.15 * squareMax]);
321
- const squarePoints = wave.map((p) => [scSquare.x(p.t * 1e3), scSquare.y(p.v * p.v)]);
322
- const meanSquareY = scSquare.y(state.meanSquareVoltageV2);
238
+ const scRms_yV = (v) => 66 - v / (1.25 * peakVoltage) * 38;
239
+ const scRms_ySq = (sq) => 240 - sq / (1.18 * squareMax) * 74;
240
+ const vPointsRms = wave.map((p) => [scW_x(p.t * 1e3), scRms_yV(p.v)]);
241
+ const squarePoints = wave.map((p) => [scW_x(p.t * 1e3), scRms_ySq(p.v * p.v)]);
242
+ const meanSquareY = scRms_ySq(state.meanSquareVoltageV2);
243
+ const squareTopY = scRms_ySq(squareMax);
244
+ const rmsY = scRms_yV(state.rmsVoltageV);
245
+ const rmsYNeg = scRms_yV(-state.rmsVoltageV);
246
+ const capacitanceF = capacitanceUf / 1e6;
323
247
  const rectified = acRectifiedTrace({
324
248
  supply,
325
- capacitanceF: capacitanceUf / 1e6,
249
+ capacitanceF,
326
250
  rectifier,
327
251
  cycles: 2,
328
252
  samplesPerCycle: 180
329
253
  });
330
- const scRect = scale(PLOT_ONE, [0, spanMs], [-1.12 * peakVoltage, 1.16 * peakVoltage]);
331
- const inputPoints = rectified.points.map((p) => [scRect.x(p.t * 1e3), scRect.y(p.input)]);
332
- const rectifiedPoints = rectified.points.map((p) => [scRect.x(p.t * 1e3), scRect.y(p.rectified)]);
333
- const outputPoints = rectified.points.map((p) => [scRect.x(p.t * 1e3), scRect.y(p.output)]);
334
254
  const smoothing = capacitanceUf > 0;
335
255
  const barePeak = meanRectifiedVoltage(peakVoltage, rectifier);
256
+ const scRect_y = (v) => 236 - v / (1.22 * peakVoltage) * 126;
257
+ const rectInputPoints = rectified.points.map((p) => [scW_x(p.t * 1e3), scRect_y(p.input)]);
258
+ const rectBasePoints = rectified.points.map((p) => [scW_x(p.t * 1e3), scRect_y(p.rectified)]);
259
+ const rectOutputPoints = rectified.points.map((p) => [scW_x(p.t * 1e3), scRect_y(p.output)]);
336
260
  const rippleReadable = rectified.rippleV > .04 * peakVoltage;
337
- const rippleX = scRect.x(1.25 * periodMs);
261
+ const rippleX = scW_x(.75 * periodMs);
338
262
  const isRect = view === "rectification";
339
263
  const label = view === "waveform" ? `A supply of peak ${num(peakVoltage)} volts at ${num(frequency)} hertz across ${num(resistance)} ohms. Voltage and current are plotted against time; the period is ${num(periodMs)} milliseconds and the peak current is ${num(peakCurrent)} amperes.` : view === "rms" ? `The same supply, with the voltage above and the square of the voltage below. The mean of the square is ${grouped(state.meanSquareVoltageV2)} volts squared, and its square root, ${num(state.rmsVoltageV)} volts, is drawn on the voltage graph as the r.m.s. value.` : `The same supply through ${rectifier === "half" ? "one diode" : "a bridge of four diodes"} with ${smoothing ? `a ${num(capacitanceUf)} microfarad smoothing capacitor` : "no smoothing capacitor"}. The mean output is ${num(rectified.meanV)} volts with a ripple of ${num(rectified.rippleV)} volts.`;
340
- const circuit = /* @__PURE__ */ jsxs(Fragment$1, { children: [
264
+ const waveformVisual = /* @__PURE__ */ jsxs("g", { children: [
265
+ /* @__PURE__ */ jsx("rect", {
266
+ x: "18",
267
+ y: "10",
268
+ width: "504",
269
+ height: "250",
270
+ rx: "8",
271
+ fill: "var(--fig-surface)",
272
+ stroke: "var(--fig-card-border)",
273
+ strokeWidth: "1.5"
274
+ }),
275
+ /* @__PURE__ */ jsx("rect", {
276
+ x: "28",
277
+ y: "38",
278
+ width: "484",
279
+ height: "192",
280
+ rx: "6",
281
+ fill: "color-mix(in oklab, var(--fig-surface) 88%, black)",
282
+ stroke: "var(--fig-axis)",
283
+ strokeWidth: "1"
284
+ }),
285
+ /* @__PURE__ */ jsxs(FigText, {
286
+ x: 36,
287
+ y: 26,
288
+ size: "note",
289
+ tone: "hue-1",
290
+ children: [
291
+ "CH1 [V]: ",
292
+ num(peakVoltage / 3, 2),
293
+ " V/div"
294
+ ]
295
+ }),
296
+ /* @__PURE__ */ jsxs(FigText, {
297
+ x: 270,
298
+ y: 26,
299
+ anchor: "middle",
300
+ size: "note",
301
+ tone: "soft",
302
+ children: [
303
+ "TIME: ",
304
+ num(periodMs / 4, 2),
305
+ " ms/div · f = ",
306
+ num(frequency),
307
+ " Hz"
308
+ ]
309
+ }),
310
+ /* @__PURE__ */ jsxs(FigText, {
311
+ x: 504,
312
+ y: 26,
313
+ anchor: "end",
314
+ size: "note",
315
+ tone: "hue-2",
316
+ children: [
317
+ "CH2 [I]: ",
318
+ num(peakCurrent / 3, 2),
319
+ " A/div"
320
+ ]
321
+ }),
322
+ /* @__PURE__ */ jsx("line", {
323
+ x1: 28,
324
+ y1: 134,
325
+ x2: 512,
326
+ y2: 134,
327
+ stroke: "var(--fig-axis)",
328
+ strokeWidth: "1",
329
+ strokeDasharray: "3 3",
330
+ opacity: .6
331
+ }),
332
+ /* @__PURE__ */ jsx("line", {
333
+ x1: 270,
334
+ y1: 38,
335
+ x2: 270,
336
+ y2: 230,
337
+ stroke: "var(--fig-axis)",
338
+ strokeWidth: "1",
339
+ strokeDasharray: "3 3",
340
+ opacity: .6
341
+ }),
342
+ /* @__PURE__ */ jsx(Curve, {
343
+ points: vPoints,
344
+ color: HUE[1],
345
+ weight: "line"
346
+ }),
347
+ /* @__PURE__ */ jsx(Curve, {
348
+ points: iPoints,
349
+ color: HUE[2],
350
+ weight: "line"
351
+ }),
352
+ /* @__PURE__ */ jsx(Marker, {
353
+ x: scW_x(.25 * periodMs),
354
+ y: scW_yV(peakVoltage),
355
+ r: 4,
356
+ color: HUE[1],
357
+ label: `V₀ = ${num(peakVoltage)} V`
358
+ }),
359
+ /* @__PURE__ */ jsx(Marker, {
360
+ x: scW_x(1.25 * periodMs),
361
+ y: scW_yI(peakCurrent),
362
+ r: 4,
363
+ color: HUE[2],
364
+ label: `I₀ = ${num(peakCurrent)} A`
365
+ }),
366
+ /* @__PURE__ */ jsx(Arrow, {
367
+ x1: scW_x(0),
368
+ y1: 216,
369
+ x2: scW_x(periodMs),
370
+ y2: 216,
371
+ color: HUE.hot,
372
+ weight: "line",
373
+ head: 5,
374
+ double: true,
375
+ label: `Period T = ${num(periodMs)} ms`
376
+ }),
377
+ /* @__PURE__ */ jsxs(FigText, {
378
+ x: 270,
379
+ y: 248,
380
+ anchor: "middle",
381
+ size: "note",
382
+ tone: "soft",
383
+ children: [
384
+ "Pure Resistive Load R = ",
385
+ num(resistance),
386
+ " Ω · Current and Voltage are in phase (φ = 0°)"
387
+ ]
388
+ })
389
+ ] });
390
+ const rmsVisual = /* @__PURE__ */ jsxs("g", { children: [
391
+ /* @__PURE__ */ jsx("rect", {
392
+ x: "18",
393
+ y: "8",
394
+ width: "504",
395
+ height: "254",
396
+ rx: "8",
397
+ fill: "var(--fig-surface)",
398
+ stroke: "var(--fig-card-border)",
399
+ strokeWidth: "1.5"
400
+ }),
401
+ /* @__PURE__ */ jsx("rect", {
402
+ x: "28",
403
+ y: "16",
404
+ width: "484",
405
+ height: "100",
406
+ rx: "6",
407
+ fill: "color-mix(in oklab, var(--fig-surface) 88%, black)",
408
+ stroke: "var(--fig-axis)",
409
+ strokeWidth: "1"
410
+ }),
411
+ /* @__PURE__ */ jsx("line", {
412
+ x1: 28,
413
+ y1: 66,
414
+ x2: 512,
415
+ y2: 66,
416
+ stroke: "var(--fig-axis)",
417
+ strokeWidth: "1",
418
+ strokeDasharray: "4 4",
419
+ opacity: .6
420
+ }),
421
+ /* @__PURE__ */ jsx(Curve, {
422
+ points: vPointsRms,
423
+ color: HUE[1],
424
+ opacity: .45,
425
+ weight: "line"
426
+ }),
427
+ /* @__PURE__ */ jsx(Guide, {
428
+ x1: 28,
429
+ y1: rmsY,
430
+ x2: 506,
431
+ y2: rmsY,
432
+ color: HUE.hot,
433
+ label: "+V_rms",
434
+ labelAnchor: "end"
435
+ }),
436
+ /* @__PURE__ */ jsx(Guide, {
437
+ x1: 28,
438
+ y1: rmsYNeg,
439
+ x2: 506,
440
+ y2: rmsYNeg,
441
+ color: HUE.hot
442
+ }),
341
443
  /* @__PURE__ */ jsx(FigText, {
342
- x: 24,
343
- y: 40,
344
- size: "title",
345
- children: "a.c. supply across R"
444
+ x: 36,
445
+ y: 30,
446
+ size: "note",
447
+ tone: "soft",
448
+ children: "v(t), mean zero"
346
449
  }),
347
- /* @__PURE__ */ jsx(Wire, {
348
- x1: LOOP.left,
349
- y1: LOOP.top,
350
- x2: LOOP.left,
351
- y2: SRC.cy - SRC.r
450
+ /* @__PURE__ */ jsx("rect", {
451
+ x: "28",
452
+ y: "148",
453
+ width: "484",
454
+ height: "104",
455
+ rx: "6",
456
+ fill: "color-mix(in oklab, var(--fig-surface) 88%, black)",
457
+ stroke: "var(--fig-axis)",
458
+ strokeWidth: "1"
352
459
  }),
353
- /* @__PURE__ */ jsx(Wire, {
354
- x1: LOOP.left,
355
- y1: SRC.cy + SRC.r,
356
- x2: LOOP.left,
357
- y2: LOOP.bottom
460
+ /* @__PURE__ */ jsx(Guide, {
461
+ x1: 28,
462
+ y1: squareTopY,
463
+ x2: 506,
464
+ y2: squareTopY,
465
+ color: HUE.soft
358
466
  }),
359
- /* @__PURE__ */ jsx(Wire, {
360
- x1: LOOP.left,
361
- y1: LOOP.bottom,
362
- x2: LOOP.right,
363
- y2: LOOP.bottom
467
+ /* @__PURE__ */ jsxs("defs", { children: [/* @__PURE__ */ jsx("clipPath", {
468
+ id: `${figId}-sq-above`,
469
+ children: /* @__PURE__ */ jsx("rect", {
470
+ x: 28,
471
+ y: 148,
472
+ width: 484,
473
+ height: Math.max(0, meanSquareY - 148)
474
+ })
475
+ }), /* @__PURE__ */ jsx("clipPath", {
476
+ id: `${figId}-sq-below`,
477
+ children: /* @__PURE__ */ jsx("rect", {
478
+ x: 28,
479
+ y: meanSquareY,
480
+ width: 484,
481
+ height: Math.max(0, 240 - meanSquareY)
482
+ })
483
+ })] }),
484
+ /* @__PURE__ */ jsx("g", {
485
+ clipPath: figUrl(figId, "sq-above"),
486
+ children: /* @__PURE__ */ jsx(Area, {
487
+ points: squarePoints,
488
+ baseY: meanSquareY,
489
+ color: HUE.hot,
490
+ opacity: 30
491
+ })
492
+ }),
493
+ /* @__PURE__ */ jsx("g", {
494
+ clipPath: figUrl(figId, "sq-below"),
495
+ children: /* @__PURE__ */ jsx(Area, {
496
+ points: squarePoints,
497
+ baseY: meanSquareY,
498
+ color: HUE.cold,
499
+ opacity: 34
500
+ })
501
+ }),
502
+ /* @__PURE__ */ jsx(Curve, {
503
+ points: squarePoints,
504
+ color: HUE[2],
505
+ weight: "line"
506
+ }),
507
+ /* @__PURE__ */ jsx(Guide, {
508
+ x1: 28,
509
+ y1: meanSquareY,
510
+ x2: 506,
511
+ y2: meanSquareY,
512
+ color: HUE.hot
513
+ }),
514
+ /* @__PURE__ */ jsx(FigText, {
515
+ x: 34,
516
+ y: squareTopY - 4,
517
+ size: "note",
518
+ tone: "soft",
519
+ children: "V₀²"
520
+ }),
521
+ /* @__PURE__ */ jsx(FigText, {
522
+ x: 34,
523
+ y: meanSquareY - 4,
524
+ size: "note",
525
+ tone: "hot",
526
+ children: "V₀²/2"
527
+ }),
528
+ /* @__PURE__ */ jsx(FigText, {
529
+ x: 34,
530
+ y: 236,
531
+ size: "note",
532
+ tone: "soft",
533
+ children: "0"
534
+ }),
535
+ [
536
+ 0,
537
+ 1,
538
+ 2
539
+ ].map((n) => /* @__PURE__ */ jsx(Guide, {
540
+ x1: scW_x(n * periodMs),
541
+ y1: 240,
542
+ x2: scW_x(n * periodMs),
543
+ y2: 244,
544
+ color: HUE.soft
545
+ }, n)),
546
+ /* @__PURE__ */ jsx(FigText, {
547
+ x: scW_x(periodMs),
548
+ y: 262,
549
+ anchor: "middle",
550
+ size: "note",
551
+ tone: "soft",
552
+ children: "the red humps above V₀²/2 exactly fill the blue dips below it"
553
+ }),
554
+ /* @__PURE__ */ jsx(FigText, {
555
+ x: 506,
556
+ y: 159,
557
+ anchor: "end",
558
+ size: "note",
559
+ tone: "soft",
560
+ children: "v² never goes negative, so it heats on both halves"
561
+ })
562
+ ] });
563
+ const rectificationVisual = /* @__PURE__ */ jsxs("g", { children: [
564
+ /* @__PURE__ */ jsx("rect", {
565
+ x: "18",
566
+ y: "10",
567
+ width: "504",
568
+ height: "70",
569
+ rx: "6",
570
+ fill: "var(--fig-surface)",
571
+ stroke: "var(--fig-axis)",
572
+ strokeWidth: "1"
573
+ }),
574
+ /* @__PURE__ */ jsx(AcSource, {
575
+ cx: 52,
576
+ cy: 45,
577
+ r: 13
578
+ }),
579
+ /* @__PURE__ */ jsxs(FigText, {
580
+ x: 52,
581
+ y: 24,
582
+ anchor: "middle",
583
+ size: "note",
584
+ tone: "soft",
585
+ children: [
586
+ "V₀ = ",
587
+ num(peakVoltage),
588
+ " V"
589
+ ]
364
590
  }),
365
591
  /* @__PURE__ */ jsx(Wire, {
366
- x1: LOOP.right,
367
- y1: LOOP.bottom,
368
- x2: LOOP.right,
369
- y2: RES.y + RES.h
592
+ x1: 65,
593
+ y1: 33,
594
+ x2: rectifier === "half" ? 140 : 130,
595
+ y2: 33
370
596
  }),
371
597
  /* @__PURE__ */ jsx(Wire, {
372
- x1: LOOP.right,
373
- y1: RES.y,
374
- x2: LOOP.right,
375
- y2: LOOP.top
598
+ x1: 65,
599
+ y1: 57,
600
+ x2: rectifier === "half" ? 260 : 130,
601
+ y2: 57
376
602
  }),
377
- isRect ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
378
- /* @__PURE__ */ jsx(Wire, {
379
- x1: LOOP.left,
380
- y1: LOOP.top,
381
- x2: rectifier === "half" ? RECT_X - 16 : RECT_X - 32,
382
- y2: LOOP.top
383
- }),
384
- /* @__PURE__ */ jsx(Wire, {
385
- x1: rectifier === "half" ? 166 : 182,
386
- y1: LOOP.top,
387
- x2: LOOP.right,
388
- y2: LOOP.top
389
- }),
390
- rectifier === "half" ? /* @__PURE__ */ jsx(Diode, {
391
- x: RECT_X - 16,
392
- y: LOOP.top,
393
- w: 32,
394
- h: 26
395
- }) : /* @__PURE__ */ jsx(Block, {
396
- x: RECT_X - 32,
397
- y: LOOP.top - 13,
398
- w: 64,
399
- h: 26,
400
- color: HUE[1],
401
- label: "bridge",
402
- radius: 4
603
+ rectifier === "half" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
604
+ /* @__PURE__ */ jsx(Diode, {
605
+ x: 140,
606
+ y: 33,
607
+ w: 24,
608
+ h: 18
403
609
  }),
404
610
  /* @__PURE__ */ jsx(FigText, {
405
- x: RECT_X,
406
- y: LOOP.top - 22,
611
+ x: 152,
612
+ y: 20,
407
613
  anchor: "middle",
408
614
  size: "note",
409
615
  tone: "soft",
410
- children: rectifier === "half" ? "one diode" : "4 diodes"
616
+ children: "1 diode"
617
+ }),
618
+ /* @__PURE__ */ jsx(Wire, {
619
+ x1: 164,
620
+ y1: 33,
621
+ x2: 260,
622
+ y2: 33
411
623
  })
412
- ] }) : /* @__PURE__ */ jsx(Wire, {
413
- x1: LOOP.left,
414
- y1: LOOP.top,
415
- x2: LOOP.right,
416
- y2: LOOP.top
417
- }),
418
- isRect && smoothing && /* @__PURE__ */ jsxs(Fragment$1, { children: [
624
+ ] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
625
+ /* @__PURE__ */ jsx(Block, {
626
+ x: 126,
627
+ y: 22,
628
+ w: 62,
629
+ h: 44,
630
+ color: HUE[1],
631
+ label: "Bridge (4×)",
632
+ radius: 4
633
+ }),
634
+ /* @__PURE__ */ jsx(Wire, {
635
+ x1: 188,
636
+ y1: 33,
637
+ x2: 260,
638
+ y2: 33
639
+ }),
640
+ /* @__PURE__ */ jsx(Wire, {
641
+ x1: 188,
642
+ y1: 57,
643
+ x2: 260,
644
+ y2: 57
645
+ })
646
+ ] }),
647
+ smoothing ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
419
648
  /* @__PURE__ */ jsx(Wire, {
420
- x1: CAP_X,
421
- y1: LOOP.top,
422
- x2: CAP_X,
423
- y2: 192
649
+ x1: 260,
650
+ y1: 33,
651
+ x2: 260,
652
+ y2: 41
424
653
  }),
425
654
  /* @__PURE__ */ jsx(Curve, {
426
- points: [[CAP_X - 16, 192], [222, 192]],
655
+ points: [[252, 41], [268, 41]],
427
656
  color: HUE[2],
428
657
  weight: "edge"
429
658
  }),
430
659
  /* @__PURE__ */ jsx(Curve, {
431
- points: [[CAP_X - 16, 202], [222, 202]],
660
+ points: [[252, 49], [268, 49]],
432
661
  color: HUE[2],
433
662
  weight: "edge"
434
663
  }),
435
664
  /* @__PURE__ */ jsx(Wire, {
436
- x1: CAP_X,
437
- y1: 202,
438
- x2: CAP_X,
439
- y2: LOOP.bottom
665
+ x1: 260,
666
+ y1: 49,
667
+ x2: 260,
668
+ y2: 57
440
669
  }),
441
670
  /* @__PURE__ */ jsx(Ball, {
442
- cx: CAP_X,
443
- cy: LOOP.top,
444
- r: 3.5,
671
+ cx: 260,
672
+ cy: 33,
673
+ r: 2.5,
445
674
  color: HUE.metal
446
675
  }),
447
676
  /* @__PURE__ */ jsx(Ball, {
448
- cx: CAP_X,
449
- cy: LOOP.bottom,
450
- r: 3.5,
677
+ cx: 260,
678
+ cy: 57,
679
+ r: 2.5,
451
680
  color: HUE.metal
452
681
  }),
453
- /* @__PURE__ */ jsx(FigText, {
454
- x: CAP_X - 20,
455
- y: 201,
456
- anchor: "end",
457
- baseline: "middle",
682
+ /* @__PURE__ */ jsxs(FigText, {
683
+ x: 260,
684
+ y: 20,
685
+ anchor: "middle",
458
686
  size: "note",
459
687
  tone: "hue-2",
460
- children: "C"
688
+ children: [
689
+ "C = ",
690
+ num(capacitanceUf),
691
+ " µF"
692
+ ]
461
693
  })
462
- ] }),
463
- /* @__PURE__ */ jsx(AcSource, {
464
- cx: SRC.cx,
465
- cy: SRC.cy,
466
- r: SRC.r
467
- }),
468
- /* @__PURE__ */ jsxs(FigText, {
469
- x: SRC.cx,
470
- y: 258,
694
+ ] }) : /* @__PURE__ */ jsx(FigText, {
695
+ x: 260,
696
+ y: 45,
471
697
  anchor: "middle",
472
698
  size: "note",
473
699
  tone: "soft",
474
- children: [
475
- "V₀ = ",
476
- num(peakVoltage),
477
- " V"
478
- ]
700
+ children: "no capacitor"
701
+ }),
702
+ /* @__PURE__ */ jsx(Wire, {
703
+ x1: 260,
704
+ y1: 33,
705
+ x2: 410,
706
+ y2: 33
707
+ }),
708
+ /* @__PURE__ */ jsx(Wire, {
709
+ x1: 260,
710
+ y1: 57,
711
+ x2: 410,
712
+ y2: 57
713
+ }),
714
+ /* @__PURE__ */ jsx(Wire, {
715
+ x1: 410,
716
+ y1: 33,
717
+ x2: 410,
718
+ y2: 37
479
719
  }),
480
720
  /* @__PURE__ */ jsx(Block, {
481
- ...RES,
721
+ x: 402,
722
+ y: 37,
723
+ w: 16,
724
+ h: 20,
482
725
  color: HUE[3],
483
726
  label: "R",
484
- radius: 4
727
+ radius: 2
728
+ }),
729
+ /* @__PURE__ */ jsx(Wire, {
730
+ x1: 410,
731
+ y1: 57,
732
+ x2: 410,
733
+ y2: 57
485
734
  }),
486
735
  /* @__PURE__ */ jsxs(FigText, {
487
- x: RES.x + RES.w,
488
- y: 258,
489
- anchor: "end",
736
+ x: 430,
737
+ y: 45,
738
+ anchor: "start",
739
+ baseline: "middle",
490
740
  size: "note",
491
741
  tone: "soft",
492
742
  children: [
@@ -496,276 +746,88 @@ function AlternatingCurrentLab({ peakVoltageV: peak0 = 325, frequencyHz: freq0 =
496
746
  ]
497
747
  }),
498
748
  /* @__PURE__ */ jsx(Arrow, {
499
- x1: LOOP.left + 30,
500
- y1: LOOP.bottom,
501
- x2: isRect ? CAP_X - 30 : LOOP.right - 30,
502
- y2: LOOP.bottom,
503
- color: isRect ? HUE[2] : HUE.hot,
749
+ x1: 305,
750
+ y1: 57,
751
+ x2: 365,
752
+ y2: 57,
753
+ color: HUE.hot,
504
754
  weight: "line",
505
- head: 6,
506
- double: !isRect,
507
- label: isRect ? "one way only" : "i reverses"
508
- })
509
- ] });
510
- const waveformPlots = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(PlotFrame, {
511
- ...PLOT_TOP,
512
- arrows: false,
513
- title: "voltage against time",
514
- yLabel: "v (V)",
515
- yTicks: [
516
- -peakVoltage,
517
- 0,
518
- peakVoltage
519
- ].map((v) => ({
520
- at: scTop.y(v),
521
- label: tick(v, 0)
522
- })),
523
- children: [
524
- /* @__PURE__ */ jsx(Guide, {
525
- x1: PLOT_TOP.x,
526
- y1: scTop.y(0),
527
- x2: PLOT_TOP.x + PLOT_TOP.w,
528
- y2: scTop.y(0),
529
- color: HUE.soft
530
- }),
531
- /* @__PURE__ */ jsx(Curve, {
532
- points: vPoints,
533
- color: HUE[1]
534
- }),
535
- /* @__PURE__ */ jsx(Marker, {
536
- x: scTop.x(periodMs / 4),
537
- y: scTop.y(peakVoltage),
538
- r: 4.5,
539
- color: HUE[1],
540
- label: `V₀ = ${num(peakVoltage)} V`
541
- }),
542
- /* @__PURE__ */ jsx(Arrow, {
543
- x1: scTop.x(0),
544
- y1: PLOT_TOP.y + PLOT_TOP.h - 5,
545
- x2: scTop.x(periodMs),
546
- y2: PLOT_TOP.y + PLOT_TOP.h - 5,
547
- color: HUE.hot,
548
- weight: "line",
549
- head: 6,
550
- double: true,
551
- label: `T = ${num(periodMs)} ms`,
552
- labelSide: "right"
553
- })
554
- ]
555
- }), /* @__PURE__ */ jsxs(PlotFrame, {
556
- ...PLOT_BOT,
557
- arrows: false,
558
- title: "current against time",
559
- xLabel: "time (ms)",
560
- yLabel: "i (A)",
561
- xTicks: timeTicks.map((v) => ({
562
- at: scCurrent.x(v),
563
- label: fmt(v, 1)
564
- })),
565
- yTicks: [
566
- -peakCurrent,
567
- 0,
568
- peakCurrent
569
- ].map((v) => ({
570
- at: scCurrent.y(v),
571
- label: tick(v, 2)
572
- })),
573
- children: [
574
- /* @__PURE__ */ jsx(Guide, {
575
- x1: PLOT_BOT.x,
576
- y1: scCurrent.y(0),
577
- x2: PLOT_BOT.x + PLOT_BOT.w,
578
- y2: scCurrent.y(0),
579
- color: HUE.soft
580
- }),
581
- /* @__PURE__ */ jsx(Curve, {
582
- points: iPoints,
583
- color: HUE[2]
584
- }),
585
- /* @__PURE__ */ jsx(Marker, {
586
- x: scCurrent.x(periodMs / 4),
587
- y: scCurrent.y(peakCurrent),
588
- r: 4.5,
589
- color: HUE[2],
590
- label: `I₀ = ${num(peakCurrent)} A`
591
- })
592
- ]
593
- })] });
594
- const rmsPlots = /* @__PURE__ */ jsxs(Fragment$1, { children: [
595
- /* @__PURE__ */ jsxs(PlotFrame, {
596
- ...PLOT_TOP,
597
- arrows: false,
598
- title: "the wave, and the level that heats the same",
599
- yLabel: "v (V)",
600
- yTicks: [
601
- -peakVoltage,
602
- 0,
603
- peakVoltage
604
- ].map((v) => ({
605
- at: scTop.y(v),
606
- label: tick(v, 0)
607
- })),
608
- children: [
609
- /* @__PURE__ */ jsx(Guide, {
610
- x1: PLOT_TOP.x,
611
- y1: scTop.y(0),
612
- x2: PLOT_TOP.x + PLOT_TOP.w,
613
- y2: scTop.y(0),
614
- color: HUE.soft
615
- }),
616
- /* @__PURE__ */ jsx(Curve, {
617
- points: vPoints,
618
- color: HUE[1],
619
- opacity: .4
620
- }),
621
- /* @__PURE__ */ jsx(Guide, {
622
- x1: PLOT_TOP.x,
623
- y1: scTop.y(state.rmsVoltageV),
624
- x2: PLOT_TOP.x + PLOT_TOP.w,
625
- y2: scTop.y(state.rmsVoltageV),
626
- color: HUE.hot,
627
- label: `V_rms = ${num(state.rmsVoltageV)} V`,
628
- labelAnchor: "end"
629
- }),
630
- /* @__PURE__ */ jsx(Guide, {
631
- x1: PLOT_TOP.x,
632
- y1: scTop.y(-state.rmsVoltageV),
633
- x2: PLOT_TOP.x + PLOT_TOP.w,
634
- y2: scTop.y(-state.rmsVoltageV),
635
- color: HUE.hot
636
- }),
637
- /* @__PURE__ */ jsx(FigText, {
638
- x: PLOT_TOP.x + 8,
639
- y: scTop.y(0) - 7,
640
- size: "note",
641
- tone: "soft",
642
- children: "the mean of v is zero"
643
- })
644
- ]
755
+ head: 4,
756
+ label: "one way"
645
757
  }),
646
- /* @__PURE__ */ jsxs(FigText, {
647
- x: PLOT_BOT.x,
648
- y: 206,
649
- size: "label",
650
- tone: "hot",
651
- children: [
652
- "√(",
653
- grouped(state.meanSquareVoltageV2),
654
- " V²) = ",
655
- num(state.rmsVoltageV),
656
- " V, the line above"
657
- ]
758
+ /* @__PURE__ */ jsx("rect", {
759
+ x: "18",
760
+ y: "88",
761
+ width: "504",
762
+ height: "172",
763
+ rx: "6",
764
+ fill: "color-mix(in oklab, var(--fig-surface) 88%, black)",
765
+ stroke: "var(--fig-axis)",
766
+ strokeWidth: "1"
658
767
  }),
659
- /* @__PURE__ */ jsxs(PlotFrame, {
660
- ...PLOT_BOT,
661
- arrows: false,
662
- title: "square it first: v² (V²) is never negative",
663
- xLabel: "time (ms)",
664
- xTicks: timeTicks.map((v) => ({
665
- at: scSquare.x(v),
666
- label: fmt(v, 1)
667
- })),
668
- yTicks: [
669
- {
670
- at: scSquare.y(0),
671
- label: "0"
672
- },
673
- {
674
- at: meanSquareY,
675
- label: "V₀²/2"
676
- },
677
- {
678
- at: scSquare.y(squareMax),
679
- label: "V₀²"
680
- }
681
- ],
682
- children: [
683
- /* @__PURE__ */ jsx(Area, {
684
- points: squarePoints,
685
- baseY: PLOT_BOT.y + PLOT_BOT.h,
686
- color: HUE[2],
687
- opacity: 20
688
- }),
689
- /* @__PURE__ */ jsx(Curve, {
690
- points: squarePoints,
691
- color: HUE[2]
692
- }),
693
- /* @__PURE__ */ jsx(Guide, {
694
- x1: PLOT_BOT.x,
695
- y1: meanSquareY,
696
- x2: PLOT_BOT.x + PLOT_BOT.w,
697
- y2: meanSquareY,
698
- color: HUE.hot,
699
- label: `mean of v² = ${grouped(state.meanSquareVoltageV2)} V²`,
700
- labelAnchor: "end"
701
- })
702
- ]
703
- })
704
- ] });
705
- const rectificationPlot = /* @__PURE__ */ jsxs(PlotFrame, {
706
- ...PLOT_ONE,
707
- arrows: false,
708
- title: `voltage across R: ${rectifier === "half" ? "one diode" : "bridge"}${smoothing ? ` + ${num(capacitanceUf)} µF` : ", no capacitor"}`,
709
- xLabel: "time (ms)",
710
- yLabel: "v (V)",
711
- xTicks: timeTicks.map((v) => ({
712
- at: scRect.x(v),
713
- label: fmt(v, 1)
714
- })),
715
- yTicks: [
716
- -peakVoltage,
717
- 0,
718
- peakVoltage
719
- ].map((v) => ({
720
- at: scRect.y(v),
721
- label: tick(v, 0)
722
- })),
723
- children: [
724
- /* @__PURE__ */ jsx(Guide, {
725
- x1: PLOT_ONE.x,
726
- y1: scRect.y(0),
727
- x2: PLOT_ONE.x + PLOT_ONE.w,
728
- y2: scRect.y(0),
729
- color: HUE.soft
730
- }),
731
- /* @__PURE__ */ jsx(Curve, {
732
- points: inputPoints,
733
- color: HUE.soft,
734
- weight: "line",
735
- dashed: true,
736
- opacity: .5
737
- }),
738
- smoothing && /* @__PURE__ */ jsx(Curve, {
739
- points: rectifiedPoints,
740
- color: HUE[1],
741
- weight: "line",
742
- opacity: .45
743
- }),
744
- /* @__PURE__ */ jsx(Curve, {
745
- points: outputPoints,
746
- color: HUE[2]
747
- }),
748
- /* @__PURE__ */ jsx(Guide, {
749
- x1: PLOT_ONE.x,
750
- y1: scRect.y(rectified.meanV),
751
- x2: PLOT_ONE.x + PLOT_ONE.w,
752
- y2: scRect.y(rectified.meanV),
753
- color: HUE.warn,
754
- label: `mean = ${num(rectified.meanV)} V`,
755
- labelAnchor: "end"
756
- }),
757
- rippleReadable && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Arrow, {
768
+ /* @__PURE__ */ jsx("line", {
769
+ x1: 18,
770
+ y1: 236,
771
+ x2: 522,
772
+ y2: 236,
773
+ stroke: "var(--fig-axis)",
774
+ strokeWidth: "1",
775
+ strokeDasharray: "3 3",
776
+ opacity: .6
777
+ }),
778
+ /* @__PURE__ */ jsx(Curve, {
779
+ points: rectInputPoints,
780
+ color: HUE.soft,
781
+ weight: "line",
782
+ dashed: true,
783
+ opacity: .4
784
+ }),
785
+ smoothing && /* @__PURE__ */ jsx(Curve, {
786
+ points: rectBasePoints,
787
+ color: HUE[1],
788
+ weight: "line",
789
+ opacity: .35
790
+ }),
791
+ /* @__PURE__ */ jsx(Curve, {
792
+ points: rectOutputPoints,
793
+ color: HUE[2],
794
+ weight: "line"
795
+ }),
796
+ /* @__PURE__ */ jsx(Guide, {
797
+ x1: 18,
798
+ y1: scRect_y(rectified.meanV),
799
+ x2: 506,
800
+ y2: scRect_y(rectified.meanV),
801
+ color: HUE.warn,
802
+ label: `Mean = ${num(rectified.meanV)} V`,
803
+ labelAnchor: "end"
804
+ }),
805
+ rippleReadable && /* @__PURE__ */ jsxs("g", { children: [
806
+ /* @__PURE__ */ jsx(Arrow, {
758
807
  x1: rippleX,
759
- y1: scRect.y(rectified.maxV),
808
+ y1: scRect_y(rectified.maxV),
760
809
  x2: rippleX,
761
- y2: scRect.y(rectified.minV),
810
+ y2: scRect_y(rectified.minV),
762
811
  color: HUE.hot,
763
812
  weight: "line",
764
- head: 6,
813
+ head: 5,
765
814
  double: true
766
- }), /* @__PURE__ */ jsxs(FigText, {
767
- x: rippleX + 8,
768
- y: scRect.y(rectified.minV) + 16,
815
+ }),
816
+ /* @__PURE__ */ jsx("rect", {
817
+ x: rippleX - 44,
818
+ y: scRect_y(rectified.maxV) - 18,
819
+ width: 88,
820
+ height: 16,
821
+ rx: 4,
822
+ fill: "color-mix(in oklab, var(--fig-surface) 90%, black)",
823
+ stroke: "var(--fig-hot)",
824
+ strokeWidth: STROKE.hair
825
+ }),
826
+ /* @__PURE__ */ jsxs(FigText, {
827
+ x: rippleX,
828
+ y: scRect_y(rectified.maxV) - 10,
829
+ anchor: "middle",
830
+ baseline: "middle",
769
831
  size: "note",
770
832
  tone: "hot",
771
833
  children: [
@@ -773,26 +835,45 @@ function AlternatingCurrentLab({ peakVoltageV: peak0 = 325, frequencyHz: freq0 =
773
835
  num(rectified.rippleV),
774
836
  " V"
775
837
  ]
776
- })] }),
777
- /* @__PURE__ */ jsx(FigText, {
778
- x: PLOT_ONE.x + 8,
779
- y: scRect.y(-.72 * peakVoltage),
780
- size: "note",
781
- tone: "soft",
782
- children: "supply before the diodes"
783
838
  })
784
- ]
785
- });
786
- const figure = /* @__PURE__ */ jsxs(Figure, {
787
- viewBox: [W, H],
788
- domain: "physics",
789
- label,
790
- children: [
791
- circuit,
792
- view === "waveform" && waveformPlots,
793
- view === "rms" && rmsPlots,
794
- view === "rectification" && rectificationPlot
795
- ]
839
+ ] }),
840
+ /* @__PURE__ */ jsxs(FigText, {
841
+ x: 28,
842
+ y: 104,
843
+ size: "note",
844
+ tone: "soft",
845
+ children: [
846
+ "τ = RC = ",
847
+ num(rectified.timeConstantS * 1e3),
848
+ " ms · Ripple freq: ",
849
+ num(rectified.rippleFrequencyHz),
850
+ " Hz"
851
+ ]
852
+ }),
853
+ /* @__PURE__ */ jsx(FigText, {
854
+ x: 506,
855
+ y: 104,
856
+ anchor: "end",
857
+ size: "note",
858
+ tone: "soft",
859
+ children: "supply before diodes (faint)"
860
+ })
861
+ ] });
862
+ const figure = /* @__PURE__ */ jsxs("div", {
863
+ className: "physics-visual-stack",
864
+ children: [/* @__PURE__ */ jsxs(Figure, {
865
+ viewBox: [W, H],
866
+ domain: "physics",
867
+ label,
868
+ children: [
869
+ view === "waveform" && waveformVisual,
870
+ view === "rms" && rmsVisual,
871
+ view === "rectification" && rectificationVisual
872
+ ]
873
+ }), view === "rms" && /* @__PURE__ */ jsx("div", {
874
+ className: "physics-equation-result",
875
+ children: /* @__PURE__ */ jsx(Tex, { tex: `\\overline{v^2}=\\tfrac12 V_0^2 \\quad\\Rightarrow\\quad V_{rms}=\\sqrt{\\overline{v^2}}=\\frac{V_0}{\\sqrt2}=${num(state.rmsVoltageV)}\\,\\mathrm{V}` })
876
+ })]
796
877
  });
797
878
  const evidence = view === "waveform" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
798
879
  /* @__PURE__ */ jsx(Readout, {
@@ -893,174 +974,282 @@ function AlternatingCurrentLab({ peakVoltageV: peak0 = 325, frequencyHz: freq0 =
893
974
  }), /* @__PURE__ */ jsx("small", { children: "That is the mean HEIGHT of the rectified wave, not an r.m.s. value. A capacitor raises the mean towards V₀ by filling in the gaps." })]
894
975
  })
895
976
  ] });
896
- const controls = /* @__PURE__ */ jsxs(Fragment$1, { children: [
897
- /* @__PURE__ */ jsx(Field, {
898
- label: "view",
899
- children: /* @__PURE__ */ jsx(ActivitySelect, {
900
- ariaLabel: "view",
901
- value: view,
902
- onChange: setView,
903
- options: [
904
- {
905
- value: "waveform",
906
- label: "waveform"
907
- },
908
- {
909
- value: "rms",
910
- label: "r.m.s."
911
- },
912
- {
913
- value: "rectification",
914
- label: "rectifying"
915
- }
977
+ const controls = /* @__PURE__ */ jsxs("div", {
978
+ style: {
979
+ display: "flex",
980
+ flexDirection: "column",
981
+ gap: 10,
982
+ width: "100%"
983
+ },
984
+ children: [
985
+ /* @__PURE__ */ jsxs("div", {
986
+ className: "lab-hud-toolbar",
987
+ role: "toolbar",
988
+ "aria-label": "Alternating current controls",
989
+ children: [
990
+ /* @__PURE__ */ jsxs("div", {
991
+ className: "lab-hud-group",
992
+ children: [/* @__PURE__ */ jsx("span", {
993
+ className: "lab-hud-badge",
994
+ children: "View"
995
+ }), /* @__PURE__ */ jsx(Segmented, {
996
+ value: view,
997
+ onChange: (v) => setView(v),
998
+ options: [
999
+ {
1000
+ value: "waveform",
1001
+ label: "Waveform"
1002
+ },
1003
+ {
1004
+ value: "rms",
1005
+ label: "R.M.S."
1006
+ },
1007
+ {
1008
+ value: "rectification",
1009
+ label: "Rectifier"
1010
+ }
1011
+ ],
1012
+ ariaLabel: "View selection"
1013
+ })]
1014
+ }),
1015
+ isRect && /* @__PURE__ */ jsxs("div", {
1016
+ className: "lab-hud-group",
1017
+ children: [/* @__PURE__ */ jsx("span", {
1018
+ className: "lab-hud-badge",
1019
+ children: "Diode"
1020
+ }), /* @__PURE__ */ jsx(Segmented, {
1021
+ value: rectifier,
1022
+ onChange: (r) => setRectifier(r),
1023
+ options: [{
1024
+ value: "half",
1025
+ label: "Half-wave"
1026
+ }, {
1027
+ value: "full",
1028
+ label: "Bridge (Full)"
1029
+ }],
1030
+ ariaLabel: "Diode circuit"
1031
+ })]
1032
+ }),
1033
+ /* @__PURE__ */ jsxs(ActionButton, {
1034
+ className: `lab-btn-ghost lab-hud-drawer-toggle ${drawerOpen ? "open" : ""}`,
1035
+ onClick: () => setDrawerOpen((o) => !o),
1036
+ "aria-expanded": drawerOpen,
1037
+ children: ["Parameters ", drawerOpen ? "▲" : "▼"]
1038
+ })
1039
+ ]
1040
+ }),
1041
+ isRect ? /* @__PURE__ */ jsx(Field, {
1042
+ label: "Smoothing Capacitance C",
1043
+ value: `${num(capacitanceUf)} µF (ripple ${num(rectified.rippleV)} V)`,
1044
+ children: /* @__PURE__ */ jsx(Slider, {
1045
+ value: capacitanceUf,
1046
+ min: 0,
1047
+ max: C_MAX_UF,
1048
+ step: 100,
1049
+ onChange: setCapacitanceUf,
1050
+ ariaLabel: "smoothing capacitance in microfarads"
1051
+ })
1052
+ }) : view === "rms" ? /* @__PURE__ */ jsx(Field, {
1053
+ label: "Peak Voltage V₀",
1054
+ value: `${num(peakVoltage)} V (V_rms = ${num(state.rmsVoltageV)} V)`,
1055
+ children: /* @__PURE__ */ jsx(Slider, {
1056
+ value: peakVoltage,
1057
+ min: V0_MIN,
1058
+ max: V0_MAX,
1059
+ step: 5,
1060
+ onChange: setPeakVoltage,
1061
+ ariaLabel: "peak voltage in volts"
1062
+ })
1063
+ }) : /* @__PURE__ */ jsx(Field, {
1064
+ label: "Frequency f",
1065
+ value: `${num(frequency)} Hz (T = ${num(periodMs)} ms)`,
1066
+ children: /* @__PURE__ */ jsx(Slider, {
1067
+ value: frequency,
1068
+ min: F_MIN,
1069
+ max: F_MAX,
1070
+ step: 5,
1071
+ onChange: setFrequency,
1072
+ ariaLabel: "frequency in hertz"
1073
+ })
1074
+ }),
1075
+ drawerOpen && /* @__PURE__ */ jsxs("div", {
1076
+ className: "lab-hud-drawer",
1077
+ children: [
1078
+ view !== "rms" && /* @__PURE__ */ jsx(Field, {
1079
+ label: "Peak Voltage V₀",
1080
+ value: `${num(peakVoltage)} V`,
1081
+ children: /* @__PURE__ */ jsx(Slider, {
1082
+ value: peakVoltage,
1083
+ min: V0_MIN,
1084
+ max: V0_MAX,
1085
+ step: 5,
1086
+ onChange: setPeakVoltage,
1087
+ ariaLabel: "peak voltage in volts"
1088
+ })
1089
+ }),
1090
+ view !== "waveform" && /* @__PURE__ */ jsx(Field, {
1091
+ label: "Frequency f",
1092
+ value: `${num(frequency)} Hz`,
1093
+ children: /* @__PURE__ */ jsx(Slider, {
1094
+ value: frequency,
1095
+ min: F_MIN,
1096
+ max: F_MAX,
1097
+ step: 5,
1098
+ onChange: setFrequency,
1099
+ ariaLabel: "frequency in hertz"
1100
+ })
1101
+ }),
1102
+ /* @__PURE__ */ jsx(Field, {
1103
+ label: "Load Resistance R",
1104
+ value: `${num(resistance)} Ω`,
1105
+ children: /* @__PURE__ */ jsx(Slider, {
1106
+ value: resistance,
1107
+ min: R_MIN,
1108
+ max: R_MAX,
1109
+ step: 10,
1110
+ onChange: setResistance,
1111
+ ariaLabel: "resistance in ohms"
1112
+ })
1113
+ })
916
1114
  ]
917
1115
  })
918
- }),
919
- /* @__PURE__ */ jsx(Field, {
920
- label: "peak voltage",
921
- value: `${num(peakVoltage)} V`,
922
- children: /* @__PURE__ */ jsx(Slider, {
923
- value: peakVoltage,
924
- min: V0_MIN,
925
- max: V0_MAX,
926
- step: 5,
927
- onChange: setPeakVoltage,
928
- ariaLabel: "peak voltage in volts"
929
- })
930
- }),
931
- /* @__PURE__ */ jsx(Field, {
932
- label: "frequency",
933
- value: `${num(frequency)} Hz`,
934
- children: /* @__PURE__ */ jsx(Slider, {
935
- value: frequency,
936
- min: F_MIN,
937
- max: F_MAX,
938
- step: 5,
939
- onChange: setFrequency,
940
- ariaLabel: "frequency in hertz"
941
- })
942
- }),
943
- /* @__PURE__ */ jsx(Field, {
944
- label: "resistance",
945
- value: `${num(resistance)} Ω`,
946
- children: /* @__PURE__ */ jsx(Slider, {
947
- value: resistance,
948
- min: R_MIN,
949
- max: R_MAX,
950
- step: 10,
951
- onChange: setResistance,
952
- ariaLabel: "resistance in ohms"
953
- })
954
- }),
955
- isRect && /* @__PURE__ */ jsx(Field, {
956
- label: "rectifier",
957
- children: /* @__PURE__ */ jsx(Segmented, {
958
- ariaLabel: "rectifier",
959
- value: rectifier,
960
- onChange: setRectifier,
961
- options: [{
962
- value: "half",
963
- label: "one diode"
964
- }, {
965
- value: "full",
966
- label: "bridge"
967
- }]
968
- })
969
- }),
970
- isRect && /* @__PURE__ */ jsx(Field, {
971
- label: "capacitance",
972
- value: `${num(capacitanceUf)} µF`,
973
- children: /* @__PURE__ */ jsx(Slider, {
974
- value: capacitanceUf,
975
- min: 0,
976
- max: C_MAX_UF,
977
- step: 100,
978
- onChange: setCapacitanceUf,
979
- ariaLabel: "smoothing capacitance in microfarads"
980
- })
981
- })
982
- ] });
983
- return /* @__PURE__ */ jsx(AuthoredActivityRuntime, {
984
- focusLayout: "immersive",
985
- activity: {
986
- ...authoredActivity,
987
- objectives: objectives ?? authoredActivity.objectives
988
- },
989
- activityId,
990
- eyebrow: "Alternating currents",
991
- title,
992
- description: prompt,
993
- status: /* @__PURE__ */ jsxs(Fragment$1, { children: [
994
- /* @__PURE__ */ jsxs("span", { children: [
995
- "V₀ ",
1116
+ ]
1117
+ });
1118
+ if (activity) {
1119
+ const activityId = typeof activity === "string" ? activity : "alternating-current";
1120
+ const authoredActivity = typeof activity === "string" ? AC_ACTIVITY : activity;
1121
+ return /* @__PURE__ */ jsx(AuthoredActivityRuntime, {
1122
+ focusLayout: "immersive",
1123
+ presentation: "investigation",
1124
+ transcriptMode: "sr-only",
1125
+ initialStepId,
1126
+ activity: {
1127
+ ...authoredActivity,
1128
+ objectives: objectives ?? authoredActivity.objectives
1129
+ },
1130
+ activityId,
1131
+ eyebrow: "Alternating currents",
1132
+ title,
1133
+ description: prompt,
1134
+ status: ({ sequence }) => sequence.current.id === "predict" ? /* @__PURE__ */ jsxs("span", { children: [
1135
+ "Mains Supply: ",
996
1136
  num(peakVoltage),
997
- " V"
1137
+ " V peak"
1138
+ ] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
1139
+ /* @__PURE__ */ jsxs("span", { children: [
1140
+ "V₀ = ",
1141
+ num(peakVoltage),
1142
+ " V"
1143
+ ] }),
1144
+ /* @__PURE__ */ jsxs("span", { children: [
1145
+ "V_rms = ",
1146
+ num(state.rmsVoltageV),
1147
+ " V"
1148
+ ] }),
1149
+ /* @__PURE__ */ jsxs("span", { children: [
1150
+ "P = ",
1151
+ num(state.meanPowerW),
1152
+ " W"
1153
+ ] })
998
1154
  ] }),
999
- /* @__PURE__ */ jsxs("span", { children: [
1000
- "V_rms ",
1155
+ evidence: ({ sequence }) => {
1156
+ if (sequence.current.id === "predict") return /* @__PURE__ */ jsx("div", {
1157
+ className: "physics-probe",
1158
+ children: /* @__PURE__ */ jsx("strong", {
1159
+ className: "physics-equation-result",
1160
+ children: /* @__PURE__ */ jsx(Tex, { tex: `V_0 = ${num(peakVoltage)}\\mathrm{V},\\quad f = ${num(frequency)}\\mathrm{Hz},\\quad R = ${num(resistance)}\\Omega` })
1161
+ })
1162
+ });
1163
+ if (sequence.current.id === "explain") return /* @__PURE__ */ jsx("div", {
1164
+ className: "physics-probe",
1165
+ children: /* @__PURE__ */ jsx("strong", {
1166
+ className: "physics-equation-result",
1167
+ children: /* @__PURE__ */ jsx(Tex, { tex: `V_{rms}=\\sqrt{\\overline{v^2}}=\\frac{V_0}{\\sqrt2}=${num(state.rmsVoltageV)}\\mathrm{V}\\qquad P=\\frac{V_{rms}^2}{R}=\\frac{V_0^2}{2R}=${num(state.meanPowerW)}\\mathrm{W}` })
1168
+ })
1169
+ });
1170
+ return evidence;
1171
+ },
1172
+ controls: ({ sequence }) => {
1173
+ if (sequence.current.id === "predict" || sequence.current.id === "explain") return null;
1174
+ return controls;
1175
+ },
1176
+ observation: view === "waveform" ? "The supply takes T seconds to complete one cycle, and T = 1/f. The current curve is the voltage curve divided by R, so both reach zero together and both reach their peak together." : view === "rms" ? "The lower graph is the upper one squared, so it never goes below zero. Its mean sits at exactly half of V₀², whatever V₀ is. Take the square root of that mean and you get V_rms, the steady d.c. voltage that would heat this resistor at the same rate." : "The diodes remove the negative halves, so the current in R now flows one way only. The capacitor charges to the peak and then leaks slowly through R, so the output sags a little between peaks instead of falling to zero. More capacitance, or more resistance, means less ripple.",
1177
+ transcript: /* @__PURE__ */ jsxs("p", { children: [
1178
+ "Peak ",
1179
+ num(peakVoltage),
1180
+ " V at ",
1181
+ num(frequency),
1182
+ " Hz across ",
1183
+ num(resistance),
1184
+ " Ω. Period",
1185
+ " ",
1186
+ num(periodMs),
1187
+ " ms, peak current ",
1188
+ num(peakCurrent),
1189
+ " A. Mean of v² is",
1190
+ " ",
1191
+ grouped(state.meanSquareVoltageV2),
1192
+ " V², so V_rms is ",
1001
1193
  num(state.rmsVoltageV),
1002
- " V"
1003
- ] }),
1004
- /* @__PURE__ */ jsxs("span", { children: [
1005
- "P ",
1194
+ " V and the mean power is ",
1006
1195
  num(state.meanPowerW),
1007
- " W"
1196
+ " W. Rectified by ",
1197
+ rectifier === "half" ? "one diode" : "a bridge",
1198
+ " with",
1199
+ " ",
1200
+ num(capacitanceUf),
1201
+ " µF: mean ",
1202
+ num(rectified.meanV),
1203
+ " V, ripple ",
1204
+ num(rectified.rippleV),
1205
+ " V at",
1206
+ " ",
1207
+ num(rectified.rippleFrequencyHz),
1208
+ " Hz."
1209
+ ] }),
1210
+ children: ({ complete }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
1211
+ /* @__PURE__ */ jsx(AuthoredMetricGate, {
1212
+ conditionId: "rms-opened",
1213
+ met: view === "rms",
1214
+ complete
1215
+ }),
1216
+ /* @__PURE__ */ jsx(AuthoredMetricGate, {
1217
+ conditionId: "supply-changed",
1218
+ met: peakVoltage !== peak0 || resistance !== res0,
1219
+ complete
1220
+ }),
1221
+ /* @__PURE__ */ jsx(AuthoredMetricGate, {
1222
+ conditionId: "smoothing-added",
1223
+ met: isRect && capacitanceUf > 0,
1224
+ complete
1225
+ }),
1226
+ figure
1008
1227
  ] })
1009
- ] }),
1010
- evidence,
1011
- controls,
1012
- observation: view === "waveform" ? "The supply takes T seconds to complete one cycle, and T = 1/f. The current curve is the voltage curve divided by R, so both reach zero together and both reach their peak together." : view === "rms" ? "The lower graph is the upper one squared, so it never goes below zero. Its mean sits at exactly half of V₀², whatever V₀ is. Take the square root of that mean and you get V_rms, the steady d.c. voltage that would heat this resistor at the same rate." : "The diodes remove the negative halves, so the current in R now flows one way only. The capacitor charges to the peak and then leaks slowly through R, so the output sags a little between peaks instead of falling to zero. More capacitance, or more resistance, means less ripple.",
1013
- transcript: /* @__PURE__ */ jsxs("p", { children: [
1014
- "Peak ",
1015
- num(peakVoltage),
1016
- " V at ",
1017
- num(frequency),
1018
- " Hz across ",
1019
- num(resistance),
1020
- " Ω. Period ",
1021
- num(periodMs),
1022
- " ",
1023
- "ms, peak current ",
1024
- num(peakCurrent),
1025
- " A. Mean of v² is ",
1026
- grouped(state.meanSquareVoltageV2),
1027
- " V², so V_rms is ",
1028
- num(state.rmsVoltageV),
1029
- " V and the mean power is ",
1030
- num(state.meanPowerW),
1031
- " W. Rectified by",
1032
- " ",
1033
- rectifier === "half" ? "one diode" : "a bridge",
1034
- " with ",
1035
- num(capacitanceUf),
1036
- " µF: mean",
1037
- " ",
1038
- num(rectified.meanV),
1039
- " V, ripple ",
1040
- num(rectified.rippleV),
1041
- " V at ",
1042
- num(rectified.rippleFrequencyHz),
1043
- " ",
1044
- "Hz."
1045
- ] }),
1046
- children: ({ complete }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
1047
- /* @__PURE__ */ jsx(AuthoredMetricGate, {
1048
- conditionId: "rms-opened",
1049
- met: view === "rms",
1050
- complete
1051
- }),
1052
- /* @__PURE__ */ jsx(AuthoredMetricGate, {
1053
- conditionId: "supply-changed",
1054
- met: peakVoltage !== peak0 || resistance !== res0,
1055
- complete
1056
- }),
1057
- /* @__PURE__ */ jsx(AuthoredMetricGate, {
1058
- conditionId: "smoothing-added",
1059
- met: isRect && capacitanceUf > 0,
1060
- complete
1061
- }),
1062
- figure
1063
- ] })
1228
+ });
1229
+ }
1230
+ return /* @__PURE__ */ jsxs(Activity.Root, {
1231
+ className: "lab-alternating-current",
1232
+ focusLayout: "immersive",
1233
+ children: [
1234
+ /* @__PURE__ */ jsxs(Activity.Header, { children: [/* @__PURE__ */ jsx(Activity.Heading, {
1235
+ eyebrow: "Cambridge A-Level Physics 9702 · Chapter 21",
1236
+ title,
1237
+ description: prompt
1238
+ }), /* @__PURE__ */ jsx(Activity.FocusButton, {})] }),
1239
+ /* @__PURE__ */ jsxs(Activity.Workspace, { children: [
1240
+ /* @__PURE__ */ jsx(Activity.Canvas, {
1241
+ label,
1242
+ children: figure
1243
+ }),
1244
+ /* @__PURE__ */ jsx(Activity.Dock, { children: controls }),
1245
+ /* @__PURE__ */ jsx(Activity.Inspector, {
1246
+ label: "Explore Cambridge Formulas & Proofs",
1247
+ defaultOpen: false,
1248
+ children: evidence
1249
+ })
1250
+ ] }),
1251
+ /* @__PURE__ */ jsx(Activity.Feedback, { message: view === "waveform" ? `The current i(t) = v(t)/R is strictly in phase with voltage across a pure resistor. Period T = 1/f = ${num(periodMs)} ms.` : view === "rms" ? `V_rms = V₀ / √2 = ${num(state.rmsVoltageV)} V delivers the same mean heating power (${num(state.meanPowerW)} W) into ${num(resistance)} Ω as an equivalent steady d.c. source.` : smoothing ? `Capacitor C = ${num(capacitanceUf)} µF maintains voltage between peaks (RC = ${num(rectified.timeConstantS * 1e3)} ms), reducing ripple to ${num(rectified.rippleV)} V.` : "Without a smoothing capacitor, output voltage drops to zero each half-cycle with 100% ripple." })
1252
+ ]
1064
1253
  });
1065
1254
  }
1066
1255