@classytic/labs 0.6.0 → 0.7.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.
- package/README.md +37 -21
- package/dist/algorithms/index.d.mts +1 -3
- package/dist/algorithms/index.mjs +1 -3
- package/dist/algorithms/react/index.d.mts +1 -2
- package/dist/algorithms/react/index.mjs +1 -2
- package/dist/algorithms/sorting.mjs +1 -1
- package/dist/authoring/evidence.d.mts +29 -0
- package/dist/authoring/index.d.mts +2 -1
- package/dist/authoring/index.mjs +2 -1
- package/dist/blocks/authoring.d.mts +27 -13
- package/dist/blocks/authoring.mjs +72 -19
- package/dist/blocks/lab-config.d.mts +3 -1
- package/dist/blocks/lab-config.mjs +109 -66
- package/dist/build/CircuitScene.mjs +53 -9
- package/dist/build/contract.d.mts +1 -1
- package/dist/build/editor-ui.mjs +6 -5
- package/dist/build/parts/bench.mjs +2 -2
- package/dist/build/viewport.mjs +28 -17
- package/dist/chem/evidence-scenes.mjs +5 -3
- package/dist/chem/solution/field.mjs +27 -33
- package/dist/chem/stereochemistry/preset.mjs +1 -1
- package/dist/circuits/circuit/preset.mjs +3 -3
- package/dist/circuits/op-amp-feedback/preset.mjs +2 -2
- package/dist/circuits/semiconductor/shared.mjs +17 -98
- package/dist/commerce/accounting/books/entry.d.mts +2 -1
- package/dist/commerce/accounting/books/entry.mjs +4 -2
- package/dist/commerce/accounting/books/world.d.mts +61 -0
- package/dist/commerce/accounting/books/world.mjs +54 -3
- package/dist/commerce/accounting/books/worlds/kalam.mjs +2 -3
- package/dist/core/index.d.mts +2 -5
- package/dist/core/index.mjs +2 -5
- package/dist/deep-learning/foundation/parameter-dial.mjs +14 -16
- package/dist/diagrams/fraction/FractionDiagram.mjs +1 -1
- package/dist/diagrams/geometry/GeometryDiagram.mjs +208 -0
- package/dist/diagrams/geometry/core.mjs +112 -0
- package/dist/diagrams/geometry/schema.mjs +135 -0
- package/dist/diagrams/geometry/spec.d.mts +90 -0
- package/dist/diagrams/graph/GraphDiagram.mjs +58 -24
- package/dist/diagrams/index.d.mts +2 -1
- package/dist/diagrams/index.mjs +2 -0
- package/dist/diagrams/magnetism/core.mjs +4 -3
- package/dist/diagrams/schema.mjs +3 -1
- package/dist/diagrams/spatial/SpatialDiagram.mjs +1 -1
- package/dist/discrete/core/index.d.mts +2 -7
- package/dist/discrete/core/index.mjs +2 -7
- package/dist/discrete/index.d.mts +4 -8
- package/dist/discrete/index.mjs +4 -8
- package/dist/domains/accounting/accounting-scenes.mjs +0 -2
- package/dist/domains/accounting/apportion/model.mjs +7 -3
- package/dist/domains/accounting/apportion/runtime.mjs +7 -3
- package/dist/domains/accounting/apportion/scene.mjs +2 -1
- package/dist/domains/accounting/balance-off/balance-figure.mjs +14 -11
- package/dist/domains/accounting/balance-off/model.mjs +14 -17
- package/dist/domains/accounting/balance-off/scene.mjs +21 -18
- package/dist/domains/accounting/bank-reconciliation/model.mjs +1 -0
- package/dist/domains/accounting/bank-reconciliation/runtime.mjs +6 -6
- package/dist/domains/accounting/bank-reconciliation/scene.mjs +13 -10
- package/dist/domains/accounting/break-even/model.mjs +12 -2
- package/dist/domains/accounting/break-even/runtime.mjs +16 -5
- package/dist/domains/accounting/break-even/scene.mjs +13 -7
- package/dist/domains/accounting/business-day-mission/model.mjs +2 -1
- package/dist/domains/accounting/business-day-mission/runtime.mjs +5 -4
- package/dist/domains/accounting/business-day-mission/scene.mjs +8 -8
- package/dist/domains/accounting/business-lesson/model.mjs +11 -1
- package/dist/domains/accounting/business-lesson/runtime.mjs +52 -12
- package/dist/domains/accounting/business-lesson/scene.mjs +0 -2
- package/dist/domains/accounting/cash-book/activity.mjs +49 -0
- package/dist/domains/accounting/cash-book/manifest.mjs +114 -0
- package/dist/domains/accounting/cash-book/model.mjs +829 -0
- package/dist/domains/accounting/cash-book/runtime.mjs +24 -0
- package/dist/domains/accounting/cash-book/scene.mjs +388 -0
- package/dist/domains/accounting/cash-budget-runway/model.mjs +2 -1
- package/dist/domains/accounting/cash-budget-runway/runtime.mjs +6 -5
- package/dist/domains/accounting/cash-budget-runway/scene.mjs +4 -5
- package/dist/domains/accounting/claim-split/activity.mjs +3 -2
- package/dist/domains/accounting/claim-split/manifest.mjs +3 -2
- package/dist/domains/accounting/claim-split/model.mjs +6 -7
- package/dist/domains/accounting/claim-split/runtime.mjs +3 -2
- package/dist/domains/accounting/claim-split/scene.mjs +3 -2
- package/dist/domains/accounting/club-subscriptions/activity.mjs +4 -3
- package/dist/domains/accounting/club-subscriptions/model.mjs +2 -1
- package/dist/domains/accounting/club-subscriptions/runtime.mjs +9 -21
- package/dist/domains/accounting/club-subscriptions/scene.mjs +6 -7
- package/dist/domains/accounting/company-statement-builder/activity.mjs +2 -2
- package/dist/domains/accounting/company-statement-builder/model.mjs +2 -1
- package/dist/domains/accounting/company-statement-builder/runtime.mjs +5 -4
- package/dist/domains/accounting/company-statement-builder/scene.mjs +5 -5
- package/dist/domains/accounting/compound-interest/model.d.mts +6 -6
- package/dist/domains/accounting/compound-interest/model.mjs +11 -1
- package/dist/domains/accounting/compound-interest/runtime.mjs +20 -6
- package/dist/domains/accounting/compound-interest/scene.mjs +27 -12
- package/dist/domains/accounting/control-account-builder/activity.mjs +8 -8
- package/dist/domains/accounting/control-account-builder/model.mjs +3 -1
- package/dist/domains/accounting/control-account-builder/runtime.mjs +11 -11
- package/dist/domains/accounting/control-account-builder/scene.mjs +14 -12
- package/dist/domains/accounting/cost-ladder/activity.mjs +74 -0
- package/dist/domains/accounting/cost-ladder/manifest.mjs +258 -0
- package/dist/domains/accounting/cost-ladder/model.mjs +636 -0
- package/dist/domains/accounting/cost-ladder/runtime.mjs +24 -0
- package/dist/domains/accounting/cost-ladder/scene.mjs +319 -0
- package/dist/domains/accounting/costing-profit-bridge/model.mjs +2 -1
- package/dist/domains/accounting/costing-profit-bridge/runtime.mjs +4 -3
- package/dist/domains/accounting/costing-profit-bridge/scene.mjs +2 -2
- package/dist/domains/accounting/credit-promise-bridge/scene.mjs +21 -7
- package/dist/domains/accounting/debit-credit-sprint/core.mjs +4 -4
- package/dist/domains/accounting/debit-credit-sprint/model.d.mts +2 -0
- package/dist/domains/accounting/debit-credit-sprint/model.mjs +8 -1
- package/dist/domains/accounting/debit-credit-sprint/scene.mjs +2 -2
- package/dist/domains/accounting/depreciation/model.mjs +8 -1
- package/dist/domains/accounting/depreciation/runtime.mjs +40 -16
- package/dist/domains/accounting/depreciation/scene.mjs +21 -9
- package/dist/domains/accounting/document-desk/activity.mjs +67 -0
- package/dist/domains/accounting/document-desk/manifest.mjs +109 -0
- package/dist/domains/accounting/document-desk/model.mjs +1448 -0
- package/dist/domains/accounting/document-desk/runtime.mjs +24 -0
- package/dist/domains/accounting/document-desk/scene.mjs +691 -0
- package/dist/domains/accounting/dual-aspect-transfer/scene.mjs +42 -10
- package/dist/domains/accounting/entity-spotlight/model.mjs +29 -8
- package/dist/domains/accounting/entity-spotlight/scene.mjs +5 -3
- package/dist/domains/accounting/entry-desk/core.mjs +3 -5
- package/dist/domains/accounting/entry-desk/model.mjs +18 -5
- package/dist/domains/accounting/entry-desk/runtime.mjs +2 -2
- package/dist/domains/accounting/entry-desk/scene.mjs +4 -4
- package/dist/domains/accounting/eoq/model.mjs +11 -1
- package/dist/domains/accounting/eoq/runtime.mjs +32 -13
- package/dist/domains/accounting/eoq/scene.mjs +9 -6
- package/dist/domains/accounting/equation-balance/model.d.mts +6 -2
- package/dist/domains/accounting/equation-balance/model.mjs +19 -5
- package/dist/domains/accounting/equation-balance/runtime.mjs +42 -10
- package/dist/domains/accounting/equation-balance/scene.mjs +34 -7
- package/dist/domains/accounting/equation-map/activity.mjs +36 -0
- package/dist/domains/accounting/equation-map/manifest.mjs +89 -0
- package/dist/domains/accounting/equation-map/model.mjs +260 -0
- package/dist/domains/accounting/equation-map/runtime.mjs +23 -0
- package/dist/domains/accounting/equation-map/scene.mjs +146 -0
- package/dist/domains/accounting/factory-expansion-case/model.mjs +5 -1
- package/dist/domains/accounting/factory-expansion-case/scene.mjs +7 -8
- package/dist/domains/accounting/household-accounts/activity.mjs +86 -0
- package/dist/domains/accounting/household-accounts/manifest.mjs +305 -0
- package/dist/domains/accounting/household-accounts/model.mjs +1133 -0
- package/dist/domains/accounting/household-accounts/runtime.mjs +24 -0
- package/dist/domains/accounting/household-accounts/scene.mjs +659 -0
- package/dist/domains/accounting/incomplete-records/model.mjs +13 -3
- package/dist/domains/accounting/incomplete-records/runtime.mjs +5 -1
- package/dist/domains/accounting/incomplete-records/scene.mjs +10 -6
- package/dist/domains/accounting/integrated-budget-mission/runtime.mjs +18 -18
- package/dist/domains/accounting/integrated-budget-mission/scene.mjs +8 -9
- package/dist/domains/accounting/inventory-costing/model.mjs +5 -1
- package/dist/domains/accounting/inventory-costing/runtime.mjs +5 -1
- package/dist/domains/accounting/inventory-costing/scene.mjs +44 -15
- package/dist/domains/accounting/investment-appraisal/model.mjs +5 -1
- package/dist/domains/accounting/investment-appraisal/runtime.mjs +6 -6
- package/dist/domains/accounting/investment-appraisal/scene.mjs +2 -2
- package/dist/domains/accounting/journal-poster/model.d.mts +0 -1
- package/dist/domains/accounting/journal-poster/model.mjs +4 -6
- package/dist/domains/accounting/journal-poster/runtime.mjs +3 -2
- package/dist/domains/accounting/journal-poster/scene.mjs +6 -7
- package/dist/domains/accounting/ledger-detective/ledger-detective/core.mjs +2 -3
- package/dist/domains/accounting/ledger-detective/model.mjs +23 -11
- package/dist/domains/accounting/limited-company/model.mjs +2 -1
- package/dist/domains/accounting/limited-company/runtime.mjs +41 -10
- package/dist/domains/accounting/limited-company/scene.mjs +26 -8
- package/dist/domains/accounting/limiting-factor-mix/model.mjs +4 -4
- package/dist/domains/accounting/limiting-factor-mix/runtime.mjs +11 -11
- package/dist/domains/accounting/limiting-factor-mix/scene.mjs +2 -2
- package/dist/domains/accounting/loan-claim/activity.mjs +21 -5
- package/dist/domains/accounting/loan-claim/model.mjs +16 -5
- package/dist/domains/accounting/loan-claim/runtime.mjs +12 -4
- package/dist/domains/accounting/loan-claim/scene.mjs +28 -10
- package/dist/domains/accounting/management-scenes.mjs +12 -14
- package/dist/domains/accounting/manufacturing-flow/model.mjs +27 -2
- package/dist/domains/accounting/manufacturing-flow/runtime.mjs +21 -5
- package/dist/domains/accounting/manufacturing-flow/scene.mjs +48 -11
- package/dist/domains/accounting/operating-budget-chain/runtime.mjs +7 -6
- package/dist/domains/accounting/operating-budget-chain/scene.mjs +11 -11
- package/dist/domains/accounting/partnership-split/model.mjs +18 -6
- package/dist/domains/accounting/partnership-split/runtime.mjs +10 -3
- package/dist/domains/accounting/partnership-split/scene.mjs +28 -8
- package/dist/domains/accounting/period-adjustment-workbench/runtime.mjs +2 -1
- package/dist/domains/accounting/period-adjustment-workbench/scene.mjs +7 -8
- package/dist/domains/accounting/period-close-mission/activity.mjs +8 -8
- package/dist/domains/accounting/period-close-mission/model.mjs +7 -11
- package/dist/domains/accounting/period-close-mission/runtime.mjs +14 -14
- package/dist/domains/accounting/period-close-mission/scene.mjs +9 -10
- package/dist/domains/accounting/posting-path/model.mjs +5 -2
- package/dist/domains/accounting/posting-path/runtime.mjs +5 -1
- package/dist/domains/accounting/process-loss/model.mjs +10 -4
- package/dist/domains/accounting/process-loss/runtime.mjs +8 -4
- package/dist/domains/accounting/process-loss/scene.mjs +18 -11
- package/dist/domains/accounting/purpose-timeline/model.mjs +9 -3
- package/dist/domains/accounting/purpose-timeline/scene.mjs +5 -5
- package/dist/domains/accounting/ratio-lab/core.d.mts +0 -1
- package/dist/domains/accounting/ratio-lab/core.mjs +1 -2
- package/dist/domains/accounting/ratio-lab/model.d.mts +2 -2
- package/dist/domains/accounting/ratio-lab/model.mjs +6 -2
- package/dist/domains/accounting/ratio-lab/runtime.mjs +12 -3
- package/dist/domains/accounting/ratio-lab/scene.mjs +37 -8
- package/dist/domains/accounting/reorder-point/model.d.mts +2 -2
- package/dist/domains/accounting/settlement-trail/model.mjs +25 -4
- package/dist/domains/accounting/settlement-trail/scene.mjs +46 -13
- package/dist/domains/accounting/statement-builder/core.mjs +1 -2
- package/dist/domains/accounting/statement-builder/model.mjs +20 -2
- package/dist/domains/accounting/statement-builder/runtime.mjs +34 -7
- package/dist/domains/accounting/statement-builder/scene.mjs +10 -3
- package/dist/domains/accounting/statement-sorter/model.d.mts +3 -1
- package/dist/domains/accounting/statement-sorter/model.mjs +23 -6
- package/dist/domains/accounting/statement-sorter/runtime.mjs +15 -2
- package/dist/domains/accounting/statement-sorter/scene.mjs +43 -12
- package/dist/domains/accounting/statement-workshop/activity.mjs +36 -0
- package/dist/domains/accounting/statement-workshop/manifest.mjs +330 -0
- package/dist/domains/accounting/statement-workshop/model.mjs +824 -0
- package/dist/domains/accounting/statement-workshop/runtime.mjs +24 -0
- package/dist/domains/accounting/statement-workshop/scene.mjs +249 -0
- package/dist/domains/accounting/suspense-reconstruction/model.mjs +9 -3
- package/dist/domains/accounting/suspense-reconstruction/runtime.mjs +9 -3
- package/dist/domains/accounting/suspense-reconstruction/scene.mjs +44 -12
- package/dist/domains/accounting/trial-balance/activity.mjs +26 -0
- package/dist/domains/accounting/trial-balance/manifest.mjs +206 -0
- package/dist/domains/accounting/trial-balance/model.mjs +569 -0
- package/dist/domains/accounting/trial-balance/runtime.mjs +24 -0
- package/dist/domains/accounting/trial-balance/scene.mjs +293 -0
- package/dist/domains/accounting/value-crossing/model.mjs +20 -8
- package/dist/domains/accounting/value-crossing/scene.mjs +25 -10
- package/dist/domains/accounting/variance-detective/model.mjs +3 -2
- package/dist/domains/accounting/variance-detective/runtime.mjs +4 -3
- package/dist/domains/accounting/variance-detective/scene.mjs +6 -6
- package/dist/domains/biology/cell-energy/scene.mjs +7 -8
- package/dist/domains/biology/cell-system/scene.mjs +5 -14
- package/dist/domains/biology/central-dogma/scene.mjs +0 -1
- package/dist/domains/biology/enzyme-rate/scene.mjs +1 -2
- package/dist/domains/biology/genetic-cross/scene.mjs +0 -1
- package/dist/domains/biology/meiosis-explorer/scene.mjs +2 -4
- package/dist/domains/biology/membrane-transport/scene.d.mts +0 -1
- package/dist/domains/biology/membrane-transport/scene.mjs +1 -2
- package/dist/domains/biology/mitosis-explorer/scene.d.mts +0 -1
- package/dist/domains/biology/mitosis-explorer/scene.mjs +3 -5
- package/dist/domains/biology/photosynthesis-factors/scene.mjs +1 -2
- package/dist/domains/biology/sequence/scene.mjs +1 -2
- package/dist/domains/biology/sex-linked-cross/scene.mjs +0 -1
- package/dist/domains/block-sets/accounting.mjs +56 -42
- package/dist/domains/block-sets/chem.mjs +77 -67
- package/dist/domains/block-sets/circuits.mjs +7 -5
- package/dist/domains/block-sets/geometry.mjs +5 -3
- package/dist/domains/block-sets/ict.mjs +28 -22
- package/dist/domains/block-sets/math.mjs +91 -87
- package/dist/domains/catalog-map.mjs +630 -25
- package/dist/domains/chem/acid-base/indicator-bench/scene.mjs +3 -5
- package/dist/domains/chem/acid-base/ph-scale/activity.mjs +221 -0
- package/dist/domains/chem/acid-base/ph-scale/manifest.mjs +99 -0
- package/dist/domains/chem/acid-base/ph-scale/model.mjs +280 -0
- package/dist/domains/chem/acid-base/ph-scale/reference.mjs +117 -0
- package/dist/domains/chem/acid-base/ph-scale/runtime.mjs +68 -0
- package/dist/domains/chem/acid-base/ph-scale/scene.mjs +412 -0
- package/dist/domains/chem/acid-base/proton-transfer/scene.mjs +0 -1
- package/dist/domains/chem/acid-base/titration/scene.mjs +5 -6
- package/dist/domains/chem/acid-base/titration-run/live-scene.mjs +3 -5
- package/dist/domains/chem/acid-base/titration-run/scene.mjs +5 -7
- package/dist/domains/chem/analysis/apparatus-builder/scene.mjs +16 -17
- package/dist/domains/chem/analysis/apparatus-choice/scene.mjs +4 -6
- package/dist/domains/chem/analysis/change-detective/scene.mjs +2 -3
- package/dist/domains/chem/analysis/chem-qualitative-analysis/scene.mjs +6 -8
- package/dist/domains/chem/analysis/chromatography-plate/scene.mjs +1 -2
- package/dist/domains/chem/analysis/complex-colour/scene.mjs +4 -3
- package/dist/domains/chem/analysis/composition-evidence/scene.mjs +3 -2
- package/dist/domains/chem/analysis/conductivity-bench/dropper-bottle.mjs +3 -5
- package/dist/domains/chem/analysis/conductivity-bench/material-scene.mjs +26 -54
- package/dist/domains/chem/analysis/conductivity-bench/runtime.mjs +2 -2
- package/dist/domains/chem/analysis/conductivity-bench/scene.mjs +13 -13
- package/dist/domains/chem/analysis/flame-test/scene.mjs +4 -6
- package/dist/domains/chem/analysis/paper-chromatogram/scene.mjs +4 -5
- package/dist/domains/chem/analysis/practical-observation/scene.mjs +6 -8
- package/dist/domains/chem/analysis/precipitation-bench/activity.mjs +1 -1
- package/dist/domains/chem/analysis/precipitation-bench/runtime.mjs +2 -2
- package/dist/domains/chem/analysis/precipitation-bench/scene.mjs +6 -7
- package/dist/domains/chem/analysis/reaction-evidence/scene.mjs +1 -2
- package/dist/domains/chem/analysis/species-workshop/scene.mjs +1 -2
- package/dist/domains/chem/analysis/specimen-row/scene.mjs +4 -3
- package/dist/domains/chem/analysis/structure-detective/scene.mjs +2 -3
- package/dist/domains/chem/electrochemistry/battery/scene.mjs +9 -12
- package/dist/domains/chem/electrochemistry/corrosion-cell/scene.mjs +4 -7
- package/dist/domains/chem/electrochemistry/electrochem/scene.mjs +7 -7
- package/dist/domains/chem/electrochemistry/electrolysis-bench/scene.mjs +17 -18
- package/dist/domains/chem/electrochemistry/faraday-bench/runtime.mjs +1 -1
- package/dist/domains/chem/electrochemistry/faraday-bench/scene.mjs +18 -5
- package/dist/domains/chem/electrochemistry/fuel-cell-flow/scene.mjs +12 -11
- package/dist/domains/chem/electrochemistry/redox-balancer/scene.mjs +9 -7
- package/dist/domains/chem/electrochemistry/redox-transfer/activity.mjs +160 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/cases.mjs +172 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/manifest.mjs +98 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/model.mjs +807 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/number-scene.mjs +150 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/runtime.mjs +56 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/scene.mjs +17 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/sort-scene.mjs +214 -0
- package/dist/domains/chem/electrochemistry/redox-transfer/transfer-scene.mjs +396 -0
- package/dist/domains/chem/energetics/bond-energy-ledger/scene.mjs +8 -6
- package/dist/domains/chem/energetics/energy-cycle/hess-scene.mjs +3 -2
- package/dist/domains/chem/energetics/energy-cycle/scene.mjs +5 -5
- package/dist/domains/chem/energetics/hydrate-cycle/scene.mjs +3 -2
- package/dist/domains/chem/energetics/reaction-calorimeter/scene.mjs +3 -5
- package/dist/domains/chem/gases-and-states/air-composition/scene.mjs +6 -8
- package/dist/domains/chem/gases-and-states/diffusion/model.mjs +12 -10
- package/dist/domains/chem/gases-and-states/diffusion/scene.mjs +21 -10
- package/dist/domains/chem/gases-and-states/effusion/activity.mjs +66 -0
- package/dist/domains/chem/gases-and-states/effusion/manifest.mjs +76 -0
- package/dist/domains/chem/gases-and-states/effusion/model.mjs +281 -0
- package/dist/domains/chem/gases-and-states/effusion/runtime.mjs +44 -0
- package/dist/domains/chem/gases-and-states/effusion/scene.mjs +303 -0
- package/dist/domains/chem/gases-and-states/gas-box/scene.mjs +4 -6
- package/dist/domains/chem/gases-and-states/gas-diffusion/activity.mjs +86 -0
- package/dist/domains/chem/gases-and-states/gas-diffusion/manifest.mjs +91 -0
- package/dist/domains/chem/gases-and-states/gas-diffusion/model.mjs +433 -0
- package/dist/domains/chem/gases-and-states/gas-diffusion/runtime.mjs +39 -0
- package/dist/domains/chem/gases-and-states/gas-diffusion/scene.mjs +454 -0
- package/dist/domains/chem/gases-and-states/particle-theatre/scene.mjs +2 -4
- package/dist/domains/chem/gases-and-states/particle-theatre/world.mjs +111 -103
- package/dist/domains/chem/glide.mjs +5 -4
- package/dist/domains/chem/industrial/applied-chemistry/parts.mjs +2 -4
- package/dist/domains/chem/industrial/applied-chemistry/scene.mjs +8 -9
- package/dist/domains/chem/industrial/contact-process-control/scene.mjs +3 -3
- package/dist/domains/chem/industrial/industrial-process/equipment.mjs +1 -3
- package/dist/domains/chem/industrial/industrial-process/scene.mjs +7 -8
- package/dist/domains/chem/kinetics-equilibrium/catalytic-cycle/scene.mjs +1 -2
- package/dist/domains/chem/kinetics-equilibrium/kinetics/scene.mjs +3 -5
- package/dist/domains/chem/kinetics-equilibrium/kinetics/world.mjs +181 -167
- package/dist/domains/chem/kinetics-equilibrium/le-chatelier/model.mjs +5 -3
- package/dist/domains/chem/kinetics-equilibrium/le-chatelier/scene.mjs +9 -14
- package/dist/domains/chem/kinetics-equilibrium/le-chatelier/world.mjs +79 -128
- package/dist/domains/chem/kinetics-equilibrium/mechanism-walk/scene.mjs +0 -1
- package/dist/domains/chem/kinetics-equilibrium/reaction-lab/scene.mjs +4 -6
- package/dist/domains/chem/kinetics-equilibrium/reaction-lab/world.mjs +60 -50
- package/dist/domains/chem/kinetics-equilibrium/reaction-profile/scene.mjs +2 -3
- package/dist/domains/chem/metals/metal-reactivity-bench/scene.mjs +19 -24
- package/dist/domains/chem/organic/alkene-geometry/scene.mjs +11 -7
- package/dist/domains/chem/organic/arene-evidence/scene.mjs +29 -24
- package/dist/domains/chem/organic/ball-stick.mjs +1 -2
- package/dist/domains/chem/organic/functional-group-lens/scene.mjs +4 -3
- package/dist/domains/chem/organic/isomer-builder/scene.mjs +0 -1
- package/dist/domains/chem/organic/organic-formula-studio/pattern-scene.mjs +0 -1
- package/dist/domains/chem/organic/organic-formula-studio/scene.mjs +1 -2
- package/dist/domains/chem/organic/organic-reaction-map/reaction-bench.mjs +0 -1
- package/dist/domains/chem/organic/organic-reaction-map/scene.mjs +1 -2
- package/dist/domains/chem/organic/polymer-builder/scene.mjs +8 -7
- package/dist/domains/chem/organic/spectrum-reader/scene.mjs +2 -0
- package/dist/domains/chem/organic/stereochemistry/scene.mjs +4 -5
- package/dist/domains/chem/organic/synthesis-route/scene.mjs +26 -37
- package/dist/domains/chem/quantitative/constant-mass/scene.mjs +4 -6
- package/dist/domains/chem/quantitative/dilution/scene.mjs +3 -5
- package/dist/domains/chem/quantitative/equation-conservation-desk/scene.mjs +0 -1
- package/dist/domains/chem/quantitative/formula-forge/scene.mjs +0 -1
- package/dist/domains/chem/quantitative/formula-workbench/scene.mjs +0 -1
- package/dist/domains/chem/quantitative/gas-collection/scene.mjs +2 -4
- package/dist/domains/chem/quantitative/mole-factory/scene.mjs +2 -3
- package/dist/domains/chem/quantitative/percent-lens/scene.mjs +4 -3
- package/dist/domains/chem/quantitative/percentage-purity-lab/scene.mjs +2 -3
- package/dist/domains/chem/quantitative/percentage-yield-lab/scene.mjs +1 -2
- package/dist/domains/chem/quantitative/ratio-normalizer/preset.mjs +11 -11
- package/dist/domains/chem/quantitative/redox-titration/scene.mjs +3 -5
- package/dist/domains/chem/quantitative/relation-origin/scene.mjs +0 -1
- package/dist/domains/chem/quantitative/solution-box/scene.mjs +3 -5
- package/dist/domains/chem/quantitative/solution-mixer/scene.mjs +2 -4
- package/dist/domains/chem/quantitative/standard-solution/scene.mjs +4 -6
- package/dist/domains/chem/quantitative/stoichiometry/scene.mjs +4 -4
- package/dist/domains/chem/salts-and-solubility/reagent-ladder/scene.mjs +4 -3
- package/dist/domains/chem/salts-and-solubility/selective-solvent-bench/scene.mjs +4 -7
- package/dist/domains/chem/salts-and-solubility/soap-hard-water/activity.mjs +234 -0
- package/dist/domains/chem/salts-and-solubility/soap-hard-water/manifest.mjs +86 -0
- package/dist/domains/chem/salts-and-solubility/soap-hard-water/model.mjs +462 -0
- package/dist/domains/chem/salts-and-solubility/soap-hard-water/parts.mjs +199 -0
- package/dist/domains/chem/salts-and-solubility/soap-hard-water/runtime.mjs +87 -0
- package/dist/domains/chem/salts-and-solubility/soap-hard-water/samples.mjs +88 -0
- package/dist/domains/chem/salts-and-solubility/soap-hard-water/scene.mjs +1177 -0
- package/dist/domains/chem/salts-and-solubility/solubility-kitchen/scene.mjs +3 -5
- package/dist/domains/chem/salts-and-solubility/solubility-rules/scene.mjs +0 -1
- package/dist/domains/chem/salts-and-solubility/soluble-salt-workshop/scene.mjs +6 -6
- package/dist/domains/chem/structure/atomic-orbital/runtime.d.mts +8 -0
- package/dist/domains/chem/structure/atomic-orbital/runtime.mjs +2 -2
- package/dist/domains/chem/structure/atomic-orbital/scene.d.mts +4 -2
- package/dist/domains/chem/structure/atomic-orbital/scene.mjs +7 -22
- package/dist/domains/chem/structure/atomic-orbital/world.d.mts +5 -0
- package/dist/domains/chem/structure/atomic-orbital/world.mjs +50 -42
- package/dist/domains/chem/structure/bohr-atom/activity.mjs +232 -27
- package/dist/domains/chem/structure/bohr-atom/ladder.mjs +85 -0
- package/dist/domains/chem/structure/bohr-atom/landing.mjs +44 -0
- package/dist/domains/chem/structure/bohr-atom/layout.mjs +111 -0
- package/dist/domains/chem/structure/bohr-atom/manifest.mjs +51 -2
- package/dist/domains/chem/structure/bohr-atom/model.d.mts +182 -8
- package/dist/domains/chem/structure/bohr-atom/model.mjs +422 -58
- package/dist/domains/chem/structure/bohr-atom/runtime.d.mts +7 -1
- package/dist/domains/chem/structure/bohr-atom/runtime.mjs +8 -3
- package/dist/domains/chem/structure/bohr-atom/scene.mjs +118 -55
- package/dist/domains/chem/structure/bohr-atom/shell-view.mjs +109 -0
- package/dist/domains/chem/structure/bohr-atom/subshell-view.mjs +128 -0
- package/dist/domains/chem/structure/complex-shape/scene.mjs +3 -2
- package/dist/domains/chem/structure/covalent-bond-builder/activity.mjs +74 -28
- package/dist/domains/chem/structure/covalent-bond-builder/manifest.mjs +28 -2
- package/dist/domains/chem/structure/covalent-bond-builder/model.d.mts +39 -12
- package/dist/domains/chem/structure/covalent-bond-builder/model.mjs +188 -98
- package/dist/domains/chem/structure/covalent-bond-builder/scene.mjs +181 -37
- package/dist/domains/chem/structure/crystal-lattice/runtime.d.mts +8 -0
- package/dist/domains/chem/structure/crystal-lattice/runtime.mjs +2 -2
- package/dist/domains/chem/structure/crystal-lattice/scene.d.mts +4 -2
- package/dist/domains/chem/structure/crystal-lattice/scene.mjs +11 -27
- package/dist/domains/chem/structure/crystal-lattice/world.d.mts +5 -0
- package/dist/domains/chem/structure/crystal-lattice/world.mjs +86 -78
- package/dist/domains/chem/structure/electron-configuration/scene.mjs +3 -6
- package/dist/domains/chem/structure/ionic-bond-builder/scene.mjs +2 -5
- package/dist/domains/chem/structure/molecular-geometry/runtime.d.mts +8 -0
- package/dist/domains/chem/structure/molecular-geometry/runtime.mjs +2 -2
- package/dist/domains/chem/structure/molecular-geometry/scene.d.mts +4 -2
- package/dist/domains/chem/structure/molecular-geometry/scene.mjs +9 -32
- package/dist/domains/chem/structure/molecular-geometry/world.d.mts +5 -0
- package/dist/domains/chem/structure/molecular-geometry/world.mjs +55 -47
- package/dist/domains/chem/structure/orbital-diagram/runtime.mjs +1 -1
- package/dist/domains/chem/structure/orbital-diagram/scene.mjs +3 -6
- package/dist/domains/chem/structure/orbital-overlap/runtime.d.mts +8 -0
- package/dist/domains/chem/structure/orbital-overlap/runtime.mjs +2 -2
- package/dist/domains/chem/structure/orbital-overlap/scene.d.mts +4 -2
- package/dist/domains/chem/structure/orbital-overlap/scene.mjs +7 -23
- package/dist/domains/chem/structure/orbital-overlap/world.d.mts +5 -0
- package/dist/domains/chem/structure/orbital-overlap/world.mjs +58 -50
- package/dist/domains/chem/structure/periodic-trends/scene.mjs +2 -3
- package/dist/domains/chem/structure/trend-axis/scene.mjs +13 -14
- package/dist/domains/circuits/ac-dc/scene.mjs +4 -7
- package/dist/domains/circuits/ac-response/scene.mjs +86 -49
- package/dist/domains/circuits/bjt-amplifier/scene.mjs +3 -6
- package/dist/domains/circuits/bjt-inside/scene.mjs +32 -24
- package/dist/domains/circuits/brownout/scene.mjs +9 -11
- package/dist/domains/circuits/capacitor-leak/scene.mjs +17 -19
- package/dist/domains/circuits/cell-combination/scene.mjs +1 -2
- package/dist/domains/circuits/circuit/scene.mjs +1 -2
- package/dist/domains/circuits/circuit-builder/scene.mjs +2 -3
- package/dist/domains/circuits/circuit-lab/scene.mjs +1 -2
- package/dist/domains/circuits/circuit-sandbox/runtime.mjs +13 -5
- package/dist/domains/circuits/circuit-scene/scene.mjs +1 -2
- package/dist/domains/circuits/cmos-inverter/scene.mjs +14 -14
- package/dist/domains/circuits/cmos-nand/scene.mjs +9 -10
- package/dist/domains/circuits/cmos-nor/scene.mjs +9 -10
- package/dist/domains/circuits/conduction/apparatus.mjs +45 -59
- package/dist/domains/circuits/conduction/runtime.mjs +0 -1
- package/dist/domains/circuits/diode/scene.mjs +3 -6
- package/dist/domains/circuits/energy-cost/scene.mjs +1 -2
- package/dist/domains/circuits/hall-effect/runtime.mjs +0 -1
- package/dist/domains/circuits/hall-effect/scene.mjs +18 -17
- package/dist/domains/circuits/kirchhoff-laws/scene.mjs +1 -2
- package/dist/domains/circuits/meter-conversion/scene.mjs +1 -3
- package/dist/domains/circuits/mosfet-inside/model.d.mts +1 -1
- package/dist/domains/circuits/mosfet-inside/scene.mjs +22 -20
- package/dist/domains/circuits/network-reduction/scene.mjs +8 -7
- package/dist/domains/circuits/null-balance/scene.mjs +1 -2
- package/dist/domains/circuits/op-amp-comparator/scene.mjs +14 -16
- package/dist/domains/circuits/pn-junction/scene.mjs +34 -27
- package/dist/domains/circuits/potential-divider/scene.mjs +7 -10
- package/dist/domains/circuits/potential-hill/activity.mjs +132 -0
- package/dist/domains/circuits/potential-hill/manifest.mjs +107 -0
- package/dist/domains/circuits/potential-hill/model.mjs +207 -0
- package/dist/domains/circuits/potential-hill/runtime.mjs +24 -0
- package/dist/domains/circuits/potential-hill/scene.mjs +267 -0
- package/dist/domains/circuits/rc-charging/activity.mjs +5 -5
- package/dist/domains/circuits/rc-charging/manifest.mjs +5 -10
- package/dist/domains/circuits/rc-charging/model.mjs +31 -10
- package/dist/domains/circuits/rc-charging/runtime.mjs +4 -7
- package/dist/domains/circuits/rc-charging/scene.mjs +273 -210
- package/dist/domains/circuits/rnmos-not/scene.mjs +14 -14
- package/dist/domains/circuits/silicon-lattice/runtime.mjs +0 -1
- package/dist/domains/circuits/silicon-lattice/scene.mjs +0 -1
- package/dist/domains/circuits/transistor/scene.mjs +3 -6
- package/dist/domains/data/design-records/scene.mjs +1 -2
- package/dist/domains/data/dirty-data/scene.mjs +1 -2
- package/dist/domains/databases/b-plus-range/model.mjs +1 -1
- package/dist/domains/databases/b-plus-range/scene.mjs +2 -3
- package/dist/domains/databases/index-detective/model.mjs +1 -1
- package/dist/domains/databases/index-detective/scene.mjs +2 -3
- package/dist/domains/databases/query-plan/model.mjs +1 -1
- package/dist/domains/databases/query-plan/scene.mjs +2 -3
- package/dist/domains/databases/range-query/model.mjs +1 -1
- package/dist/domains/databases/range-query/scene.mjs +2 -3
- package/dist/domains/discrete/arrangements/scene.mjs +3 -6
- package/dist/domains/discrete/bayes/scene.mjs +6 -8
- package/dist/domains/discrete/binomial/runtime.mjs +2 -1
- package/dist/domains/discrete/binomial/scene.mjs +155 -148
- package/dist/domains/discrete/combination-studio/scene.mjs +2 -4
- package/dist/domains/discrete/counting-slots/scene.mjs +3 -6
- package/dist/domains/discrete/counting-tree/scene.mjs +6 -8
- package/dist/domains/discrete/expected-value/activity.mjs +2 -1
- package/dist/domains/discrete/expected-value/model.mjs +1 -1
- package/dist/domains/discrete/expected-value/scene.mjs +8 -9
- package/dist/domains/discrete/hypergeometric/activity.mjs +3 -2
- package/dist/domains/discrete/hypergeometric/runtime.mjs +4 -3
- package/dist/domains/discrete/hypergeometric/scene.mjs +3 -6
- package/dist/domains/discrete/induction-ladder/scene.mjs +2 -5
- package/dist/domains/discrete/invariant-detective/scene.mjs +3 -5
- package/dist/domains/discrete/karnaugh/activity.mjs +4 -4
- package/dist/domains/discrete/karnaugh/kmap.mjs +1 -1
- package/dist/domains/discrete/karnaugh/manifest.mjs +40 -19
- package/dist/domains/discrete/karnaugh/model.mjs +45 -12
- package/dist/domains/discrete/karnaugh/runtime.mjs +1 -0
- package/dist/domains/discrete/karnaugh/scene.mjs +19 -10
- package/dist/domains/discrete/lln/model.mjs +1 -1
- package/dist/domains/discrete/lln/scene.mjs +2 -5
- package/dist/domains/discrete/modular-clock/scene.mjs +3 -5
- package/dist/domains/discrete/monte-carlo/model.mjs +18 -13
- package/dist/domains/discrete/monte-carlo/scene.mjs +5 -5
- package/dist/domains/discrete/monty-hall/activity.mjs +24 -18
- package/dist/domains/discrete/monty-hall/manifest.mjs +2 -1
- package/dist/domains/discrete/monty-hall/model.mjs +92 -80
- package/dist/domains/discrete/monty-hall/runtime.mjs +1 -1
- package/dist/domains/discrete/monty-hall/scene.mjs +80 -66
- package/dist/domains/discrete/outcome-builder/activity.mjs +25 -0
- package/dist/domains/discrete/outcome-builder/manifest.mjs +15 -2
- package/dist/domains/discrete/outcome-builder/model.mjs +57 -20
- package/dist/domains/discrete/outcome-builder/runtime.mjs +19 -3
- package/dist/domains/discrete/outcome-builder/scene.mjs +1 -2
- package/dist/domains/discrete/pascal/scene.mjs +2 -4
- package/dist/domains/discrete/pigeonhole-adversary/scene.mjs +3 -6
- package/dist/domains/discrete/proof-builder/diagram.mjs +2 -1
- package/dist/domains/discrete/proof-builder/scene.mjs +1 -3
- package/dist/domains/discrete/recurrence-builder/scene.mjs +6 -8
- package/dist/domains/discrete/rule-card/complex-rules.mjs +4 -3
- package/dist/domains/discrete/rule-card/diagrams.mjs +2 -1
- package/dist/domains/discrete/rule-card/manifest.mjs +1 -2
- package/dist/domains/discrete/rule-card/rule-figures.mjs +5 -5
- package/dist/domains/discrete/rule-card/rules.d.mts +7 -6
- package/dist/domains/discrete/rule-card/rules.mjs +30 -18
- package/dist/domains/discrete/rule-card/trig-rules.mjs +6 -5
- package/dist/domains/discrete/sample-space/scene.mjs +0 -1
- package/dist/domains/discrete/selection/scene.mjs +9 -9
- package/dist/domains/discrete/statement-logic/scene.mjs +1 -5
- package/dist/domains/discrete/truth-table/activity.mjs +28 -4
- package/dist/domains/discrete/truth-table/manifest.mjs +11 -1
- package/dist/domains/discrete/truth-table/model.mjs +29 -18
- package/dist/domains/discrete/truth-table/scene.mjs +4 -15
- package/dist/domains/discrete/venn/model.mjs +10 -5
- package/dist/domains/discrete/venn/runtime.mjs +66 -62
- package/dist/domains/discrete/venn/scene.mjs +20 -16
- package/dist/domains/discrete/venn/sets.d.mts +0 -1
- package/dist/domains/discrete/venn/sets.mjs +1 -6
- package/dist/domains/distributed-systems/shard-key/shard-key-board.mjs +0 -1
- package/dist/domains/domain-map.mjs +38 -0
- package/dist/domains/economics/demand-shift-vs-move/scene.mjs +2 -3
- package/dist/domains/economics/elasticity-revenue/scene.mjs +2 -3
- package/dist/domains/economics/market-equilibrium/scene.mjs +2 -3
- package/dist/domains/exam/command-lens/manifest.mjs +4 -3
- package/dist/domains/exam/command-lens/scene.mjs +1 -2
- package/dist/domains/exam/exam-question/scene.mjs +6 -1
- package/dist/domains/exam/practice-set/model.mjs +7 -1
- package/dist/domains/exam/practice-set/runtime.mjs +1 -1
- package/dist/domains/geography/cycle/scene.mjs +5 -2
- package/dist/domains/geometry/geometry-board/builder.mjs +4 -1
- package/dist/domains/geometry/geometry-board/manifest.mjs +1 -69
- package/dist/domains/geometry/geometry-board/runtime.mjs +2 -2
- package/dist/domains/geometry/geometry-figure/manifest.mjs +114 -0
- package/dist/domains/geometry/geometry-figure/runtime.mjs +19 -0
- package/dist/domains/geometry/intersecting-circles/scene.mjs +1 -2
- package/dist/domains/ict/array-vs-list/scene.mjs +1 -1
- package/dist/domains/ict/binary-counter/scene.mjs +1 -2
- package/dist/domains/ict/binary-display/scene.mjs +0 -2
- package/dist/domains/ict/binary-search/scene.mjs +1 -1
- package/dist/domains/ict/bound-prover/scene.mjs +4 -4
- package/dist/domains/ict/code-trace/activity.mjs +23 -0
- package/dist/domains/ict/code-trace/manifest.mjs +81 -0
- package/dist/domains/ict/code-trace/model.mjs +199 -0
- package/dist/domains/ict/code-trace/runtime.mjs +30 -0
- package/dist/domains/ict/code-trace/scene.mjs +321 -0
- package/dist/domains/ict/coin-change/scene.mjs +1 -1
- package/dist/domains/ict/complexity-growth/scene.mjs +1 -1
- package/dist/domains/ict/cost-derivation/scene.mjs +2 -3
- package/dist/domains/ict/graph-algorithm/scene.mjs +1 -1
- package/dist/domains/ict/grid-path-dp/scene.mjs +1 -1
- package/dist/domains/ict/hash-table/scene.mjs +1 -1
- package/dist/domains/ict/heap-quest/HeapDualView.mjs +2 -0
- package/dist/domains/ict/jk-flip-flop/activity.mjs +1 -1
- package/dist/domains/ict/jk-flip-flop/model.mjs +1 -1
- package/dist/domains/ict/jk-flip-flop/runtime.mjs +14 -7
- package/dist/domains/ict/jk-flip-flop/scene.mjs +3 -10
- package/dist/domains/ict/jk-flip-flop/task-view.mjs +58 -0
- package/dist/domains/ict/latch-vs-flip-flop/TimingScene.d.mts +0 -1
- package/dist/domains/ict/latch-vs-flip-flop/scene.mjs +1 -2
- package/dist/domains/ict/logic-builder/LogicEditScene.mjs +0 -5
- package/dist/domains/ict/logic-builder/activity.mjs +2 -2
- package/dist/domains/ict/logic-builder/manifest.mjs +46 -1
- package/dist/domains/ict/logic-builder/model.mjs +126 -36
- package/dist/domains/ict/logic-builder/runtime.mjs +1 -1
- package/dist/domains/ict/logic-builder/scene.mjs +87 -43
- package/dist/domains/ict/logic-gate/scene.mjs +0 -1
- package/dist/domains/ict/mini-sheet/activity.mjs +23 -0
- package/dist/domains/ict/mini-sheet/manifest.mjs +93 -0
- package/dist/domains/ict/mini-sheet/model.mjs +175 -0
- package/dist/domains/ict/mini-sheet/runtime.mjs +25 -0
- package/dist/domains/ict/mini-sheet/scene.mjs +216 -0
- package/dist/domains/ict/recursion-tree/scene.mjs +2 -7
- package/dist/domains/ict/sequence-detector/activity.mjs +6 -6
- package/dist/domains/ict/sequence-detector/manifest.mjs +11 -3
- package/dist/domains/ict/sequence-detector/model.mjs +3 -2
- package/dist/domains/ict/sequence-detector/scene.mjs +2 -3
- package/dist/domains/ict/shift-register/ShiftScene.mjs +0 -1
- package/dist/domains/ict/sorting-quest/Bars.mjs +11 -7
- package/dist/domains/ict/sorting-quest/scene.mjs +1 -1
- package/dist/domains/ict/sr-latch/scene.mjs +4 -6
- package/dist/domains/ict/state-machine-builder/activity.mjs +46 -0
- package/dist/domains/ict/state-machine-builder/manifest.mjs +56 -0
- package/dist/domains/ict/state-machine-builder/model.mjs +422 -0
- package/dist/domains/ict/state-machine-builder/runtime.mjs +24 -0
- package/dist/domains/ict/state-machine-builder/scene.mjs +211 -0
- package/dist/domains/ict/tree-quest/scene.mjs +1 -1
- package/dist/domains/ict/twos-complement/scene.mjs +2 -3
- package/dist/domains/ict/wire-a-chip/ChipScene.d.mts +0 -1
- package/dist/domains/ict/wire-a-chip/ChipScene.mjs +426 -314
- package/dist/domains/language/_shared/construction.mjs +1 -1
- package/dist/domains/language/article-lens/model.d.mts +5 -5
- package/dist/domains/language/preposition/model.d.mts +5 -5
- package/dist/domains/manifests.mjs +730 -692
- package/dist/domains/math/_shared/parameter-name.mjs +24 -0
- package/dist/domains/math/algebra/area-model/activity.mjs +43 -4
- package/dist/domains/math/algebra/area-model/manifest.mjs +26 -2
- package/dist/domains/math/algebra/area-model/model.mjs +117 -54
- package/dist/domains/math/algebra/area-model/runtime.mjs +3 -3
- package/dist/domains/math/algebra/area-model/scene.mjs +28 -1
- package/dist/domains/math/algebra/balance-algebra/scene.mjs +0 -1
- package/dist/domains/math/algebra/discriminant-radar/manifest.mjs +12 -0
- package/dist/domains/math/algebra/discriminant-radar/scene.mjs +5 -6
- package/dist/domains/math/algebra/distribute-strip/scene.mjs +0 -1
- package/dist/domains/math/algebra/fraction-cancellation/scene.mjs +3 -5
- package/dist/domains/math/algebra/inequality-line/scene.mjs +5 -4
- package/dist/domains/math/algebra/inequality-solver/scene.mjs +2 -1
- package/dist/domains/math/algebra/linear-system/scene.mjs +4 -3
- package/dist/domains/math/algebra/log-law-workbench/activity.mjs +185 -188
- package/dist/domains/math/algebra/log-law-workbench/manifest.mjs +31 -9
- package/dist/domains/math/algebra/log-law-workbench/model.mjs +234 -37
- package/dist/domains/math/algebra/log-law-workbench/runtime.mjs +2 -10
- package/dist/domains/math/algebra/log-law-workbench/scene.mjs +338 -21
- package/dist/domains/math/algebra/mystery-bucket/scene.mjs +101 -28
- package/dist/domains/math/algebra/partial-fractions/scene.mjs +1 -2
- package/dist/domains/math/algebra/polynomial-solver/activity.mjs +6 -2
- package/dist/domains/math/algebra/polynomial-solver/cases-division.mjs +47 -1
- package/dist/domains/math/algebra/polynomial-solver/cases-factor.mjs +2 -0
- package/dist/domains/math/algebra/polynomial-solver/cases-two-letter.mjs +129 -0
- package/dist/domains/math/algebra/polynomial-solver/engine.mjs +1 -0
- package/dist/domains/math/algebra/polynomial-solver/games.mjs +6 -5
- package/dist/domains/math/algebra/polynomial-solver/manifest.mjs +33 -1
- package/dist/domains/math/algebra/polynomial-solver/model.mjs +20 -11
- package/dist/domains/math/algebra/polynomial-solver/moves.mjs +1 -1
- package/dist/domains/math/algebra/polynomial-solver/plots.mjs +2 -2
- package/dist/domains/math/algebra/polynomial-solver/runtime.mjs +1 -1
- package/dist/domains/math/algebra/polynomial-solver/scene-calculator.mjs +2 -1
- package/dist/domains/math/algebra/polynomial-solver/scene-long-division.mjs +121 -0
- package/dist/domains/math/algebra/polynomial-solver/scene-parts.mjs +3 -3
- package/dist/domains/math/algebra/polynomial-solver/scene-split.mjs +49 -3
- package/dist/domains/math/algebra/polynomial-solver/scene-tableau.mjs +17 -3
- package/dist/domains/math/algebra/polynomial-solver/trace-renderers.mjs +7 -2
- package/dist/domains/math/algebra/root-fingerprint/scene.mjs +3 -4
- package/dist/domains/math/algebra/root-mover/scene.mjs +3 -3
- package/dist/domains/math/algebra/slide-rule/scene.mjs +0 -1
- package/dist/domains/math/algebra/substitute-value/scene.mjs +2 -1
- package/dist/domains/math/algebra/system-solve/scene.mjs +0 -1
- package/dist/domains/math/calculus/derivative-explorer/scene.mjs +4 -3
- package/dist/domains/math/calculus/differential-equation/runtime.mjs +2 -2
- package/dist/domains/math/calculus/differential-equation/scene.mjs +5 -4
- package/dist/domains/math/calculus/fundamental-theorem/scene.mjs +5 -4
- package/dist/domains/math/calculus/gradient-descent/runtime.mjs +22 -17
- package/dist/domains/math/calculus/implicit-parametric-derivative/activity.mjs +9 -4
- package/dist/domains/math/calculus/implicit-parametric-derivative/model.mjs +8 -4
- package/dist/domains/math/calculus/implicit-parametric-derivative/runtime.mjs +7 -7
- package/dist/domains/math/calculus/implicit-parametric-derivative/scene.mjs +8 -7
- package/dist/domains/math/calculus/integral-explorer/scene.mjs +3 -4
- package/dist/domains/math/calculus/integration-workbench/activity.mjs +12 -11
- package/dist/domains/math/calculus/integration-workbench/manifest.mjs +15 -0
- package/dist/domains/math/calculus/integration-workbench/model.mjs +49 -14
- package/dist/domains/math/calculus/integration-workbench/runtime.mjs +3 -3
- package/dist/domains/math/calculus/integration-workbench/scene.mjs +20 -18
- package/dist/domains/math/calculus/limit-explorer/scene.mjs +5 -4
- package/dist/domains/math/calculus/newton-method/scene.mjs +4 -4
- package/dist/domains/math/calculus/phase-portrait/scene.mjs +5 -5
- package/dist/domains/math/calculus/solids-of-revolution/flat-scene.mjs +7 -7
- package/dist/domains/math/calculus/solids-of-revolution/runtime.d.mts +8 -0
- package/dist/domains/math/calculus/solids-of-revolution/runtime.mjs +2 -2
- package/dist/domains/math/calculus/solids-of-revolution/scene.d.mts +5 -8
- package/dist/domains/math/calculus/solids-of-revolution/scene.mjs +15 -30
- package/dist/domains/math/calculus/stationary-point-classifier/activity.mjs +2 -2
- package/dist/domains/math/calculus/stationary-point-classifier/runtime.mjs +2 -2
- package/dist/domains/math/calculus/stationary-point-classifier/scene.mjs +4 -3
- package/dist/domains/math/calculus/tangent-normal/scene.mjs +2 -4
- package/dist/domains/math/calculus/taylor-series/runtime.mjs +2 -2
- package/dist/domains/math/calculus/taylor-series/scene.mjs +2 -4
- package/dist/domains/math/coordinate-geometry/angle-between-lines/scene.mjs +0 -1
- package/dist/domains/math/coordinate-geometry/chord-bisection/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/chord-given-midpoint/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/chord-of-contact/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/circle-diameter-endpoints/activity.mjs +3 -4
- package/dist/domains/math/coordinate-geometry/circle-diameter-endpoints/manifest.mjs +2 -2
- package/dist/domains/math/coordinate-geometry/circle-diameter-endpoints/runtime.mjs +10 -17
- package/dist/domains/math/coordinate-geometry/circle-diameter-endpoints/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/circle-geometry/scene.mjs +3 -2
- package/dist/domains/math/coordinate-geometry/circle-intersection-angle/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/circle-line-tangency/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/circle-through-points/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/common-tangents-count/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/conic/scene.mjs +0 -1
- package/dist/domains/math/coordinate-geometry/coord-point/scene.mjs +5 -4
- package/dist/domains/math/coordinate-geometry/line-concurrency/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/line-family/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/point-line-distance/scene.mjs +83 -33
- package/dist/domains/math/coordinate-geometry/point-reflection/activity.mjs +3 -3
- package/dist/domains/math/coordinate-geometry/point-reflection/runtime.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/point-reflection/scene.mjs +160 -46
- package/dist/domains/math/coordinate-geometry/polar-cartesian/model.mjs +12 -8
- package/dist/domains/math/coordinate-geometry/polar-cartesian/runtime.mjs +3 -3
- package/dist/domains/math/coordinate-geometry/polar-cartesian/scene.mjs +12 -12
- package/dist/domains/math/coordinate-geometry/radical-axis/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/section-formula/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/straight-line/scene.mjs +10 -7
- package/dist/domains/math/coordinate-geometry/tangent-length-power-of-point/scene.mjs +1 -1
- package/dist/domains/math/coordinate-geometry/triangle-area/scene.mjs +21 -7
- package/dist/domains/math/functions/composite-functions/composite/scenes.mjs +2 -2
- package/dist/domains/math/functions/composite-functions/scene.mjs +5 -4
- package/dist/domains/math/functions/domain-range/authoring.mjs +66 -9
- package/dist/domains/math/functions/domain-range/manifest.mjs +25 -0
- package/dist/domains/math/functions/domain-range/model.mjs +49 -12
- package/dist/domains/math/functions/domain-range/runtime.mjs +2 -2
- package/dist/domains/math/functions/domain-range/scene.mjs +50 -4
- package/dist/domains/math/functions/family-tree/scenes.mjs +4 -4
- package/dist/domains/math/functions/function-machine/conveyor-figure.mjs +13 -5
- package/dist/domains/math/functions/graph/authoring.mjs +16 -0
- package/dist/domains/math/functions/graph/manifest.mjs +32 -0
- package/dist/domains/math/functions/graph/model.mjs +98 -12
- package/dist/domains/math/functions/graph/runtime.mjs +1 -1
- package/dist/domains/math/functions/graph/scene.mjs +104 -35
- package/dist/domains/math/functions/graph-transform/scene.mjs +4 -4
- package/dist/domains/math/functions/injective-classifier/scene.mjs +1 -1
- package/dist/domains/math/functions/inverse-functions/scene.mjs +1 -1
- package/dist/domains/math/functions/linearisation/scene.mjs +1 -1
- package/dist/domains/math/functions/modulus-function/scene.mjs +1 -1
- package/dist/domains/math/functions/modulus-inequality/activity.mjs +33 -16
- package/dist/domains/math/functions/modulus-inequality/endpoint-label-layout.mjs +38 -0
- package/dist/domains/math/functions/modulus-inequality/manifest.mjs +45 -1
- package/dist/domains/math/functions/modulus-inequality/model.mjs +24 -18
- package/dist/domains/math/functions/modulus-inequality/runtime.mjs +3 -2
- package/dist/domains/math/functions/modulus-inequality/scene.mjs +194 -139
- package/dist/domains/math/functions/vertex-parabola/scene.mjs +1 -1
- package/dist/domains/math/geometry/angle-chase/model.mjs +1 -1
- package/dist/domains/math/geometry/angle-chase/runtime.mjs +2 -3
- package/dist/domains/math/geometry/angle-chase/scene.mjs +0 -1
- package/dist/domains/math/geometry/area-rearrange/activity.mjs +2 -2
- package/dist/domains/math/geometry/area-rearrange/runtime.mjs +1 -1
- package/dist/domains/math/geometry/area-rearrange/scene.mjs +2 -2
- package/dist/domains/math/geometry/broken-tree/activity.mjs +2 -2
- package/dist/domains/math/geometry/broken-tree/model.mjs +1 -1
- package/dist/domains/math/geometry/broken-tree/scene.mjs +14 -12
- package/dist/domains/math/geometry/clock-hand-angle/scene.mjs +0 -1
- package/dist/domains/math/geometry/cone-frustum/scene.mjs +22 -10
- package/dist/domains/math/geometry/geometry-foundations/scene.mjs +44 -16
- package/dist/domains/math/geometry/geometry-transform/scene.mjs +1 -1
- package/dist/domains/math/geometry/measurement/activity.mjs +22 -1
- package/dist/domains/math/geometry/measurement/circle-grid-scene.mjs +145 -0
- package/dist/domains/math/geometry/measurement/manifest.mjs +9 -1
- package/dist/domains/math/geometry/measurement/model.mjs +135 -8
- package/dist/domains/math/geometry/measurement/runtime.mjs +19 -8
- package/dist/domains/math/geometry/measurement/scene.mjs +258 -228
- package/dist/domains/math/geometry/pythagoras-dissection/runtime.mjs +10 -7
- package/dist/domains/math/geometry/pythagoras-dissection/scene.mjs +237 -213
- package/dist/domains/math/geometry/solid-net/model.mjs +1 -1
- package/dist/domains/math/geometry/solid-net/runtime.mjs +2 -2
- package/dist/domains/math/geometry/solid-net/scene.mjs +18 -14
- package/dist/domains/math/geometry/solid-slice/scene.mjs +76 -34
- package/dist/domains/math/geometry/tank-design/activity.mjs +0 -1
- package/dist/domains/math/geometry/tank-design/scene.mjs +5 -6
- package/dist/domains/math/number/alligation-mix/scene.mjs +0 -1
- package/dist/domains/math/number/bounds-window/activity.mjs +2 -2
- package/dist/domains/math/number/bounds-window/manifest.mjs +2 -2
- package/dist/domains/math/number/bounds-window/runtime.mjs +1 -1
- package/dist/domains/math/number/bounds-window/scene.mjs +53 -44
- package/dist/domains/math/number/division-workbench/model.mjs +1 -1
- package/dist/domains/math/number/division-workbench/runtime.mjs +6 -1
- package/dist/domains/math/number/division-workbench/visuals.mjs +209 -195
- package/dist/domains/math/number/fraction-bar/activity.mjs +8 -2
- package/dist/domains/math/number/fraction-bar/manifest.mjs +29 -2
- package/dist/domains/math/number/fraction-bar/model.mjs +147 -26
- package/dist/domains/math/number/fraction-bar/runtime.mjs +5 -3
- package/dist/domains/math/number/fraction-bar/scene.mjs +167 -4
- package/dist/domains/math/number/fraction-division/activity.mjs +15 -0
- package/dist/domains/math/number/fraction-division/manifest.mjs +73 -0
- package/dist/domains/math/number/fraction-division/model.mjs +86 -0
- package/dist/domains/math/number/fraction-division/runtime.mjs +24 -0
- package/dist/domains/math/number/fraction-division/scene.mjs +162 -0
- package/dist/domains/math/number/fraction-product/activity.mjs +15 -0
- package/dist/domains/math/number/fraction-product/manifest.mjs +79 -0
- package/dist/domains/math/number/fraction-product/model.mjs +85 -0
- package/dist/domains/math/number/fraction-product/runtime.mjs +23 -0
- package/dist/domains/math/number/fraction-product/scene.mjs +99 -0
- package/dist/domains/math/number/number-line/scene.mjs +4 -3
- package/dist/domains/math/number/number-structure/scene.mjs +282 -172
- package/dist/domains/math/number/percent-bar/scene.mjs +59 -44
- package/dist/domains/math/number/price-chain/scene.mjs +4 -3
- package/dist/domains/math/number/rate-machine/runtime.mjs +1 -1
- package/dist/domains/math/number/rate-machine/scene.mjs +10 -11
- package/dist/domains/math/number/ratio-share/scene.mjs +4 -3
- package/dist/domains/math/number/relative-speed-track/scene.mjs +2 -1
- package/dist/domains/math/number/square-builder/scene.mjs +2 -4
- package/dist/domains/math/reasoning/derivation/authoring.mjs +198 -35
- package/dist/domains/math/reasoning/derivation/derivation.d.mts +13 -11
- package/dist/domains/math/reasoning/derivation/derivation.mjs +382 -81
- package/dist/domains/math/reasoning/derivation/manifest.mjs +22 -10
- package/dist/domains/math/reasoning/derivation/runtime.mjs +2 -2
- package/dist/domains/math/reasoning/derivation/step-tex.mjs +78 -0
- package/dist/domains/math/reasoning/derivation/steps.d.mts +88 -0
- package/dist/domains/math/reasoning/derivation/steps.mjs +162 -0
- package/dist/domains/math/reasoning/interactive-problem/runtime.mjs +12 -1
- package/dist/domains/math/reasoning/story-scene/preload.mjs +18 -0
- package/dist/domains/math/schemas.mjs +29 -12
- package/dist/domains/math/sequences/growing-pattern/scene.mjs +24 -19
- package/dist/domains/math/sequences/iteration/model.mjs +5 -4
- package/dist/domains/math/sequences/iteration/scene.mjs +4 -3
- package/dist/domains/math/shared.mjs +1 -7
- package/dist/domains/math/trigonometry/_shared/cut-scene.mjs +1 -1
- package/dist/domains/math/trigonometry/_shared/wheel-scene.mjs +60 -22
- package/dist/domains/math/trigonometry/associated-angle-wheel/scene.mjs +1 -1
- package/dist/domains/math/trigonometry/bearings/bearings-scene.mjs +198 -13
- package/dist/domains/math/trigonometry/bearings/scene.mjs +3 -2
- package/dist/domains/math/trigonometry/circular-measure/scene.mjs +7 -12
- package/dist/domains/math/trigonometry/compound-angle-proof/scene.mjs +9 -8
- package/dist/domains/math/trigonometry/harmonic-form/scene.mjs +2 -3
- package/dist/domains/math/trigonometry/multiple-angle-wheel/scene.mjs +1 -1
- package/dist/domains/math/trigonometry/oblique-triangle/oblique-scene.mjs +70 -89
- package/dist/domains/math/trigonometry/oblique-triangle/scene.mjs +1 -2
- package/dist/domains/math/trigonometry/radian-wrap/runtime.mjs +1 -1
- package/dist/domains/math/trigonometry/radian-wrap/scene.mjs +8 -12
- package/dist/domains/math/trigonometry/sum-to-product-waves/scene.mjs +2 -3
- package/dist/domains/math/trigonometry/tangent-rule-triangle/scene.mjs +2 -3
- package/dist/domains/math/trigonometry/triangle-trig/runtime.mjs +1 -20
- package/dist/domains/math/trigonometry/triangle-trig/scene.mjs +170 -13
- package/dist/domains/math/trigonometry/trig-equation-solver/equation-scene.mjs +0 -1
- package/dist/domains/math/trigonometry/trig-equation-solver/scene.mjs +1 -2
- package/dist/domains/math/trigonometry/trig-explorer/model.mjs +1 -1
- package/dist/domains/math/trigonometry/trig-explorer/scene.mjs +7 -13
- package/dist/domains/math/trigonometry/trig-general-solution/scene.mjs +3 -3
- package/dist/domains/math/trigonometry/trig-signs/scene.mjs +7 -4
- package/dist/domains/math/vectors-matrices/complex-plane/runtime.mjs +2 -2
- package/dist/domains/math/vectors-matrices/complex-plane/scene.mjs +17 -13
- package/dist/domains/math/vectors-matrices/linear-map/runtime.mjs +1 -1
- package/dist/domains/math/vectors-matrices/linear-map/scene.mjs +3 -3
- package/dist/domains/math/vectors-matrices/lines-in-space/model.d.mts +1 -1
- package/dist/domains/math/vectors-matrices/lines-in-space/model.mjs +1 -1
- package/dist/domains/math/vectors-matrices/lines-in-space/runtime.mjs +7 -4
- package/dist/domains/math/vectors-matrices/lines-in-space/scene.mjs +21 -25
- package/dist/domains/math/vectors-matrices/vector-geometry-two-d/model.mjs +4 -4
- package/dist/domains/math/vectors-matrices/vector-geometry-two-d/runtime.mjs +2 -2
- package/dist/domains/math/vectors-matrices/vector-geometry-two-d/scene.mjs +124 -79
- package/dist/domains/ml/activation-gates/manifest.mjs +2 -2
- package/dist/domains/ml/activation-gates/model.d.mts +2 -1
- package/dist/domains/ml/activation-gates/model.mjs +15 -6
- package/dist/domains/ml/activation-gates/runtime.mjs +4 -4
- package/dist/domains/ml/activation-gates/scene.d.mts +18 -0
- package/dist/domains/ml/activation-gates/scene.mjs +159 -17
- package/dist/domains/ml/affine-neuron/scene.d.mts +1 -1
- package/dist/domains/ml/affine-neuron/scene.mjs +2 -3
- package/dist/domains/ml/anomaly-detector/model.d.mts +4 -4
- package/dist/domains/ml/anomaly-detector/scene.mjs +1 -2
- package/dist/domains/ml/attention-routing/scene.mjs +1 -2
- package/dist/domains/ml/autoencoder/scene.mjs +0 -1
- package/dist/domains/ml/backprop-tracer/backprop-graph-diagram.mjs +0 -1
- package/dist/domains/ml/causal-mask/scene.mjs +1 -2
- package/dist/domains/ml/char-model/scene.mjs +4 -6
- package/dist/domains/ml/classifier-threshold/model.d.mts +4 -4
- package/dist/domains/ml/classifier-threshold/scene.mjs +6 -5
- package/dist/domains/ml/context-window/context-window-diagram.mjs +0 -1
- package/dist/domains/ml/decision-boundary/scene.mjs +2 -2
- package/dist/domains/ml/denoising/denoising-diagram.mjs +0 -1
- package/dist/domains/ml/denoising/runtime.mjs +2 -2
- package/dist/domains/ml/embedding-neighborhood/scene.mjs +1 -2
- package/dist/domains/ml/embedding-space/scene.mjs +4 -4
- package/dist/domains/ml/encoder-decoder/encoder-decoder-diagram.mjs +4 -7
- package/dist/domains/ml/feature-map/feature-map-diagram.mjs +0 -1
- package/dist/domains/ml/feature-map/feature-map.mjs +2 -2
- package/dist/domains/ml/feature-map/scene.mjs +2 -3
- package/dist/domains/ml/feed-forward-network/feed-forward-workshop-diagram.mjs +0 -1
- package/dist/domains/ml/feed-forward-network/model.d.mts +6 -6
- package/dist/domains/ml/feed-forward-network/scene.mjs +2 -2
- package/dist/domains/ml/fit-evidence/linear-fit-diagram.mjs +0 -1
- package/dist/domains/ml/fit-evidence/scene.mjs +3 -4
- package/dist/domains/ml/gradient-step/gradient-step-diagram.mjs +0 -1
- package/dist/domains/ml/gradient-step/scene.mjs +2 -2
- package/dist/domains/ml/kmeans/scene.mjs +11 -3
- package/dist/domains/ml/knn/scene.mjs +2 -2
- package/dist/domains/ml/latent-space/latent-space-diagram.mjs +0 -1
- package/dist/domains/ml/latent-space/scene.mjs +2 -2
- package/dist/domains/ml/layer-normalization/layer-normalization-diagram.mjs +0 -1
- package/dist/domains/ml/layer-normalization/model.d.mts +4 -4
- package/dist/domains/ml/layer-normalization/scene.mjs +2 -2
- package/dist/domains/ml/learning-loop/learning-loop-diagram.mjs +0 -1
- package/dist/domains/ml/learning-loop/scene.mjs +2 -2
- package/dist/domains/ml/logistic-fit/scene.mjs +6 -5
- package/dist/domains/ml/loss-error/loss-diagram.mjs +3 -3
- package/dist/domains/ml/loss-error/scene.mjs +2 -2
- package/dist/domains/ml/matrix-vector/matrix-vector-diagram.mjs +0 -1
- package/dist/domains/ml/matrix-vector/scene.mjs +2 -2
- package/dist/domains/ml/memory-relay/model.d.mts +4 -4
- package/dist/domains/ml/memory-relay/scene.mjs +5 -4
- package/dist/domains/ml/model-complexity/scene.mjs +12 -4
- package/dist/domains/ml/multi-head-attention/multi-head-attention-diagram.mjs +0 -1
- package/dist/domains/ml/multi-head-attention/scene.mjs +4 -4
- package/dist/domains/ml/multimodal-alignment/scene.mjs +4 -4
- package/dist/domains/ml/next-token/scene.mjs +4 -5
- package/dist/domains/ml/overfit-gap/overfit-gap-diagram.mjs +2 -2
- package/dist/domains/ml/overfit-gap/scene.mjs +3 -4
- package/dist/domains/ml/pixel-filter/convolution-diagram.mjs +0 -1
- package/dist/domains/ml/pixel-filter/pixel-window-diagram.mjs +0 -1
- package/dist/domains/ml/pixel-filter/scene.mjs +2 -2
- package/dist/domains/ml/position-signals/scene.mjs +1 -2
- package/dist/domains/ml/query-key-value/model.d.mts +2 -2
- package/dist/domains/ml/query-key-value/query-key-value-diagram.mjs +0 -1
- package/dist/domains/ml/query-key-value/scene.mjs +3 -4
- package/dist/domains/ml/regression/activity.mjs +12 -8
- package/dist/domains/ml/regression/manifest.mjs +34 -1
- package/dist/domains/ml/regression/model.d.mts +8 -0
- package/dist/domains/ml/regression/model.mjs +12 -10
- package/dist/domains/ml/regression/runtime.mjs +12 -9
- package/dist/domains/ml/regression/scene.mjs +74 -17
- package/dist/domains/ml/residual-stream/residual-stream-diagram.d.mts +0 -1
- package/dist/domains/ml/residual-stream/residual-stream-diagram.mjs +0 -1
- package/dist/domains/ml/residual-stream/scene.mjs +4 -4
- package/dist/domains/ml/reward-groups/model.mjs +1 -1
- package/dist/domains/ml/reward-groups/scene.mjs +3 -4
- package/dist/domains/ml/scaled-dot-product-attention/scene.mjs +1 -2
- package/dist/domains/ml/tiny-network/model.mjs +1 -1
- package/dist/domains/ml/tiny-network/scene.mjs +5 -6
- package/dist/domains/ml/token-generation/model.mjs +1 -1
- package/dist/domains/ml/token-generation/scene.mjs +1 -2
- package/dist/domains/ml/tokenizer-bpe/model.mjs +1 -1
- package/dist/domains/ml/training-loop/scene.mjs +2 -4
- package/dist/domains/ml/transformer-block/scene.mjs +2 -3
- package/dist/domains/ml/unembedding/scene.mjs +2 -3
- package/dist/domains/networking/adaptive-video-call/scene.mjs +2 -5
- package/dist/domains/networking/bottleneck-queue/scene.mjs +82 -19
- package/dist/domains/networking/broadcast-delivery/scene.mjs +1 -3
- package/dist/domains/networking/cafe-privacy/runtime.mjs +6 -1
- package/dist/domains/networking/cafe-privacy/scene.mjs +296 -180
- package/dist/domains/networking/cell-size/CellSizeScene.mjs +1 -3
- package/dist/domains/networking/cloud-storage-design/manifest.mjs +2 -3
- package/dist/domains/networking/cloud-storage-design/scene.mjs +4 -7
- package/dist/domains/networking/container-deployment/scene.mjs +5 -8
- package/dist/domains/networking/data-recovery-planner/scene.mjs +4 -7
- package/dist/domains/networking/dhcp-lease/scene.mjs +0 -2
- package/dist/domains/networking/distributed-inference-topology/scene.mjs +3 -5
- package/dist/domains/networking/dns-resolution/scene.mjs +1 -4
- package/dist/domains/networking/edge-cache-delivery/scene.mjs +4 -7
- package/dist/domains/networking/ethernet-pinout/PlugScene.mjs +1 -3
- package/dist/domains/networking/failure-domain-planner/scene.mjs +4 -7
- package/dist/domains/networking/generation-capability/CapabilityTesterScene.mjs +0 -1
- package/dist/domains/networking/geo-market-routing/scene.mjs +3 -6
- package/dist/domains/networking/group-message-sync/scene.mjs +1 -3
- package/dist/domains/networking/handover-margin/scene.mjs +2 -4
- package/dist/domains/networking/home-broadband-journey/scene.mjs +1 -3
- package/dist/domains/networking/inference-capacity-planner/scene.mjs +3 -5
- package/dist/domains/networking/inference-degradation-planner/scene.mjs +3 -5
- package/dist/domains/networking/inference-request-pipeline/scene.mjs +0 -1
- package/dist/domains/networking/infrastructure-drift-planner/scene.mjs +3 -5
- package/dist/domains/networking/ipv6-neighbor/scene.mjs +0 -2
- package/dist/domains/networking/layer-encapsulation/scene.mjs +5 -9
- package/dist/domains/networking/live-stream-pipeline/scene.mjs +1 -3
- package/dist/domains/networking/media-encoding/scene.mjs +1 -3
- package/dist/domains/networking/message-journey/scene.mjs +1 -3
- package/dist/domains/networking/mobile-call-journey/scene.mjs +1 -3
- package/dist/domains/networking/model-routing-economics/scene.mjs +3 -5
- package/dist/domains/networking/modem-modulation/scene.mjs +2 -4
- package/dist/domains/networking/nat-traversal/scene.mjs +0 -2
- package/dist/domains/networking/network-media/scene.mjs +0 -2
- package/dist/domains/networking/orbit-latency/SatelliteScene.mjs +1 -3
- package/dist/domains/networking/orchestration-reconciler/scene.mjs +5 -8
- package/dist/domains/networking/packet-journey/NetworkScene.d.mts +0 -1
- package/dist/domains/networking/packet-journey/NetworkScene.mjs +0 -2
- package/dist/domains/networking/prefix-cache-planner/scene.mjs +4 -6
- package/dist/domains/networking/release-strategy-planner/scene.mjs +2 -4
- package/dist/domains/networking/route-learning/scene.mjs +2 -4
- package/dist/domains/networking/secret-rotation-planner/scene.mjs +2 -4
- package/dist/domains/networking/server-deployment/scene.mjs +0 -2
- package/dist/domains/networking/service-scaling/scene.mjs +2 -5
- package/dist/domains/networking/shared-airtime/scene.mjs +2 -4
- package/dist/domains/networking/signal-through-walls/SignalThroughWallsScene.mjs +2 -5
- package/dist/domains/networking/slo-incident-console/scene.mjs +3 -6
- package/dist/domains/networking/spectrum-map/SpectrumMapScene.mjs +0 -1
- package/dist/domains/networking/subnet-builder/SubnetScene.mjs +0 -2
- package/dist/domains/networking/switch-learning/SwitchScene.mjs +0 -3
- package/dist/domains/networking/tcp-handshake/scene.mjs +6 -7
- package/dist/domains/networking/tcp-sender/scene.mjs +0 -2
- package/dist/domains/networking/tls-connection/scene.mjs +0 -2
- package/dist/domains/networking/vlan-designer/VlanScene.mjs +8 -10
- package/dist/domains/networking/vpc-route-planner/scene.mjs +4 -7
- package/dist/domains/networking/vpn-tunnel/VpnScene.mjs +3 -6
- package/dist/domains/networking/wave-size/WaveSizeScene.mjs +10 -10
- package/dist/domains/networking/wifi-contention/scene.mjs +0 -2
- package/dist/domains/networking/wifi-coverage/scene.mjs +4 -5
- package/dist/domains/networking/workload-identity-planner/scene.mjs +2 -4
- package/dist/domains/physics/electricity/capacitor-energy/activity.mjs +1 -1
- package/dist/domains/physics/electricity/capacitor-energy/layout.mjs +107 -0
- package/dist/domains/physics/electricity/capacitor-energy/manifest.mjs +1 -1
- package/dist/domains/physics/electricity/capacitor-energy/scene.mjs +286 -323
- package/dist/domains/physics/electricity/circuit-energy-flow/scene.mjs +1 -3
- package/dist/domains/physics/electricity/circuit-fault-detective/scene.mjs +3 -3
- package/dist/domains/physics/electricity/circuit-iv-investigation/scene.mjs +4 -5
- package/dist/domains/physics/electricity/coulomb-superposition/manifest.mjs +1 -1
- package/dist/domains/physics/electricity/coulomb-superposition/model.mjs +2 -2
- package/dist/domains/physics/electricity/coulomb-superposition/scene.mjs +2 -3
- package/dist/domains/physics/electricity/electric-field/scene.mjs +7 -11
- package/dist/domains/physics/electricity/electric-flux/preset.mjs +1 -1
- package/dist/domains/physics/electricity/electric-flux/scene.mjs +7 -4
- package/dist/domains/physics/electricity/friction-charging/scene.mjs +4 -6
- package/dist/domains/physics/electricity/gauss-law/runtime.mjs +0 -1
- package/dist/domains/physics/electricity/gauss-law/scene.mjs +4 -5
- package/dist/domains/physics/electricity/plug-safety-inspector/scene.mjs +6 -8
- package/dist/domains/physics/electricity/rectifier-bench/scene.mjs +290 -281
- package/dist/domains/physics/electricity/regulated-supply/scene.mjs +1 -3
- package/dist/domains/physics/electricity/work-potential/labels.mjs +85 -0
- package/dist/domains/physics/electricity/work-potential/scene.mjs +37 -41
- package/dist/domains/physics/energy/bullet-walls/scene.mjs +6 -5
- package/dist/domains/physics/energy/efficiency/device-art.mjs +7 -9
- package/dist/domains/physics/energy/efficiency/scene.mjs +0 -1
- package/dist/domains/physics/energy/energy-resource-grid/scene.mjs +10 -11
- package/dist/domains/physics/energy/energy-skate/scene.mjs +2 -4
- package/dist/domains/physics/energy/lifting-work/scene.mjs +1 -3
- package/dist/domains/physics/energy/power/activity.mjs +1 -1
- package/dist/domains/physics/energy/power/manifest.mjs +2 -1
- package/dist/domains/physics/energy/power/model.mjs +2 -2
- package/dist/domains/physics/energy/power/scene.mjs +28 -22
- package/dist/domains/physics/energy/work-energy/scene.mjs +11 -13
- package/dist/domains/physics/fields/field-geometry/scene.mjs +2 -4
- package/dist/domains/physics/fields/gravitation/scene.mjs +2 -4
- package/dist/domains/physics/fields/gravity-profile/runtime.mjs +0 -1
- package/dist/domains/physics/fields/gravity-profile/scene.mjs +1 -5
- package/dist/domains/physics/fields/kepler/scene.mjs +2 -4
- package/dist/domains/physics/fields/orbit-lab/model.mjs +46 -28
- package/dist/domains/physics/fields/orbit-lab/scene.mjs +3 -6
- package/dist/domains/physics/forces/atwood/scene.mjs +13 -18
- package/dist/domains/physics/forces/beam-reactions/scene.mjs +13 -14
- package/dist/domains/physics/forces/circular-motion/scene.mjs +7 -8
- package/dist/domains/physics/forces/collision-track/activity.mjs +8 -1
- package/dist/domains/physics/forces/collision-track/manifest.mjs +6 -2
- package/dist/domains/physics/forces/collision-track/model.mjs +1 -8
- package/dist/domains/physics/forces/collision-track/runtime.mjs +1 -1
- package/dist/domains/physics/forces/collision-track/scene.mjs +13 -10
- package/dist/domains/physics/forces/contact-pressure/footprint-scene.mjs +12 -10
- package/dist/domains/physics/forces/couple-torque/scene.mjs +10 -10
- package/dist/domains/physics/forces/force-pairs/scene.mjs +8 -11
- package/dist/domains/physics/forces/impulse/activity.mjs +3 -3
- package/dist/domains/physics/forces/impulse/manifest.mjs +1 -1
- package/dist/domains/physics/forces/impulse/model.mjs +2 -2
- package/dist/domains/physics/forces/impulse/runtime.mjs +3 -3
- package/dist/domains/physics/forces/impulse/scene.mjs +16 -20
- package/dist/domains/physics/forces/lever/runtime.mjs +0 -1
- package/dist/domains/physics/forces/lever/scene.mjs +6 -9
- package/dist/domains/physics/forces/lift-weight/scene.mjs +9 -8
- package/dist/domains/physics/forces/newton-first-law/model.mjs +1 -0
- package/dist/domains/physics/forces/newton-first-law/scene.mjs +15 -13
- package/dist/domains/physics/forces/ramp-forces/evidence.mjs +1 -3
- package/dist/domains/physics/forces/ramp-forces/scene.mjs +35 -26
- package/dist/domains/physics/forces/rocket-flight/scene.mjs +3 -5
- package/dist/domains/physics/forces/spin-studio/activity.mjs +2 -34
- package/dist/domains/physics/forces/spin-studio/manifest.mjs +3 -3
- package/dist/domains/physics/forces/spin-studio/model.mjs +0 -1
- package/dist/domains/physics/forces/spin-studio/scene.mjs +112 -82
- package/dist/domains/physics/forces/spring-combinations/scene.mjs +7 -11
- package/dist/domains/physics/forces/stability/scene.mjs +10 -16
- package/dist/domains/physics/forces/terminal-velocity/scene.mjs +3 -5
- package/dist/domains/physics/magnetism/ac-generator/model.mjs +2 -3
- package/dist/domains/physics/magnetism/ac-generator/scene.mjs +167 -58
- package/dist/domains/physics/magnetism/alternating-current/scene.mjs +290 -360
- package/dist/domains/physics/magnetism/coil-torque/scene.mjs +7 -5
- package/dist/domains/physics/magnetism/dc-motor/manifest.mjs +1 -1
- package/dist/domains/physics/magnetism/dc-motor/runtime.mjs +2 -2
- package/dist/domains/physics/magnetism/dc-motor/scene.mjs +362 -262
- package/dist/domains/physics/magnetism/earth-field/scene.mjs +216 -177
- package/dist/domains/physics/magnetism/generator-grid-mission/scene.mjs +18 -21
- package/dist/domains/physics/magnetism/induction-bench/scene.mjs +8 -13
- package/dist/domains/physics/magnetism/inductor-energy/scene.mjs +9 -11
- package/dist/domains/physics/magnetism/lorentz/scene.mjs +2 -4
- package/dist/domains/physics/magnetism/magnet-pair/lesson-examples.mjs +4 -4
- package/dist/domains/physics/magnetism/magnet-pair/manifest.mjs +1 -1
- package/dist/domains/physics/magnetism/magnet-pair/model.mjs +3 -3
- package/dist/domains/physics/magnetism/magnet-pair/runtime.mjs +5 -5
- package/dist/domains/physics/magnetism/magnet-pair/scene.mjs +103 -313
- package/dist/domains/physics/magnetism/magnetic-field/activity.mjs +44 -36
- package/dist/domains/physics/magnetism/magnetic-field/manifest.mjs +1 -1
- package/dist/domains/physics/magnetism/magnetic-field/model.mjs +6 -6
- package/dist/domains/physics/magnetism/magnetic-field/runtime.mjs +2 -1
- package/dist/domains/physics/magnetism/magnetic-field/scene.mjs +33 -39
- package/dist/domains/physics/magnetism/magnetism/model.mjs +15 -8
- package/dist/domains/physics/magnetism/magnetism/runtime.mjs +0 -1
- package/dist/domains/physics/magnetism/magnetism/scene.mjs +3 -5
- package/dist/domains/physics/magnetism/magnetism-diagram/schema.mjs +1 -2
- package/dist/domains/physics/magnetism/mutual-induction/scene.mjs +7 -9
- package/dist/domains/physics/magnetism/relay-bench/scene.mjs +11 -16
- package/dist/domains/physics/magnetism/rl-step-response/model.mjs +3 -2
- package/dist/domains/physics/magnetism/rl-step-response/scene.mjs +1 -3
- package/dist/domains/physics/magnetism/soft-iron-steel/scene.mjs +74 -124
- package/dist/domains/physics/magnetism/solenoid-bench/activity.mjs +1 -1
- package/dist/domains/physics/magnetism/solenoid-bench/manifest.mjs +3 -8
- package/dist/domains/physics/magnetism/solenoid-bench/model.mjs +3 -3
- package/dist/domains/physics/magnetism/solenoid-bench/runtime.mjs +2 -1
- package/dist/domains/physics/magnetism/solenoid-bench/scene.mjs +239 -162
- package/dist/domains/physics/magnetism/spatial-lorentz/scene.mjs +3 -4
- package/dist/domains/physics/magnetism/transformer-bench/scene.mjs +171 -62
- package/dist/domains/physics/magnetism/wire-force-angle/scene.mjs +2 -3
- package/dist/domains/physics/matter/buoyancy/scene.mjs +2 -3
- package/dist/domains/physics/matter/carnot/cycle-scene.mjs +272 -218
- package/dist/domains/physics/matter/cooling-insulation-investigation/scene.mjs +13 -15
- package/dist/domains/physics/matter/density-displacement/scene.mjs +10 -10
- package/dist/domains/physics/matter/entropy/entropy-scene.mjs +277 -231
- package/dist/domains/physics/matter/evaporation/activity.mjs +12 -5
- package/dist/domains/physics/matter/evaporation/dish-scene.mjs +189 -162
- package/dist/domains/physics/matter/evaporation/manifest.mjs +4 -2
- package/dist/domains/physics/matter/evaporation/model.mjs +23 -38
- package/dist/domains/physics/matter/evaporation/runtime.mjs +1 -0
- package/dist/domains/physics/matter/fluid-pressure/scene.mjs +1 -2
- package/dist/domains/physics/matter/gas-process/manifest.mjs +3 -2
- package/dist/domains/physics/matter/gas-process/model.mjs +9 -4
- package/dist/domains/physics/matter/gas-process/scene.mjs +201 -153
- package/dist/domains/physics/matter/gas-theory/theory-scenes.mjs +11 -14
- package/dist/domains/physics/matter/heat-transfer/conduction-scene.mjs +19 -15
- package/dist/domains/physics/matter/heat-transfer/convection-scene.mjs +9 -10
- package/dist/domains/physics/matter/heat-transfer/radiation-scene.mjs +54 -66
- package/dist/domains/physics/matter/heat-transfer/scene.mjs +1 -2
- package/dist/domains/physics/matter/heat-transfer-cases/scene.mjs +24 -26
- package/dist/domains/physics/matter/heating-curve/heating-scene.mjs +9 -11
- package/dist/domains/physics/matter/heating-curve/model.mjs +5 -13
- package/dist/domains/physics/matter/specific-heat/scene.mjs +11 -11
- package/dist/domains/physics/matter/stress-strain/wire-scene.mjs +13 -13
- package/dist/domains/physics/matter/temperature-scales/scene.mjs +6 -8
- package/dist/domains/physics/matter/thermal-equilibrium/scene.mjs +13 -14
- package/dist/domains/physics/matter/thermal-expansion/expansion-scenes.mjs +24 -26
- package/dist/domains/physics/matter/thermal-expansion/scene.mjs +1 -2
- package/dist/domains/physics/matter/venturi/activity.mjs +1 -1
- package/dist/domains/physics/matter/venturi/manifest.mjs +8 -7
- package/dist/domains/physics/matter/venturi/model.mjs +1 -1
- package/dist/domains/physics/matter/venturi/runtime.mjs +1 -0
- package/dist/domains/physics/matter/venturi/scene.mjs +2 -3
- package/dist/domains/physics/matter/water-density/scene.mjs +2 -4
- package/dist/domains/physics/measurement/data-table-clinic/scene.mjs +0 -1
- package/dist/domains/physics/measurement/evaluation-clinic/scene.mjs +5 -8
- package/dist/domains/physics/measurement/graph-craft/scene.mjs +2 -4
- package/dist/domains/physics/measurement/homogeneity-check/scene.mjs +1 -2
- package/dist/domains/physics/measurement/paper5-analysis-lab/scene.mjs +4 -6
- package/dist/domains/physics/measurement/physics-practical-studio/scene.mjs +10 -10
- package/dist/domains/physics/measurement/precision-measurement-lab/scene.mjs +7 -5
- package/dist/domains/physics/measurement/prefix-ladder/scene.mjs +0 -1
- package/dist/domains/physics/measurement/reading-spread/scene.mjs +20 -7
- package/dist/domains/physics/measurement/scale-reading/scene.mjs +11 -13
- package/dist/domains/physics/measurement/uncertainty-budget/scene.mjs +0 -1
- package/dist/domains/physics/measurement/unit-machine/scene.mjs +1 -2
- package/dist/domains/physics/modern/acoustic-boundary/acoustic-boundary.mjs +2 -3
- package/dist/domains/physics/modern/bloch-sphere/runtime.mjs +1 -2
- package/dist/domains/physics/modern/double-slit/double-slit-scene.mjs +1 -3
- package/dist/domains/physics/modern/fission-chain/fission-scene.mjs +1 -3
- package/dist/domains/physics/modern/hydrogen-spectrum/scene.mjs +2 -4
- package/dist/domains/physics/modern/length-contraction/scene.mjs +3 -6
- package/dist/domains/physics/modern/lorentz-transformation/scene.mjs +7 -6
- package/dist/domains/physics/modern/muon-survival/scene.mjs +23 -15
- package/dist/domains/physics/modern/nuclear-binding-energy/scene.mjs +8 -10
- package/dist/domains/physics/modern/pet-scan/pet-scene.mjs +5 -8
- package/dist/domains/physics/modern/photoelectric-effect/scene.mjs +16 -18
- package/dist/domains/physics/modern/quantum-gates/scene.mjs +1 -2
- package/dist/domains/physics/modern/radiation-half-life-investigation/runtime.mjs +7 -18
- package/dist/domains/physics/modern/radiation-half-life-investigation/scene.mjs +67 -57
- package/dist/domains/physics/modern/radioactive-decay/scene.mjs +3 -5
- package/dist/domains/physics/modern/relativity-light-clock/light-clock.mjs +3 -5
- package/dist/domains/physics/modern/relativity-light-clock/spacetime.mjs +0 -1
- package/dist/domains/physics/modern/relativity-simultaneity/simultaneity-scene.mjs +3 -5
- package/dist/domains/physics/modern/tomography/scene.mjs +0 -1
- package/dist/domains/physics/modern/ultrasound-frequency/scene.mjs +1 -3
- package/dist/domains/physics/modern/uncertainty-wave-packet/scene.mjs +2 -3
- package/dist/domains/physics/modern/xray-attenuation/xray-scene.mjs +8 -6
- package/dist/domains/physics/modern/xray-tube-spectrum/spectrum-scene.mjs +17 -9
- package/dist/domains/physics/motion/falling-target/target-scene.mjs +8 -6
- package/dist/domains/physics/motion/gravity-drop/scene.mjs +4 -6
- package/dist/domains/physics/motion/intercept/animals.mjs +0 -1
- package/dist/domains/physics/motion/intercept/scene.mjs +9 -9
- package/dist/domains/physics/motion/linear-pursuit/pursuit-scene.mjs +4 -6
- package/dist/domains/physics/motion/moving-launcher/runtime.mjs +0 -1
- package/dist/domains/physics/motion/moving-launcher/scene.mjs +4 -10
- package/dist/domains/physics/motion/projectile-lab/model.mjs +4 -4
- package/dist/domains/physics/motion/projectile-lab/scene.mjs +14 -18
- package/dist/domains/physics/motion/rain-relative/model.mjs +5 -11
- package/dist/domains/physics/motion/rain-relative/scene.mjs +9 -8
- package/dist/domains/physics/motion/river-boat/model.mjs +6 -12
- package/dist/domains/physics/motion/river-boat/scene.mjs +9 -10
- package/dist/domains/physics/motion/stopping-distance/stopping-scene.mjs +5 -7
- package/dist/domains/physics/motion/trolley-acceleration-investigation/scene.mjs +14 -13
- package/dist/domains/physics/motion/trolley-acceleration-investigation/trolley.d.mts +0 -1
- package/dist/domains/physics/motion/trolley-acceleration-investigation/trolley.mjs +26 -17
- package/dist/domains/physics/motion/vector-board/model.mjs +14 -14
- package/dist/domains/physics/motion/vector-board/preset.d.mts +1 -1
- package/dist/domains/physics/motion/vector-board/preset.mjs +8 -5
- package/dist/domains/physics/motion/vector-board/scene.mjs +157 -27
- package/dist/domains/physics/motion/vector-types/scene.mjs +2 -3
- package/dist/domains/physics/motion/vector-types/trip-scene.mjs +2 -4
- package/dist/domains/physics/motion/velocity-gradient/scene.mjs +1 -2
- package/dist/domains/physics/space/cosmic-expansion/scene.mjs +2 -3
- package/dist/domains/physics/space/stellar-distance/scene.mjs +2 -4
- package/dist/domains/physics/space/stellar-evolution/scene.mjs +2 -4
- package/dist/domains/physics/space/stellar-radiation/scene.mjs +2 -3
- package/dist/domains/physics/waves/bench/bench-scene.mjs +35 -13
- package/dist/domains/physics/waves/bench/wave-experience-scene.mjs +4 -6
- package/dist/domains/physics/waves/car-suspension/scene.mjs +3 -5
- package/dist/domains/physics/waves/diffraction-grating/scene.mjs +8 -7
- package/dist/domains/physics/waves/doppler/doppler-scene.mjs +3 -5
- package/dist/domains/physics/waves/echo-ranging/scene.mjs +5 -6
- package/dist/domains/physics/waves/fibre-pulse/scene.mjs +1 -1
- package/dist/domains/physics/waves/gap-diffraction/gap-scene.mjs +20 -13
- package/dist/domains/physics/waves/glass-block-refraction/scene.mjs +3 -3
- package/dist/domains/physics/waves/guitar-string/scene.mjs +1 -2
- package/dist/domains/physics/waves/harmonic-modes/scene.mjs +3 -5
- package/dist/domains/physics/waves/lens-focal-investigation/activity.mjs +127 -118
- package/dist/domains/physics/waves/lens-focal-investigation/manifest.mjs +9 -2
- package/dist/domains/physics/waves/lens-focal-investigation/model.mjs +4 -1
- package/dist/domains/physics/waves/lens-focal-investigation/runtime.mjs +1 -0
- package/dist/domains/physics/waves/lens-focal-investigation/scene.mjs +25 -47
- package/dist/domains/physics/waves/lens-geometry/scene.mjs +31 -33
- package/dist/domains/physics/waves/lens-imaging/runtime.mjs +0 -1
- package/dist/domains/physics/waves/lens-imaging/scene.mjs +0 -1
- package/dist/domains/physics/waves/lens-mission/scene.mjs +3 -5
- package/dist/domains/physics/waves/mirror-imaging/runtime.mjs +0 -1
- package/dist/domains/physics/waves/mirror-imaging/scene.mjs +0 -1
- package/dist/domains/physics/waves/optics/apparatus.mjs +8 -4
- package/dist/domains/physics/waves/optics/runtime.mjs +0 -1
- package/dist/domains/physics/waves/optics/scene.mjs +3 -4
- package/dist/domains/physics/waves/optics-mission/scene.mjs +2 -4
- package/dist/domains/physics/waves/pendulum-worlds/scene.mjs +118 -72
- package/dist/domains/physics/waves/plane-mirror/scene.mjs +1 -2
- package/dist/domains/physics/waves/polarisation/polariser-scene.mjs +20 -14
- package/dist/domains/physics/waves/prism-dispersion/scene.mjs +0 -1
- package/dist/domains/physics/waves/progressive-stationary/scene.mjs +2 -4
- package/dist/domains/physics/waves/pulse-echo/scene.mjs +1 -2
- package/dist/domains/physics/waves/refraction/scene.mjs +15 -12
- package/dist/domains/physics/waves/ripple-tank/scene.mjs +1 -2
- package/dist/domains/physics/waves/shm/model.mjs +43 -8
- package/dist/domains/physics/waves/shm/scene.mjs +3 -5
- package/dist/domains/physics/waves/shm-energy/scene.mjs +1 -2
- package/dist/domains/physics/waves/shm-graphs/scene.mjs +1 -2
- package/dist/domains/physics/waves/sound-air/scene.mjs +2 -3
- package/dist/domains/physics/waves/sound-medium/scene.mjs +1 -2
- package/dist/domains/physics/waves/sound-mission/scene.mjs +1 -2
- package/dist/domains/physics/waves/spectral-resolver/scene.mjs +0 -1
- package/dist/domains/physics/waves/spectrum-mission/scene.mjs +0 -1
- package/dist/domains/physics/waves/string-reflection/scene.mjs +2 -4
- package/dist/domains/physics/waves/timbre/scene.mjs +0 -1
- package/dist/domains/physics/waves/two-source/two-source-scene.mjs +3 -5
- package/dist/domains/physics/waves/water-wave-refraction/scene.mjs +2 -3
- package/dist/domains/physics/waves/young-double-slit/model.mjs +4 -1
- package/dist/domains/physics/waves/young-double-slit/young-scene.mjs +8 -9
- package/dist/domains/render-map.mjs +39 -1
- package/dist/domains/render.d.mts +1 -9
- package/dist/domains/render.mjs +11 -15
- package/dist/domains/revision/chapter-summary/manifest.mjs +1 -2
- package/dist/domains/revision/concept-sprint/model.mjs +2 -2
- package/dist/domains/revision/step-order-puzzle/model.mjs +1 -1
- package/dist/domains/statistics/bar-chart-builder/model.mjs +1 -1
- package/dist/domains/statistics/bar-chart-builder/scene.mjs +0 -1
- package/dist/domains/statistics/center-spread/activity.mjs +5 -3
- package/dist/domains/statistics/center-spread/balance-scene.mjs +75 -23
- package/dist/domains/statistics/center-spread/model.mjs +2 -1
- package/dist/domains/statistics/center-spread/scene.mjs +8 -7
- package/dist/domains/statistics/cumulative-frequency-builder/scene.mjs +0 -1
- package/dist/domains/statistics/frequency-density/activity.mjs +1 -1
- package/dist/domains/statistics/frequency-density/density-scene.mjs +127 -122
- package/dist/domains/statistics/frequency-density/manifest.mjs +2 -2
- package/dist/domains/statistics/frequency-density/runtime.mjs +5 -4
- package/dist/domains/statistics/galton/model.mjs +137 -108
- package/dist/domains/statistics/galton/runtime.mjs +14 -35
- package/dist/domains/statistics/galton/scene.mjs +85 -153
- package/dist/domains/statistics/histogram/manifest.mjs +19 -0
- package/dist/domains/statistics/histogram/model.mjs +9 -3
- package/dist/domains/statistics/histogram/runtime.mjs +1 -1
- package/dist/domains/statistics/histogram/scene.mjs +21 -11
- package/dist/domains/statistics/histogram-builder/scene.mjs +0 -1
- package/dist/domains/statistics/histogram-interval/scene.mjs +0 -1
- package/dist/domains/statistics/normal/normal-scene.mjs +0 -1
- package/dist/domains/statistics/normal/runtime.mjs +1 -1
- package/dist/domains/statistics/normal/scene.mjs +1 -2
- package/dist/domains/statistics/ogive/ogive-scene.mjs +63 -36
- package/dist/domains/statistics/ogive/scene.mjs +1 -2
- package/dist/domains/statistics/pictogram-builder/model.mjs +5 -4
- package/dist/domains/statistics/pictogram-builder/scene.mjs +0 -1
- package/dist/domains/statistics/pie-chart-builder/model.mjs +5 -4
- package/dist/domains/statistics/pie-chart-builder/scene.mjs +0 -1
- package/dist/domains/statistics/sampling/model.mjs +2 -2
- package/dist/domains/statistics/sampling/runtime.mjs +4 -4
- package/dist/domains/statistics/sampling/sampling-scene.mjs +0 -1
- package/dist/domains/statistics/sampling/scene.mjs +1 -2
- package/dist/domains/statistics/scatter-builder/scene.mjs +0 -1
- package/dist/domains/statistics/series/model.mjs +6 -4
- package/dist/domains/statistics/series/runtime.mjs +4 -4
- package/dist/domains/statistics/series/series-scene.mjs +50 -17
- package/dist/domains/statistics/series-chart-builder/model.mjs +5 -4
- package/dist/domains/statistics/series-chart-builder/scene.mjs +0 -1
- package/dist/domains/statistics/two-way-table-builder/model.mjs +4 -3
- package/dist/domains/statistics/two-way-table-builder/scene.mjs +0 -1
- package/dist/domains/statistics/z-table/scene.mjs +0 -1
- package/dist/exam/answer-spec.mjs +15 -2
- package/dist/exam/exam-question/core.d.mts +1 -1
- package/dist/exam/exam-question/core.mjs +9 -2
- package/dist/geometry/board/construction.d.mts +11 -3
- package/dist/geometry/board/construction.mjs +13 -0
- package/dist/geometry/board/index.d.mts +1 -1
- package/dist/geometry/board/schema.mjs +106 -0
- package/dist/geometry/index.d.mts +1 -1
- package/dist/ict/number-systems/wheel.mjs +2 -2
- package/dist/illustrations/story-scene/accounting/cash-credit-flow.mjs +1 -1
- package/dist/illustrations/story-scene/accounting/delivery-van.mjs +1 -1
- package/dist/illustrations/story-scene/accounting/shop-counter-till.mjs +1 -1
- package/dist/illustrations/story-scene/accounting/stocktake-shelves.mjs +4 -3
- package/dist/illustrations/story-scene/accounting/supplier-delivery.mjs +1 -1
- package/dist/illustrations/story-scene/accounting/tea-stall.mjs +1 -1
- package/dist/illustrations/story-scene/accounting/van.mjs +3 -3
- package/dist/illustrations/story-scene/accounting/workshop-machine.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/acid-rain.mjs +6 -5
- package/dist/illustrations/story-scene/chemistry/balls-in-box.mjs +1 -1
- package/dist/illustrations/story-scene/chemistry/blast-furnace.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/bread-dough.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/brick-rebuild.mjs +6 -5
- package/dist/illustrations/story-scene/chemistry/bromine-water-test.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/charge-see-saw.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/cold-pack.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/corridor-pace.mjs +1 -1
- package/dist/illustrations/story-scene/chemistry/crowd-states.mjs +1 -1
- package/dist/illustrations/story-scene/chemistry/distillation-rig.mjs +1 -1
- package/dist/illustrations/story-scene/chemistry/dozen-weigh.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/ethene-bag.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/fertiliser-field.mjs +4 -4
- package/dist/illustrations/story-scene/chemistry/fractionating-tower.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/fruity-ester.mjs +8 -7
- package/dist/illustrations/story-scene/chemistry/hand-sanitiser.mjs +6 -5
- package/dist/illustrations/story-scene/chemistry/hand-warmer.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/ionic-tug-of-war.mjs +6 -5
- package/dist/illustrations/story-scene/chemistry/lime-kiln.mjs +1 -1
- package/dist/illustrations/story-scene/chemistry/lunch-box.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/magnesium-ribbon.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/nylon-rope.mjs +8 -7
- package/dist/illustrations/story-scene/chemistry/pancake-stack.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/petrol-station.mjs +6 -5
- package/dist/illustrations/story-scene/chemistry/photosynthesis-leaf.mjs +1 -1
- package/dist/illustrations/story-scene/chemistry/plastic-recycling.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/recipe-card.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/rusty-bike.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/sandwich-stall.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/scrap-box.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/squash-jug.mjs +6 -5
- package/dist/illustrations/story-scene/chemistry/sugar-cube.mjs +4 -3
- package/dist/illustrations/story-scene/chemistry/vinegar-kitchen.mjs +6 -5
- package/dist/illustrations/story-scene/chemistry/water-treatment.mjs +10 -9
- package/dist/illustrations/story-scene/everyday/bicycle-wheel.mjs +4 -3
- package/dist/illustrations/story-scene/everyday/cake-slices.mjs +3 -3
- package/dist/illustrations/story-scene/everyday/car-road.mjs +3 -3
- package/dist/illustrations/story-scene/everyday/phone-battery.mjs +3 -3
- package/dist/illustrations/story-scene/everyday/train-speedometer.mjs +1 -1
- package/dist/illustrations/story-scene/math/bag-of-counters.mjs +3 -3
- package/dist/illustrations/story-scene/math/bank-savings.mjs +3 -3
- package/dist/illustrations/story-scene/math/building-shadow.mjs +1 -1
- package/dist/illustrations/story-scene/math/bus-timetable.mjs +4 -3
- package/dist/illustrations/story-scene/math/cylinder-tank.mjs +4 -3
- package/dist/illustrations/story-scene/math/elevation.mjs +1 -1
- package/dist/illustrations/story-scene/math/flag-pole.mjs +1 -1
- package/dist/illustrations/story-scene/math/football-goal.mjs +1 -1
- package/dist/illustrations/story-scene/math/kite-string.mjs +1 -1
- package/dist/illustrations/story-scene/math/ladder-wall.mjs +1 -1
- package/dist/illustrations/story-scene/math/map-scale.mjs +3 -3
- package/dist/illustrations/story-scene/math/phone-tower.mjs +1 -1
- package/dist/illustrations/story-scene/math/photo-line-up.mjs +1 -1
- package/dist/illustrations/story-scene/math/population-town.mjs +1 -1
- package/dist/illustrations/story-scene/math/pyramid-tent.mjs +4 -3
- package/dist/illustrations/story-scene/math/ramp.mjs +4 -3
- package/dist/illustrations/story-scene/math/shop-price-tag.mjs +3 -3
- package/dist/illustrations/story-scene/math/tank-tap.mjs +4 -3
- package/dist/illustrations/story-scene/math/team-pick.mjs +1 -1
- package/dist/illustrations/story-scene/parts.mjs +9 -8
- package/dist/illustrations/story-scene/physics/cliff-throw.mjs +1 -1
- package/dist/illustrations/story-scene/physics/curved-slide.mjs +4 -3
- package/dist/illustrations/story-scene/physics/electric-kettle.mjs +3 -3
- package/dist/illustrations/story-scene/physics/hot-drink.mjs +3 -3
- package/dist/illustrations/story-scene/physics/lift-shaft.mjs +1 -1
- package/dist/illustrations/story-scene/physics/sealed-syringe.mjs +3 -3
- package/dist/illustrations/story-scene/physics/see-saw.mjs +4 -3
- package/dist/illustrations/story-scene/physics/trolley-pull.mjs +4 -3
- package/dist/illustrations/story-scene/story-scene.mjs +33 -19
- package/dist/index.d.mts +2 -5
- package/dist/index.mjs +1 -4
- package/dist/kit/active-recall.mjs +1 -1
- package/dist/kit/activity-authoring.d.mts +27 -1
- package/dist/kit/activity.mjs +1 -1
- package/dist/kit/algorithms/graph.d.mts +10 -3
- package/dist/kit/algorithms/graph.mjs +14 -14
- package/dist/kit/algorithms/index.mjs +3 -3
- package/dist/kit/anim.d.mts +82 -28
- package/dist/kit/anim.mjs +378 -63
- package/dist/kit/annotate.mjs +22 -9
- package/dist/kit/assets.mjs +1 -1
- package/dist/kit/authored-activity-runtime.d.mts +9 -0
- package/dist/kit/authored-activity-runtime.mjs +4 -4
- package/dist/kit/authored-response.mjs +5 -1
- package/dist/kit/bar-strip.mjs +8 -8
- package/dist/kit/biology/cell/membrane.mjs +3 -17
- package/dist/kit/biology/genetics/chromosome-diagram.mjs +0 -1
- package/dist/kit/biology/index.d.mts +1 -1
- package/dist/kit/biology/index.mjs +1 -1
- package/dist/kit/canvas-layer.d.mts +2 -1
- package/dist/kit/canvas-layer.mjs +3 -1
- package/dist/kit/checkpoint.mjs +1 -1
- package/dist/kit/chemistry/bench.d.mts +6 -2
- package/dist/kit/chemistry/bench.mjs +63 -65
- package/dist/kit/chemistry/calorimeter.d.mts +0 -1
- package/dist/kit/chemistry/calorimeter.mjs +4 -4
- package/dist/kit/chemistry/carbon-sphere.mjs +0 -1
- package/dist/kit/chemistry/electrode.mjs +0 -1
- package/dist/kit/chemistry/equation-ledger.mjs +1 -2
- package/dist/kit/chemistry/flame.mjs +0 -1
- package/dist/kit/chemistry/formula.mjs +0 -1
- package/dist/kit/chemistry/gas-collection.mjs +2 -3
- package/dist/kit/chemistry/glass-label.d.mts +17 -0
- package/dist/kit/chemistry/glass-label.mjs +47 -0
- package/dist/kit/chemistry/glassware.mjs +35 -33
- package/dist/kit/chemistry/index.d.mts +2 -1
- package/dist/kit/chemistry/index.mjs +2 -1
- package/dist/kit/chemistry/ion-assembly.mjs +1 -2
- package/dist/kit/chemistry/mechanism.mjs +7 -7
- package/dist/kit/chemistry/molecule.mjs +2 -1
- package/dist/kit/chemistry/nmr-figure.mjs +0 -1
- package/dist/kit/chemistry/observation.d.mts +9 -15
- package/dist/kit/chemistry/observation.mjs +12 -16
- package/dist/kit/chemistry/particles.d.mts +8 -3
- package/dist/kit/chemistry/particles.mjs +11 -12
- package/dist/kit/chemistry/process.mjs +11 -18
- package/dist/kit/chemistry/quantity-route-figure.mjs +29 -39
- package/dist/kit/chemistry/quantity-route-objects.mjs +7 -8
- package/dist/kit/chemistry/reaction.mjs +0 -1
- package/dist/kit/chemistry/spectrum.mjs +0 -1
- package/dist/kit/chemistry/structure-figure.mjs +2 -1
- package/dist/kit/chemistry/volumetric-flask.mjs +6 -5
- package/dist/kit/clue-scene.d.mts +5 -0
- package/dist/kit/clue-scene.mjs +63 -31
- package/dist/kit/cluster.mjs +0 -1
- package/dist/kit/commerce/books.d.mts +3 -1
- package/dist/kit/commerce/books.mjs +4 -4
- package/dist/kit/commerce/buildings.mjs +4 -10
- package/dist/kit/commerce/glyphs.mjs +4 -5
- package/dist/kit/commerce/ledger.mjs +12 -21
- package/dist/kit/controls.d.mts +28 -5
- package/dist/kit/controls.mjs +104 -26
- package/dist/kit/coords.d.mts +27 -1
- package/dist/kit/coords.mjs +76 -27
- package/dist/kit/counting/cards.mjs +1 -3
- package/dist/kit/counting/counter.mjs +8 -8
- package/dist/kit/counting/running-chart.mjs +0 -2
- package/dist/kit/counting/tiles.mjs +1 -3
- package/dist/kit/cycle.mjs +34 -14
- package/dist/kit/data/categorical-bar-board.d.mts +0 -1
- package/dist/kit/data/categorical-bar-core.mjs +25 -12
- package/dist/kit/data/histogram-construction-board.d.mts +0 -1
- package/dist/kit/data/histogram-construction-board.mjs +8 -3
- package/dist/kit/data/histogram-interval-board.d.mts +0 -1
- package/dist/kit/data/histogram-interval-board.mjs +8 -3
- package/dist/kit/data/histogram-plot.mjs +8 -3
- package/dist/kit/data/index.mjs +1 -1
- package/dist/kit/data/pictogram-board.d.mts +0 -1
- package/dist/kit/data/pictogram-board.mjs +23 -6
- package/dist/kit/data/pie-chart-board.d.mts +2 -6
- package/dist/kit/data/pie-chart-board.mjs +7 -30
- package/dist/kit/data/scatter-point-board.d.mts +0 -1
- package/dist/kit/data/scatter-point-board.mjs +8 -3
- package/dist/kit/data/series-chart-board.d.mts +0 -1
- package/dist/kit/data/two-way-table-board.d.mts +0 -1
- package/dist/kit/data/two-way-table-board.mjs +21 -5
- package/dist/kit/data-scene.mjs +0 -1
- package/dist/kit/diagram/annotations.mjs +50 -3
- package/dist/kit/diagram/label-placement.mjs +47 -2
- package/dist/kit/discrete/tile.mjs +1 -3
- package/dist/{domains/economics/_shared → kit/economics}/market-plot.mjs +18 -14
- package/dist/kit/electronics/_shared.mjs +8 -29
- package/dist/kit/electronics/bench-instruments.mjs +32 -16
- package/dist/kit/electronics/bench-set.mjs +115 -167
- package/dist/kit/electronics/bench.mjs +12 -10
- package/dist/kit/electronics/carriers.mjs +88 -0
- package/dist/kit/electronics/components.mjs +2 -4
- package/dist/kit/electronics/icons.mjs +3 -2
- package/dist/kit/electronics/index.mjs +5 -4
- package/dist/kit/electronics/logic-bench.mjs +8 -7
- package/dist/kit/electronics/rectifier.mjs +34 -25
- package/dist/kit/electronics/signals.mjs +38 -31
- package/dist/kit/embed.mjs +1 -1
- package/dist/kit/ensure-asset.mjs +9 -10
- package/dist/kit/figure/action.mjs +5 -1
- package/dist/kit/figure/container.d.mts +2 -1
- package/dist/kit/figure/container.mjs +72 -36
- package/dist/kit/figure/database.mjs +2 -3
- package/dist/kit/figure/detent-path-grip.d.mts +6 -2
- package/dist/kit/figure/detent-path-grip.mjs +150 -49
- package/dist/kit/figure/figure.d.mts +22 -18
- package/dist/kit/figure/figure.mjs +13 -10
- package/dist/kit/figure/format.d.mts +2 -30
- package/dist/kit/figure/format.mjs +2 -62
- package/dist/kit/figure/grip-motion.d.mts +103 -0
- package/dist/kit/figure/grip-motion.mjs +283 -0
- package/dist/kit/figure/grip-pointer.d.mts +54 -0
- package/dist/kit/figure/grip-pointer.mjs +108 -0
- package/dist/kit/figure/grip.d.mts +35 -6
- package/dist/kit/figure/grip.mjs +347 -131
- package/dist/kit/figure/index.d.mts +10 -4
- package/dist/kit/figure/index.mjs +9 -3
- package/dist/kit/figure/key-scale.mjs +73 -17
- package/dist/kit/figure/legend.mjs +12 -5
- package/dist/kit/figure/lines.d.mts +24 -0
- package/dist/kit/figure/lines.mjs +16 -0
- package/dist/kit/figure/math-text.mjs +1 -1
- package/dist/kit/figure/plot.d.mts +5 -1
- package/dist/kit/figure/plot.mjs +6 -5
- package/dist/kit/figure/reading.d.mts +120 -0
- package/dist/kit/figure/reading.mjs +437 -0
- package/dist/kit/figure/run-key.mjs +2 -4
- package/dist/kit/figure/text-metrics.d.mts +92 -0
- package/dist/kit/figure/text-metrics.data.mjs +654 -0
- package/dist/kit/figure/text-metrics.mjs +125 -0
- package/dist/kit/figure/text.d.mts +0 -13
- package/dist/kit/figure/text.mjs +19 -36
- package/dist/kit/figure/value-control.d.mts +0 -1
- package/dist/kit/figure/value-control.mjs +30 -26
- package/dist/kit/figure-drag.mjs +53 -40
- package/dist/kit/finance-viz/index.mjs +1 -1
- package/dist/kit/finance-viz/plot-chart.mjs +13 -7
- package/dist/kit/finance-viz/tradeoff-curve.mjs +10 -7
- package/dist/kit/frame.mjs +1 -1
- package/dist/kit/freq-tree.mjs +0 -1
- package/dist/kit/gameshow.mjs +17 -6
- package/dist/kit/geometry/bound-figure.mjs +7 -6
- package/dist/kit/geometry/compass-construction-figure.d.mts +0 -1
- package/dist/kit/geometry/compass-construction-figure.mjs +4 -4
- package/dist/kit/geometry/cuboid-body.mjs +1 -1
- package/dist/kit/geometry/cuboid-mirror-figure.d.mts +0 -1
- package/dist/kit/geometry/cuboid-mirror-figure.mjs +2 -2
- package/dist/kit/geometry/cuboid-planes-figure.d.mts +0 -1
- package/dist/kit/geometry/cuboid-planes-figure.mjs +19 -6
- package/dist/kit/geometry/folding-net-figure.d.mts +0 -1
- package/dist/kit/geometry/folding-net-figure.mjs +3 -3
- package/dist/kit/geometry/instrument-figure.d.mts +0 -1
- package/dist/kit/geometry/instrument-figure.mjs +21 -5
- package/dist/kit/geometry/projected-solid-body.mjs +2 -2
- package/dist/kit/geometry/pyramid-mirror-figure.d.mts +0 -1
- package/dist/kit/geometry/pyramid-mirror-figure.mjs +3 -3
- package/dist/kit/geometry/solid-rotation-figure.d.mts +0 -1
- package/dist/kit/geometry/solid-rotation-figure.mjs +3 -3
- package/dist/kit/gravitation/section.mjs +2 -2
- package/dist/kit/index.d.mts +45 -36
- package/dist/kit/index.mjs +47 -38
- package/dist/kit/instruments.mjs +185 -143
- package/dist/kit/language/speaker-glyph.mjs +0 -1
- package/dist/kit/lesson-questions.mjs +24 -3
- package/dist/kit/logic-gates/display.mjs +0 -1
- package/dist/kit/logic-gates/gate.mjs +7 -4
- package/dist/kit/logic-gates/register.mjs +1 -3
- package/dist/kit/magnetism/bench.mjs +1 -7
- package/dist/kit/magnetism/fleming-hand.mjs +374 -0
- package/dist/kit/magnetism/glyphs.d.mts +2 -7
- package/dist/kit/magnetism/glyphs.mjs +82 -68
- package/dist/kit/magnetism/index.d.mts +2 -2
- package/dist/kit/magnetism/index.mjs +1 -1
- package/dist/kit/magnetism/machine.d.mts +17 -5
- package/dist/kit/magnetism/machine.mjs +123 -57
- package/dist/kit/math/algebra-area-tiles.d.mts +7 -1
- package/dist/kit/math/algebra-area-tiles.mjs +113 -16
- package/dist/kit/math/algebra-balance.d.mts +0 -1
- package/dist/kit/math/algebra-balance.mjs +165 -152
- package/dist/kit/math/algebra-elimination-board.d.mts +0 -1
- package/dist/kit/math/algebra-elimination-board.mjs +0 -1
- package/dist/kit/math/index.d.mts +2 -1
- package/dist/kit/math/index.mjs +2 -1
- package/dist/kit/math/math-rail.mjs +2 -1
- package/dist/kit/math/square-of-sum-grid.d.mts +26 -0
- package/dist/kit/math/square-of-sum-grid.mjs +167 -0
- package/dist/kit/molecules.mjs +0 -1
- package/dist/kit/movable-dot.d.mts +2 -2
- package/dist/kit/movable-dot.mjs +2 -2
- package/dist/kit/networking/accelerator-card.mjs +1 -3
- package/dist/kit/networking/access-glyphs.mjs +0 -2
- package/dist/{domains/networking/_shared → kit/networking}/decision-scene.d.mts +1 -1
- package/dist/{domains/networking/_shared → kit/networking}/decision-scene.mjs +10 -8
- package/dist/kit/networking/failure-domain-map.mjs +0 -2
- package/dist/kit/networking/index.mjs +2 -2
- package/dist/kit/networking/infrastructure-glyphs.mjs +0 -2
- package/dist/kit/networking/memory-budget-strip.mjs +1 -3
- package/dist/kit/networking/primitives.d.mts +1 -2
- package/dist/kit/networking/primitives.mjs +3 -4
- package/dist/kit/networking/prompt-token-strip.mjs +1 -5
- package/dist/kit/networking/release-glyphs.mjs +0 -1
- package/dist/kit/networking/replica-fleet.d.mts +0 -1
- package/dist/kit/networking/replica-fleet.mjs +0 -1
- package/dist/kit/networking/request-outcome-strip.mjs +0 -1
- package/dist/kit/networking/scene/buffer.mjs +2 -6
- package/dist/kit/networking/scene/channel.d.mts +0 -1
- package/dist/kit/networking/scene/channel.mjs +2 -4
- package/dist/kit/networking/scene/control.d.mts +0 -1
- package/dist/kit/networking/scene/control.mjs +8 -8
- package/dist/kit/networking/scene/index.mjs +2 -2
- package/dist/kit/networking/scene/media.mjs +1 -3
- package/dist/kit/networking/scene/objects.mjs +16 -19
- package/dist/kit/networking/scene/observability.mjs +0 -1
- package/dist/kit/networking/scene/route.mjs +1 -3
- package/dist/kit/networking/scene/switch.mjs +3 -3
- package/dist/kit/networking/secret-glyphs.mjs +0 -1
- package/dist/kit/networking/signal-glyphs.mjs +1 -3
- package/dist/kit/networking/vpc-route-glyph.mjs +0 -2
- package/dist/kit/number-response.mjs +1 -1
- package/dist/kit/plane-grip.d.mts +1 -1
- package/dist/kit/plane-grip.mjs +2 -1
- package/dist/kit/play.mjs +1 -1
- package/dist/kit/point-binding.d.mts +1 -1
- package/dist/kit/predict.d.mts +1 -1
- package/dist/kit/predict.mjs +2 -1
- package/dist/kit/probability.mjs +0 -1
- package/dist/kit/quantum/bloch-sphere.mjs +0 -1
- package/dist/kit/reaction.mjs +0 -1
- package/dist/kit/reasoning/claim-card.mjs +1 -3
- package/dist/kit/receipt.mjs +2 -2
- package/dist/kit/rich.mjs +1 -1
- package/dist/kit/rule.d.mts +2 -1
- package/dist/kit/rule.mjs +22 -13
- package/dist/kit/scale.mjs +17 -16
- package/dist/kit/scene/compare.mjs +210 -0
- package/dist/kit/scene/context.d.mts +1 -1
- package/dist/kit/scene/cutaway.mjs +202 -0
- package/dist/kit/scene/explode.mjs +235 -0
- package/dist/kit/scene/graph.d.mts +14 -2
- package/dist/kit/scene/graph.mjs +100 -11
- package/dist/kit/scene/index.mjs +16 -10
- package/dist/kit/scene/loupe.mjs +252 -0
- package/dist/kit/scene/materials.d.mts +132 -0
- package/dist/kit/scene/materials.mjs +247 -0
- package/dist/kit/scene/objects/balance.mjs +3 -4
- package/dist/kit/scene/objects/bench.mjs +11 -13
- package/dist/kit/scene/objects/block.d.mts +22 -36
- package/dist/kit/scene/objects/block.mjs +394 -118
- package/dist/kit/scene/objects/car.mjs +4 -4
- package/dist/kit/scene/objects/charges.mjs +1 -2
- package/dist/kit/scene/objects/clock.mjs +2 -3
- package/dist/kit/scene/objects/dial.mjs +22 -29
- package/dist/kit/scene/objects/energy.mjs +4 -5
- package/dist/kit/scene/objects/fan.mjs +1 -2
- package/dist/kit/scene/objects/forces.d.mts +5 -2
- package/dist/kit/scene/objects/forces.mjs +4 -4
- package/dist/kit/scene/objects/gauges.mjs +2 -15
- package/dist/kit/scene/objects/instruments.mjs +10 -9
- package/dist/kit/scene/objects/knob.mjs +146 -0
- package/dist/kit/scene/objects/lift.mjs +0 -2
- package/dist/kit/scene/objects/light-clock.mjs +4 -6
- package/dist/kit/scene/objects/mechanics.mjs +21 -30
- package/dist/kit/scene/objects/mechanisms.mjs +9 -9
- package/dist/kit/scene/objects/observer.mjs +1 -2
- package/dist/kit/scene/objects/optical-bench.mjs +8 -5
- package/dist/kit/scene/objects/optical-signal.mjs +0 -1
- package/dist/kit/scene/objects/parachute.mjs +1 -2
- package/dist/kit/scene/objects/pendulum.mjs +6 -5
- package/dist/kit/scene/objects/person.mjs +1 -2
- package/dist/kit/scene/objects/piston.mjs +3 -4
- package/dist/kit/scene/objects/projectiles.mjs +4 -5
- package/dist/kit/scene/objects/replay.mjs +0 -1
- package/dist/kit/scene/objects/rocket.mjs +1 -2
- package/dist/kit/scene/objects/roller.mjs +1 -2
- package/dist/kit/scene/objects/signed-bars.mjs +0 -1
- package/dist/kit/scene/objects/spacecraft.mjs +0 -1
- package/dist/kit/scene/objects/spectrum.mjs +0 -1
- package/dist/kit/scene/objects/stand.mjs +4 -4
- package/dist/kit/scene/objects/strike.mjs +1 -2
- package/dist/kit/scene/objects/suspension.mjs +4 -5
- package/dist/kit/scene/objects/tank.mjs +0 -1
- package/dist/kit/scene/objects/thermometer.mjs +1 -2
- package/dist/kit/scene/objects/top-vehicle.mjs +1 -2
- package/dist/kit/scene/objects/train.mjs +3 -4
- package/dist/kit/scene/objects/waves.mjs +73 -18
- package/dist/kit/scene/river.mjs +102 -93
- package/dist/kit/scene/scene.d.mts +0 -1
- package/dist/kit/scene/scene.mjs +25 -29
- package/dist/kit/scene/scenery.d.mts +0 -7
- package/dist/kit/scene/scenery.mjs +12 -17
- package/dist/kit/scene/tokens.d.mts +66 -8
- package/dist/kit/scene/tokens.mjs +84 -33
- package/dist/kit/scene/vectors.mjs +0 -1
- package/dist/kit/scene/workbench.d.mts +2 -2
- package/dist/kit/scene/workbench.mjs +5 -5
- package/dist/kit/scene-settings.d.mts +3 -1
- package/dist/kit/scene-settings.mjs +24 -16
- package/dist/kit/scenes.d.mts +7 -1
- package/dist/kit/scenes.mjs +53 -26
- package/dist/kit/shell/context.d.mts +15 -1
- package/dist/kit/shell/context.mjs +40 -8
- package/dist/kit/shell/earned.mjs +13 -11
- package/dist/kit/shell/index.d.mts +3 -3
- package/dist/kit/shell/index.mjs +4 -4
- package/dist/kit/shell/model-entry.mjs +38 -20
- package/dist/kit/shell/model-note.mjs +52 -0
- package/dist/kit/shell/note.mjs +3 -1
- package/dist/kit/shell/parts.d.mts +3 -2
- package/dist/kit/shell/parts.mjs +50 -31
- package/dist/kit/shell/provider.d.mts +10 -1
- package/dist/kit/shell/provider.mjs +52 -22
- package/dist/kit/shell/question-evidence.mjs +6 -5
- package/dist/kit/shell/scene-control.mjs +3 -3
- package/dist/kit/shell/select-choices.mjs +7 -5
- package/dist/kit/simulation/clock.mjs +3 -3
- package/dist/kit/simulation/use-simulation.mjs +3 -3
- package/dist/kit/space/bodies.mjs +2 -2
- package/dist/kit/ticks.mjs +13 -4
- package/dist/kit/transport.d.mts +10 -1
- package/dist/kit/transport.mjs +21 -7
- package/dist/kit/turn-surface.mjs +31 -24
- package/dist/kit/vessel.mjs +0 -1
- package/dist/kit/world/runtime.mjs +3 -3
- package/dist/kit/world/world-scene.mjs +2 -2
- package/dist/lab-def/define-lab.d.mts +6 -3
- package/dist/lab-def/lab-props.mjs +2 -1
- package/dist/lab-def/lab-runtime.d.mts +3 -1
- package/dist/lab-def/lab-runtime.mjs +158 -67
- package/dist/lab-def/runtime-load.mjs +35 -0
- package/dist/lab-def/to-block.mjs +6 -1
- package/dist/logic/LogicScene.mjs +16 -5
- package/dist/logic/index.d.mts +1 -2
- package/dist/logic/index.mjs +1 -2
- package/dist/logic/registry.d.mts +5 -0
- package/dist/logic/registry.mjs +33 -2
- package/dist/logic/runtime/index.d.mts +1 -2
- package/dist/logic/runtime/index.mjs +1 -2
- package/dist/math/answer-accuracy/core.mjs +1 -1
- package/dist/math/index.d.mts +2 -1
- package/dist/math/interactive/preset.d.mts +1 -1
- package/dist/math/interactive/preset.mjs +46 -24
- package/dist/math/lines-in-space/index.mjs +1 -1
- package/dist/math/mystery-bucket/asset.d.mts +3 -1
- package/dist/math/mystery-bucket/asset.mjs +37 -12
- package/dist/math/mystery-bucket/preset.d.mts +4 -4
- package/dist/math/mystery-bucket/preset.mjs +4 -5
- package/dist/ml/worlds/synthetic.mjs +1 -1
- package/dist/model/controls.d.mts +4 -0
- package/dist/model/define.d.mts +14 -0
- package/dist/model/define.mjs +20 -1
- package/dist/model/format.d.mts +33 -0
- package/dist/model/format.mjs +76 -0
- package/dist/model/index.d.mts +4 -2
- package/dist/model/index.mjs +3 -1
- package/dist/model/model-note.d.mts +16 -0
- package/dist/model/model-note.mjs +34 -0
- package/dist/model/money.d.mts +36 -0
- package/dist/model/money.mjs +45 -0
- package/dist/model/resolved-value.mjs +16 -0
- package/dist/model/session.d.mts +3 -0
- package/dist/model/session.mjs +7 -1
- package/dist/networking/CellularScene.mjs +4 -3
- package/dist/physics/constants.d.mts +12 -11
- package/dist/physics/constants.mjs +27 -26
- package/dist/physics/exponential/asset.mjs +7 -2
- package/dist/physics/exponential/preset.mjs +60 -58
- package/dist/physics/mechanics/presentation.mjs +8 -9
- package/dist/physics/modern/shared/experiment-transport.mjs +3 -3
- package/dist/physics/optics/eye-correction.mjs +2 -2
- package/dist/physics/optics/imaging-world-scene.mjs +18 -14
- package/dist/physics/optics/light-path-world-scene.mjs +4 -4
- package/dist/physics/waves/wave-bench-scene.mjs +2 -2
- package/dist/physics/waves/wave-bench-skins.mjs +11 -13
- package/dist/registry/generated/packs/accounting.mjs +56 -0
- package/dist/registry/generated/packs/chem.mjs +40 -0
- package/dist/registry/generated/packs/circuits.mjs +8 -0
- package/dist/registry/generated/packs/geometry.mjs +9 -0
- package/dist/registry/generated/packs/ict.mjs +24 -0
- package/dist/registry/generated/packs/math.mjs +20 -1
- package/dist/registry/pack.d.mts +8 -0
- package/dist/registry/registry.d.mts +25 -1
- package/dist/registry/registry.mjs +22 -1
- package/dist/runtime/index.d.mts +2 -2
- package/dist/runtime/index.mjs +2 -2
- package/dist/runtime/lab-goals.mjs +8 -3
- package/dist/runtime/lab-keys.mjs +13 -15
- package/dist/runtime/lab-viewport.mjs +29 -0
- package/dist/runtime/use-control.d.mts +2 -2
- package/dist/runtime/use-control.mjs +7 -5
- package/dist/runtime/use-lab-view.d.mts +2 -0
- package/dist/runtime/use-lab-view.mjs +1 -0
- package/dist/runtime/use-lab.d.mts +6 -0
- package/dist/runtime/use-lab.mjs +12 -6
- package/dist/runtime/use-reveal.mjs +2 -2
- package/dist/runtime/visibility.d.mts +32 -0
- package/dist/runtime/visibility.mjs +80 -0
- package/dist/schemas/activity-authoring.d.mts +78 -4
- package/dist/schemas/activity-authoring.mjs +26 -0
- package/dist/schemas/index.d.mts +4 -4
- package/dist/schemas/lesson-questions.d.mts +22 -0
- package/dist/schemas/lesson-questions.mjs +28 -10
- package/dist/shared/fields.mjs +21 -1
- package/dist/styles/manifest.mjs +714 -695
- package/dist/testing/conformance.d.mts +8 -2
- package/dist/testing/conformance.mjs +12 -4
- package/dist/three/chemistry/atomic-orbital.d.mts +3 -6
- package/dist/three/chemistry/atomic-orbital.mjs +5 -6
- package/dist/three/chemistry/crystal-lattice.d.mts +2 -1
- package/dist/three/chemistry/crystal-lattice.mjs +4 -1
- package/dist/three/chemistry/molecular-geometry.d.mts +2 -1
- package/dist/three/chemistry/molecular-geometry.mjs +4 -1
- package/dist/three/chemistry/orbital-overlap.d.mts +2 -1
- package/dist/three/chemistry/orbital-overlap.mjs +4 -1
- package/dist/three/index.d.mts +2 -1
- package/dist/three/index.mjs +2 -1
- package/dist/three/math/solids-of-revolution.d.mts +3 -7
- package/dist/three/math/solids-of-revolution.mjs +5 -7
- package/dist/three/primitives.d.mts +11 -6
- package/dist/three/primitives.mjs +21 -24
- package/dist/three/studio.d.mts +102 -0
- package/dist/three/studio.mjs +263 -0
- package/dist/three/surface.mjs +14 -4
- package/package.json +105 -29
- package/styles/core/components.css +3 -7
- package/styles/core/figure-interaction.css +10 -24
- package/styles/core/interaction-scenes.css +10 -1
- package/styles/core/primitives.css +1 -1
- package/styles/core/runtime.css +8 -8
- package/styles/core/shared.css +7 -10
- package/styles/core/workbenches.css +11 -6
- package/styles/domains/commerce.css +3 -0
- package/styles/domains/parts/commerce-books.css +443 -0
- package/styles/domains/parts/commerce-costing.css +341 -0
- package/styles/domains/parts/commerce-foundation.css +517 -21
- package/styles/domains/parts/commerce-household.css +379 -0
- package/styles/domains/parts/commerce-statements.css +293 -0
- package/styles/domains/parts/discrete-6.css +7 -0
- package/styles/domains/parts/exam-practice.css +2 -1
- package/styles/domains/parts/ict.css +235 -0
- package/styles/domains/parts/math-1.css +139 -10
- package/styles/domains/parts/math-7.css +35 -0
- package/styles/domains.css +3 -0
- package/styles/figure.css +64 -48
- package/styles/runtime.css +5 -3
- package/styles/scene.css +324 -100
- package/styles/shell.css +61 -0
- package/styles.css +3 -3
- package/tailwind.css +12 -6
- package/dist/algorithms/ListLab.d.mts +0 -54
- package/dist/algorithms/ListLab.mjs +0 -692
- package/dist/algorithms/TraceTransport.d.mts +0 -11
- package/dist/algorithms/TraceTransport.mjs +0 -165
- package/dist/blocks/lab-block.mjs +0 -87
- package/dist/commerce/accounting/books/index.mjs +0 -8
- package/dist/core/numeric.d.mts +0 -19
- package/dist/core/numeric.mjs +0 -36
- package/dist/core/rng.d.mts +0 -2
- package/dist/core/rng.mjs +0 -3
- package/dist/core/timeline.d.mts +0 -32
- package/dist/core/timeline.mjs +0 -80
- package/dist/discrete/core/combinatorics.d.mts +0 -45
- package/dist/discrete/core/combinatorics.mjs +0 -100
- package/dist/discrete/core/probability.d.mts +0 -28
- package/dist/discrete/core/probability.mjs +0 -43
- package/dist/discrete/core/rng.d.mts +0 -2
- package/dist/discrete/core/rng.mjs +0 -3
- package/dist/domains/discrete/venn/inclusionExclusion.d.mts +0 -17
- package/dist/domains/discrete/venn/inclusionExclusion.mjs +0 -30
- package/dist/kit/counting/index.mjs +0 -6
- package/dist/kit/reasoning/index.mjs +0 -3
- package/dist/logic/gates.d.mts +0 -4
- package/dist/logic/gates.mjs +0 -32
- package/dist/statistics/core/descriptive.d.mts +0 -34
- package/dist/statistics/core/descriptive.mjs +0 -65
- package/dist/statistics/core/index.d.mts +0 -3
- package/dist/statistics/core/index.mjs +0 -4
- package/dist/statistics/core/normal.d.mts +0 -20
- package/dist/statistics/core/normal.mjs +0 -37
- package/dist/statistics/index.d.mts +0 -4
- package/dist/statistics/index.mjs +0 -5
|
@@ -137,6 +137,35 @@ const generatedManifestCatalog = [
|
|
|
137
137
|
qualityTier: "support"
|
|
138
138
|
}
|
|
139
139
|
},
|
|
140
|
+
{
|
|
141
|
+
key: "cash-book",
|
|
142
|
+
label: "The cash book",
|
|
143
|
+
description: "Enter a month of transactions in a single-, double- or triple-column cash book as the NCTB book rules it: pick the side, the cash or bank column and the discount column; a contra lands on both sides marked (C). Then balance the book: Balance c/d on the lighter side of each money column, equal totals, Balance b/d brought down, discounts totalled. Every heading is a prop.",
|
|
144
|
+
category: "interactive",
|
|
145
|
+
void: true,
|
|
146
|
+
group: "Accounting",
|
|
147
|
+
domain: "accounting",
|
|
148
|
+
taxonomy: {
|
|
149
|
+
grades: ["9", "10"],
|
|
150
|
+
outcomes: [
|
|
151
|
+
"accounting",
|
|
152
|
+
"cash-book",
|
|
153
|
+
"contra-entry",
|
|
154
|
+
"discount",
|
|
155
|
+
"balancing",
|
|
156
|
+
"bank-overdraft"
|
|
157
|
+
],
|
|
158
|
+
durationMinutes: 8,
|
|
159
|
+
interaction: "guided",
|
|
160
|
+
authorability: "simple",
|
|
161
|
+
related: [
|
|
162
|
+
"balance-off",
|
|
163
|
+
"document-desk",
|
|
164
|
+
"bank-reconciliation"
|
|
165
|
+
],
|
|
166
|
+
qualityTier: "support"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
140
169
|
{
|
|
141
170
|
key: "cash-budget-runway",
|
|
142
171
|
label: "Protect the Cash Runway",
|
|
@@ -283,6 +312,37 @@ const generatedManifestCatalog = [
|
|
|
283
312
|
qualityTier: "support"
|
|
284
313
|
}
|
|
285
314
|
},
|
|
315
|
+
{
|
|
316
|
+
key: "cost-ladder",
|
|
317
|
+
label: "Climb from cost to selling price",
|
|
318
|
+
description: "Costs stack like the rungs of a ladder until the selling price, and each rung is a named total. Tap the rung each cost item belongs on: goods, direct and indirect costs for a trader; materials, wages, direct expenses, factory, office and selling overheads (with the stocks) for a manufacturer. Purchase cost, prime cost, production cost and total cost appear as the ladder fills; then the expected profit, as a markup on cost or a margin on price, reaches the selling price, per unit too. Every label is a prop.",
|
|
319
|
+
category: "interactive",
|
|
320
|
+
void: true,
|
|
321
|
+
group: "Accounting",
|
|
322
|
+
domain: "accounting",
|
|
323
|
+
taxonomy: {
|
|
324
|
+
grades: ["9", "10"],
|
|
325
|
+
outcomes: [
|
|
326
|
+
"accounting",
|
|
327
|
+
"purchase-cost",
|
|
328
|
+
"prime-cost",
|
|
329
|
+
"cost-of-production",
|
|
330
|
+
"total-cost",
|
|
331
|
+
"selling-price",
|
|
332
|
+
"markup"
|
|
333
|
+
],
|
|
334
|
+
durationMinutes: 12,
|
|
335
|
+
interaction: "guided",
|
|
336
|
+
authorability: "simple",
|
|
337
|
+
related: [
|
|
338
|
+
"manufacturing-flow",
|
|
339
|
+
"statement-workshop",
|
|
340
|
+
"apportion",
|
|
341
|
+
"break-even"
|
|
342
|
+
],
|
|
343
|
+
qualityTier: "support"
|
|
344
|
+
}
|
|
345
|
+
},
|
|
286
346
|
{
|
|
287
347
|
key: "costing-profit-bridge",
|
|
288
348
|
label: "Where Fixed Factory Cost Waits",
|
|
@@ -385,6 +445,38 @@ const generatedManifestCatalog = [
|
|
|
385
445
|
qualityTier: "support"
|
|
386
446
|
}
|
|
387
447
|
},
|
|
448
|
+
{
|
|
449
|
+
key: "document-desk",
|
|
450
|
+
label: "The document desk",
|
|
451
|
+
description: "Where the books begin. Sort: event or transaction, with the equation showing what moved. Identify: name an invoice, cash memo, debit or credit note, or voucher drawn as the book prints it, and who issued it. Fill: complete a debit or credit voucher from a story, each field marked. Journal: enter each document in the purchases, sales, returns, cash or general journal, its row in the book’s columns, each journal totalled with its month-end posting. Every content word is a prop, so the desk reads in the lesson’s language.",
|
|
452
|
+
category: "interactive",
|
|
453
|
+
void: true,
|
|
454
|
+
group: "Accounting",
|
|
455
|
+
domain: "accounting",
|
|
456
|
+
taxonomy: {
|
|
457
|
+
grades: ["9", "10"],
|
|
458
|
+
outcomes: [
|
|
459
|
+
"accounting",
|
|
460
|
+
"transaction",
|
|
461
|
+
"accounting-equation",
|
|
462
|
+
"source-documents",
|
|
463
|
+
"invoice",
|
|
464
|
+
"debit-note",
|
|
465
|
+
"credit-note",
|
|
466
|
+
"voucher",
|
|
467
|
+
"journal"
|
|
468
|
+
],
|
|
469
|
+
durationMinutes: 5,
|
|
470
|
+
interaction: "guided",
|
|
471
|
+
authorability: "simple",
|
|
472
|
+
related: [
|
|
473
|
+
"equation-map",
|
|
474
|
+
"entry-desk",
|
|
475
|
+
"dual-aspect-transfer"
|
|
476
|
+
],
|
|
477
|
+
qualityTier: "support"
|
|
478
|
+
}
|
|
479
|
+
},
|
|
388
480
|
{
|
|
389
481
|
key: "dual-aspect-transfer",
|
|
390
482
|
label: "One cheque, two account effects",
|
|
@@ -509,6 +601,38 @@ const generatedManifestCatalog = [
|
|
|
509
601
|
qualityTier: "support"
|
|
510
602
|
}
|
|
511
603
|
},
|
|
604
|
+
{
|
|
605
|
+
key: "equation-map",
|
|
606
|
+
label: "One equation, every idea",
|
|
607
|
+
description: "The accounting equation, basic or extended (A = L + (C − D + R − E)), with the lesson’s part lit. Tap a term to read it; show the sides to see debit and credit fall out of each term’s place; optional live amounts with one to find.",
|
|
608
|
+
category: "interactive",
|
|
609
|
+
void: true,
|
|
610
|
+
group: "Accounting",
|
|
611
|
+
domain: "accounting",
|
|
612
|
+
taxonomy: {
|
|
613
|
+
grades: [
|
|
614
|
+
"9",
|
|
615
|
+
"10",
|
|
616
|
+
"11"
|
|
617
|
+
],
|
|
618
|
+
outcomes: [
|
|
619
|
+
"accounting",
|
|
620
|
+
"accounting-equation",
|
|
621
|
+
"debit",
|
|
622
|
+
"credit",
|
|
623
|
+
"double-entry"
|
|
624
|
+
],
|
|
625
|
+
durationMinutes: 4,
|
|
626
|
+
interaction: "guided",
|
|
627
|
+
authorability: "simple",
|
|
628
|
+
related: [
|
|
629
|
+
"claim-split",
|
|
630
|
+
"equation-balance",
|
|
631
|
+
"dual-aspect-transfer"
|
|
632
|
+
],
|
|
633
|
+
qualityTier: "support"
|
|
634
|
+
}
|
|
635
|
+
},
|
|
512
636
|
{
|
|
513
637
|
key: "factory-expansion-case",
|
|
514
638
|
label: "Advise the Factory",
|
|
@@ -537,6 +661,35 @@ const generatedManifestCatalog = [
|
|
|
537
661
|
]
|
|
538
662
|
}
|
|
539
663
|
},
|
|
664
|
+
{
|
|
665
|
+
key: "household-accounts",
|
|
666
|
+
label: "Household accounts: budget, receipts and payments, income and expenditure",
|
|
667
|
+
description: "A family’s (or a small venture’s) money, three ways. Budget: sort each line under income or its spending head while the totals build, read the surplus or deficit and each head’s share, and set actual spending beside the plan. Receipts and payments: place each cash event on its side and balance the account with the closing cash. Income and expenditure: take only this period’s income and expenses into the statement (an asset bought goes to the statement of financial position), enter each adjustment twice, and carry the surplus to the family fund. Every heading and line name is a prop.",
|
|
668
|
+
category: "interactive",
|
|
669
|
+
void: true,
|
|
670
|
+
group: "Accounting",
|
|
671
|
+
domain: "accounting",
|
|
672
|
+
taxonomy: {
|
|
673
|
+
grades: ["9", "10"],
|
|
674
|
+
outcomes: [
|
|
675
|
+
"accounting",
|
|
676
|
+
"family-budget",
|
|
677
|
+
"receipts-and-payments",
|
|
678
|
+
"income-and-expenditure",
|
|
679
|
+
"family-fund",
|
|
680
|
+
"self-employment"
|
|
681
|
+
],
|
|
682
|
+
durationMinutes: 15,
|
|
683
|
+
interaction: "guided",
|
|
684
|
+
authorability: "simple",
|
|
685
|
+
related: [
|
|
686
|
+
"club-subscriptions",
|
|
687
|
+
"cash-book",
|
|
688
|
+
"statement-workshop"
|
|
689
|
+
],
|
|
690
|
+
qualityTier: "support"
|
|
691
|
+
}
|
|
692
|
+
},
|
|
540
693
|
{
|
|
541
694
|
key: "incomplete-records",
|
|
542
695
|
label: "Incomplete records: profit without a single entry",
|
|
@@ -1082,6 +1235,41 @@ const generatedManifestCatalog = [
|
|
|
1082
1235
|
authorability: "advanced"
|
|
1083
1236
|
}
|
|
1084
1237
|
},
|
|
1238
|
+
{
|
|
1239
|
+
key: "statement-workshop",
|
|
1240
|
+
label: "Prepare the final accounts",
|
|
1241
|
+
description: "A trial balance and its year-end adjustments placed line by line into the vertical final accounts: the detailed income statement in trading form, the statement of changes in owner’s equity and the statement of financial position (or two statements, equity inside the position). Each head goes in one statement and section; each adjustment goes in two. Totals appear as their figures arrive, net profit flows on, and the position balances. Every heading and line name is a prop.",
|
|
1242
|
+
category: "interactive",
|
|
1243
|
+
void: true,
|
|
1244
|
+
group: "Accounting",
|
|
1245
|
+
domain: "accounting",
|
|
1246
|
+
taxonomy: {
|
|
1247
|
+
grades: [
|
|
1248
|
+
"9",
|
|
1249
|
+
"10",
|
|
1250
|
+
"11"
|
|
1251
|
+
],
|
|
1252
|
+
outcomes: [
|
|
1253
|
+
"accounting",
|
|
1254
|
+
"financial-statements",
|
|
1255
|
+
"income-statement",
|
|
1256
|
+
"owners-equity",
|
|
1257
|
+
"statement-of-financial-position",
|
|
1258
|
+
"adjustments",
|
|
1259
|
+
"trial-balance"
|
|
1260
|
+
],
|
|
1261
|
+
durationMinutes: 20,
|
|
1262
|
+
interaction: "guided",
|
|
1263
|
+
authorability: "simple",
|
|
1264
|
+
related: [
|
|
1265
|
+
"trial-balance",
|
|
1266
|
+
"period-adjustment-workbench",
|
|
1267
|
+
"statement-builder",
|
|
1268
|
+
"ratio-lab"
|
|
1269
|
+
],
|
|
1270
|
+
qualityTier: "support"
|
|
1271
|
+
}
|
|
1272
|
+
},
|
|
1085
1273
|
{
|
|
1086
1274
|
key: "suspense-reconstruction",
|
|
1087
1275
|
label: "Clear the Suspense Account",
|
|
@@ -1107,6 +1295,40 @@ const generatedManifestCatalog = [
|
|
|
1107
1295
|
qualityTier: "support"
|
|
1108
1296
|
}
|
|
1109
1297
|
},
|
|
1298
|
+
{
|
|
1299
|
+
key: "trial-balance",
|
|
1300
|
+
label: "Build the trial balance",
|
|
1301
|
+
description: "The book’s trial balance (balance method): place each ledger balance in the debit or credit column, or leave it out (closing stock, contingent items), with the reason read off the equation; the totals add up live and are double-ruled when they agree. A second mode judges errors: predict whether each makes the totals disagree, then see its effect.",
|
|
1302
|
+
category: "interactive",
|
|
1303
|
+
void: true,
|
|
1304
|
+
group: "Accounting",
|
|
1305
|
+
domain: "accounting",
|
|
1306
|
+
taxonomy: {
|
|
1307
|
+
grades: [
|
|
1308
|
+
"9",
|
|
1309
|
+
"10",
|
|
1310
|
+
"11"
|
|
1311
|
+
],
|
|
1312
|
+
outcomes: [
|
|
1313
|
+
"accounting",
|
|
1314
|
+
"trial-balance",
|
|
1315
|
+
"debit",
|
|
1316
|
+
"credit",
|
|
1317
|
+
"errors",
|
|
1318
|
+
"ledger"
|
|
1319
|
+
],
|
|
1320
|
+
durationMinutes: 6,
|
|
1321
|
+
interaction: "guided",
|
|
1322
|
+
authorability: "simple",
|
|
1323
|
+
related: [
|
|
1324
|
+
"equation-map",
|
|
1325
|
+
"balance-off",
|
|
1326
|
+
"suspense-reconstruction",
|
|
1327
|
+
"ledger-detective"
|
|
1328
|
+
],
|
|
1329
|
+
qualityTier: "support"
|
|
1330
|
+
}
|
|
1331
|
+
},
|
|
1110
1332
|
{
|
|
1111
1333
|
key: "value-crossing",
|
|
1112
1334
|
label: "What crossed the business gate?",
|
|
@@ -1752,7 +1974,7 @@ const generatedManifestCatalog = [
|
|
|
1752
1974
|
{
|
|
1753
1975
|
key: "bohr-atom",
|
|
1754
1976
|
label: "Electron shell explorer",
|
|
1755
|
-
description: "
|
|
1977
|
+
description: "Walk the first 30 elements or place each next electron yourself: shells to 2n squared, subshells in n + l order, stable outer shells, and chromium and copper.",
|
|
1756
1978
|
category: "interactive",
|
|
1757
1979
|
void: true,
|
|
1758
1980
|
group: "Chemistry",
|
|
@@ -2124,7 +2346,7 @@ const generatedManifestCatalog = [
|
|
|
2124
2346
|
{
|
|
2125
2347
|
key: "covalent-bond-builder",
|
|
2126
2348
|
label: "Covalent bond builder",
|
|
2127
|
-
description: "Build H₂O, O₂,
|
|
2349
|
+
description: "Build Cl₂, H₂, HCl, CH₄, CO₂, H₂O, O₂, N₂ and NH₃ by sharing dot-and-cross electron pairs until every atom is full (2 for hydrogen, 8 for the others); compare single, double, and triple bonds and the lone pairs left behind. Open on NH₄⁺ or H₃N→BF₃ to build a dative bond, where one atom gives both electrons. Props: molecule (the case shown first).",
|
|
2128
2350
|
category: "interactive",
|
|
2129
2351
|
void: true,
|
|
2130
2352
|
group: "Chemistry",
|
|
@@ -2137,7 +2359,8 @@ const generatedManifestCatalog = [
|
|
|
2137
2359
|
"covalent-bonding",
|
|
2138
2360
|
"dot-and-cross",
|
|
2139
2361
|
"shared-pairs",
|
|
2140
|
-
"lone-pairs"
|
|
2362
|
+
"lone-pairs",
|
|
2363
|
+
"duet"
|
|
2141
2364
|
],
|
|
2142
2365
|
durationMinutes: 8,
|
|
2143
2366
|
interaction: "build",
|
|
@@ -2253,6 +2476,43 @@ const generatedManifestCatalog = [
|
|
|
2253
2476
|
authorability: "moderate"
|
|
2254
2477
|
}
|
|
2255
2478
|
},
|
|
2479
|
+
{
|
|
2480
|
+
key: "effusion",
|
|
2481
|
+
label: "Effusion: escape through a tiny hole",
|
|
2482
|
+
description: "Two balloons hold the same amount of different gases at one temperature. The learner pokes a hole in each and compares how fast the gas escapes, one molecule at a time. A lighter gas leaves faster: helium empties several times faster than carbon dioxide. The hole is idealised (far smaller than the gap between collisions). This is effusion, not the white ring in a tube, which is diffusion through air.",
|
|
2483
|
+
category: "interactive",
|
|
2484
|
+
void: true,
|
|
2485
|
+
group: "Chemistry",
|
|
2486
|
+
domain: "chem",
|
|
2487
|
+
taxonomy: {
|
|
2488
|
+
grades: ["9", "10"],
|
|
2489
|
+
outcomes: [
|
|
2490
|
+
"chemistry",
|
|
2491
|
+
"effusion",
|
|
2492
|
+
"kinetic-theory",
|
|
2493
|
+
"molar-mass"
|
|
2494
|
+
],
|
|
2495
|
+
durationMinutes: 6,
|
|
2496
|
+
interaction: "guided",
|
|
2497
|
+
authorability: "moderate",
|
|
2498
|
+
representation: "carrier",
|
|
2499
|
+
levels: ["o-level"],
|
|
2500
|
+
qualityTier: "support",
|
|
2501
|
+
primaryMechanic: "direct-manipulation",
|
|
2502
|
+
learnerAction: "poke a hole in each of two balloons, compare what is left, then try two other gases",
|
|
2503
|
+
evidenceTypes: [
|
|
2504
|
+
"count",
|
|
2505
|
+
"observation",
|
|
2506
|
+
"model-state"
|
|
2507
|
+
],
|
|
2508
|
+
mobileMode: "observation",
|
|
2509
|
+
misconceptions: [
|
|
2510
|
+
"diffusion and effusion are the same",
|
|
2511
|
+
"a heavier gas is pushed out harder so it leaves faster",
|
|
2512
|
+
"gas leaves a balloon all at once"
|
|
2513
|
+
]
|
|
2514
|
+
}
|
|
2515
|
+
},
|
|
2256
2516
|
{
|
|
2257
2517
|
key: "electrochem",
|
|
2258
2518
|
label: "Galvanic cell (Nernst EMF)",
|
|
@@ -2659,6 +2919,42 @@ const generatedManifestCatalog = [
|
|
|
2659
2919
|
qualityTier: "support"
|
|
2660
2920
|
}
|
|
2661
2921
|
},
|
|
2922
|
+
{
|
|
2923
|
+
key: "gas-diffusion",
|
|
2924
|
+
label: "Gas diffusion: where the white ring forms",
|
|
2925
|
+
description: "A glass tube of air with a plug soaked in one gas at each end. The two gases creep towards each other by diffusion and make a white solid where they meet. The lighter gas covers more distance in the same time, so the ring forms nearer the heavier gas, a little short of the middle. The learner swaps the plugs, warms the tube on a hot plate (the ring forms sooner, in the same place) and tries ammonia against HBr or HI. The lab prints no ring distance: it shows an ordering.",
|
|
2926
|
+
category: "interactive",
|
|
2927
|
+
void: true,
|
|
2928
|
+
group: "Chemistry",
|
|
2929
|
+
domain: "chem",
|
|
2930
|
+
taxonomy: {
|
|
2931
|
+
grades: ["9", "10"],
|
|
2932
|
+
outcomes: [
|
|
2933
|
+
"chemistry",
|
|
2934
|
+
"diffusion",
|
|
2935
|
+
"kinetic-theory",
|
|
2936
|
+
"molar-mass",
|
|
2937
|
+
"rate-and-temperature"
|
|
2938
|
+
],
|
|
2939
|
+
durationMinutes: 10,
|
|
2940
|
+
interaction: "guided",
|
|
2941
|
+
authorability: "moderate",
|
|
2942
|
+
representation: "carrier",
|
|
2943
|
+
levels: ["o-level"],
|
|
2944
|
+
qualityTier: "flagship",
|
|
2945
|
+
primaryMechanic: "direct-manipulation",
|
|
2946
|
+
learnerAction: "put the gas plugs in a tube, watch where the white ring forms, swap the plugs, warm the tube and try a heavier partner for ammonia",
|
|
2947
|
+
evidenceTypes: ["observation", "model-state"],
|
|
2948
|
+
mobileMode: "observation",
|
|
2949
|
+
misconceptions: [
|
|
2950
|
+
"the ring forms at the middle, or nearer the plug that went in first",
|
|
2951
|
+
"the heavier gas is stronger so it travels farther",
|
|
2952
|
+
"diffusion and effusion are the same",
|
|
2953
|
+
"warming the tube moves the ring",
|
|
2954
|
+
"gases need wind to mix"
|
|
2955
|
+
]
|
|
2956
|
+
}
|
|
2957
|
+
},
|
|
2662
2958
|
{
|
|
2663
2959
|
key: "hydrate-cycle",
|
|
2664
2960
|
label: "Crystal Colour Loop",
|
|
@@ -3309,6 +3605,43 @@ const generatedManifestCatalog = [
|
|
|
3309
3605
|
primaryMechanic: "investigation"
|
|
3310
3606
|
}
|
|
3311
3607
|
},
|
|
3608
|
+
{
|
|
3609
|
+
key: "ph-scale",
|
|
3610
|
+
label: "pH scale",
|
|
3611
|
+
description: "Dilute a strong acid or alkali tenfold at a time and watch the pH, the flat ion bar and the universal-indicator colour move on the pH ladder, then place the book’s everyday items on it.",
|
|
3612
|
+
category: "interactive",
|
|
3613
|
+
void: true,
|
|
3614
|
+
group: "Chemistry",
|
|
3615
|
+
domain: "chem",
|
|
3616
|
+
taxonomy: {
|
|
3617
|
+
grades: ["9", "10"],
|
|
3618
|
+
outcomes: [
|
|
3619
|
+
"ph-scale",
|
|
3620
|
+
"dilution",
|
|
3621
|
+
"acids-and-alkalis"
|
|
3622
|
+
],
|
|
3623
|
+
durationMinutes: 10,
|
|
3624
|
+
interaction: "guided",
|
|
3625
|
+
authorability: "simple",
|
|
3626
|
+
levels: ["o-level"],
|
|
3627
|
+
qualityTier: "support",
|
|
3628
|
+
primaryMechanic: "apparatus",
|
|
3629
|
+
learnerAction: "pour water into a beaker to dilute it tenfold, then slide a marker to the pH the colour shows",
|
|
3630
|
+
evidenceTypes: ["observation", "measurement"],
|
|
3631
|
+
mobileMode: "investigation",
|
|
3632
|
+
misconceptions: [
|
|
3633
|
+
"pH 3 is only a bit more acidic than pH 6 (it holds 1000 times more H⁺)",
|
|
3634
|
+
"diluting an acid enough makes it alkaline",
|
|
3635
|
+
"pH 7 means there is no H⁺ (pure water holds 1e-7 mol/L)",
|
|
3636
|
+
"a strong acid is a concentrated acid"
|
|
3637
|
+
],
|
|
3638
|
+
related: [
|
|
3639
|
+
"indicator-bench",
|
|
3640
|
+
"titration",
|
|
3641
|
+
"dilution"
|
|
3642
|
+
]
|
|
3643
|
+
}
|
|
3644
|
+
},
|
|
3312
3645
|
{
|
|
3313
3646
|
key: "polymer-builder",
|
|
3314
3647
|
label: "Polymer Builder",
|
|
@@ -3658,6 +3991,43 @@ const generatedManifestCatalog = [
|
|
|
3658
3991
|
authorability: "moderate"
|
|
3659
3992
|
}
|
|
3660
3993
|
},
|
|
3994
|
+
{
|
|
3995
|
+
key: "redox-transfer",
|
|
3996
|
+
label: "Redox transfer",
|
|
3997
|
+
description: "Class 9 redox in three modes. demo: carry electrons from one atom to another, then name the reductant and the oxidant. drill: find an oxidation number by turning a dial until the numbers on a balance add up to the charge. sort: place reaction cards in addition, decomposition, displacement, combustion or non-redox from their oxidation-number strips.",
|
|
3998
|
+
category: "interactive",
|
|
3999
|
+
void: true,
|
|
4000
|
+
group: "Chemistry",
|
|
4001
|
+
domain: "chem",
|
|
4002
|
+
taxonomy: {
|
|
4003
|
+
qualityTier: "support",
|
|
4004
|
+
grades: ["9", "10"],
|
|
4005
|
+
outcomes: [
|
|
4006
|
+
"chemistry",
|
|
4007
|
+
"redox",
|
|
4008
|
+
"oxidation-number",
|
|
4009
|
+
"reaction-types",
|
|
4010
|
+
"electron-transfer"
|
|
4011
|
+
],
|
|
4012
|
+
durationMinutes: 12,
|
|
4013
|
+
interaction: "guided",
|
|
4014
|
+
authorability: "simple",
|
|
4015
|
+
primaryMechanic: "particle-investigation",
|
|
4016
|
+
learnerAction: "carry an electron between atoms, balance oxidation numbers, sort reactions",
|
|
4017
|
+
evidenceTypes: [
|
|
4018
|
+
"count",
|
|
4019
|
+
"calculation",
|
|
4020
|
+
"model-state"
|
|
4021
|
+
],
|
|
4022
|
+
misconceptions: [
|
|
4023
|
+
"Oxidation means gaining oxygen only.",
|
|
4024
|
+
"The oxidant is the substance that is oxidised.",
|
|
4025
|
+
"Oxidation number is the same as valency.",
|
|
4026
|
+
"Oxidation can happen without reduction.",
|
|
4027
|
+
"Every reaction is a redox reaction."
|
|
4028
|
+
]
|
|
4029
|
+
}
|
|
4030
|
+
},
|
|
3661
4031
|
{
|
|
3662
4032
|
key: "relation-origin",
|
|
3663
4033
|
label: "Where a Formula Comes From",
|
|
@@ -3719,6 +4089,28 @@ const generatedManifestCatalog = [
|
|
|
3719
4089
|
authorability: "simple"
|
|
3720
4090
|
}
|
|
3721
4091
|
},
|
|
4092
|
+
{
|
|
4093
|
+
key: "soap-hard-water",
|
|
4094
|
+
label: "Soap and Hard Water",
|
|
4095
|
+
description: "Drip soap into tubes of water until they lather, and see calcium and magnesium turn the soap into scum first. Boil a tube to remove temporary hardness, add washing soda for the permanent kind, and swap to detergent, which makes no scum. A second mode shows soap ions closing a ring round an oil droplet on a cloth, in soft water and in hard water.",
|
|
4096
|
+
category: "interactive",
|
|
4097
|
+
void: true,
|
|
4098
|
+
group: "Chemistry",
|
|
4099
|
+
domain: "chem",
|
|
4100
|
+
taxonomy: {
|
|
4101
|
+
qualityTier: "support",
|
|
4102
|
+
grades: ["9", "10"],
|
|
4103
|
+
outcomes: [
|
|
4104
|
+
"chemistry",
|
|
4105
|
+
"hard-water",
|
|
4106
|
+
"soap-and-detergent",
|
|
4107
|
+
"practical-skills"
|
|
4108
|
+
],
|
|
4109
|
+
durationMinutes: 14,
|
|
4110
|
+
interaction: "guided",
|
|
4111
|
+
authorability: "simple"
|
|
4112
|
+
}
|
|
4113
|
+
},
|
|
3722
4114
|
{
|
|
3723
4115
|
key: "solubility-kitchen",
|
|
3724
4116
|
label: "Solubility Kitchen",
|
|
@@ -4923,11 +5315,49 @@ const generatedManifestCatalog = [
|
|
|
4923
5315
|
related: ["rc-charging", "kirchhoff-laws"]
|
|
4924
5316
|
}
|
|
4925
5317
|
},
|
|
5318
|
+
{
|
|
5319
|
+
key: "potential-hill",
|
|
5320
|
+
label: "Potential Hill (one loop, drawn as height)",
|
|
5321
|
+
description: "A series loop drawn twice: the circuit, and the same loop unrolled as a hill where height is potential. Walk round it, turn a part, move the earth: the current is the same everywhere, the drops share the e.m.f. and always add back to it, and 0 V is a choice.",
|
|
5322
|
+
category: "interactive",
|
|
5323
|
+
void: true,
|
|
5324
|
+
group: "Circuits",
|
|
5325
|
+
domain: "circuits",
|
|
5326
|
+
taxonomy: {
|
|
5327
|
+
grades: ["9", "10"],
|
|
5328
|
+
outcomes: [
|
|
5329
|
+
"potential-difference",
|
|
5330
|
+
"series-circuits",
|
|
5331
|
+
"earthing",
|
|
5332
|
+
"emf"
|
|
5333
|
+
],
|
|
5334
|
+
durationMinutes: 10,
|
|
5335
|
+
interaction: "guided",
|
|
5336
|
+
authorability: "moderate",
|
|
5337
|
+
representation: "schematic",
|
|
5338
|
+
levels: ["lower-secondary", "o-level"],
|
|
5339
|
+
qualityTier: "support",
|
|
5340
|
+
primaryMechanic: "investigation",
|
|
5341
|
+
learnerAction: "walk round a loop and reshape its potential hill",
|
|
5342
|
+
evidenceTypes: ["observation", "measurement"],
|
|
5343
|
+
mobileMode: "investigation",
|
|
5344
|
+
misconceptions: [
|
|
5345
|
+
"current is used up by the first part of a series circuit",
|
|
5346
|
+
"voltage flows round the circuit like current",
|
|
5347
|
+
"0 V belongs to a particular wire"
|
|
5348
|
+
],
|
|
5349
|
+
related: [
|
|
5350
|
+
"circuit-lab",
|
|
5351
|
+
"potential-divider",
|
|
5352
|
+
"network-reduction"
|
|
5353
|
+
]
|
|
5354
|
+
}
|
|
5355
|
+
},
|
|
4926
5356
|
{
|
|
4927
5357
|
key: "rc-charging",
|
|
4928
5358
|
tag: "RCCharging",
|
|
4929
5359
|
label: "RC charging and the time constant",
|
|
4930
|
-
description: "A cell, a two-way switch, one resistor and a capacitor on the bench.
|
|
5360
|
+
description: "A cell, a two-way switch, one resistor and a capacitor on the bench. Charge the capacitor and watch its voltage approach the supply. Optionally estimate the time to about 63%, then halve the resistor and compare both curves on the same time scale.",
|
|
4931
5361
|
category: "interactive",
|
|
4932
5362
|
void: true,
|
|
4933
5363
|
group: "Circuits",
|
|
@@ -4946,7 +5376,7 @@ const generatedManifestCatalog = [
|
|
|
4946
5376
|
levels: ["a-level"],
|
|
4947
5377
|
qualityTier: "support",
|
|
4948
5378
|
primaryMechanic: "investigation",
|
|
4949
|
-
learnerAction: "
|
|
5379
|
+
learnerAction: "charge the capacitor, then halve resistance and compare its voltage curve",
|
|
4950
5380
|
evidenceTypes: ["observation", "measurement"],
|
|
4951
5381
|
mobileMode: "investigation",
|
|
4952
5382
|
misconceptions: ["a capacitor charges at a constant rate", "halving the resistance halves the final voltage rather than the time to reach it"],
|
|
@@ -5489,7 +5919,7 @@ const generatedManifestCatalog = [
|
|
|
5489
5919
|
{
|
|
5490
5920
|
key: "outcome-builder",
|
|
5491
5921
|
label: "Sample-space builder (coins & dice)",
|
|
5492
|
-
description: "
|
|
5922
|
+
description: "Build the full coin/die sample space and explore marked events. With an authored event, explicitly check its complete membership, including an impossible event.",
|
|
5493
5923
|
category: "interactive",
|
|
5494
5924
|
void: true,
|
|
5495
5925
|
group: "Discrete",
|
|
@@ -5918,6 +6348,31 @@ const generatedManifestCatalog = [
|
|
|
5918
6348
|
authorability: "advanced"
|
|
5919
6349
|
}
|
|
5920
6350
|
},
|
|
6351
|
+
{
|
|
6352
|
+
key: "geometry-figure",
|
|
6353
|
+
label: "Geometry figure (a composed exam figure: shapes, shaded regions, sectors, angles, dimensions)",
|
|
6354
|
+
description: "The flat figure a textbook prints beside an idea: a field with a path around it, a sector cut from a circle, a shaded \"whole minus parts\" region, a triangle with its right angle and equal sides marked, a length written along a side. It is composed from the Geometry board construction (points, circles, segments, polygons, intersections, midpoints, resolved by the same scene engine) plus teaching marks that name its points, so nothing is drawn by hand and a typo in a point name is refused. The same figure can sit in a worked example, an exam question or a practice problem as their `figure`.",
|
|
6355
|
+
category: "media",
|
|
6356
|
+
void: true,
|
|
6357
|
+
group: "Geometry",
|
|
6358
|
+
domain: "geometry",
|
|
6359
|
+
taxonomy: {
|
|
6360
|
+
grades: [
|
|
6361
|
+
"6",
|
|
6362
|
+
"7",
|
|
6363
|
+
"8",
|
|
6364
|
+
"9",
|
|
6365
|
+
"10",
|
|
6366
|
+
"11",
|
|
6367
|
+
"12"
|
|
6368
|
+
],
|
|
6369
|
+
outcomes: ["geometry", "mensuration"],
|
|
6370
|
+
durationMinutes: 1,
|
|
6371
|
+
interaction: "explorer",
|
|
6372
|
+
authorability: "advanced",
|
|
6373
|
+
qualityTier: "support"
|
|
6374
|
+
}
|
|
6375
|
+
},
|
|
5921
6376
|
{
|
|
5922
6377
|
key: "intersecting-circles",
|
|
5923
6378
|
label: "Intersecting circles",
|
|
@@ -6157,6 +6612,48 @@ const generatedManifestCatalog = [
|
|
|
6157
6612
|
misconceptions: ["A bound fails because it is broken at small n", "A bigger constant in front makes f grow faster than g"]
|
|
6158
6613
|
}
|
|
6159
6614
|
},
|
|
6615
|
+
{
|
|
6616
|
+
key: "code-trace",
|
|
6617
|
+
label: "Run a program one line at a time",
|
|
6618
|
+
description: "A short program recorded in the real language, played back line by line: the line about to run, variables as tagged boxes that change as lines run, and a console that prints as it happens. Before a print line runs, the learner can predict what it will show.",
|
|
6619
|
+
category: "interactive",
|
|
6620
|
+
void: true,
|
|
6621
|
+
group: "Programming",
|
|
6622
|
+
domain: "ict",
|
|
6623
|
+
taxonomy: {
|
|
6624
|
+
grades: [
|
|
6625
|
+
"8",
|
|
6626
|
+
"9",
|
|
6627
|
+
"10",
|
|
6628
|
+
"11",
|
|
6629
|
+
"12",
|
|
6630
|
+
"undergraduate"
|
|
6631
|
+
],
|
|
6632
|
+
outcomes: [
|
|
6633
|
+
"programming",
|
|
6634
|
+
"variables",
|
|
6635
|
+
"selection",
|
|
6636
|
+
"iteration",
|
|
6637
|
+
"tracing"
|
|
6638
|
+
],
|
|
6639
|
+
durationMinutes: 6,
|
|
6640
|
+
interaction: "explorer",
|
|
6641
|
+
authorability: "simple",
|
|
6642
|
+
representation: "schematic",
|
|
6643
|
+
related: ["recursion-tree", "sorting-quest"],
|
|
6644
|
+
qualityTier: "flagship",
|
|
6645
|
+
primaryMechanic: "sequencing",
|
|
6646
|
+
learnerAction: "step a recorded program line by line and predict each print before it runs",
|
|
6647
|
+
evidenceTypes: ["observation", "model-state"],
|
|
6648
|
+
mobileMode: "investigation",
|
|
6649
|
+
misconceptions: [
|
|
6650
|
+
"every line of a program runs, including both branches of an if",
|
|
6651
|
+
"input() gives a number",
|
|
6652
|
+
"a variable keeps every value it was given",
|
|
6653
|
+
"a loop body runs once"
|
|
6654
|
+
]
|
|
6655
|
+
}
|
|
6656
|
+
},
|
|
6160
6657
|
{
|
|
6161
6658
|
key: "coin-change",
|
|
6162
6659
|
label: "Coin change: greedy vs dynamic programming",
|
|
@@ -6447,7 +6944,7 @@ const generatedManifestCatalog = [
|
|
|
6447
6944
|
{
|
|
6448
6945
|
key: "logic-builder",
|
|
6449
6946
|
label: "Logic builder (drag-and-drop gate circuit)",
|
|
6450
|
-
description: "A Logisim-style canvas: drag sources, gates and LEDs from the palette, wire output dots to input slots, flip switches and watch the signal glow. Leave the goal on \"sandbox\" for open building, or
|
|
6947
|
+
description: "A Logisim-style canvas: drag sources, gates and LEDs from the palette, wire output dots to input slots, flip switches and watch the signal glow. Leave the goal on \"sandbox\" for open building, or supply a built-in or authored target with a starter and limited gate palette. Checking compares all target rows and reports a failing case.",
|
|
6451
6948
|
category: "interactive",
|
|
6452
6949
|
void: true,
|
|
6453
6950
|
group: "Computing & Digital Logic",
|
|
@@ -6520,6 +7017,48 @@ const generatedManifestCatalog = [
|
|
|
6520
7017
|
related: ["truth-table", "cmos-inverter"]
|
|
6521
7018
|
}
|
|
6522
7019
|
},
|
|
7020
|
+
{
|
|
7021
|
+
key: "mini-sheet",
|
|
7022
|
+
label: "A small spreadsheet with formula tasks",
|
|
7023
|
+
description: "A spreadsheet the learner types into: a formula bar, keys for the symbols a phone keyboard hides, cell pointing while a formula is open, and the cells a formula reads outlined in colour. Task cells pass only with a working formula that reads the right cells and still gives the right answer when an input changes, so a typed answer or a hard-coded number fails.",
|
|
7024
|
+
category: "interactive",
|
|
7025
|
+
void: true,
|
|
7026
|
+
group: "Spreadsheets",
|
|
7027
|
+
domain: "ict",
|
|
7028
|
+
taxonomy: {
|
|
7029
|
+
grades: [
|
|
7030
|
+
"7",
|
|
7031
|
+
"8",
|
|
7032
|
+
"9",
|
|
7033
|
+
"10",
|
|
7034
|
+
"11",
|
|
7035
|
+
"12",
|
|
7036
|
+
"undergraduate"
|
|
7037
|
+
],
|
|
7038
|
+
outcomes: [
|
|
7039
|
+
"spreadsheets",
|
|
7040
|
+
"formulas",
|
|
7041
|
+
"cell-references",
|
|
7042
|
+
"functions"
|
|
7043
|
+
],
|
|
7044
|
+
durationMinutes: 8,
|
|
7045
|
+
interaction: "explorer",
|
|
7046
|
+
authorability: "simple",
|
|
7047
|
+
representation: "schematic",
|
|
7048
|
+
related: ["statement-builder", "ratio-lab"],
|
|
7049
|
+
qualityTier: "flagship",
|
|
7050
|
+
primaryMechanic: "construction",
|
|
7051
|
+
learnerAction: "write formulas with cell references and ranges, then change an input and watch them recalculate",
|
|
7052
|
+
evidenceTypes: ["model-state", "observation"],
|
|
7053
|
+
mobileMode: "investigation",
|
|
7054
|
+
misconceptions: [
|
|
7055
|
+
"typing the answer is the same as a formula",
|
|
7056
|
+
"a formula needs the numbers, not the cells",
|
|
7057
|
+
"=D3+D4+D5/3 is an average",
|
|
7058
|
+
"a percent cell must be divided by 100 by hand"
|
|
7059
|
+
]
|
|
7060
|
+
}
|
|
7061
|
+
},
|
|
6523
7062
|
{
|
|
6524
7063
|
key: "place-value-dial",
|
|
6525
7064
|
label: "Place-value dial (count in any base)",
|
|
@@ -6596,7 +7135,7 @@ const generatedManifestCatalog = [
|
|
|
6596
7135
|
"moore-machine"
|
|
6597
7136
|
],
|
|
6598
7137
|
durationMinutes: 18,
|
|
6599
|
-
interaction: "
|
|
7138
|
+
interaction: "explorer",
|
|
6600
7139
|
authorability: "simple",
|
|
6601
7140
|
representation: "graph",
|
|
6602
7141
|
prerequisites: ["binary-counter"],
|
|
@@ -6705,6 +7244,30 @@ const generatedManifestCatalog = [
|
|
|
6705
7244
|
qualityTier: "support"
|
|
6706
7245
|
}
|
|
6707
7246
|
},
|
|
7247
|
+
{
|
|
7248
|
+
key: "state-machine-builder",
|
|
7249
|
+
label: "Construct a state-transition table",
|
|
7250
|
+
description: "Construct a deterministic state table with fixed state meanings and reset. Check compares every reachable behavior to the specified reference and returns a shortest counterexample for correction. This checks logical behavior, not gate wiring or physical timing.",
|
|
7251
|
+
category: "interactive",
|
|
7252
|
+
void: true,
|
|
7253
|
+
group: "Computing & Digital Logic",
|
|
7254
|
+
domain: "ict",
|
|
7255
|
+
taxonomy: {
|
|
7256
|
+
grades: ["undergraduate"],
|
|
7257
|
+
outcomes: [
|
|
7258
|
+
"digital-logic",
|
|
7259
|
+
"state-machine",
|
|
7260
|
+
"sequential-design"
|
|
7261
|
+
],
|
|
7262
|
+
durationMinutes: 15,
|
|
7263
|
+
interaction: "build",
|
|
7264
|
+
authorability: "advanced",
|
|
7265
|
+
representation: "table",
|
|
7266
|
+
prerequisites: ["sequence-detector"],
|
|
7267
|
+
related: ["sequence-detector", "jk-flip-flop"],
|
|
7268
|
+
qualityTier: "support"
|
|
7269
|
+
}
|
|
7270
|
+
},
|
|
6708
7271
|
{
|
|
6709
7272
|
key: "tree-quest",
|
|
6710
7273
|
label: "Tree Quest",
|
|
@@ -7168,7 +7731,7 @@ const generatedManifestCatalog = [
|
|
|
7168
7731
|
{
|
|
7169
7732
|
key: "area-model",
|
|
7170
7733
|
label: "Area model (algebra tiles)",
|
|
7171
|
-
description: "(x+a)(x+b) as a partitioned rectangle, EXPAND (drag x) or FACTOR (find a, b).",
|
|
7734
|
+
description: "(x+a)(x+b) as a partitioned rectangle, EXPAND (drag x) or FACTOR (find a, b). A negative a or b is a subtraction, (x − 3)(x + 2), its strip drawn cut away; `terms` draws (a + b + c)² as a 3 × 3 grid.",
|
|
7172
7735
|
category: "interactive",
|
|
7173
7736
|
void: true,
|
|
7174
7737
|
group: "Math",
|
|
@@ -7302,7 +7865,7 @@ const generatedManifestCatalog = [
|
|
|
7302
7865
|
{
|
|
7303
7866
|
key: "bounds-window",
|
|
7304
7867
|
label: "Bounds through a division",
|
|
7305
|
-
description: "Two rounded measurements drawn as their own windows, one over the other as a fraction. Drag each marker and the quotient recomputes: right on top makes it grow, right underneath makes it shrink. The
|
|
7868
|
+
description: "Two rounded measurements drawn as their own windows, one over the other as a fraction. Drag each marker and the quotient recomputes: right on top makes it grow, right underneath makes it shrink. The upper bound is upper over LOWER; excluded endpoints describe limiting bounds. Near-endpoint completion illustrates the direction, not exact calculation.",
|
|
7306
7869
|
category: "interactive",
|
|
7307
7870
|
void: true,
|
|
7308
7871
|
group: "Math",
|
|
@@ -8141,7 +8704,7 @@ const generatedManifestCatalog = [
|
|
|
8141
8704
|
{
|
|
8142
8705
|
key: "fraction-bar",
|
|
8143
8706
|
label: "Fraction strip",
|
|
8144
|
-
description: "
|
|
8707
|
+
description: "Drag to shade one fraction strip, or count fixed fractional units across equal wholes. Optionally exchange intact wholes for loose fractional pieces before removing material. Reads fraction and quantity names; an optional single-whole compare strip shows an equivalent fraction.",
|
|
8145
8708
|
category: "interactive",
|
|
8146
8709
|
void: true,
|
|
8147
8710
|
group: "Math",
|
|
@@ -8182,6 +8745,48 @@ const generatedManifestCatalog = [
|
|
|
8182
8745
|
misconceptions: ["Added terms can be cancelled", "Cancellation makes an original excluded value valid"]
|
|
8183
8746
|
}
|
|
8184
8747
|
},
|
|
8748
|
+
{
|
|
8749
|
+
key: "fraction-division",
|
|
8750
|
+
label: "How many portions fit?",
|
|
8751
|
+
description: "Group an available amount into equal portions on one unchanged physical scale, including part of another portion. Exact quotient readings count portions.",
|
|
8752
|
+
category: "interactive",
|
|
8753
|
+
void: true,
|
|
8754
|
+
group: "Math",
|
|
8755
|
+
domain: "math",
|
|
8756
|
+
taxonomy: {
|
|
8757
|
+
qualityTier: "support",
|
|
8758
|
+
grades: [
|
|
8759
|
+
"5",
|
|
8760
|
+
"6",
|
|
8761
|
+
"7"
|
|
8762
|
+
],
|
|
8763
|
+
outcomes: ["math", "fractions"],
|
|
8764
|
+
durationMinutes: 5,
|
|
8765
|
+
interaction: "explorer",
|
|
8766
|
+
authorability: "moderate"
|
|
8767
|
+
}
|
|
8768
|
+
},
|
|
8769
|
+
{
|
|
8770
|
+
key: "fraction-product",
|
|
8771
|
+
label: "A fraction of a fraction",
|
|
8772
|
+
description: "Select columns, then a fraction of those columns by rows. The full grid preserves the original whole while exact cell counts name the product.",
|
|
8773
|
+
category: "interactive",
|
|
8774
|
+
void: true,
|
|
8775
|
+
group: "Math",
|
|
8776
|
+
domain: "math",
|
|
8777
|
+
taxonomy: {
|
|
8778
|
+
qualityTier: "support",
|
|
8779
|
+
grades: [
|
|
8780
|
+
"5",
|
|
8781
|
+
"6",
|
|
8782
|
+
"7"
|
|
8783
|
+
],
|
|
8784
|
+
outcomes: ["math", "fractions"],
|
|
8785
|
+
durationMinutes: 5,
|
|
8786
|
+
interaction: "explorer",
|
|
8787
|
+
authorability: "moderate"
|
|
8788
|
+
}
|
|
8789
|
+
},
|
|
8185
8790
|
{
|
|
8186
8791
|
key: "function-machine",
|
|
8187
8792
|
label: "Function machine (find the rule)",
|
|
@@ -8856,7 +9461,7 @@ const generatedManifestCatalog = [
|
|
|
8856
9461
|
{
|
|
8857
9462
|
key: "log-law-workbench",
|
|
8858
9463
|
label: "Log Law Workbench",
|
|
8859
|
-
description: "
|
|
9464
|
+
description: "Pull a log card apart and watch its bars land: a product becomes a sum, a quotient a difference, a power a coefficient; change of base keeps the ratio.",
|
|
8860
9465
|
category: "interactive",
|
|
8861
9466
|
void: true,
|
|
8862
9467
|
group: "Mathematics",
|
|
@@ -8878,7 +9483,7 @@ const generatedManifestCatalog = [
|
|
|
8878
9483
|
key: "measurement",
|
|
8879
9484
|
tag: "MeasurementLab",
|
|
8880
9485
|
label: "Applied shape measurement",
|
|
8881
|
-
description: "Inspect the circumference formula, connect wheel turns to distance, unwrap cylinders, subtract walking paths, and
|
|
9486
|
+
description: "Inspect the circumference formula, connect wheel turns to distance, unwrap cylinders, subtract walking paths, estimate supplied counts, and classify a circle’s covered grid cells.",
|
|
8882
9487
|
category: "interactive",
|
|
8883
9488
|
void: true,
|
|
8884
9489
|
group: "Geometry and measurement",
|
|
@@ -8956,7 +9561,7 @@ const generatedManifestCatalog = [
|
|
|
8956
9561
|
{
|
|
8957
9562
|
key: "modulus-inequality",
|
|
8958
9563
|
label: "AND or OR? |f(x)| against k",
|
|
8959
|
-
description: "
|
|
9564
|
+
description: "Compare |f(x)| with k using Stage’s AND/intersection and OR/union evidence. Predict and inspect the actual solution set: an interval, two rays, isolated points, several pieces, no real solutions or all real numbers. Author f(x), k and the comparison; nonlinear functions and zero or negative bounds retain their true solution topology.",
|
|
8960
9565
|
category: "interactive",
|
|
8961
9566
|
void: true,
|
|
8962
9567
|
group: "Functions",
|
|
@@ -9269,7 +9874,7 @@ const generatedManifestCatalog = [
|
|
|
9269
9874
|
{
|
|
9270
9875
|
key: "polynomial-solver",
|
|
9271
9876
|
label: "Polynomial solver (factor / solve, step by step)",
|
|
9272
|
-
description: "Type a polynomial in x; the engine factors it or solves =0 and shows the working. Guided modes on the exact engine: split the middle term (factor-pair game), hunt for a factor (rational-root candidates as probes), fill a synthetic-division tableau, predict a remainder, complete the square, predict the real roots before the working.",
|
|
9877
|
+
description: "Type a polynomial in x; the engine factors it or solves =0 and shows the working. Factorise and split the middle term also take a homogeneous polynomial in two letters (x^2 - 7xy + 12y^2, a^3 - 27b^3), the second letter carried. Guided modes on the exact engine: split the middle term (factor-pair game), hunt for a factor (rational-root candidates as probes), fill a synthetic-division tableau, predict a remainder, complete the square, predict the real roots before the working.",
|
|
9273
9878
|
category: "interactive",
|
|
9274
9879
|
void: true,
|
|
9275
9880
|
group: "Math",
|
|
@@ -11361,7 +11966,7 @@ const generatedManifestCatalog = [
|
|
|
11361
11966
|
{
|
|
11362
11967
|
key: "regression",
|
|
11363
11968
|
label: "Linear regression / gradient descent",
|
|
11364
|
-
description: "Least squares made hands-on: drag the line’s ends and each point grows a square of its squared error while the MSE (or MAE) updates live; press Descend to watch gradient descent fit it automatically (a learning-rate slider warns near the data’s own divergence edge). Can fit by MAE instead (least absolute deviations), mark and ask for predictions at chosen x values, and grade against relative or absolute error goals. Uses a named points dataset or inline data, with labelled axes and units.",
|
|
11969
|
+
description: "Least squares made hands-on: drag the line’s ends and each point grows a square of its squared error while the MSE (or MAE) updates live; press Descend to watch gradient descent fit it automatically (a learning-rate slider warns near the data’s own divergence edge). The best-fit presentation keeps manual endpoint placement and predictions, hiding error metrics, residual squares and automated fitting; its goal still compares with a computer reference. Can fit by MAE instead (least absolute deviations), mark and ask for predictions at chosen x values, and grade against relative or absolute error goals. Uses a named points dataset or inline data, with labelled axes and units.",
|
|
11365
11970
|
category: "interactive",
|
|
11366
11971
|
void: true,
|
|
11367
11972
|
group: "Machine learning",
|
|
@@ -14257,7 +14862,7 @@ const generatedManifestCatalog = [
|
|
|
14257
14862
|
{
|
|
14258
14863
|
key: "capacitor-energy",
|
|
14259
14864
|
label: "Capacitor charge and energy",
|
|
14260
|
-
description: "A cell, a two-way switch, a resistor and a parallel-plate capacitor on the bench: + and − gather on the facing plates, charge runs round the wires as fast as the current, an ammeter and a voltmeter read it, and the graph draws itself. Press the switch to charge or discharge; turn the variable supply for energy. Tasks: will the current stop (fills-up); energy at twice the voltage (energy) and with twice the capacitance (double-c); the shape of the discharge (discharge); time to two thirds, then halve R (time-constant); V after one time constant (read-decay).",
|
|
14865
|
+
description: "A cell, a two-way switch, a resistor and a parallel-plate capacitor on the bench: + and − gather on the facing plates, charge runs round the wires as fast as the current, an ammeter and a voltmeter read it, and the graph draws itself. Press the switch to charge or discharge; turn the variable supply for energy. Tasks: will the current stop (fills-up); energy at twice the voltage (energy) and with twice the capacitance (double-c); the shape of the discharge (discharge); time to about two thirds, then halve R (time-constant); V after one time constant (read-decay).",
|
|
14261
14866
|
category: "interactive",
|
|
14262
14867
|
void: true,
|
|
14263
14868
|
group: "Physics",
|
|
@@ -14681,7 +15286,7 @@ const generatedManifestCatalog = [
|
|
|
14681
15286
|
key: "coulomb-superposition",
|
|
14682
15287
|
tag: "CoulombSuperpositionLab",
|
|
14683
15288
|
label: "Coulomb superposition: adding fields as vectors",
|
|
14684
|
-
description: "Build the resultant electric field
|
|
15289
|
+
description: "Build the resultant electric field one charge at a time, adding components before finding its magnitude and direction. Compare signed scalar potential with vector field: equal opposite charges give zero potential and a nonzero field at their midpoint. Equal positive charges give zero field and positive potential there. Values use SI units.",
|
|
14685
15290
|
category: "interactive",
|
|
14686
15291
|
void: true,
|
|
14687
15292
|
group: "Physics",
|
|
@@ -14786,7 +15391,7 @@ const generatedManifestCatalog = [
|
|
|
14786
15391
|
key: "dc-motor",
|
|
14787
15392
|
tag: "DCMotorLab",
|
|
14788
15393
|
label: "DC Motor (Lorentz Force & Commutator)",
|
|
14789
|
-
description: "
|
|
15394
|
+
description: "Inspect coil-arm Lorentz forces and split-ring current reversal at selected angles or during an imposed angle sweep. Torque follows the cos(θ) convention: peak magnitude at 0° and zero at 90°. The sweep does not model free motor motion.",
|
|
14790
15395
|
category: "interactive",
|
|
14791
15396
|
void: true,
|
|
14792
15397
|
group: "Physics",
|
|
@@ -15175,7 +15780,7 @@ const generatedManifestCatalog = [
|
|
|
15175
15780
|
{
|
|
15176
15781
|
key: "evaporation",
|
|
15177
15782
|
label: "Evaporation and cooling",
|
|
15178
|
-
description: "
|
|
15783
|
+
description: "Observe illustrative particles leaving a cutaway water dish and compare the thermometer, then explain selective escape and cooling. Application entry can ask which particles escape before the run. Compare fixed pairs: fan off/on, narrow/wide dishes and 20/40 °C. Escape times and cooling illustrate the comparison, not calibrated water measurements.",
|
|
15179
15784
|
category: "interactive",
|
|
15180
15785
|
void: true,
|
|
15181
15786
|
group: "Physics",
|
|
@@ -15447,7 +16052,7 @@ const generatedManifestCatalog = [
|
|
|
15447
16052
|
{
|
|
15448
16053
|
key: "gas-process",
|
|
15449
16054
|
label: "Gas processes, ΔU = q + w on a p–V graph",
|
|
15450
|
-
description: "A gas sealed in a cylinder by a piston, its path on a p–V graph, and the first law ΔU = q + w as three bars (w is the work done on the gas). The cylinder shows what holds each process: a weight on the piston (constant pressure), a water bath (constant temperature), lagging (no heat), or a pinned piston on a hot plate (constant volume). Tasks:
|
|
16055
|
+
description: "A gas sealed in a cylinder by a piston, its path on a p–V graph, and the first law ΔU = q + w as three bars (w is the work done on the gas). The cylinder shows what holds each process: a weight on the piston (constant pressure), a water bath (constant temperature), lagging (no heat), or a pinned piston on a hot plate (constant volume). Tasks: compress and explain the sign of w; expand at constant pressure (w = −pΔV); two routes from A to B with different areas and the same ΔU; compress in a bath (q = −w); compress adiabatically and explain the temperature rise (ΔU = w); heat at fixed volume and explain the zero work term (ΔU = q).",
|
|
15451
16056
|
category: "interactive",
|
|
15452
16057
|
void: true,
|
|
15453
16058
|
group: "Physics",
|
|
@@ -15886,7 +16491,7 @@ const generatedManifestCatalog = [
|
|
|
15886
16491
|
{
|
|
15887
16492
|
key: "impulse",
|
|
15888
16493
|
label: "Impulse, catch the egg (J = F·Δt = Δp)",
|
|
15889
|
-
description: "Same ball, same speed → fixed impulse. Stretch the contact time and the force–time pulse morphs from a tall spike to a low bump with EQUAL shaded area, so the peak force plummets.
|
|
16494
|
+
description: "Same ball, same speed → fixed impulse. Stretch the contact time and the force–time pulse morphs from a tall spike to a low bump with EQUAL shaded area, so the peak force plummets. The object changes appearance above an illustrative model force limit; this is not a measured injury or material-failure threshold.",
|
|
15890
16495
|
category: "interactive",
|
|
15891
16496
|
void: true,
|
|
15892
16497
|
group: "Physics",
|
|
@@ -16352,7 +16957,7 @@ const generatedManifestCatalog = [
|
|
|
16352
16957
|
{
|
|
16353
16958
|
key: "magnet-pair",
|
|
16354
16959
|
label: "Two magnets: attract, repel, and the dead spot between them",
|
|
16355
|
-
description: "
|
|
16960
|
+
description: "Compare attraction, repulsion and field patterns for two equal bar magnets in a four-pole teaching model. Sliding changes the pole-face gap; turning one magnet reverses the facing poles. Unlike facing poles attract and their fields reinforce along the gap axis. Like facing poles repel even though their fields cancel at the gap midpoint. Distances use diagram units and field strengths use relative units; background fields are ignored.",
|
|
16356
16961
|
category: "interactive",
|
|
16357
16962
|
void: true,
|
|
16358
16963
|
group: "Physics",
|
|
@@ -18013,7 +18618,7 @@ const generatedManifestCatalog = [
|
|
|
18013
18618
|
{
|
|
18014
18619
|
key: "spin-studio",
|
|
18015
18620
|
label: "Spin studio: which rolls faster?",
|
|
18016
|
-
description: "A ramp race for moment of inertia. A ring and a disc of the same mass and size roll down equal slopes;
|
|
18621
|
+
description: "A ramp race for moment of inertia. A ring and a disc of the same mass and size roll down equal slopes; let them go, observe the race, and see that the ring loses because its mass is at the rim. Then race a big ring against a small one (a tie: only the shape matters), and any two of ring, disc, solid ball and hollow ball.",
|
|
18017
18622
|
category: "interactive",
|
|
18018
18623
|
void: true,
|
|
18019
18624
|
group: "Physics",
|
|
@@ -18588,7 +19193,7 @@ const generatedManifestCatalog = [
|
|
|
18588
19193
|
{
|
|
18589
19194
|
key: "venturi",
|
|
18590
19195
|
label: "Where the pipe narrows",
|
|
18591
|
-
description: "Bernoulli’s equation and continuity in a Venturi tube. Water flows through a pipe that narrows; three open tubes show the pressure
|
|
19196
|
+
description: "Bernoulli’s equation and continuity in a Venturi tube. Water flows through a pipe that narrows; three open tubes show the pressure. Drag the middle wall and compare water speed with pressure; an optional taught-rule prediction hides the columns until an answer is committed. Streaks spaced equally in time show the water speeding up (A₁v₁ = A₂v₂), the narrow part’s column falls by (v₂² − v₁²)/2g, and a tight enough throat drops below atmospheric pressure, as in a spray.",
|
|
18592
19197
|
category: "interactive",
|
|
18593
19198
|
void: true,
|
|
18594
19199
|
group: "Physics",
|