@classytic/labs 0.1.0 → 0.2.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/dist/_virtual/_rolldown/runtime.mjs +18 -0
- package/dist/biology/enzyme-rate/preset.mjs +5 -5
- package/dist/biology/genetic-cross/core.d.mts +7 -7
- package/dist/biology/genetic-cross/core.mjs +4 -4
- package/dist/biology/genetic-cross/grid.mjs +132 -123
- package/dist/biology/genetic-cross/preset.mjs +4 -4
- package/dist/biology/genetic-cross/sex-linked.mjs +7 -7
- package/dist/biology/photosynthesis-factors/preset.mjs +8 -8
- package/dist/biology/respiration/preset.mjs +4 -4
- package/dist/biology/sequence/central-dogma.mjs +5 -5
- package/dist/biology/sequence/core.d.mts +6 -6
- package/dist/biology/sequence/core.mjs +1 -1
- package/dist/biology/sequence/preset.mjs +6 -6
- package/dist/blocks/authoring.mjs +5 -5
- package/dist/blocks/biology.d.mts +2 -2
- package/dist/blocks/biology.mjs +5 -5
- package/dist/blocks/chem.d.mts +2 -2
- package/dist/blocks/chem.mjs +13 -13
- package/dist/blocks/circuits.d.mts +293 -4
- package/dist/blocks/circuits.mjs +874 -9
- package/dist/blocks/discrete.d.mts +30 -2
- package/dist/blocks/discrete.mjs +74 -4
- package/dist/blocks/economics.mjs +1 -1
- package/dist/blocks/geography.mjs +1 -1
- package/dist/blocks/geometry.mjs +3 -3
- package/dist/blocks/ict.d.mts +90 -1
- package/dist/blocks/ict.mjs +217 -7
- package/dist/blocks/index.d.mts +3064 -657
- package/dist/blocks/index.mjs +9 -9
- package/dist/blocks/lab-block.mjs +5 -5
- package/dist/blocks/lab-config.d.mts +1 -1
- package/dist/blocks/lab-config.mjs +4 -4
- package/dist/blocks/lab-gallery.d.mts +1 -1
- package/dist/blocks/lab-gallery.mjs +2 -2
- package/dist/blocks/language.d.mts +6 -6
- package/dist/blocks/language.mjs +12 -12
- package/dist/blocks/lesson.mjs +4 -4
- package/dist/blocks/math.d.mts +577 -11
- package/dist/blocks/math.mjs +1648 -14
- package/dist/blocks/ml.d.mts +45 -1
- package/dist/blocks/ml.mjs +80 -6
- package/dist/blocks/physics.d.mts +9 -4
- package/dist/blocks/physics.mjs +75 -28
- package/dist/blocks/statistics.mjs +1 -1
- package/dist/build/CircuitEditor.d.mts +14 -0
- package/dist/build/CircuitEditor.mjs +787 -0
- package/dist/build/CircuitPlayer.d.mts +19 -0
- package/dist/build/CircuitPlayer.mjs +53 -0
- package/dist/build/CircuitScene.d.mts +61 -0
- package/dist/build/CircuitScene.mjs +383 -0
- package/dist/build/contract.d.mts +116 -0
- package/dist/build/editor-ops.d.mts +65 -0
- package/dist/build/editor-ops.mjs +306 -0
- package/dist/build/editor-ui.mjs +121 -0
- package/dist/build/flow.d.mts +14 -0
- package/dist/build/flow.mjs +119 -0
- package/dist/build/index.d.mts +10 -0
- package/dist/build/index.mjs +10 -0
- package/dist/build/parts/ammeter.d.mts +1 -0
- package/dist/build/parts/ammeter.mjs +32 -0
- package/dist/build/parts/bulb.d.mts +1 -0
- package/dist/build/parts/bulb.mjs +50 -0
- package/dist/build/parts/capacitor.d.mts +1 -0
- package/dist/build/parts/capacitor.mjs +26 -0
- package/dist/build/parts/cell.d.mts +1 -0
- package/dist/build/parts/cell.mjs +40 -0
- package/dist/build/parts/diode.d.mts +1 -0
- package/dist/build/parts/diode.mjs +33 -0
- package/dist/build/parts/index.d.mts +5 -0
- package/dist/build/parts/index.mjs +43 -0
- package/dist/build/parts/mosfet.d.mts +1 -0
- package/dist/build/parts/mosfet.mjs +95 -0
- package/dist/build/parts/node.d.mts +1 -0
- package/dist/build/parts/node.mjs +32 -0
- package/dist/build/parts/resistor.d.mts +1 -0
- package/dist/build/parts/resistor.mjs +49 -0
- package/dist/build/parts/shared.mjs +42 -0
- package/dist/build/parts/switch.d.mts +1 -0
- package/dist/build/parts/switch.mjs +34 -0
- package/dist/build/parts.d.mts +1 -0
- package/dist/build/registry.d.mts +9 -0
- package/dist/build/registry.mjs +15 -0
- package/dist/build/solve.d.mts +8 -0
- package/dist/build/solve.mjs +0 -0
- package/dist/catalog/registry.d.mts +2 -2
- package/dist/catalog/templates.d.mts +1 -1
- package/dist/catalog/templates.mjs +6 -6
- package/dist/chem/battery.mjs +1 -1
- package/dist/chem/bohr-atom.mjs +4 -4
- package/dist/chem/diffusion/preset.mjs +4 -4
- package/dist/chem/electrochem/preset.mjs +5 -5
- package/dist/chem/equilibrium/preset.d.mts +1 -1
- package/dist/chem/equilibrium/preset.mjs +6 -6
- package/dist/chem/gas-box/preset.mjs +6 -6
- package/dist/chem/kinetics/preset.mjs +6 -6
- package/dist/chem/periodic-trends/preset.mjs +7 -7
- package/dist/chem/reaction-lab.mjs +3 -3
- package/dist/chem/reaction-profile.mjs +4 -4
- package/dist/chem/solution/dilution.mjs +6 -6
- package/dist/chem/solution/field.d.mts +2 -2
- package/dist/chem/solution/field.mjs +2 -2
- package/dist/chem/solution/solution-box.mjs +7 -7
- package/dist/chem/stoichiometry/preset.mjs +5 -5
- package/dist/chem/titration/preset.mjs +5 -5
- package/dist/circuits/ac-dc/asset.mjs +1 -1
- package/dist/circuits/ac-dc/preset.mjs +2 -2
- package/dist/circuits/brownout/index.d.mts +1 -0
- package/dist/circuits/brownout/preset.d.mts +22 -0
- package/dist/circuits/brownout/preset.mjs +399 -0
- package/dist/circuits/capacitor-leak/preset.mjs +13 -8
- package/dist/circuits/circuit/asset.mjs +71 -14
- package/dist/circuits/circuit/preset.mjs +23 -5
- package/dist/circuits/circuit-builder.mjs +60 -132
- package/dist/circuits/circuit-lab.mjs +60 -40
- package/dist/circuits/cmos-gate/index.d.mts +1 -0
- package/dist/circuits/cmos-gate/preset.d.mts +75 -0
- package/dist/circuits/cmos-gate/preset.mjs +1491 -0
- package/dist/circuits/diode/index.d.mts +1 -0
- package/dist/circuits/diode/preset.d.mts +25 -0
- package/dist/circuits/diode/preset.mjs +266 -0
- package/dist/circuits/index.d.mts +7 -1
- package/dist/circuits/index.mjs +7 -1
- package/dist/circuits/rc-charging/index.d.mts +1 -0
- package/dist/circuits/rc-charging/preset.d.mts +27 -0
- package/dist/circuits/rc-charging/preset.mjs +329 -0
- package/dist/circuits/semiconductor/index.d.mts +1 -0
- package/dist/circuits/semiconductor/preset.d.mts +102 -0
- package/dist/circuits/semiconductor/preset.mjs +1855 -0
- package/dist/circuits/transistor/index.d.mts +1 -0
- package/dist/circuits/transistor/preset.d.mts +27 -0
- package/dist/circuits/transistor/preset.mjs +329 -0
- package/dist/commerce/accounting/core.d.mts +1 -1
- package/dist/commerce/accounting/equation-balance.mjs +5 -5
- package/dist/commerce/accounting/journal-poster.mjs +8 -8
- package/dist/commerce/accounting/statement-sorter.mjs +4 -4
- package/dist/commerce/economics/core.d.mts +2 -2
- package/dist/commerce/economics/core.mjs +1 -1
- package/dist/commerce/economics/demand-shift-vs-move.mjs +6 -6
- package/dist/commerce/economics/elasticity-revenue.mjs +6 -6
- package/dist/commerce/economics/market-equilibrium.mjs +5 -5
- package/dist/core/easing.d.mts +3 -3
- package/dist/core/easing.mjs +2 -2
- package/dist/core/numeric.d.mts +3 -3
- package/dist/core/numeric.mjs +2 -2
- package/dist/core/reactive.d.mts +1 -1
- package/dist/core/reactive.mjs +1 -1
- package/dist/core/rng.d.mts +2 -2
- package/dist/core/rng.mjs +1 -1
- package/dist/core/tex.mjs +2 -2
- package/dist/core/timeline.d.mts +1 -1
- package/dist/core/timeline.mjs +1 -1
- package/dist/core/util.mjs +11 -1
- package/dist/discrete/arrangements/preset.mjs +6 -14
- package/dist/discrete/bayes/preset.mjs +43 -35
- package/dist/discrete/binomial/preset.mjs +2 -2
- package/dist/discrete/combination-studio/figure.d.mts +6 -0
- package/dist/discrete/combination-studio/figure.mjs +159 -0
- package/dist/discrete/combination-studio/index.d.mts +2 -0
- package/dist/discrete/combination-studio/preset.d.mts +44 -0
- package/dist/discrete/combination-studio/preset.mjs +440 -0
- package/dist/discrete/core/combinatorics.d.mts +23 -3
- package/dist/discrete/core/combinatorics.mjs +38 -3
- package/dist/discrete/core/pigeonhole.d.mts +1 -1
- package/dist/discrete/core/pigeonhole.mjs +1 -1
- package/dist/discrete/core/probability.d.mts +3 -3
- package/dist/discrete/core/probability.mjs +3 -3
- package/dist/discrete/core/sets.d.mts +1 -1
- package/dist/discrete/counting-slots/preset.mjs +8 -8
- package/dist/discrete/counting-tree/preset.mjs +65 -8
- package/dist/discrete/expected-value/preset.mjs +13 -13
- package/dist/discrete/hypergeometric/preset.mjs +48 -15
- package/dist/discrete/index.d.mts +4 -2
- package/dist/discrete/index.mjs +4 -2
- package/dist/discrete/karnaugh/preset.mjs +26 -20
- package/dist/discrete/lln/preset.mjs +44 -3
- package/dist/discrete/logic-circuit/preset.mjs +2 -2
- package/dist/discrete/monte-carlo/preset.d.mts +1 -1
- package/dist/discrete/monte-carlo/preset.mjs +14 -14
- package/dist/discrete/monty-hall/preset.mjs +6 -6
- package/dist/discrete/outcome-builder/preset.mjs +3 -3
- package/dist/discrete/pascal/preset.mjs +37 -7
- package/dist/discrete/rules.d.mts +20 -0
- package/dist/discrete/rules.mjs +264 -0
- package/dist/discrete/sample-space/preset.mjs +4 -4
- package/dist/discrete/selection/preset.mjs +7 -13
- package/dist/discrete/truth-table/preset.mjs +32 -9
- package/dist/discrete/venn/preset.mjs +71 -48
- package/dist/geography/cycle-lab/preset.mjs +17 -10
- package/dist/geography/cycles.d.mts +3 -3
- package/dist/geography/cycles.mjs +3 -3
- package/dist/geometry/board/preset.d.mts +2 -0
- package/dist/geometry/board/preset.mjs +11 -15
- package/dist/geometry/builder.mjs +3 -3
- package/dist/ict/number-systems/base-odometer.mjs +4 -4
- package/dist/ict/number-systems/bit-grouper.d.mts +1 -1
- package/dist/ict/number-systems/bit-grouper.mjs +4 -4
- package/dist/ict/number-systems/place-value-dial.d.mts +1 -1
- package/dist/ict/number-systems/place-value-dial.mjs +3 -3
- package/dist/ict/number-systems/wheel.d.mts +3 -3
- package/dist/ict/number-systems/wheel.mjs +4 -4
- package/dist/kit/annotate.mjs +3 -3
- package/dist/kit/answer-check.d.mts +2 -2
- package/dist/kit/answer-check.mjs +34 -6
- package/dist/kit/ask.d.mts +19 -0
- package/dist/kit/ask.mjs +46 -0
- package/dist/kit/bar-strip.mjs +53 -0
- package/dist/kit/calc.d.mts +33 -0
- package/dist/kit/calc.mjs +27 -0
- package/dist/kit/carrier-engine.mjs +147 -0
- package/dist/kit/clue-scene.d.mts +86 -0
- package/dist/kit/clue-scene.mjs +424 -0
- package/dist/kit/cluster.d.mts +30 -0
- package/dist/kit/cluster.mjs +81 -0
- package/dist/kit/controls.mjs +11 -5
- package/dist/kit/coords.d.mts +88 -0
- package/dist/kit/coords.mjs +192 -0
- package/dist/kit/data-scene.d.mts +27 -0
- package/dist/kit/data-scene.mjs +199 -0
- package/dist/kit/diagram.mjs +111 -50
- package/dist/kit/electronics.mjs +552 -60
- package/dist/kit/expr-analysis.d.mts +18 -6
- package/dist/kit/expr-analysis.mjs +82 -28
- package/dist/kit/frame.d.mts +3 -3
- package/dist/kit/frame.mjs +25 -6
- package/dist/kit/gameshow.mjs +2 -2
- package/dist/kit/index.d.mts +14 -2
- package/dist/kit/index.mjs +13 -1
- package/dist/kit/logic-gates.mjs +246 -47
- package/dist/kit/palette.mjs +26 -0
- package/dist/kit/pedagogy.d.mts +4 -4
- package/dist/kit/pedagogy.mjs +21 -17
- package/dist/kit/play.d.mts +1 -1
- package/dist/kit/play.mjs +3 -3
- package/dist/kit/predict.d.mts +55 -0
- package/dist/kit/predict.mjs +146 -0
- package/dist/kit/receipt.d.mts +29 -0
- package/dist/kit/receipt.mjs +94 -0
- package/dist/kit/rich.mjs +2 -2
- package/dist/kit/rule.d.mts +59 -0
- package/dist/kit/rule.mjs +215 -0
- package/dist/kit/scale.mjs +1 -1
- package/dist/kit/scene-library.d.mts +22 -0
- package/dist/kit/scene-library.mjs +311 -0
- package/dist/kit/scene-studio.d.mts +14 -0
- package/dist/kit/scene-studio.mjs +338 -0
- package/dist/kit/scenes.d.mts +31 -0
- package/dist/kit/scenes.mjs +569 -0
- package/dist/kit/slot-fill.d.mts +61 -0
- package/dist/kit/slot-fill.mjs +207 -0
- package/dist/kit/solve.d.mts +21 -0
- package/dist/kit/solve.mjs +75 -0
- package/dist/kit/space.mjs +5 -5
- package/dist/kit/steps.mjs +2 -2
- package/dist/kit/vessel.d.mts +69 -0
- package/dist/kit/vessel.mjs +191 -0
- package/dist/language/agreement/preset.mjs +2 -2
- package/dist/language/article-lens/preset.d.mts +1 -1
- package/dist/language/article-lens/preset.mjs +8 -8
- package/dist/language/deck.d.mts +3 -3
- package/dist/language/deck.mjs +1 -1
- package/dist/language/preposition-scene/preset.d.mts +2 -2
- package/dist/language/preposition-scene/preset.mjs +5 -5
- package/dist/language/sentence-builder/preset.mjs +5 -5
- package/dist/language/transform/preset.d.mts +2 -2
- package/dist/language/transform/preset.mjs +5 -5
- package/dist/language/ui.d.mts +3 -3
- package/dist/language/ui.mjs +4 -4
- package/dist/language/word-match/preset.mjs +3 -3
- package/dist/logic/LogicBuildLab.d.mts +22 -0
- package/dist/logic/LogicBuildLab.mjs +170 -0
- package/dist/logic/LogicEditScene.d.mts +31 -0
- package/dist/logic/LogicEditScene.mjs +276 -0
- package/dist/logic/LogicEditor.d.mts +14 -0
- package/dist/logic/LogicEditor.mjs +413 -0
- package/dist/logic/LogicScene.d.mts +32 -0
- package/dist/logic/LogicScene.mjs +277 -0
- package/dist/logic/contract.d.mts +72 -0
- package/dist/logic/display.d.mts +24 -0
- package/dist/logic/display.mjs +127 -0
- package/dist/logic/edit-ops.d.mts +44 -0
- package/dist/logic/edit-ops.mjs +177 -0
- package/dist/logic/evaluate.d.mts +11 -0
- package/dist/logic/evaluate.mjs +93 -0
- package/dist/logic/gates.d.mts +10 -0
- package/dist/logic/gates.mjs +73 -0
- package/dist/logic/index.d.mts +14 -0
- package/dist/logic/index.mjs +13 -0
- package/dist/logic/lab.d.mts +32 -0
- package/dist/logic/lab.mjs +160 -0
- package/dist/logic/presets.d.mts +12 -0
- package/dist/logic/presets.mjs +241 -0
- package/dist/logic/registry.d.mts +9 -0
- package/dist/logic/registry.mjs +15 -0
- package/dist/math/area-model/preset.mjs +70 -44
- package/dist/math/balance-algebra/preset.mjs +14 -5
- package/dist/math/broken-tree/index.d.mts +1 -0
- package/dist/math/broken-tree/preset.d.mts +26 -0
- package/dist/math/broken-tree/preset.mjs +435 -0
- package/dist/math/circle/index.d.mts +1 -0
- package/dist/math/circle/preset.d.mts +44 -0
- package/dist/math/circle/preset.mjs +198 -0
- package/dist/math/complex/core.d.mts +93 -0
- package/dist/math/complex/core.mjs +239 -0
- package/dist/math/complex/index.d.mts +3 -0
- package/dist/math/complex/preset.d.mts +31 -0
- package/dist/math/complex/preset.mjs +377 -0
- package/dist/math/complex/rules.d.mts +6 -0
- package/dist/math/complex/rules.mjs +121 -0
- package/dist/math/conic/index.d.mts +1 -0
- package/dist/math/conic/preset.d.mts +30 -0
- package/dist/math/conic/preset.mjs +334 -0
- package/dist/math/derivation.mjs +5 -5
- package/dist/math/derivative-explorer/preset.mjs +5 -5
- package/dist/math/domain-range/index.d.mts +1 -0
- package/dist/math/domain-range/preset.d.mts +33 -0
- package/dist/math/domain-range/preset.mjs +313 -0
- package/dist/math/fraction-bar/index.d.mts +1 -0
- package/dist/math/fraction-bar/preset.d.mts +27 -0
- package/dist/math/fraction-bar/preset.mjs +197 -0
- package/dist/math/function-machine/preset.mjs +2 -2
- package/dist/math/gradient-descent.mjs +6 -6
- package/dist/math/grapher/preset.d.mts +1 -1
- package/dist/math/grapher/preset.mjs +4 -4
- package/dist/math/harmonic-form/preset.mjs +6 -6
- package/dist/math/index.d.mts +27 -2
- package/dist/math/index.mjs +27 -2
- package/dist/math/integral-explorer/preset.mjs +2 -2
- package/dist/math/interactive/preset.mjs +3 -3
- package/dist/math/limit-explorer/preset.mjs +4 -4
- package/dist/math/linear-model/index.d.mts +1 -0
- package/dist/math/linear-model/preset.d.mts +53 -0
- package/dist/math/linear-model/preset.mjs +164 -0
- package/dist/math/linear-system/preset.mjs +4 -4
- package/dist/math/mystery-bucket/preset.mjs +6 -6
- package/dist/math/number-line/preset.mjs +3 -2
- package/dist/math/parabola/preset.mjs +4 -3
- package/dist/math/pattern/preset.mjs +7 -13
- package/dist/math/percent-bar/index.d.mts +1 -0
- package/dist/math/percent-bar/preset.d.mts +37 -0
- package/dist/math/percent-bar/preset.mjs +275 -0
- package/dist/math/poly/core.d.mts +50 -0
- package/dist/math/poly/core.mjs +268 -0
- package/dist/math/poly/index.d.mts +3 -0
- package/dist/math/poly/preset.d.mts +23 -0
- package/dist/math/poly/preset.mjs +141 -0
- package/dist/math/poly/steps.d.mts +10 -0
- package/dist/math/poly/steps.mjs +99 -0
- package/dist/math/rate-machine/index.d.mts +1 -0
- package/dist/math/rate-machine/preset.d.mts +35 -0
- package/dist/math/rate-machine/preset.mjs +281 -0
- package/dist/math/ratio-share/index.d.mts +1 -0
- package/dist/math/ratio-share/preset.d.mts +24 -0
- package/dist/math/ratio-share/preset.mjs +204 -0
- package/dist/math/receipt/index.d.mts +1 -0
- package/dist/math/receipt/preset.d.mts +22 -0
- package/dist/math/receipt/preset.mjs +137 -0
- package/dist/math/sequence-predict/index.d.mts +1 -0
- package/dist/math/sequence-predict/preset.d.mts +34 -0
- package/dist/math/sequence-predict/preset.mjs +130 -0
- package/dist/math/straight-line/index.d.mts +1 -0
- package/dist/math/straight-line/preset.d.mts +37 -0
- package/dist/math/straight-line/preset.mjs +374 -0
- package/dist/math/system-solve/index.d.mts +1 -0
- package/dist/math/system-solve/preset.d.mts +21 -0
- package/dist/math/system-solve/preset.mjs +227 -0
- package/dist/math/transform/index.d.mts +1 -0
- package/dist/math/transform/preset.d.mts +41 -0
- package/dist/math/transform/preset.mjs +343 -0
- package/dist/math/triangle-trig/preset.mjs +12 -9
- package/dist/math/trig/core.d.mts +37 -0
- package/dist/math/trig/core.mjs +150 -0
- package/dist/math/trig/diagrams.d.mts +1 -0
- package/dist/math/trig/diagrams.mjs +321 -0
- package/dist/math/trig/index.d.mts +3 -0
- package/dist/math/trig/preset.d.mts +25 -0
- package/dist/math/trig/preset.mjs +260 -0
- package/dist/math/trig/rules.d.mts +6 -0
- package/dist/math/trig/rules.mjs +159 -0
- package/dist/math/trig-explorer.mjs +4 -4
- package/dist/ml/boundary/preset.mjs +8 -3
- package/dist/ml/classifier/preset.mjs +31 -6
- package/dist/ml/kmeans/preset.mjs +4 -4
- package/dist/ml/knn/preset.mjs +47 -12
- package/dist/ml/regression/preset.mjs +36 -7
- package/dist/physics/atwood/preset.mjs +4 -4
- package/dist/physics/bullet-walls/preset.d.mts +1 -1
- package/dist/physics/bullet-walls/preset.mjs +7 -7
- package/dist/physics/carnot/preset.mjs +6 -6
- package/dist/physics/circular-motion/preset.mjs +36 -5
- package/dist/physics/collision-track/preset.mjs +35 -5
- package/dist/physics/efficiency/preset.d.mts +2 -2
- package/dist/physics/efficiency/preset.mjs +5 -5
- package/dist/physics/electric-field/preset.mjs +32 -23
- package/dist/physics/electric-flux/index.d.mts +1 -0
- package/dist/physics/electric-flux/preset.d.mts +29 -0
- package/dist/physics/electric-flux/preset.mjs +264 -0
- package/dist/physics/energy-skate/preset.mjs +5 -5
- package/dist/physics/entropy/preset.mjs +7 -7
- package/dist/physics/expansion/preset.mjs +13 -13
- package/dist/physics/exponential/asset.mjs +1 -1
- package/dist/physics/exponential/preset.mjs +4 -4
- package/dist/physics/gas-process/preset.mjs +3 -3
- package/dist/physics/gauss-law/index.d.mts +1 -0
- package/dist/physics/gauss-law/preset.d.mts +20 -0
- package/dist/physics/gauss-law/preset.mjs +286 -0
- package/dist/physics/gravitation/preset.mjs +7 -7
- package/dist/physics/gravity-drop.mjs +4 -4
- package/dist/physics/heat-transfer/preset.d.mts +1 -1
- package/dist/physics/heat-transfer/preset.mjs +10 -10
- package/dist/physics/impulse/preset.mjs +5 -5
- package/dist/physics/index.d.mts +4 -1
- package/dist/physics/index.mjs +4 -1
- package/dist/physics/kepler/preset.mjs +4 -4
- package/dist/physics/lever/preset.mjs +3 -3
- package/dist/physics/lorentz/preset.mjs +11 -11
- package/dist/physics/magnetism/preset.mjs +3 -3
- package/dist/physics/optics/preset.mjs +2 -2
- package/dist/physics/orbit-lab.mjs +5 -5
- package/dist/physics/projectile-lab.mjs +4 -4
- package/dist/physics/rain-relative/preset.mjs +5 -5
- package/dist/physics/ramp-forces/preset.mjs +5 -5
- package/dist/physics/river-boat.mjs +6 -6
- package/dist/physics/shm/preset.mjs +9 -9
- package/dist/physics/stopping-distance/preset.mjs +3 -3
- package/dist/physics/temperature-scales/preset.mjs +105 -116
- package/dist/physics/terminal-velocity/preset.mjs +5 -5
- package/dist/physics/thermal/preset.mjs +5 -5
- package/dist/physics/vector-board/preset.mjs +7 -6
- package/dist/physics/vector-scene.mjs +2 -2
- package/dist/physics/vector-types/preset.mjs +37 -3
- package/dist/physics/water-density/preset.mjs +12 -12
- package/dist/physics/waves/doppler.mjs +2 -2
- package/dist/physics/waves/preset.mjs +4 -4
- package/dist/physics/waves/ripple.mjs +6 -6
- package/dist/physics/waves/string.mjs +5 -5
- package/dist/physics/work-energy/preset.mjs +4 -4
- package/dist/physics/work-potential/index.d.mts +1 -0
- package/dist/physics/work-potential/preset.d.mts +20 -0
- package/dist/physics/work-potential/preset.mjs +276 -0
- package/dist/schemas/index.d.mts +6 -6
- package/dist/schemas/index.mjs +3 -3
- package/dist/statistics/center-spread/preset.mjs +3 -3
- package/dist/statistics/core/descriptive.d.mts +2 -2
- package/dist/statistics/core/descriptive.mjs +2 -2
- package/dist/statistics/core/normal.d.mts +3 -3
- package/dist/statistics/core/normal.mjs +3 -3
- package/dist/statistics/core/sequences.d.mts +1 -1
- package/dist/statistics/galton/preset.mjs +2 -2
- package/dist/statistics/histogram/preset.mjs +6 -6
- package/dist/statistics/normal/preset.mjs +2 -2
- package/dist/statistics/sampling/preset.mjs +4 -4
- package/dist/statistics/sequence/preset.mjs +58 -15
- package/dist/statistics/z-table/preset.mjs +17 -4
- package/package.json +11 -3
- package/styles.css +4 -1
|
@@ -3,7 +3,7 @@ import { Node } from "@classytic/stage";
|
|
|
3
3
|
//#region src/kit/expr-analysis.d.ts
|
|
4
4
|
type Fn1 = (x: number) => number;
|
|
5
5
|
/** A straight line y = m·x + c, with the point it was taken at and an evaluator. */
|
|
6
|
-
interface Line {
|
|
6
|
+
interface Line$1 {
|
|
7
7
|
m: number;
|
|
8
8
|
c: number;
|
|
9
9
|
at: {
|
|
@@ -12,7 +12,14 @@ interface Line {
|
|
|
12
12
|
};
|
|
13
13
|
f: Fn1;
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Real roots of f on [a,b]. Two passes so it doesn't miss the roots students do:
|
|
17
|
+
* 1. sign-change brackets refined by BISECTION (odd-multiplicity / crossings);
|
|
18
|
+
* 2. local minima of |f| polished by NEWTON, accepted only if |f| really drops
|
|
19
|
+
* to ~0 — this recovers TANGENT / double roots (e.g. x² at 0) that never
|
|
20
|
+
* change sign. False minima (a parabola that never reaches 0) are rejected
|
|
21
|
+
* by the accept tolerance, so no phantom roots.
|
|
22
|
+
*/
|
|
16
23
|
declare function roots(f: Fn1, a: number, b: number, opts?: {
|
|
17
24
|
steps?: number;
|
|
18
25
|
tol?: number;
|
|
@@ -26,12 +33,17 @@ declare function intersections(f: Fn1, g: Fn1, a: number, b: number, opts?: {
|
|
|
26
33
|
y: number;
|
|
27
34
|
}[];
|
|
28
35
|
/** Exact tangent line to `ast` at x = x0 (params baked in via `scope`). */
|
|
29
|
-
declare function tangentAt(ast: Node, x0: number, varName?: string, params?: Record<string, number>): Line | null;
|
|
36
|
+
declare function tangentAt(ast: Node, x0: number, varName?: string, params?: Record<string, number>): Line$1 | null;
|
|
30
37
|
/** Normal line to `ast` at x = x0 (⟂ the tangent). Null if the tangent is horizontal. */
|
|
31
|
-
declare function normalAt(ast: Node, x0: number, varName?: string, params?: Record<string, number>): Line | null;
|
|
38
|
+
declare function normalAt(ast: Node, x0: number, varName?: string, params?: Record<string, number>): Line$1 | null;
|
|
32
39
|
/** Composite-Simpson definite integral ∫_a^b f dx. */
|
|
33
40
|
declare function integrate(f: Fn1, a: number, b: number, n?: number): number;
|
|
34
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Geometric area between f and g over [a,b]. SPLITS at every crossing so the
|
|
43
|
+
* pieces where g > f don't cancel the pieces where f > g (which a single
|
|
44
|
+
* |∫(f−g)| would). Sums |∫| over each sub-interval — the area an exam actually
|
|
45
|
+
* wants.
|
|
46
|
+
*/
|
|
35
47
|
declare function areaBetween(f: Fn1, g: Fn1, a: number, b: number, n?: number): number;
|
|
36
48
|
//#endregion
|
|
37
|
-
export { Fn1, Line, areaBetween, integrate, intersections, normalAt, roots, tangentAt };
|
|
49
|
+
export { Fn1, Line$1 as Line, areaBetween, integrate, intersections, normalAt, roots, tangentAt };
|
|
@@ -2,10 +2,10 @@ import { differentiate, evaluate } from "@classytic/stage";
|
|
|
2
2
|
|
|
3
3
|
//#region src/kit/expr-analysis.ts
|
|
4
4
|
/**
|
|
5
|
-
* expr-analysis
|
|
5
|
+
* expr-analysis, the numeric/symbolic "solving" layer of the interactive-problem
|
|
6
6
|
* engine, built on @classytic/stage's expr engine. Pure functions (no React) so a
|
|
7
|
-
* creator's authored config can derive the quantities A-level questions ask for
|
|
8
|
-
* roots, intersections, tangents/normals, areas
|
|
7
|
+
* creator's authored config can derive the quantities A-level questions ask for ,
|
|
8
|
+
* roots, intersections, tangents/normals, areas, without anyone hand-coding a lab.
|
|
9
9
|
*
|
|
10
10
|
* Everything works on a compiled scalar `Fn1 = (x) => number` (params already baked
|
|
11
11
|
* into the closure) plus, for exact tangents, the parsed `Node` AST.
|
|
@@ -13,39 +13,79 @@ import { differentiate, evaluate } from "@classytic/stage";
|
|
|
13
13
|
function pushUnique(out, x, tol) {
|
|
14
14
|
if (!out.some((p) => Math.abs(p - x) <= tol)) out.push(x);
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
16
|
+
/** Newton's method from x0 using a central-difference derivative (we only hold
|
|
17
|
+
* the numeric f, not its AST). Returns the polished root, or null on a flat
|
|
18
|
+
* derivative / divergence. Used to recover tangent (even-multiplicity) roots a
|
|
19
|
+
* sign-change scan can't see. */
|
|
20
|
+
function newton(f, x0, tol) {
|
|
21
|
+
let x = x0;
|
|
22
|
+
for (let k = 0; k < 40; k++) {
|
|
23
|
+
const fx = f(x);
|
|
24
|
+
if (!Number.isFinite(fx)) return null;
|
|
25
|
+
if (Math.abs(fx) <= tol) return x;
|
|
26
|
+
const h = Math.max(1e-7, Math.abs(x) * 1e-7);
|
|
27
|
+
const d = (f(x + h) - f(x - h)) / (2 * h);
|
|
28
|
+
if (!Number.isFinite(d) || Math.abs(d) < 1e-13) return null;
|
|
29
|
+
const nx = x - fx / d;
|
|
30
|
+
if (!Number.isFinite(nx)) return null;
|
|
31
|
+
if (Math.abs(nx - x) <= tol) return nx;
|
|
32
|
+
x = nx;
|
|
33
|
+
}
|
|
34
|
+
return Math.abs(f(x)) <= tol ? x : null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Real roots of f on [a,b]. Two passes so it doesn't miss the roots students do:
|
|
38
|
+
* 1. sign-change brackets refined by BISECTION (odd-multiplicity / crossings);
|
|
39
|
+
* 2. local minima of |f| polished by NEWTON, accepted only if |f| really drops
|
|
40
|
+
* to ~0 — this recovers TANGENT / double roots (e.g. x² at 0) that never
|
|
41
|
+
* change sign. False minima (a parabola that never reaches 0) are rejected
|
|
42
|
+
* by the accept tolerance, so no phantom roots.
|
|
43
|
+
*/
|
|
17
44
|
function roots(f, a, b, opts = {}) {
|
|
18
45
|
const steps = opts.steps ?? 1e3;
|
|
19
46
|
const tol = opts.tol ?? 1e-9;
|
|
20
47
|
const grid = (b - a) / steps;
|
|
21
48
|
const out = [];
|
|
22
|
-
|
|
23
|
-
let
|
|
24
|
-
for (let i = 1; i <= steps; i++) {
|
|
49
|
+
const xs = [], fs = [];
|
|
50
|
+
for (let i = 0; i <= steps; i++) {
|
|
25
51
|
const x = a + grid * i;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
xs.push(x);
|
|
53
|
+
fs.push(f(x));
|
|
54
|
+
}
|
|
55
|
+
let maxAbs = 0;
|
|
56
|
+
for (const v of fs) if (Number.isFinite(v)) maxAbs = Math.max(maxAbs, Math.abs(v));
|
|
57
|
+
const acceptTol = 1e-7 * (1 + maxAbs);
|
|
58
|
+
for (let i = 1; i <= steps; i++) {
|
|
59
|
+
const fPrev = fs[i - 1], fx = fs[i];
|
|
60
|
+
if (!Number.isFinite(fPrev) || !Number.isFinite(fx)) continue;
|
|
61
|
+
if (fPrev === 0) {
|
|
62
|
+
pushUnique(out, xs[i - 1], grid);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (fPrev * fx < 0) {
|
|
66
|
+
let lo = xs[i - 1], hi = xs[i], flo = fPrev;
|
|
67
|
+
for (let k = 0; k < 80 && hi - lo > tol; k++) {
|
|
68
|
+
const mid = (lo + hi) / 2;
|
|
69
|
+
const fm = f(mid);
|
|
70
|
+
if (!Number.isFinite(fm)) break;
|
|
71
|
+
if (flo * fm <= 0) hi = mid;
|
|
72
|
+
else {
|
|
73
|
+
lo = mid;
|
|
74
|
+
flo = fm;
|
|
42
75
|
}
|
|
43
|
-
pushUnique(out, (lo + hi) / 2, grid);
|
|
44
76
|
}
|
|
77
|
+
pushUnique(out, (lo + hi) / 2, grid);
|
|
45
78
|
}
|
|
46
|
-
xPrev = x;
|
|
47
|
-
fPrev = fx;
|
|
48
79
|
}
|
|
80
|
+
for (let i = 1; i < steps; i++) {
|
|
81
|
+
const p = fs[i - 1], c = fs[i], q = fs[i + 1];
|
|
82
|
+
if (!Number.isFinite(p) || !Number.isFinite(c) || !Number.isFinite(q)) continue;
|
|
83
|
+
if (Math.abs(c) <= Math.abs(p) && Math.abs(c) <= Math.abs(q) && Math.abs(c) < .05 * (1 + maxAbs)) {
|
|
84
|
+
const r = newton(f, xs[i], tol);
|
|
85
|
+
if (r != null && r >= a - grid && r <= b + grid && Math.abs(f(r)) <= acceptTol) pushUnique(out, r, grid);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
out.sort((u, v) => u - v);
|
|
49
89
|
return out;
|
|
50
90
|
}
|
|
51
91
|
/** Points where f and g meet on [a,b]. */
|
|
@@ -102,9 +142,23 @@ function integrate(f, a, b, n = 1e3) {
|
|
|
102
142
|
for (let i = 1; i < N; i++) s += (i % 2 ? 4 : 2) * f(a + i * h);
|
|
103
143
|
return h / 3 * s;
|
|
104
144
|
}
|
|
105
|
-
/**
|
|
145
|
+
/**
|
|
146
|
+
* Geometric area between f and g over [a,b]. SPLITS at every crossing so the
|
|
147
|
+
* pieces where g > f don't cancel the pieces where f > g (which a single
|
|
148
|
+
* |∫(f−g)| would). Sums |∫| over each sub-interval — the area an exam actually
|
|
149
|
+
* wants.
|
|
150
|
+
*/
|
|
106
151
|
function areaBetween(f, g, a, b, n = 1e3) {
|
|
107
|
-
|
|
152
|
+
const d = (x) => f(x) - g(x);
|
|
153
|
+
const cuts = [
|
|
154
|
+
a,
|
|
155
|
+
...roots(d, a, b).filter((x) => x > a + 1e-9 && x < b - 1e-9).sort((u, v) => u - v),
|
|
156
|
+
b
|
|
157
|
+
];
|
|
158
|
+
const per = Math.max(20, Math.round(n / Math.max(1, cuts.length - 1)));
|
|
159
|
+
let area = 0;
|
|
160
|
+
for (let i = 0; i < cuts.length - 1; i++) area += Math.abs(integrate(d, cuts[i], cuts[i + 1], per));
|
|
161
|
+
return area;
|
|
108
162
|
}
|
|
109
163
|
|
|
110
164
|
//#endregion
|
package/dist/kit/frame.d.mts
CHANGED
|
@@ -17,13 +17,13 @@ interface LabFrameProps {
|
|
|
17
17
|
children: ReactNode;
|
|
18
18
|
/** Optional narrow side column (readouts, a guess, a result callout). */
|
|
19
19
|
aside?: ReactNode;
|
|
20
|
-
/** The single controls bar
|
|
20
|
+
/** The single controls bar, pass <ControlBar>…</ControlBar>. */
|
|
21
21
|
controls?: ReactNode;
|
|
22
22
|
/** Quiet footer: feedback / hints / reveal / a note. */
|
|
23
23
|
footer?: ReactNode;
|
|
24
|
-
/** Ref on the outer container
|
|
24
|
+
/** Ref on the outer container, e.g. for useInView() to pause a sim off-screen. */
|
|
25
25
|
rootRef?: Ref<HTMLDivElement>;
|
|
26
|
-
/** Creator's per-control hide/lock policy
|
|
26
|
+
/** Creator's per-control hide/lock policy, flows to every Field/Control below. */
|
|
27
27
|
controlConfig?: ControlConfig;
|
|
28
28
|
}
|
|
29
29
|
declare function LabFrame({
|
package/dist/kit/frame.mjs
CHANGED
|
@@ -5,24 +5,24 @@ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
|
|
6
6
|
//#region src/kit/frame.tsx
|
|
7
7
|
/**
|
|
8
|
-
* LabFrame
|
|
8
|
+
* LabFrame, the shared layout shell every lab composes into, so labs stop being
|
|
9
9
|
* hand-rolled inline-styled one-offs and read as ONE product. Structure:
|
|
10
10
|
*
|
|
11
|
-
* title + one-line prompt (header
|
|
11
|
+
* title + one-line prompt (header, no walls of text)
|
|
12
12
|
* [▸ goals] (collapsed disclosure, reveal-on-action)
|
|
13
13
|
* ┌─ figure (dominant) ─┬─ aside ─┐ (one grid; aside optional + narrow)
|
|
14
14
|
* └─────────────────────┴─────────┘
|
|
15
15
|
* [ one controls bar ] (ALL knobs in one place, never scattered)
|
|
16
16
|
* feedback / hints / reveal (quiet footer)
|
|
17
17
|
*
|
|
18
|
-
* Everything styles off `.lab-*` in @classytic/labs/styles.css
|
|
18
|
+
* Everything styles off `.lab-*` in @classytic/labs/styles.css, no inline layout.
|
|
19
19
|
* Pair with the existing pedagogy kit (HintLadder, RevealSolution, Feedback).
|
|
20
20
|
*
|
|
21
|
-
* CREATOR CONTROL
|
|
21
|
+
* CREATOR CONTROL, `controlConfig` lets the author decide, per knob, what a learner
|
|
22
22
|
* may touch: `{ hide: ['mass'], lock: ['angle'] }`. Hidden knobs vanish; locked knobs
|
|
23
23
|
* stay visible but read-only (their value is whatever the creator set as the initial
|
|
24
24
|
* prop). LabFrame provides this as context; `Field` (keyed by its `name ?? label`) and
|
|
25
|
-
* the `Control` wrapper consume it
|
|
25
|
+
* the `Control` wrapper consume it, so a lab opts in with ~2 lines and every knob,
|
|
26
26
|
* existing or new, honours it. The mechanism is uniform: no per-knob boolean props.
|
|
27
27
|
*/
|
|
28
28
|
const ControlCtx = createContext(void 0);
|
|
@@ -83,6 +83,25 @@ function LabFrame({ title, prompt, objectives, children, aside, controls, footer
|
|
|
83
83
|
function ControlBar({ children }) {
|
|
84
84
|
return /* @__PURE__ */ jsx(Fragment$1, { children });
|
|
85
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Group an inline expression (parens, steppers, "→ result", …) so it reads as ONE
|
|
88
|
+
* unit. `.lab-controls` is a grid that gives EACH ControlBar child its own ~185px
|
|
89
|
+
* cell, which scatters a multi-piece expression across columns. Wrap those pieces
|
|
90
|
+
* in `<ControlExpr>` and they stay together (one cell, tight gaps, baseline-aligned).
|
|
91
|
+
*/
|
|
92
|
+
function ControlExpr({ children }) {
|
|
93
|
+
return /* @__PURE__ */ jsx("span", {
|
|
94
|
+
style: {
|
|
95
|
+
gridColumn: "1 / -1",
|
|
96
|
+
display: "flex",
|
|
97
|
+
alignItems: "center",
|
|
98
|
+
flexWrap: "wrap",
|
|
99
|
+
gap: 8,
|
|
100
|
+
fontWeight: 600
|
|
101
|
+
},
|
|
102
|
+
children
|
|
103
|
+
});
|
|
104
|
+
}
|
|
86
105
|
const LockMark = () => /* @__PURE__ */ jsxs("svg", {
|
|
87
106
|
className: "lab-field-lock",
|
|
88
107
|
viewBox: "0 0 24 24",
|
|
@@ -202,4 +221,4 @@ function MeterBar({ label, frac, color, value }) {
|
|
|
202
221
|
}
|
|
203
222
|
|
|
204
223
|
//#endregion
|
|
205
|
-
export { Callout, Control, ControlBar, Field, LabFrame, LiveRegion, MeterBar };
|
|
224
|
+
export { Callout, Control, ControlBar, ControlExpr, Field, LabFrame, LiveRegion, MeterBar };
|
package/dist/kit/gameshow.mjs
CHANGED
|
@@ -148,7 +148,7 @@ function DoorGlyph({ x, y, w, h, label, open = 0, picked = false, dim = false, c
|
|
|
148
148
|
]
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
|
-
/** The prize
|
|
151
|
+
/** The prize, a shiny car (side view) in box (x,y,w,h). */
|
|
152
152
|
function CarGlyph({ x, y, w, h }) {
|
|
153
153
|
const X = (f) => x + w * f, Y = (f) => y + h * f;
|
|
154
154
|
const edge = "color-mix(in oklab, var(--stage-warn) 55%, black)";
|
|
@@ -214,7 +214,7 @@ function CarGlyph({ x, y, w, h }) {
|
|
|
214
214
|
] }, f))
|
|
215
215
|
] });
|
|
216
216
|
}
|
|
217
|
-
/** The booby prize
|
|
217
|
+
/** The booby prize, a goat head in box (x,y,w,h). Big swept horns + beard so it
|
|
218
218
|
* reads as a goat, not a mouse. */
|
|
219
219
|
function GoatGlyph({ x, y, w, h }) {
|
|
220
220
|
const X = (f) => x + w * f, Y = (f) => y + h * f;
|
package/dist/kit/index.d.mts
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
import { Callout, ControlBar, ControlConfig, Field, LabFrame } from "./frame.mjs";
|
|
2
1
|
import { ChallengeCard, ChallengeChoice, ChallengeQuestion, ChallengeState, CheckpointArgs, Feedback, HintLadder, Hints, Objectives, RevealSolution, RevealSolutionProps, useChallenge, useCheckpoint, useHints } from "./pedagogy.mjs";
|
|
2
|
+
import { Calc, CalcStep, Worked, calc, texNum } from "./calc.mjs";
|
|
3
|
+
import { RuleCard, RuleDef, RuleInput, RuleLab, WorkedSteps } from "./rule.mjs";
|
|
4
|
+
import { ReceiptItem, ReceiptScene, ReceiptSceneProps } from "./receipt.mjs";
|
|
5
|
+
import { Clue, ClueBalance, ClueBar, ClueCoins, ClueReceipt, ClueScene, ClueSceneKind, ClueSceneMeta, ClueTiles, Unknown, UnknownChip, clueTotal, getClueScene, listClueScenes, registerClueScene } from "./clue-scene.mjs";
|
|
6
|
+
import { Callout, ControlBar, ControlConfig, Field, LabFrame } from "./frame.mjs";
|
|
3
7
|
import { StepNav, Steps, useSteps } from "./steps.mjs";
|
|
4
8
|
import { PlayGate, PlayWrap, usePlayGate } from "./play.mjs";
|
|
5
|
-
|
|
9
|
+
import { GuessTone, Vessel, VesselGlyph, VesselGlyphProps, VesselProps } from "./vessel.mjs";
|
|
10
|
+
import { PredictPlot, PredictPlotProps } from "./predict.mjs";
|
|
11
|
+
import { DotCluster, DotClusterProps } from "./cluster.mjs";
|
|
12
|
+
import { Blank, FillSlot, SlotFill, SlotFillProps, SlotFillState, SlotTray, useSlotFill } from "./slot-fill.mjs";
|
|
13
|
+
import { QuantityInput, QuantityScene, SceneMeta, getScene, listScenes, registerScene } from "./scenes.mjs";
|
|
14
|
+
import { DataSceneSpec, dataScene, registerDataScene } from "./data-scene.mjs";
|
|
15
|
+
import { SceneStudio, SceneStudioProps } from "./scene-studio.mjs";
|
|
16
|
+
import { SceneLibrary, SceneLibraryManager, loadSceneLibrary, registerScenes, saveSceneLibrary, useSceneLibrary } from "./scene-library.mjs";
|
|
17
|
+
export { Blank, Calc, type CalcStep, Callout, ChallengeCard, type ChallengeChoice, type ChallengeQuestion, type ChallengeState, type CheckpointArgs, type Clue, ClueBalance, ClueBar, ClueCoins, ClueReceipt, ClueScene, type ClueSceneKind, type ClueSceneMeta, ClueTiles, ControlBar, type ControlConfig, type DataSceneSpec, DotCluster, type DotClusterProps, Feedback, Field, type FillSlot, type GuessTone, HintLadder, type Hints, LabFrame, Objectives, type PlayGate, PlayWrap, PredictPlot, type PredictPlotProps, type QuantityInput, type QuantityScene, type ReceiptItem, ReceiptScene, type ReceiptSceneProps, RevealSolution, type RevealSolutionProps, RuleCard, type RuleDef, type RuleInput, RuleLab, type SceneLibrary, SceneLibraryManager, type SceneMeta, SceneStudio, type SceneStudioProps, SlotFill, type SlotFillProps, type SlotFillState, SlotTray, StepNav, type Steps, type Unknown, UnknownChip, Vessel, VesselGlyph, type VesselGlyphProps, type VesselProps, type Worked, WorkedSteps, calc, clueTotal, dataScene, getClueScene, getScene, listClueScenes, listScenes, loadSceneLibrary, registerClueScene, registerDataScene, registerScene, registerScenes, saveSceneLibrary, texNum, useChallenge, useCheckpoint, useHints, usePlayGate, useSceneLibrary, useSlotFill, useSteps };
|
package/dist/kit/index.mjs
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { Callout, ControlBar, Field, LabFrame } from "./frame.mjs";
|
|
2
2
|
import { ChallengeCard, Feedback, HintLadder, Objectives, RevealSolution, useChallenge, useCheckpoint, useHints } from "./pedagogy.mjs";
|
|
3
3
|
import { PlayWrap, usePlayGate } from "./play.mjs";
|
|
4
|
+
import { PredictPlot } from "./predict.mjs";
|
|
5
|
+
import { Vessel, VesselGlyph } from "./vessel.mjs";
|
|
6
|
+
import { DotCluster } from "./cluster.mjs";
|
|
7
|
+
import { getScene, listScenes, registerScene } from "./scenes.mjs";
|
|
8
|
+
import { Blank, SlotFill, SlotTray, useSlotFill } from "./slot-fill.mjs";
|
|
9
|
+
import { Calc, calc, texNum } from "./calc.mjs";
|
|
10
|
+
import { ReceiptScene } from "./receipt.mjs";
|
|
11
|
+
import { ClueBalance, ClueBar, ClueCoins, ClueReceipt, ClueScene, ClueTiles, UnknownChip, clueTotal, getClueScene, listClueScenes, registerClueScene } from "./clue-scene.mjs";
|
|
12
|
+
import { RuleCard, RuleLab, WorkedSteps } from "./rule.mjs";
|
|
4
13
|
import { StepNav, useSteps } from "./steps.mjs";
|
|
14
|
+
import { dataScene, registerDataScene } from "./data-scene.mjs";
|
|
15
|
+
import { SceneStudio } from "./scene-studio.mjs";
|
|
16
|
+
import { SceneLibraryManager, loadSceneLibrary, registerScenes, saveSceneLibrary, useSceneLibrary } from "./scene-library.mjs";
|
|
5
17
|
|
|
6
|
-
export { Callout, ChallengeCard, ControlBar, Feedback, Field, HintLadder, LabFrame, Objectives, PlayWrap, RevealSolution, StepNav, useChallenge, useCheckpoint, useHints, usePlayGate, useSteps };
|
|
18
|
+
export { Blank, Calc, Callout, ChallengeCard, ClueBalance, ClueBar, ClueCoins, ClueReceipt, ClueScene, ClueTiles, ControlBar, DotCluster, Feedback, Field, HintLadder, LabFrame, Objectives, PlayWrap, PredictPlot, ReceiptScene, RevealSolution, RuleCard, RuleLab, SceneLibraryManager, SceneStudio, SlotFill, SlotTray, StepNav, UnknownChip, Vessel, VesselGlyph, WorkedSteps, calc, clueTotal, dataScene, getClueScene, getScene, listClueScenes, listScenes, loadSceneLibrary, registerClueScene, registerDataScene, registerScene, registerScenes, saveSceneLibrary, texNum, useChallenge, useCheckpoint, useHints, usePlayGate, useSceneLibrary, useSlotFill, useSteps };
|