@classytic/labs 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -22
- package/dist/_virtual/_rolldown/runtime.mjs +19 -1
- package/dist/algorithms/GraphAlgorithmLab.d.mts +1 -9
- package/dist/algorithms/GraphAlgorithmLab.mjs +2 -2
- package/dist/algorithms/GraphView.d.mts +1 -10
- package/dist/algorithms/GridPathLab.d.mts +1 -6
- package/dist/algorithms/GrowthLab.d.mts +1 -7
- package/dist/algorithms/GrowthLab.mjs +1 -1
- package/dist/algorithms/HashLab.d.mts +1 -9
- package/dist/algorithms/HashLab.mjs +3 -2
- package/dist/algorithms/HeapDualView.d.mts +1 -7
- package/dist/algorithms/HeapQuestLab.d.mts +1 -10
- package/dist/algorithms/HeapQuestLab.mjs +1 -1
- package/dist/algorithms/ListLab.d.mts +1 -9
- package/dist/algorithms/ListLab.mjs +1 -1
- package/dist/algorithms/SearchLab.d.mts +1 -7
- package/dist/algorithms/SearchLab.mjs +1 -1
- package/dist/algorithms/SortingLab.d.mts +1 -9
- package/dist/algorithms/SortingLab.mjs +1 -1
- package/dist/algorithms/TraceTransport.d.mts +1 -8
- package/dist/algorithms/TraceTransport.mjs +0 -1
- package/dist/algorithms/TreeQuestLab.d.mts +1 -12
- package/dist/algorithms/TreeQuestLab.mjs +3 -3
- package/dist/algorithms/TreeScene.d.mts +1 -7
- package/dist/algorithms/TreeScene.mjs +8 -4
- package/dist/algorithms/core/index.d.mts +6 -1
- package/dist/algorithms/core/index.mjs +9 -4
- package/dist/algorithms/cost-derivation/core.d.mts +1 -1
- package/dist/algorithms/cost-derivation/core.mjs +1 -1
- package/dist/algorithms/cost-derivation/index.d.mts +2 -1
- package/dist/algorithms/cost-derivation/preset.d.mts +1 -7
- package/dist/algorithms/cost-derivation/preset.mjs +1 -1
- package/dist/algorithms/dp.d.mts +0 -1
- package/dist/algorithms/graph.d.mts +0 -1
- package/dist/algorithms/graph.mjs +1 -1
- package/dist/algorithms/heap.d.mts +0 -1
- package/dist/algorithms/index.d.mts +6 -5
- package/dist/algorithms/index.mjs +12 -12
- package/dist/algorithms/normalize.d.mts +0 -1
- package/dist/algorithms/presets.d.mts +0 -1
- package/dist/algorithms/search.d.mts +0 -1
- package/dist/algorithms/sorting.d.mts +0 -1
- package/dist/algorithms/tree/index.mjs +1 -1
- package/dist/algorithms/tree-builder.d.mts +0 -1
- package/dist/algorithms/tree-layout.d.mts +0 -1
- package/dist/algorithms/tree-presets.d.mts +0 -1
- package/dist/algorithms/tree.d.mts +0 -1
- package/dist/authoring/evidence.mjs +68 -0
- package/dist/authoring/index.d.mts +2 -3
- package/dist/authoring/index.mjs +2 -2
- package/dist/authoring/quality.d.mts +4 -3
- package/dist/authoring/quality.mjs +28 -1
- package/dist/authoring/report.d.mts +9 -1
- package/dist/authoring/report.mjs +12 -1
- package/dist/biology/cell-division/activity.d.mts +1 -1
- package/dist/biology/cell-division/core.mjs +2 -1
- package/dist/biology/cell-division/index.d.mts +4 -1
- package/dist/biology/cell-division/meiosis-activity.d.mts +1 -1
- package/dist/biology/cell-division/meiosis-preset.d.mts +2 -12
- package/dist/biology/cell-division/meiosis-preset.mjs +1 -1
- package/dist/biology/cell-division/meiosis-scene.d.mts +1 -7
- package/dist/biology/cell-division/preset.d.mts +2 -13
- package/dist/biology/cell-division/preset.mjs +6 -4
- package/dist/biology/cell-energy/activity.d.mts +1 -1
- package/dist/biology/cell-energy/core.d.mts +1 -6
- package/dist/biology/cell-energy/index.d.mts +3 -1
- package/dist/biology/cell-energy/preset.d.mts +2 -15
- package/dist/biology/cell-sample-investigator/core.d.mts +18 -0
- package/dist/biology/cell-sample-investigator/core.mjs +56 -0
- package/dist/biology/cell-sample-investigator.d.mts +17 -0
- package/dist/biology/cell-sample-investigator.mjs +446 -0
- package/dist/biology/cell-system/activity.d.mts +1 -1
- package/dist/biology/cell-system/index.d.mts +3 -1
- package/dist/biology/cell-system/preset.d.mts +2 -13
- package/dist/biology/cell-system/preset.mjs +5 -5
- package/dist/biology/enzyme-rate/index.d.mts +2 -1
- package/dist/biology/enzyme-rate/preset.d.mts +1 -11
- package/dist/biology/enzyme-rate/preset.mjs +2 -1
- package/dist/biology/genetic-cross/core.mjs +1 -1
- package/dist/biology/genetic-cross/grid.mjs +3 -2
- package/dist/biology/genetic-cross/index.d.mts +2 -1
- package/dist/biology/genetic-cross/preset.d.mts +1 -12
- package/dist/biology/genetic-cross/sex-linked.d.mts +1 -12
- package/dist/biology/index.d.mts +13 -1
- package/dist/biology/index.mjs +3 -1
- package/dist/biology/membrane-transport/activity.d.mts +1 -1
- package/dist/biology/membrane-transport/core.d.mts +1 -7
- package/dist/biology/membrane-transport/index.d.mts +3 -1
- package/dist/biology/membrane-transport/preset.d.mts +2 -18
- package/dist/biology/photosynthesis-factors/index.d.mts +2 -1
- package/dist/biology/photosynthesis-factors/preset.d.mts +1 -11
- package/dist/biology/punnett-cross/index.d.mts +2 -1
- package/dist/biology/punnett-cross/preset.d.mts +1 -12
- package/dist/biology/respiration/index.d.mts +2 -1
- package/dist/biology/respiration/preset.d.mts +1 -7
- package/dist/biology/respiration/preset.mjs +2 -2
- package/dist/biology/sequence/central-dogma.d.mts +1 -7
- package/dist/biology/sequence/central-dogma.mjs +1 -1
- package/dist/biology/sequence/index.d.mts +2 -1
- package/dist/biology/sequence/preset.d.mts +1 -8
- package/dist/blocks/authoring.d.mts +0 -1
- package/dist/blocks/authoring.mjs +1 -1
- package/dist/blocks/catalog.d.mts +1 -1
- package/dist/blocks/domains.d.mts +2 -3
- package/dist/blocks/domains.mjs +3 -4
- package/dist/blocks/index.d.mts +0 -1
- package/dist/blocks/lab-block.mjs +14 -1
- package/dist/blocks/lab-config.d.mts +1 -8
- package/dist/blocks/lab-config.mjs +1 -1
- package/dist/blocks/lazy-resolve.d.mts +1 -5
- package/dist/blocks/lazy.d.mts +1 -3
- package/dist/blocks/lazy.mjs +1 -2
- package/dist/blocks/lesson.d.mts +1 -7
- package/dist/blocks/lesson.mjs +11 -10
- package/dist/blocks/resolve.d.mts +2 -0
- package/dist/blocks/resolve.mjs +5 -0
- package/dist/build/CircuitEditor.d.mts +1 -5
- package/dist/build/CircuitEditor.mjs +3 -2
- package/dist/build/CircuitPlayer.d.mts +1 -7
- package/dist/build/CircuitScene.d.mts +1 -11
- package/dist/build/contract.d.mts +1 -2
- package/dist/build/editor-ops.d.mts +0 -1
- package/dist/build/editor-ops.mjs +3 -2
- package/dist/build/flow.d.mts +0 -1
- package/dist/build/parts/ammeter.d.mts +1 -1
- package/dist/build/parts/bulb.d.mts +1 -1
- package/dist/build/parts/capacitor.d.mts +1 -1
- package/dist/build/parts/cell.d.mts +1 -1
- package/dist/build/parts/diode.d.mts +1 -1
- package/dist/build/parts/index.d.mts +10 -0
- package/dist/build/parts/index.mjs +1 -1
- package/dist/build/parts/mosfet.d.mts +1 -1
- package/dist/build/parts/mosfet.mjs +2 -1
- package/dist/build/parts/node.d.mts +1 -1
- package/dist/build/parts/resistor.d.mts +1 -1
- package/dist/build/parts/switch.d.mts +1 -1
- package/dist/build/registry.d.mts +0 -1
- package/dist/build/solve.d.mts +0 -1
- package/dist/build/solve.mjs +0 -0
- package/dist/build/viewport.mjs +3 -3
- package/dist/catalog/registry.d.mts +1 -2
- package/dist/chem/applied-chemistry-lab.d.mts +10 -0
- package/dist/chem/applied-chemistry-lab.mjs +341 -0
- package/dist/chem/battery.d.mts +1 -7
- package/dist/chem/battery.mjs +22 -17
- package/dist/chem/bohr-atom.d.mts +1 -7
- package/dist/chem/bohr-atom.mjs +2 -3
- package/dist/chem/crystal-lattice/activity.d.mts +0 -1
- package/dist/chem/crystal-lattice/index.d.mts +2 -1
- package/dist/chem/crystal-lattice/preset.d.mts +2 -18
- package/dist/chem/diffusion/index.d.mts +2 -1
- package/dist/chem/diffusion/preset.d.mts +1 -7
- package/dist/chem/diffusion/preset.mjs +2 -1
- package/dist/chem/electrochem/index.d.mts +3 -1
- package/dist/chem/electrochem/preset.d.mts +1 -11
- package/dist/chem/electrochem/preset.mjs +19 -327
- package/dist/chem/electrochem/scene.d.mts +2 -0
- package/dist/chem/electrochem/scene.mjs +370 -0
- package/dist/chem/equation-conservation-desk.d.mts +22 -0
- package/dist/chem/equation-conservation-desk.mjs +250 -0
- package/dist/chem/equilibrium/index.d.mts +2 -1
- package/dist/chem/equilibrium/preset.d.mts +1 -14
- package/dist/chem/equilibrium/preset.mjs +25 -16
- package/dist/chem/evidence-scenes.mjs +460 -0
- package/dist/chem/formula-forge.d.mts +11 -0
- package/dist/chem/formula-forge.mjs +347 -0
- package/dist/chem/gas-box/index.d.mts +2 -1
- package/dist/chem/gas-box/preset.d.mts +1 -13
- package/dist/chem/gas-box/preset.mjs +34 -25
- package/dist/chem/index.d.mts +33 -1
- package/dist/chem/index.mjs +17 -1
- package/dist/chem/industrial-process-lab.d.mts +10 -0
- package/dist/chem/industrial-process-lab.mjs +197 -0
- package/dist/chem/kinetics/index.d.mts +2 -1
- package/dist/chem/kinetics/preset.d.mts +1 -12
- package/dist/chem/kinetics/preset.mjs +27 -23
- package/dist/chem/mole-factory.d.mts +11 -0
- package/dist/chem/mole-factory.mjs +351 -0
- package/dist/chem/molecular-geometry/activity.d.mts +0 -1
- package/dist/chem/molecular-geometry/index.d.mts +2 -1
- package/dist/chem/molecular-geometry/preset.d.mts +1 -15
- package/dist/chem/molecular-geometry/preset.mjs +6 -5
- package/dist/chem/o-level-concepts.d.mts +32 -0
- package/dist/chem/o-level-concepts.mjs +700 -0
- package/dist/chem/orbital-overlap/activity.d.mts +0 -1
- package/dist/chem/orbital-overlap/index.d.mts +2 -1
- package/dist/chem/orbital-overlap/preset.d.mts +2 -16
- package/dist/chem/orbitals/activity.d.mts +0 -1
- package/dist/chem/orbitals/index.d.mts +2 -1
- package/dist/chem/orbitals/preset.d.mts +2 -20
- package/dist/chem/particle-theatre.d.mts +11 -0
- package/dist/chem/particle-theatre.mjs +362 -0
- package/dist/chem/periodic-trends/index.d.mts +2 -1
- package/dist/chem/periodic-trends/preset.d.mts +1 -9
- package/dist/chem/periodic-trends/preset.mjs +109 -593
- package/dist/chem/ratio-normalizer/core.d.mts +37 -0
- package/dist/chem/ratio-normalizer/core.mjs +84 -0
- package/dist/chem/ratio-normalizer/index.d.mts +3 -0
- package/dist/chem/ratio-normalizer/preset.d.mts +14 -0
- package/dist/chem/ratio-normalizer/preset.mjs +241 -0
- package/dist/chem/reaction-lab.d.mts +1 -8
- package/dist/chem/reaction-lab.mjs +133 -82
- package/dist/chem/reaction-profile.d.mts +1 -9
- package/dist/chem/solubility-kitchen.d.mts +11 -0
- package/dist/chem/solubility-kitchen.mjs +267 -0
- package/dist/chem/solution/dilution.d.mts +1 -13
- package/dist/chem/solution/dilution.mjs +6 -5
- package/dist/chem/solution/field.d.mts +1 -12
- package/dist/chem/solution/index.d.mts +2 -1
- package/dist/chem/solution/solution-box.d.mts +1 -13
- package/dist/chem/solution/solution-box.mjs +6 -5
- package/dist/chem/solution-mixer.d.mts +11 -0
- package/dist/chem/solution-mixer.mjs +268 -0
- package/dist/chem/species-workshop.d.mts +11 -0
- package/dist/chem/species-workshop.mjs +274 -0
- package/dist/chem/stereochemistry/activity.d.mts +0 -1
- package/dist/chem/stereochemistry/core.mjs +66 -67
- package/dist/chem/stereochemistry/index.d.mts +2 -1
- package/dist/chem/stereochemistry/preset.d.mts +1 -14
- package/dist/chem/stoichiometry/index.d.mts +2 -1
- package/dist/chem/stoichiometry/preset.d.mts +1 -11
- package/dist/chem/stoichiometry/preset.mjs +10 -6
- package/dist/chem/structure-detective.d.mts +12 -0
- package/dist/chem/structure-detective.mjs +496 -0
- package/dist/chem/titration/index.d.mts +2 -1
- package/dist/chem/titration/preset.d.mts +1 -13
- package/dist/chem/titration/preset.mjs +10 -8
- package/dist/circuits/ac-dc/index.d.mts +2 -1
- package/dist/circuits/ac-dc/preset.d.mts +3 -11
- package/dist/circuits/ac-dc/preset.mjs +214 -52
- package/dist/circuits/ac-response/activity.mjs +121 -0
- package/dist/circuits/ac-response/preset.mjs +474 -0
- package/dist/circuits/brownout/index.d.mts +2 -1
- package/dist/circuits/brownout/preset.d.mts +1 -9
- package/dist/circuits/brownout/preset.mjs +22 -21
- package/dist/circuits/capacitor-leak/index.d.mts +2 -1
- package/dist/circuits/capacitor-leak/preset.d.mts +4 -14
- package/dist/circuits/capacitor-leak/preset.mjs +396 -228
- package/dist/circuits/cell-combination/activity.mjs +119 -0
- package/dist/circuits/cell-combination/core.mjs +115 -0
- package/dist/circuits/cell-combination/preset.mjs +265 -0
- package/dist/circuits/circuit/activity-plan.mjs +6 -6
- package/dist/circuits/circuit/asset.d.mts +0 -1
- package/dist/circuits/circuit/asset.mjs +1 -2
- package/dist/circuits/circuit/index.d.mts +2 -1
- package/dist/circuits/circuit/preset.d.mts +1 -8
- package/dist/circuits/circuit/preset.mjs +25 -36
- package/dist/circuits/circuit-builder.d.mts +1 -10
- package/dist/circuits/circuit-lab.d.mts +1 -11
- package/dist/circuits/circuit-lab.mjs +82 -92
- package/dist/circuits/cmos-gate/index.d.mts +3 -1
- package/dist/circuits/cmos-gate/inverter.d.mts +1 -10
- package/dist/circuits/cmos-gate/inverter.mjs +23 -18
- package/dist/circuits/cmos-gate/nand.d.mts +1 -9
- package/dist/circuits/cmos-gate/nand.mjs +6 -5
- package/dist/circuits/cmos-gate/nor.d.mts +1 -9
- package/dist/circuits/cmos-gate/nor.mjs +7 -6
- package/dist/circuits/cmos-gate/preset.d.mts +2 -1
- package/dist/circuits/cmos-gate/rnmos-not.d.mts +1 -10
- package/dist/circuits/cmos-gate/rnmos-not.mjs +9 -8
- package/dist/circuits/diode/index.d.mts +2 -1
- package/dist/circuits/diode/preset.d.mts +2 -11
- package/dist/circuits/diode/preset.mjs +251 -77
- package/dist/circuits/energy-cost/activity.mjs +120 -0
- package/dist/circuits/energy-cost/core.mjs +93 -0
- package/dist/circuits/energy-cost/preset.mjs +278 -0
- package/dist/circuits/index.d.mts +16 -1
- package/dist/circuits/index.mjs +5 -1
- package/dist/circuits/kirchhoff/core.d.mts +70 -0
- package/dist/circuits/kirchhoff/core.mjs +187 -0
- package/dist/circuits/kirchhoff/index.d.mts +3 -0
- package/dist/circuits/kirchhoff/preset.d.mts +37 -0
- package/dist/circuits/kirchhoff/preset.mjs +929 -0
- package/dist/circuits/meter-conversion/activity.mjs +119 -0
- package/dist/circuits/meter-conversion/core.mjs +114 -0
- package/dist/circuits/meter-conversion/preset.mjs +311 -0
- package/dist/circuits/network-reduction/activity.mjs +140 -0
- package/dist/circuits/network-reduction/preset.mjs +424 -0
- package/dist/circuits/network-reduction/presets.mjs +239 -0
- package/dist/circuits/null-balance/activity.mjs +96 -0
- package/dist/circuits/null-balance/core.mjs +145 -0
- package/dist/circuits/null-balance/preset.mjs +375 -0
- package/dist/circuits/potential-divider/core.d.mts +42 -0
- package/dist/circuits/potential-divider/core.mjs +80 -0
- package/dist/circuits/potential-divider/index.d.mts +3 -0
- package/dist/circuits/potential-divider/preset.d.mts +35 -0
- package/dist/circuits/potential-divider/preset.mjs +686 -0
- package/dist/circuits/rc-charging/index.d.mts +2 -1
- package/dist/circuits/rc-charging/preset.d.mts +2 -12
- package/dist/circuits/rc-charging/preset.mjs +318 -101
- package/dist/circuits/semiconductor/bjt-inside.d.mts +1 -9
- package/dist/circuits/semiconductor/bjt-inside.mjs +13 -13
- package/dist/circuits/semiconductor/conduction.d.mts +1 -7
- package/dist/circuits/semiconductor/conduction.mjs +12 -14
- package/dist/circuits/semiconductor/hall-effect.d.mts +1 -7
- package/dist/circuits/semiconductor/hall-effect.mjs +13 -13
- package/dist/circuits/semiconductor/index.d.mts +3 -1
- package/dist/circuits/semiconductor/mosfet-inside.d.mts +1 -10
- package/dist/circuits/semiconductor/mosfet-inside.mjs +50 -43
- package/dist/circuits/semiconductor/pn-junction.d.mts +1 -9
- package/dist/circuits/semiconductor/pn-junction.mjs +26 -23
- package/dist/circuits/semiconductor/preset.d.mts +2 -1
- package/dist/circuits/semiconductor/silicon-lattice.d.mts +1 -11
- package/dist/circuits/semiconductor/silicon-lattice.mjs +12 -12
- package/dist/circuits/transistor/index.d.mts +2 -1
- package/dist/circuits/transistor/preset.d.mts +2 -12
- package/dist/circuits/transistor/preset.mjs +220 -68
- package/dist/commerce/accounting/core.d.mts +3 -18
- package/dist/commerce/accounting/core.mjs +4 -26
- package/dist/commerce/accounting/equation-balance.d.mts +1 -11
- package/dist/commerce/accounting/equation-balance.mjs +31 -27
- package/dist/commerce/accounting/index.d.mts +2 -1
- package/dist/commerce/accounting/journal-poster.d.mts +1 -9
- package/dist/commerce/accounting/journal-poster.mjs +103 -81
- package/dist/commerce/accounting/statement-sorter.d.mts +1 -9
- package/dist/commerce/accounting/statement-sorter.mjs +34 -33
- package/dist/commerce/activity.d.mts +5 -23
- package/dist/commerce/economics/demand-shift-vs-move.d.mts +1 -13
- package/dist/commerce/economics/elasticity-revenue.d.mts +1 -11
- package/dist/commerce/economics/index.d.mts +2 -1
- package/dist/commerce/economics/market-equilibrium.d.mts +1 -13
- package/dist/commerce/economics/market-equilibrium.mjs +1 -1
- package/dist/commerce/finance/apportion.d.mts +1 -14
- package/dist/commerce/finance/apportion.mjs +36 -34
- package/dist/commerce/finance/break-even.d.mts +1 -12
- package/dist/commerce/finance/break-even.mjs +37 -63
- package/dist/commerce/finance/business-lesson.d.mts +3 -11
- package/dist/commerce/finance/business-lesson.mjs +57 -55
- package/dist/commerce/finance/club-subscriptions/preset.mjs +420 -0
- package/dist/commerce/finance/compound-interest.d.mts +1 -13
- package/dist/commerce/finance/compound-interest.mjs +55 -61
- package/dist/commerce/finance/depreciation.d.mts +1 -13
- package/dist/commerce/finance/depreciation.mjs +112 -95
- package/dist/commerce/finance/eoq.d.mts +1 -12
- package/dist/commerce/finance/incomplete-records/core.mjs +69 -0
- package/dist/commerce/finance/incomplete-records/preset.mjs +212 -0
- package/dist/commerce/finance/index.d.mts +2 -1
- package/dist/commerce/finance/inventory-policy.d.mts +1 -8
- package/dist/commerce/finance/limited-company.d.mts +1 -11
- package/dist/commerce/finance/limited-company.mjs +141 -145
- package/dist/commerce/finance/manufacturing-flow/preset.mjs +134 -0
- package/dist/commerce/finance/manufacturing-flow/scene.mjs +257 -0
- package/dist/commerce/finance/partnership-split/preset.mjs +218 -0
- package/dist/commerce/finance/ratio-lab.d.mts +2 -17
- package/dist/commerce/finance/ratio-lab.mjs +142 -61
- package/dist/commerce/finance/statement-builder.d.mts +2 -17
- package/dist/commerce/finance/statement-builder.mjs +64 -54
- package/dist/commerce/finance/supply-chain.d.mts +1 -15
- package/dist/commerce/finance/supply-chain.mjs +12 -3
- package/dist/commerce/finance/warehouse-allocation.d.mts +1 -10
- package/dist/commerce/index.d.mts +3 -0
- package/dist/core/embedding.d.mts +14 -0
- package/dist/{domains/ml/embedding-space → core}/embedding.mjs +5 -19
- package/dist/core/index.d.mts +2 -2
- package/dist/core/index.mjs +2 -2
- package/dist/core/next-token.d.mts +9 -0
- package/dist/{domains/ml/next-token/model.mjs → core/next-token.mjs} +9 -33
- package/dist/core/numeric.d.mts +1 -8
- package/dist/core/numeric.mjs +1 -15
- package/dist/core/tex.d.mts +1 -6
- package/dist/core/timeline.d.mts +0 -1
- package/dist/core/timeline.mjs +13 -10
- package/dist/core/util.d.mts +0 -1
- package/dist/data/core/evaluation-leakage.d.mts +16 -0
- package/dist/data/core/evaluation-leakage.mjs +24 -0
- package/dist/data/core/record-model.d.mts +29 -0
- package/dist/data/core/record-model.mjs +39 -0
- package/dist/data/foundation/design-records.d.mts +8 -0
- package/dist/data/foundation/design-records.mjs +60 -0
- package/dist/data/foundation/dirty-data.d.mts +8 -0
- package/dist/data/foundation/dirty-data.mjs +119 -0
- package/dist/data/index.d.mts +7 -0
- package/dist/data/index.mjs +8 -0
- package/dist/data/visuals/leakage-board.d.mts +10 -0
- package/dist/data/visuals/leakage-board.mjs +87 -0
- package/dist/data/visuals/record-model-board.d.mts +11 -0
- package/dist/data/visuals/record-model-board.mjs +188 -0
- package/dist/databases/core/access-path.d.mts +21 -0
- package/dist/databases/core/access-path.mjs +72 -0
- package/dist/databases/core/b-plus-tree.d.mts +21 -0
- package/dist/databases/core/b-plus-tree.mjs +54 -0
- package/dist/databases/core/query-plan.d.mts +32 -0
- package/dist/databases/core/query-plan.mjs +54 -0
- package/dist/databases/foundation/b-plus-range.d.mts +8 -0
- package/dist/databases/foundation/b-plus-range.mjs +81 -0
- package/dist/databases/foundation/index-detective.d.mts +8 -0
- package/dist/databases/foundation/index-detective.mjs +113 -0
- package/dist/databases/foundation/query-plan.d.mts +8 -0
- package/dist/databases/foundation/query-plan.mjs +90 -0
- package/dist/databases/foundation/range-query.d.mts +8 -0
- package/dist/databases/foundation/range-query.mjs +113 -0
- package/dist/databases/index.d.mts +14 -0
- package/dist/databases/index.mjs +15 -0
- package/dist/databases/visuals/access-path-primitives.d.mts +43 -0
- package/dist/databases/visuals/access-path-primitives.mjs +151 -0
- package/dist/databases/visuals/b-plus-tree-board.d.mts +9 -0
- package/dist/databases/visuals/b-plus-tree-board.mjs +96 -0
- package/dist/databases/visuals/index-detective-board.d.mts +12 -0
- package/dist/databases/visuals/index-detective-board.mjs +187 -0
- package/dist/databases/visuals/query-plan-board.d.mts +11 -0
- package/dist/databases/visuals/query-plan-board.mjs +118 -0
- package/dist/databases/visuals/query-plan-primitives.d.mts +17 -0
- package/dist/databases/visuals/query-plan-primitives.mjs +92 -0
- package/dist/databases/visuals/range-query-board.d.mts +11 -0
- package/dist/databases/visuals/range-query-board.mjs +97 -0
- package/dist/deep-learning/core/attention.d.mts +24 -0
- package/dist/deep-learning/core/attention.mjs +123 -0
- package/dist/deep-learning/core/causal-mask.d.mts +18 -0
- package/dist/deep-learning/core/causal-mask.mjs +35 -0
- package/dist/deep-learning/core/context-window.d.mts +15 -0
- package/dist/deep-learning/core/context-window.mjs +31 -0
- package/dist/deep-learning/core/convolution.d.mts +22 -0
- package/dist/deep-learning/core/convolution.mjs +91 -0
- package/dist/deep-learning/core/dense-layer.d.mts +49 -0
- package/dist/deep-learning/core/dense-layer.mjs +108 -0
- package/dist/deep-learning/core/embedding-neighborhood.d.mts +10 -0
- package/dist/deep-learning/core/embedding-neighborhood.mjs +92 -0
- package/dist/deep-learning/core/encoder-decoder.d.mts +17 -0
- package/dist/deep-learning/core/encoder-decoder.mjs +39 -0
- package/dist/deep-learning/core/feed-forward-network.d.mts +13 -0
- package/dist/deep-learning/core/feed-forward-network.mjs +27 -0
- package/dist/deep-learning/core/gradient-run.d.mts +12 -0
- package/dist/deep-learning/core/gradient-run.mjs +20 -0
- package/dist/deep-learning/core/gradient-step.d.mts +24 -0
- package/dist/deep-learning/core/gradient-step.mjs +34 -0
- package/dist/deep-learning/core/layer-normalization.d.mts +16 -0
- package/dist/deep-learning/core/layer-normalization.mjs +28 -0
- package/dist/deep-learning/core/learning-loop.d.mts +20 -0
- package/dist/deep-learning/core/learning-loop.mjs +36 -0
- package/dist/deep-learning/core/linear-algebra.d.mts +10 -0
- package/dist/deep-learning/core/linear-algebra.mjs +16 -0
- package/dist/deep-learning/core/linear-fit.d.mts +20 -0
- package/dist/deep-learning/core/linear-fit.mjs +31 -0
- package/dist/deep-learning/core/loss.d.mts +11 -0
- package/dist/deep-learning/core/loss.mjs +15 -0
- package/dist/deep-learning/core/memory-relay.d.mts +15 -0
- package/dist/deep-learning/core/memory-relay.mjs +31 -0
- package/dist/deep-learning/core/multi-head-attention.d.mts +17 -0
- package/dist/deep-learning/core/multi-head-attention.mjs +103 -0
- package/dist/deep-learning/core/multimodal-alignment.d.mts +18 -0
- package/dist/deep-learning/core/multimodal-alignment.mjs +70 -0
- package/dist/deep-learning/core/neural-trace.d.mts +20 -0
- package/dist/deep-learning/core/neural-trace.mjs +29 -0
- package/dist/deep-learning/core/position.d.mts +17 -0
- package/dist/deep-learning/core/position.mjs +64 -0
- package/dist/deep-learning/core/query-key-value.d.mts +31 -0
- package/dist/deep-learning/core/query-key-value.mjs +37 -0
- package/dist/deep-learning/core/residual-stream.d.mts +12 -0
- package/dist/deep-learning/core/residual-stream.mjs +16 -0
- package/dist/deep-learning/core/scaled-dot-product-attention.d.mts +24 -0
- package/dist/deep-learning/core/scaled-dot-product-attention.mjs +41 -0
- package/dist/deep-learning/core/token-generation.d.mts +14 -0
- package/dist/deep-learning/core/token-generation.mjs +23 -0
- package/dist/deep-learning/core/transformer-block.d.mts +23 -0
- package/dist/deep-learning/core/transformer-block.mjs +25 -0
- package/dist/deep-learning/core/unembedding.d.mts +25 -0
- package/dist/deep-learning/core/unembedding.mjs +23 -0
- package/dist/deep-learning/foundation/activation-gates.d.mts +12 -0
- package/dist/deep-learning/foundation/activation-gates.mjs +63 -0
- package/dist/deep-learning/foundation/affine-neuron.d.mts +14 -0
- package/dist/deep-learning/foundation/affine-neuron.mjs +75 -0
- package/dist/deep-learning/foundation/anomaly-detector.d.mts +8 -0
- package/dist/deep-learning/foundation/anomaly-detector.mjs +79 -0
- package/dist/deep-learning/foundation/attention-routing.d.mts +8 -0
- package/dist/deep-learning/foundation/attention-routing.mjs +41 -0
- package/dist/deep-learning/foundation/autoencoder.d.mts +8 -0
- package/dist/deep-learning/foundation/autoencoder.mjs +74 -0
- package/dist/deep-learning/foundation/causal-mask.d.mts +8 -0
- package/dist/deep-learning/foundation/causal-mask.mjs +44 -0
- package/dist/deep-learning/foundation/context-window.d.mts +8 -0
- package/dist/deep-learning/foundation/context-window.mjs +39 -0
- package/dist/deep-learning/foundation/denoising.d.mts +8 -0
- package/dist/deep-learning/foundation/denoising.mjs +78 -0
- package/dist/deep-learning/foundation/embedding-neighborhood.d.mts +8 -0
- package/dist/deep-learning/foundation/embedding-neighborhood.mjs +41 -0
- package/dist/deep-learning/foundation/encoder-decoder.d.mts +8 -0
- package/dist/deep-learning/foundation/encoder-decoder.mjs +48 -0
- package/dist/deep-learning/foundation/feature-map.d.mts +10 -0
- package/dist/deep-learning/foundation/feature-map.mjs +105 -0
- package/dist/deep-learning/foundation/feed-forward-network.d.mts +12 -0
- package/dist/deep-learning/foundation/feed-forward-network.mjs +70 -0
- package/dist/deep-learning/foundation/fit-evidence.d.mts +14 -0
- package/dist/deep-learning/foundation/fit-evidence.mjs +96 -0
- package/dist/deep-learning/foundation/gradient-step.d.mts +14 -0
- package/dist/deep-learning/foundation/gradient-step.mjs +78 -0
- package/dist/deep-learning/foundation/latent-space.d.mts +8 -0
- package/dist/deep-learning/foundation/latent-space.mjs +41 -0
- package/dist/deep-learning/foundation/layer-normalization.d.mts +14 -0
- package/dist/deep-learning/foundation/layer-normalization.mjs +65 -0
- package/dist/deep-learning/foundation/learning-loop.d.mts +14 -0
- package/dist/deep-learning/foundation/learning-loop.mjs +55 -0
- package/dist/deep-learning/foundation/loss-error.d.mts +11 -0
- package/dist/deep-learning/foundation/loss-error.mjs +50 -0
- package/dist/deep-learning/foundation/matrix-vector.d.mts +11 -0
- package/dist/deep-learning/foundation/matrix-vector.mjs +61 -0
- package/dist/deep-learning/foundation/memory-relay.d.mts +8 -0
- package/dist/deep-learning/foundation/memory-relay.mjs +48 -0
- package/dist/deep-learning/foundation/multi-head-attention.d.mts +8 -0
- package/dist/deep-learning/foundation/multi-head-attention.mjs +59 -0
- package/dist/deep-learning/foundation/multimodal-alignment.d.mts +8 -0
- package/dist/deep-learning/foundation/multimodal-alignment.mjs +63 -0
- package/dist/deep-learning/foundation/pixel-filter.d.mts +8 -0
- package/dist/deep-learning/foundation/pixel-filter.mjs +52 -0
- package/dist/deep-learning/foundation/position.d.mts +8 -0
- package/dist/deep-learning/foundation/position.mjs +40 -0
- package/dist/deep-learning/foundation/query-key-value.d.mts +8 -0
- package/dist/deep-learning/foundation/query-key-value.mjs +51 -0
- package/dist/deep-learning/foundation/residual-stream.d.mts +13 -0
- package/dist/deep-learning/foundation/residual-stream.mjs +44 -0
- package/dist/deep-learning/foundation/scaled-dot-product-attention.d.mts +10 -0
- package/dist/deep-learning/foundation/scaled-dot-product-attention.mjs +122 -0
- package/dist/deep-learning/foundation/tiny-network.d.mts +9 -0
- package/dist/deep-learning/foundation/tiny-network.mjs +48 -0
- package/dist/deep-learning/foundation/token-generation.d.mts +8 -0
- package/dist/deep-learning/foundation/token-generation.mjs +45 -0
- package/dist/deep-learning/foundation/training-loop.d.mts +14 -0
- package/dist/deep-learning/foundation/training-loop.mjs +83 -0
- package/dist/deep-learning/foundation/transformer-block.d.mts +13 -0
- package/dist/deep-learning/foundation/transformer-block.mjs +74 -0
- package/dist/deep-learning/foundation/unembedding.d.mts +14 -0
- package/dist/deep-learning/foundation/unembedding.mjs +113 -0
- package/dist/deep-learning/index.d.mts +91 -0
- package/dist/deep-learning/index.mjs +92 -0
- package/dist/deep-learning/visuals/activation-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/activation-diagram.mjs +153 -0
- package/dist/deep-learning/visuals/anomaly-diagram.d.mts +11 -0
- package/dist/deep-learning/visuals/anomaly-diagram.mjs +175 -0
- package/dist/deep-learning/visuals/attention-routing-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/attention-routing-diagram.mjs +160 -0
- package/dist/deep-learning/visuals/autoencoder-diagram.d.mts +12 -0
- package/dist/deep-learning/visuals/autoencoder-diagram.mjs +161 -0
- package/dist/deep-learning/visuals/causal-mask-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/causal-mask-diagram.mjs +183 -0
- package/dist/deep-learning/visuals/context-window-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/context-window-diagram.mjs +200 -0
- package/dist/deep-learning/visuals/convolution-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/convolution-diagram.mjs +139 -0
- package/dist/deep-learning/visuals/denoising-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/denoising-diagram.mjs +103 -0
- package/dist/deep-learning/visuals/embedding-neighborhood-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/embedding-neighborhood-diagram.mjs +162 -0
- package/dist/deep-learning/visuals/encoder-decoder-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/encoder-decoder-diagram.mjs +229 -0
- package/dist/deep-learning/visuals/feature-map-diagram.d.mts +13 -0
- package/dist/deep-learning/visuals/feature-map-diagram.mjs +168 -0
- package/dist/deep-learning/visuals/feed-forward-workshop-diagram.d.mts +11 -0
- package/dist/deep-learning/visuals/feed-forward-workshop-diagram.mjs +131 -0
- package/dist/deep-learning/visuals/gradient-step-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/gradient-step-diagram.mjs +126 -0
- package/dist/deep-learning/visuals/latent-space-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/latent-space-diagram.mjs +140 -0
- package/dist/deep-learning/visuals/layer-normalization-diagram.d.mts +11 -0
- package/dist/deep-learning/visuals/layer-normalization-diagram.mjs +191 -0
- package/dist/deep-learning/visuals/learning-loop-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/learning-loop-diagram.mjs +148 -0
- package/dist/deep-learning/visuals/linear-fit-diagram.d.mts +11 -0
- package/dist/deep-learning/visuals/linear-fit-diagram.mjs +113 -0
- package/dist/deep-learning/visuals/loss-diagram.d.mts +8 -0
- package/dist/deep-learning/visuals/loss-diagram.mjs +173 -0
- package/dist/deep-learning/visuals/matrix-vector-diagram.d.mts +12 -0
- package/dist/deep-learning/visuals/matrix-vector-diagram.mjs +165 -0
- package/dist/deep-learning/visuals/memory-relay-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/memory-relay-diagram.mjs +242 -0
- package/dist/deep-learning/visuals/multi-head-attention-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/multi-head-attention-diagram.mjs +170 -0
- package/dist/deep-learning/visuals/multimodal-alignment-diagram.d.mts +13 -0
- package/dist/deep-learning/visuals/multimodal-alignment-diagram.mjs +138 -0
- package/dist/deep-learning/visuals/neuron-diagram.d.mts +12 -0
- package/dist/deep-learning/visuals/neuron-diagram.mjs +231 -0
- package/dist/deep-learning/visuals/position-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/position-diagram.mjs +157 -0
- package/dist/deep-learning/visuals/query-key-value-diagram.d.mts +12 -0
- package/dist/deep-learning/visuals/query-key-value-diagram.mjs +247 -0
- package/dist/deep-learning/visuals/residual-stream-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/residual-stream-diagram.mjs +221 -0
- package/dist/deep-learning/visuals/scaled-attention-mixer.d.mts +15 -0
- package/dist/deep-learning/visuals/scaled-attention-mixer.mjs +244 -0
- package/dist/deep-learning/visuals/tiny-network-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/tiny-network-diagram.mjs +136 -0
- package/dist/deep-learning/visuals/token-generation-diagram.d.mts +10 -0
- package/dist/deep-learning/visuals/token-generation-diagram.mjs +199 -0
- package/dist/deep-learning/visuals/training-trail-diagram.d.mts +9 -0
- package/dist/deep-learning/visuals/training-trail-diagram.mjs +109 -0
- package/dist/deep-learning/visuals/transformer-block-diagram.d.mts +11 -0
- package/dist/deep-learning/visuals/transformer-block-diagram.mjs +273 -0
- package/dist/deep-learning/visuals/unembedding-diagram.d.mts +12 -0
- package/dist/deep-learning/visuals/unembedding-diagram.mjs +195 -0
- package/dist/discrete/arrangements/preset.d.mts +1 -10
- package/dist/discrete/bayes/preset.d.mts +1 -15
- package/dist/discrete/binomial/preset.d.mts +1 -11
- package/dist/discrete/binomial/preset.mjs +9 -4
- package/dist/discrete/combination-studio/figure.d.mts +0 -1
- package/dist/discrete/combination-studio/index.d.mts +2 -1
- package/dist/discrete/combination-studio/preset.d.mts +1 -12
- package/dist/discrete/combination-studio/preset.mjs +4 -2
- package/dist/discrete/core/inclusionExclusion.d.mts +0 -1
- package/dist/discrete/counting-slots/preset.d.mts +1 -13
- package/dist/discrete/counting-tree/index.d.mts +2 -1
- package/dist/discrete/counting-tree/preset.d.mts +1 -15
- package/dist/discrete/counting-tree/preset.mjs +10 -8
- package/dist/discrete/expected-value/preset.d.mts +1 -10
- package/dist/discrete/hypergeometric/preset.d.mts +1 -11
- package/dist/discrete/hypergeometric/preset.mjs +13 -8
- package/dist/discrete/index.d.mts +16 -0
- package/dist/discrete/induction/index.d.mts +2 -1
- package/dist/discrete/induction/preset.d.mts +1 -7
- package/dist/discrete/invariant/index.d.mts +2 -1
- package/dist/discrete/invariant/preset.d.mts +1 -9
- package/dist/discrete/karnaugh/index.d.mts +2 -1
- package/dist/discrete/karnaugh/preset.d.mts +1 -13
- package/dist/discrete/karnaugh/preset.mjs +6 -4
- package/dist/discrete/lln/index.d.mts +2 -1
- package/dist/discrete/lln/preset.d.mts +1 -7
- package/dist/discrete/modular-clock/index.d.mts +2 -1
- package/dist/discrete/modular-clock/preset.d.mts +1 -9
- package/dist/discrete/monte-carlo/index.d.mts +2 -1
- package/dist/discrete/monte-carlo/preset.d.mts +1 -15
- package/dist/discrete/monte-carlo/preset.mjs +1 -1
- package/dist/discrete/monty-hall/index.d.mts +2 -1
- package/dist/discrete/monty-hall/preset.d.mts +1 -10
- package/dist/discrete/monty-hall/preset.mjs +5 -2
- package/dist/discrete/outcome-builder/preset.d.mts +1 -10
- package/dist/discrete/outcome-builder/preset.mjs +2 -1
- package/dist/discrete/pascal/preset.d.mts +1 -10
- package/dist/discrete/pascal/preset.mjs +12 -6
- package/dist/discrete/pigeonhole/index.d.mts +2 -1
- package/dist/discrete/pigeonhole/preset.d.mts +1 -8
- package/dist/discrete/proof/core.d.mts +1 -1
- package/dist/discrete/proof-builder/index.d.mts +2 -1
- package/dist/discrete/proof-builder/preset.d.mts +1 -7
- package/dist/discrete/proof-builder/preset.mjs +2 -1
- package/dist/discrete/recurrence/index.d.mts +2 -1
- package/dist/discrete/recurrence/preset.d.mts +1 -8
- package/dist/discrete/rules.d.mts +1 -2
- package/dist/discrete/rules.mjs +1 -1
- package/dist/discrete/sample-space/index.d.mts +2 -1
- package/dist/discrete/sample-space/preset.d.mts +1 -15
- package/dist/discrete/sample-space/preset.mjs +2 -1
- package/dist/discrete/selection/preset.d.mts +1 -12
- package/dist/discrete/statement-logic/index.d.mts +2 -1
- package/dist/discrete/statement-logic/preset.d.mts +1 -8
- package/dist/discrete/truth-table/index.d.mts +2 -1
- package/dist/discrete/truth-table/preset.d.mts +1 -12
- package/dist/discrete/truth-table/preset.mjs +4 -2
- package/dist/discrete/venn/index.d.mts +2 -1
- package/dist/discrete/venn/preset.d.mts +1 -11
- package/dist/discrete/venn/preset.mjs +2 -1
- package/dist/discrete/visuals/reasoning-scenes.mjs +1 -1
- package/dist/distributed-systems/core/sharding.d.mts +19 -0
- package/dist/distributed-systems/core/sharding.mjs +24 -0
- package/dist/distributed-systems/foundation/shard-key.d.mts +8 -0
- package/dist/distributed-systems/foundation/shard-key.mjs +103 -0
- package/dist/distributed-systems/index.d.mts +4 -0
- package/dist/distributed-systems/index.mjs +5 -0
- package/dist/distributed-systems/visuals/shard-key-board.d.mts +20 -0
- package/dist/distributed-systems/visuals/shard-key-board.mjs +126 -0
- package/dist/domains/accounting/bank-reconciliation/activity.mjs +96 -0
- package/dist/domains/accounting/bank-reconciliation/manifest.mjs +75 -0
- package/dist/domains/accounting/bank-reconciliation/runtime.mjs +171 -0
- package/dist/domains/accounting/bank-reconciliation/scene.mjs +251 -0
- package/dist/domains/accounting/business-day-mission/activity.mjs +114 -0
- package/dist/domains/accounting/business-day-mission/manifest.mjs +58 -0
- package/dist/domains/accounting/business-day-mission/runtime.mjs +191 -0
- package/dist/domains/accounting/business-day-mission/scene.mjs +184 -0
- package/dist/domains/accounting/business-lesson/schema.mjs +3 -6
- package/dist/domains/accounting/cash-budget-runway/activity.mjs +119 -0
- package/dist/domains/accounting/cash-budget-runway/manifest.mjs +74 -0
- package/dist/domains/accounting/cash-budget-runway/runtime.mjs +142 -0
- package/dist/domains/accounting/club-subscriptions/manifest.mjs +67 -0
- package/dist/domains/accounting/club-subscriptions/runtime.mjs +5 -0
- package/dist/domains/accounting/company-statement-builder/activity.mjs +114 -0
- package/dist/domains/accounting/company-statement-builder/manifest.mjs +68 -0
- package/dist/domains/accounting/company-statement-builder/runtime.mjs +110 -0
- package/dist/domains/accounting/control-account-builder/activity.mjs +96 -0
- package/dist/domains/accounting/control-account-builder/manifest.mjs +66 -0
- package/dist/domains/accounting/control-account-builder/runtime.mjs +151 -0
- package/dist/domains/accounting/control-account-builder/scene.mjs +119 -0
- package/dist/domains/accounting/costing-profit-bridge/activity.mjs +119 -0
- package/dist/domains/accounting/costing-profit-bridge/manifest.mjs +73 -0
- package/dist/domains/accounting/costing-profit-bridge/runtime.mjs +203 -0
- package/dist/domains/accounting/factory-expansion-case/activity.mjs +118 -0
- package/dist/domains/accounting/factory-expansion-case/manifest.mjs +59 -0
- package/dist/domains/accounting/factory-expansion-case/runtime.mjs +245 -0
- package/dist/domains/accounting/incomplete-records/manifest.mjs +71 -0
- package/dist/domains/accounting/incomplete-records/runtime.mjs +5 -0
- package/dist/domains/accounting/integrated-budget-mission/activity.mjs +115 -0
- package/dist/domains/accounting/integrated-budget-mission/manifest.mjs +76 -0
- package/dist/domains/accounting/integrated-budget-mission/runtime.mjs +169 -0
- package/dist/domains/accounting/integrated-budget-mission/scene.mjs +229 -0
- package/dist/domains/accounting/inventory-costing/activity.mjs +119 -0
- package/dist/domains/accounting/inventory-costing/manifest.mjs +73 -0
- package/dist/domains/accounting/inventory-costing/runtime.mjs +166 -0
- package/dist/domains/accounting/inventory-costing/scene.mjs +257 -0
- package/dist/domains/accounting/investment-appraisal/activity.mjs +119 -0
- package/dist/domains/accounting/investment-appraisal/manifest.mjs +72 -0
- package/dist/domains/accounting/investment-appraisal/runtime.mjs +177 -0
- package/dist/domains/accounting/limiting-factor-mix/activity.mjs +119 -0
- package/dist/domains/accounting/limiting-factor-mix/manifest.mjs +65 -0
- package/dist/domains/accounting/limiting-factor-mix/runtime.mjs +140 -0
- package/dist/domains/accounting/management-scenes.mjs +582 -0
- package/dist/domains/accounting/manufacturing-flow/manifest.mjs +75 -0
- package/dist/domains/accounting/manufacturing-flow/runtime.mjs +5 -0
- package/dist/domains/accounting/operating-budget-chain/activity.mjs +119 -0
- package/dist/domains/accounting/operating-budget-chain/manifest.mjs +75 -0
- package/dist/domains/accounting/operating-budget-chain/runtime.mjs +167 -0
- package/dist/domains/accounting/partnership-split/manifest.mjs +69 -0
- package/dist/domains/accounting/partnership-split/runtime.mjs +5 -0
- package/dist/domains/accounting/period-adjustment-workbench/activity.mjs +77 -0
- package/dist/domains/accounting/period-adjustment-workbench/manifest.mjs +120 -0
- package/dist/domains/accounting/period-adjustment-workbench/runtime.mjs +142 -0
- package/dist/domains/accounting/period-close-mission/activity.mjs +118 -0
- package/dist/domains/accounting/period-close-mission/manifest.mjs +63 -0
- package/dist/domains/accounting/period-close-mission/runtime.mjs +327 -0
- package/dist/domains/accounting/period-close-mission/scene.mjs +265 -0
- package/dist/domains/accounting/process-loss/activity.mjs +119 -0
- package/dist/domains/accounting/process-loss/manifest.mjs +60 -0
- package/dist/domains/accounting/process-loss/runtime.mjs +136 -0
- package/dist/domains/accounting/statement-builder/manifest.mjs +2 -1
- package/dist/domains/accounting/suspense-reconstruction/activity.mjs +84 -0
- package/dist/domains/accounting/suspense-reconstruction/manifest.mjs +75 -0
- package/dist/domains/accounting/suspense-reconstruction/runtime.mjs +138 -0
- package/dist/domains/accounting/suspense-reconstruction/scene.mjs +176 -0
- package/dist/domains/accounting/variance-detective/activity.mjs +119 -0
- package/dist/domains/accounting/variance-detective/manifest.mjs +57 -0
- package/dist/domains/accounting/variance-detective/runtime.mjs +144 -0
- package/dist/domains/activity-map.d.mts +0 -1
- package/dist/domains/activity-map.mjs +129 -0
- package/dist/domains/biology/cell-sample-investigator/activity.mjs +53 -0
- package/dist/domains/biology/cell-sample-investigator/manifest.mjs +72 -0
- package/dist/domains/biology/cell-sample-investigator/runtime.mjs +6 -0
- package/dist/domains/biology/genetic-cross/runtime.mjs +2 -1
- package/dist/domains/biology/punnett-cross/manifest.mjs +1 -1
- package/dist/domains/biology/sequence/runtime.mjs +2 -1
- package/dist/domains/biology/sex-linked-cross/manifest.mjs +1 -1
- package/dist/domains/block-loaders.mjs +3 -0
- package/dist/domains/block-sets/accounting.mjs +56 -14
- package/dist/domains/block-sets/biology.mjs +15 -13
- package/dist/domains/block-sets/chem.mjs +131 -19
- package/dist/domains/block-sets/circuits.mjs +38 -20
- package/dist/domains/block-sets/data.mjs +10 -0
- package/dist/domains/block-sets/databases.mjs +17 -0
- package/dist/domains/block-sets/distributed-systems.mjs +9 -0
- package/dist/domains/block-sets/math.mjs +71 -53
- package/dist/domains/block-sets/ml.mjs +72 -8
- package/dist/domains/block-sets/networking.mjs +109 -9
- package/dist/domains/block-sets/physics.mjs +137 -71
- package/dist/domains/blocks.mjs +1 -1
- package/dist/domains/catalog-map.mjs +9411 -2599
- package/dist/domains/chem/air-composition/manifest.mjs +45 -0
- package/dist/domains/chem/air-composition/runtime.mjs +5 -0
- package/dist/domains/chem/alkene-geometry/activity.mjs +73 -0
- package/dist/domains/chem/alkene-geometry/manifest.mjs +58 -0
- package/dist/domains/chem/alkene-geometry/model.mjs +204 -0
- package/dist/domains/chem/alkene-geometry/runtime.mjs +122 -0
- package/dist/domains/chem/alkene-geometry/scene.mjs +170 -0
- package/dist/domains/chem/apparatus-choice/manifest.mjs +51 -0
- package/dist/domains/chem/apparatus-choice/runtime.mjs +5 -0
- package/dist/domains/chem/applied-chemistry/manifest.mjs +62 -0
- package/dist/domains/chem/applied-chemistry/runtime.mjs +5 -0
- package/dist/domains/chem/arene-evidence/activity.mjs +86 -0
- package/dist/domains/chem/arene-evidence/manifest.mjs +51 -0
- package/dist/domains/chem/arene-evidence/model.d.mts +71 -0
- package/dist/domains/chem/arene-evidence/model.mjs +116 -0
- package/dist/domains/chem/arene-evidence/runtime.mjs +138 -0
- package/dist/domains/chem/arene-evidence/scene.d.mts +8 -0
- package/dist/domains/chem/arene-evidence/scene.mjs +208 -0
- package/dist/domains/chem/battery/manifest.mjs +1 -0
- package/dist/domains/chem/bohr-atom/manifest.mjs +1 -0
- package/dist/domains/chem/catalytic-cycle/activity.mjs +36 -0
- package/dist/domains/chem/catalytic-cycle/manifest.mjs +44 -0
- package/dist/domains/chem/catalytic-cycle/model.mjs +61 -0
- package/dist/domains/chem/catalytic-cycle/runtime.mjs +61 -0
- package/dist/domains/chem/catalytic-cycle/scene.mjs +27 -0
- package/dist/domains/chem/change-detective/activity.mjs +81 -0
- package/dist/domains/chem/change-detective/manifest.mjs +46 -0
- package/dist/domains/chem/change-detective/model.mjs +65 -0
- package/dist/domains/chem/change-detective/runtime.mjs +73 -0
- package/dist/domains/chem/change-detective/scene.mjs +415 -0
- package/dist/domains/chem/chem-qualitative-analysis/activity.mjs +95 -0
- package/dist/domains/chem/chem-qualitative-analysis/manifest.mjs +68 -0
- package/dist/domains/chem/chem-qualitative-analysis/runtime.mjs +303 -0
- package/dist/domains/chem/chromatography-plate/activity.mjs +87 -0
- package/dist/domains/chem/chromatography-plate/manifest.mjs +59 -0
- package/dist/domains/chem/chromatography-plate/model.mjs +180 -0
- package/dist/domains/chem/chromatography-plate/runtime.mjs +200 -0
- package/dist/domains/chem/chromatography-plate/scene.mjs +292 -0
- package/dist/domains/chem/complex-colour/activity.mjs +94 -0
- package/dist/domains/chem/complex-colour/manifest.mjs +53 -0
- package/dist/domains/chem/complex-colour/model.mjs +243 -0
- package/dist/domains/chem/complex-colour/runtime.mjs +168 -0
- package/dist/domains/chem/complex-colour/scene.mjs +283 -0
- package/dist/domains/chem/complex-shape/activity.mjs +86 -0
- package/dist/domains/chem/complex-shape/manifest.mjs +52 -0
- package/dist/domains/chem/complex-shape/model.mjs +182 -0
- package/dist/domains/chem/complex-shape/runtime.mjs +162 -0
- package/dist/domains/chem/complex-shape/scene.mjs +270 -0
- package/dist/domains/chem/composition-evidence/activity.mjs +94 -0
- package/dist/domains/chem/composition-evidence/manifest.mjs +71 -0
- package/dist/domains/chem/composition-evidence/model.mjs +60 -0
- package/dist/domains/chem/composition-evidence/runtime.mjs +127 -0
- package/dist/domains/chem/composition-evidence/scene.mjs +308 -0
- package/dist/domains/chem/conductivity-bench/activity.mjs +71 -0
- package/dist/domains/chem/conductivity-bench/manifest.mjs +58 -0
- package/dist/domains/chem/conductivity-bench/model.mjs +257 -0
- package/dist/domains/chem/conductivity-bench/runtime.mjs +136 -0
- package/dist/domains/chem/conductivity-bench/scene.mjs +305 -0
- package/dist/domains/chem/contact-process-control/activity.mjs +75 -0
- package/dist/domains/chem/contact-process-control/manifest.mjs +48 -0
- package/dist/domains/chem/contact-process-control/model.mjs +106 -0
- package/dist/domains/chem/contact-process-control/runtime.mjs +65 -0
- package/dist/domains/chem/contact-process-control/scene.mjs +694 -0
- package/dist/domains/chem/electrolysis-bench/activity.mjs +72 -0
- package/dist/domains/chem/electrolysis-bench/manifest.mjs +71 -0
- package/dist/domains/chem/electrolysis-bench/model.mjs +174 -0
- package/dist/domains/chem/electrolysis-bench/runtime.mjs +169 -0
- package/dist/domains/chem/electrolysis-bench/scene.mjs +291 -0
- package/dist/domains/chem/energy-cycle/activity.mjs +86 -0
- package/dist/domains/chem/energy-cycle/manifest.mjs +52 -0
- package/dist/domains/chem/energy-cycle/model.mjs +249 -0
- package/dist/domains/chem/energy-cycle/runtime.mjs +181 -0
- package/dist/domains/chem/energy-cycle/scene.mjs +277 -0
- package/dist/domains/chem/equation-conservation-desk/activity.mjs +55 -0
- package/dist/domains/chem/equation-conservation-desk/manifest.mjs +61 -0
- package/dist/domains/chem/equation-conservation-desk/runtime.mjs +6 -0
- package/dist/domains/chem/faraday-bench/activity.mjs +51 -0
- package/dist/domains/chem/faraday-bench/manifest.mjs +65 -0
- package/dist/domains/chem/faraday-bench/model.mjs +193 -0
- package/dist/domains/chem/faraday-bench/runtime.mjs +99 -0
- package/dist/domains/chem/faraday-bench/scene.mjs +254 -0
- package/dist/domains/chem/flame-test/activity.mjs +66 -0
- package/dist/domains/chem/flame-test/manifest.mjs +66 -0
- package/dist/domains/chem/flame-test/model.mjs +149 -0
- package/dist/domains/chem/flame-test/runtime.mjs +120 -0
- package/dist/domains/chem/flame-test/scene.mjs +172 -0
- package/dist/domains/chem/formula-forge/activity.mjs +55 -0
- package/dist/domains/chem/formula-forge/manifest.mjs +66 -0
- package/dist/domains/chem/formula-forge/runtime.mjs +6 -0
- package/dist/domains/chem/formula-workbench/activity.mjs +92 -0
- package/dist/domains/chem/formula-workbench/manifest.mjs +73 -0
- package/dist/domains/chem/formula-workbench/model.mjs +89 -0
- package/dist/domains/chem/formula-workbench/runtime.mjs +135 -0
- package/dist/domains/chem/formula-workbench/scene.mjs +275 -0
- package/dist/domains/chem/fuel-cell-flow/activity.mjs +81 -0
- package/dist/domains/chem/fuel-cell-flow/manifest.mjs +49 -0
- package/dist/domains/chem/fuel-cell-flow/model.mjs +63 -0
- package/dist/domains/chem/fuel-cell-flow/runtime.mjs +134 -0
- package/dist/domains/chem/fuel-cell-flow/scene.mjs +245 -0
- package/dist/domains/chem/functional-group-lens/activity.mjs +86 -0
- package/dist/domains/chem/functional-group-lens/manifest.mjs +54 -0
- package/dist/domains/chem/functional-group-lens/model.d.mts +128 -0
- package/dist/domains/chem/functional-group-lens/model.mjs +250 -0
- package/dist/domains/chem/functional-group-lens/runtime.d.mts +16 -0
- package/dist/domains/chem/functional-group-lens/runtime.mjs +135 -0
- package/dist/domains/chem/functional-group-lens/scene.d.mts +8 -0
- package/dist/domains/chem/functional-group-lens/scene.mjs +389 -0
- package/dist/domains/chem/gas-box/manifest.mjs +18 -3
- package/dist/domains/chem/hydrate-cycle/activity.mjs +78 -0
- package/dist/domains/chem/hydrate-cycle/manifest.mjs +47 -0
- package/dist/domains/chem/hydrate-cycle/model.mjs +66 -0
- package/dist/domains/chem/hydrate-cycle/runtime.mjs +72 -0
- package/dist/domains/chem/hydrate-cycle/scene.mjs +187 -0
- package/dist/domains/chem/industrial-process/manifest.mjs +51 -0
- package/dist/domains/chem/industrial-process/runtime.mjs +5 -0
- package/dist/domains/chem/ionic-bond-builder/manifest.mjs +47 -0
- package/dist/domains/chem/ionic-bond-builder/runtime.mjs +5 -0
- package/dist/domains/chem/isomer-builder/activity.mjs +86 -0
- package/dist/domains/chem/isomer-builder/manifest.mjs +52 -0
- package/dist/domains/chem/isomer-builder/model.mjs +345 -0
- package/dist/domains/chem/isomer-builder/runtime.mjs +174 -0
- package/dist/domains/chem/isomer-builder/scene.mjs +216 -0
- package/dist/domains/chem/mechanism-walk/activity.mjs +53 -0
- package/dist/domains/chem/mechanism-walk/manifest.mjs +53 -0
- package/dist/domains/chem/mechanism-walk/model.mjs +429 -0
- package/dist/domains/chem/mechanism-walk/runtime.mjs +76 -0
- package/dist/domains/chem/mechanism-walk/scene.mjs +36 -0
- package/dist/domains/chem/mole-factory/activity.mjs +55 -0
- package/dist/domains/chem/mole-factory/manifest.mjs +62 -0
- package/dist/domains/chem/mole-factory/runtime.mjs +6 -0
- package/dist/domains/chem/nmr-reader/activity.mjs +88 -0
- package/dist/domains/chem/nmr-reader/manifest.mjs +59 -0
- package/dist/domains/chem/nmr-reader/model.mjs +200 -0
- package/dist/domains/chem/nmr-reader/runtime.mjs +167 -0
- package/dist/domains/chem/nmr-reader/scene.mjs +30 -0
- package/dist/domains/chem/orbital-diagram/activity.mjs +74 -0
- package/dist/domains/chem/orbital-diagram/manifest.mjs +58 -0
- package/dist/domains/chem/orbital-diagram/model.mjs +182 -0
- package/dist/domains/chem/orbital-diagram/runtime.mjs +98 -0
- package/dist/domains/chem/orbital-diagram/scene.mjs +289 -0
- package/dist/domains/chem/organic-formula-studio/activity.mjs +128 -0
- package/dist/domains/chem/organic-formula-studio/manifest.mjs +67 -0
- package/dist/domains/chem/organic-formula-studio/model.mjs +47 -0
- package/dist/domains/chem/organic-formula-studio/pattern-scene.mjs +344 -0
- package/dist/domains/chem/organic-formula-studio/runtime.mjs +221 -0
- package/dist/domains/chem/organic-formula-studio/scene.mjs +354 -0
- package/dist/domains/chem/organic-formula-studio/topics.mjs +186 -0
- package/dist/domains/chem/organic-reaction-map/manifest.mjs +67 -0
- package/dist/domains/chem/organic-reaction-map/runtime.mjs +5 -0
- package/dist/domains/chem/particle-theatre/manifest.mjs +66 -0
- package/dist/domains/chem/particle-theatre/runtime.mjs +5 -0
- package/dist/domains/chem/percent-lens/activity.mjs +119 -0
- package/dist/domains/chem/percent-lens/manifest.mjs +65 -0
- package/dist/domains/chem/percent-lens/model.mjs +84 -0
- package/dist/domains/chem/percent-lens/runtime.mjs +114 -0
- package/dist/domains/chem/percent-lens/scene.mjs +278 -0
- package/dist/domains/chem/percentage-purity-lab/activity.mjs +85 -0
- package/dist/domains/chem/percentage-purity-lab/manifest.mjs +51 -0
- package/dist/domains/chem/percentage-purity-lab/model.mjs +101 -0
- package/dist/domains/chem/percentage-purity-lab/runtime.mjs +146 -0
- package/dist/domains/chem/percentage-purity-lab/scene.mjs +309 -0
- package/dist/domains/chem/percentage-yield-lab/activity.mjs +54 -0
- package/dist/domains/chem/percentage-yield-lab/manifest.mjs +60 -0
- package/dist/domains/chem/percentage-yield-lab/model.mjs +96 -0
- package/dist/domains/chem/percentage-yield-lab/runtime.mjs +124 -0
- package/dist/domains/chem/percentage-yield-lab/scene.mjs +152 -0
- package/dist/domains/chem/polymer-builder/activity.mjs +88 -0
- package/dist/domains/chem/polymer-builder/manifest.mjs +63 -0
- package/dist/domains/chem/polymer-builder/model.mjs +200 -0
- package/dist/domains/chem/polymer-builder/runtime.mjs +175 -0
- package/dist/domains/chem/polymer-builder/scene.mjs +170 -0
- package/dist/domains/chem/practical-observation/activity.mjs +66 -0
- package/dist/domains/chem/practical-observation/manifest.mjs +50 -0
- package/dist/domains/chem/practical-observation/model.mjs +487 -0
- package/dist/domains/chem/practical-observation/runtime.mjs +113 -0
- package/dist/domains/chem/practical-observation/scene.mjs +662 -0
- package/dist/domains/chem/precipitation-bench/activity.mjs +65 -0
- package/dist/domains/chem/precipitation-bench/manifest.mjs +61 -0
- package/dist/domains/chem/precipitation-bench/model.mjs +119 -0
- package/dist/domains/chem/precipitation-bench/runtime.mjs +90 -0
- package/dist/domains/chem/precipitation-bench/scene.mjs +215 -0
- package/dist/domains/chem/quantity-route/manifest.mjs +133 -0
- package/dist/domains/chem/quantity-route/runtime.mjs +5 -0
- package/dist/domains/chem/ratio-normalizer/manifest.mjs +61 -0
- package/dist/domains/chem/ratio-normalizer/runtime.mjs +5 -0
- package/dist/domains/chem/reaction-evidence/manifest.mjs +51 -0
- package/dist/domains/chem/reaction-evidence/runtime.mjs +5 -0
- package/dist/domains/chem/reaction-lab/manifest.mjs +2 -1
- package/dist/domains/chem/reaction-profile/manifest.mjs +1 -0
- package/dist/domains/chem/reagent-ladder/activity.mjs +85 -0
- package/dist/domains/chem/reagent-ladder/manifest.mjs +58 -0
- package/dist/domains/chem/reagent-ladder/model.mjs +120 -0
- package/dist/domains/chem/reagent-ladder/runtime.mjs +107 -0
- package/dist/domains/chem/reagent-ladder/scene.mjs +174 -0
- package/dist/domains/chem/redox-balancer/activity.mjs +86 -0
- package/dist/domains/chem/redox-balancer/manifest.mjs +52 -0
- package/dist/domains/chem/redox-balancer/model.mjs +191 -0
- package/dist/domains/chem/redox-balancer/runtime.mjs +175 -0
- package/dist/domains/chem/redox-balancer/scene.mjs +159 -0
- package/dist/domains/chem/relation-origin/activity.mjs +42 -0
- package/dist/domains/chem/relation-origin/manifest.mjs +61 -0
- package/dist/domains/chem/relation-origin/model.mjs +172 -0
- package/dist/domains/chem/relation-origin/runtime.mjs +114 -0
- package/dist/domains/chem/relation-origin/scene.mjs +195 -0
- package/dist/domains/chem/solubility-kitchen/activity.mjs +54 -0
- package/dist/domains/chem/solubility-kitchen/manifest.mjs +66 -0
- package/dist/domains/chem/solubility-kitchen/runtime.mjs +6 -0
- package/dist/domains/chem/soluble-salt-workshop/activity.mjs +115 -0
- package/dist/domains/chem/soluble-salt-workshop/manifest.mjs +50 -0
- package/dist/domains/chem/soluble-salt-workshop/model.mjs +187 -0
- package/dist/domains/chem/soluble-salt-workshop/runtime.mjs +118 -0
- package/dist/domains/chem/soluble-salt-workshop/scene.mjs +700 -0
- package/dist/domains/chem/solution-mixer/activity.mjs +54 -0
- package/dist/domains/chem/solution-mixer/manifest.mjs +58 -0
- package/dist/domains/chem/solution-mixer/runtime.mjs +6 -0
- package/dist/domains/chem/species-workshop/activity.mjs +55 -0
- package/dist/domains/chem/species-workshop/manifest.mjs +66 -0
- package/dist/domains/chem/species-workshop/runtime.mjs +6 -0
- package/dist/domains/chem/specimen-row/activity.mjs +70 -0
- package/dist/domains/chem/specimen-row/manifest.mjs +57 -0
- package/dist/domains/chem/specimen-row/model.mjs +122 -0
- package/dist/domains/chem/specimen-row/runtime.mjs +105 -0
- package/dist/domains/chem/specimen-row/scene.mjs +230 -0
- package/dist/domains/chem/spectrum-reader/activity.mjs +36 -0
- package/dist/domains/chem/spectrum-reader/manifest.mjs +47 -0
- package/dist/domains/chem/spectrum-reader/model.mjs +244 -0
- package/dist/domains/chem/spectrum-reader/runtime.mjs +62 -0
- package/dist/domains/chem/spectrum-reader/scene.mjs +37 -0
- package/dist/domains/chem/structure-detective/activity.mjs +67 -0
- package/dist/domains/chem/structure-detective/manifest.mjs +59 -0
- package/dist/domains/chem/structure-detective/runtime.mjs +6 -0
- package/dist/domains/chem/synthesis-route/activity.mjs +36 -0
- package/dist/domains/chem/synthesis-route/manifest.mjs +45 -0
- package/dist/domains/chem/synthesis-route/model.mjs +165 -0
- package/dist/domains/chem/synthesis-route/runtime.mjs +67 -0
- package/dist/domains/chem/synthesis-route/scene.mjs +152 -0
- package/dist/domains/chem/titration/manifest.mjs +2 -0
- package/dist/domains/chem/titration-run/activity.mjs +54 -0
- package/dist/domains/chem/titration-run/manifest.mjs +61 -0
- package/dist/domains/chem/titration-run/model.mjs +174 -0
- package/dist/domains/chem/titration-run/runtime.mjs +113 -0
- package/dist/domains/chem/titration-run/scene.mjs +166 -0
- package/dist/domains/chem/trend-axis/activity.mjs +52 -0
- package/dist/domains/chem/trend-axis/manifest.mjs +57 -0
- package/dist/domains/chem/trend-axis/model.mjs +487 -0
- package/dist/domains/chem/trend-axis/runtime.mjs +87 -0
- package/dist/domains/chem/trend-axis/scene.mjs +246 -0
- package/dist/domains/circuits/ac-dc/manifest.mjs +65 -0
- package/dist/domains/circuits/ac-dc/runtime.mjs +5 -0
- package/dist/domains/circuits/ac-response/activity.mjs +3 -0
- package/dist/domains/circuits/ac-response/manifest.mjs +70 -0
- package/dist/domains/circuits/ac-response/runtime.mjs +3 -0
- package/dist/domains/circuits/cell-combination/activity.mjs +3 -0
- package/dist/domains/circuits/cell-combination/manifest.mjs +69 -0
- package/dist/domains/circuits/cell-combination/runtime.mjs +3 -0
- package/dist/domains/circuits/circuit/runtime.mjs +11 -10
- package/dist/domains/circuits/circuit-scene/manifest.mjs +1 -0
- package/dist/domains/circuits/energy-cost/activity.mjs +3 -0
- package/dist/domains/circuits/energy-cost/manifest.mjs +79 -0
- package/dist/domains/circuits/energy-cost/runtime.mjs +3 -0
- package/dist/domains/circuits/kirchhoff-laws/manifest.mjs +64 -0
- package/dist/domains/circuits/kirchhoff-laws/runtime.mjs +5 -0
- package/dist/domains/circuits/meter-conversion/activity.mjs +3 -0
- package/dist/domains/circuits/meter-conversion/manifest.mjs +69 -0
- package/dist/domains/circuits/meter-conversion/runtime.mjs +3 -0
- package/dist/domains/circuits/network-reduction/activity.mjs +3 -0
- package/dist/domains/circuits/network-reduction/manifest.mjs +85 -0
- package/dist/domains/circuits/network-reduction/runtime.mjs +3 -0
- package/dist/domains/circuits/null-balance/activity.mjs +3 -0
- package/dist/domains/circuits/null-balance/manifest.mjs +69 -0
- package/dist/domains/circuits/null-balance/runtime.mjs +3 -0
- package/dist/domains/circuits/potential-divider/manifest.mjs +69 -0
- package/dist/domains/circuits/potential-divider/runtime.mjs +5 -0
- package/dist/domains/data/design-records/manifest.mjs +54 -0
- package/dist/domains/data/design-records/runtime.mjs +3 -0
- package/dist/domains/data/dirty-data/manifest.mjs +53 -0
- package/dist/domains/data/dirty-data/runtime.mjs +3 -0
- package/dist/domains/databases/b-plus-range/manifest.mjs +48 -0
- package/dist/domains/databases/b-plus-range/runtime.mjs +3 -0
- package/dist/domains/databases/index-detective/manifest.mjs +54 -0
- package/dist/domains/databases/index-detective/runtime.mjs +3 -0
- package/dist/domains/databases/query-plan/manifest.mjs +49 -0
- package/dist/domains/databases/query-plan/runtime.mjs +3 -0
- package/dist/domains/databases/range-query/manifest.mjs +53 -0
- package/dist/domains/databases/range-query/runtime.mjs +3 -0
- package/dist/domains/discrete/arrangements/manifest.mjs +2 -0
- package/dist/domains/discrete/combination-studio/manifest.mjs +2 -0
- package/dist/domains/discrete/counting-tree/manifest.mjs +2 -0
- package/dist/domains/discrete/rule-card/builtins.mjs +1 -1
- package/dist/domains/discrete/rule-card/manifest.mjs +2 -0
- package/dist/domains/discrete/rule-card/runtime.mjs +14 -12
- package/dist/domains/discrete/selection/manifest.mjs +2 -0
- package/dist/domains/distributed-systems/shard-key/manifest.mjs +50 -0
- package/dist/domains/distributed-systems/shard-key/runtime.mjs +3 -0
- package/dist/domains/domain-map.mjs +1008 -0
- package/dist/domains/exam/exam-question/manifest.mjs +3 -12
- package/dist/domains/geometry/geometry-board/scene.mjs +1 -1
- package/dist/domains/geometry/intersecting-circles/manifest.mjs +1 -0
- package/dist/domains/ict/binary-counter/runtime.mjs +5 -5
- package/dist/domains/ict/graph-algorithm/authoring.mjs +1 -1
- package/dist/domains/ict/logic-circuit/runtime.mjs +7 -6
- package/dist/domains/ict/sequence-detector/runtime.mjs +1 -1
- package/dist/domains/ict/tree-quest/authoring.mjs +1 -1
- package/dist/domains/language/agreement/authoring.mjs +2 -1
- package/dist/domains/language/article-lens/authoring.mjs +2 -1
- package/dist/domains/language/cloze/authoring.mjs +2 -1
- package/dist/domains/language/error-correct/authoring.mjs +2 -1
- package/dist/domains/language/preposition/authoring.mjs +2 -1
- package/dist/domains/manifests.mjs +719 -283
- package/dist/domains/math/area-model/manifest.mjs +2 -0
- package/dist/domains/math/balance-algebra/manifest.mjs +2 -0
- package/dist/domains/math/balance-algebra/runtime.mjs +2 -0
- package/dist/domains/math/bounds-window/manifest.mjs +64 -0
- package/dist/domains/math/bounds-window/runtime.mjs +29 -0
- package/dist/domains/math/cone-frustum/manifest.mjs +69 -0
- package/dist/domains/math/cone-frustum/runtime.mjs +20 -0
- package/dist/domains/math/custom-scene/manifest.mjs +2 -0
- package/dist/domains/math/derivation/manifest.mjs +1 -0
- package/dist/domains/math/derivative-explorer/manifest.mjs +1 -0
- package/dist/domains/math/derivative-explorer/runtime.mjs +4 -2
- package/dist/domains/math/differential-equation/manifest.mjs +1 -0
- package/dist/domains/math/differential-equation/runtime.mjs +2 -1
- package/dist/domains/math/exact-triangle/manifest.mjs +62 -0
- package/dist/domains/math/exact-triangle/runtime.mjs +19 -0
- package/dist/domains/math/function-machine/manifest.mjs +1 -0
- package/dist/domains/math/fundamental-theorem/manifest.mjs +1 -0
- package/dist/domains/math/fundamental-theorem/runtime.mjs +4 -2
- package/dist/domains/math/geometry-transform/runtime.mjs +25 -24
- package/dist/domains/math/gradient-descent/manifest.mjs +1 -0
- package/dist/domains/math/gradient-descent/runtime.mjs +4 -2
- package/dist/domains/math/graph/manifest.mjs +1 -0
- package/dist/domains/math/growing-pattern/manifest.mjs +2 -0
- package/dist/domains/math/growing-pattern/runtime.mjs +2 -0
- package/dist/domains/math/integral-explorer/manifest.mjs +1 -0
- package/dist/domains/math/integral-explorer/runtime.mjs +4 -2
- package/dist/domains/math/limit-explorer/manifest.mjs +1 -0
- package/dist/domains/math/limit-explorer/runtime.mjs +4 -2
- package/dist/domains/math/linear-system/manifest.mjs +2 -0
- package/dist/domains/math/linearisation/activity.mjs +94 -0
- package/dist/domains/math/linearisation/manifest.mjs +51 -0
- package/dist/domains/math/linearisation/runtime.mjs +110 -0
- package/dist/domains/math/log-law-workbench/activity.mjs +112 -0
- package/dist/domains/math/log-law-workbench/manifest.mjs +51 -0
- package/dist/domains/math/log-law-workbench/runtime.mjs +133 -0
- package/dist/domains/math/modulus-cases/activity.mjs +94 -0
- package/dist/domains/math/modulus-cases/manifest.mjs +52 -0
- package/dist/domains/math/modulus-cases/runtime.mjs +105 -0
- package/dist/domains/math/mystery-bucket/manifest.mjs +3 -1
- package/dist/domains/math/mystery-bucket/runtime.mjs +3 -1
- package/dist/domains/math/newton-method/manifest.mjs +1 -0
- package/dist/domains/math/newton-method/runtime.mjs +2 -1
- package/dist/domains/math/number-line/manifest.mjs +3 -1
- package/dist/domains/math/number-line/runtime.mjs +3 -1
- package/dist/domains/math/phase-portrait/manifest.mjs +1 -0
- package/dist/domains/math/solid-slice/manifest.mjs +67 -0
- package/dist/domains/math/solid-slice/runtime.mjs +24 -0
- package/dist/domains/math/tank-design/manifest.mjs +69 -0
- package/dist/domains/math/tank-design/runtime.mjs +20 -0
- package/dist/domains/math/taylor-series/manifest.mjs +1 -0
- package/dist/domains/math/taylor-series/runtime.mjs +2 -1
- package/dist/domains/math/trig-explorer/manifest.mjs +2 -0
- package/dist/domains/math/vector-geometry-two-d/activity.mjs +94 -0
- package/dist/domains/math/vector-geometry-two-d/manifest.mjs +52 -0
- package/dist/domains/math/vector-geometry-two-d/runtime.mjs +110 -0
- package/dist/domains/math/vertex-parabola/manifest.mjs +5 -1
- package/dist/domains/ml/activation-gates/manifest.mjs +60 -0
- package/dist/domains/ml/activation-gates/runtime.mjs +3 -0
- package/dist/domains/ml/activity.mjs +24 -20
- package/dist/domains/ml/affine-neuron/manifest.mjs +62 -0
- package/dist/domains/ml/affine-neuron/runtime.mjs +3 -0
- package/dist/domains/ml/anomaly-detector/manifest.mjs +52 -0
- package/dist/domains/ml/anomaly-detector/runtime.mjs +3 -0
- package/dist/domains/ml/attention-routing/manifest.mjs +52 -0
- package/dist/domains/ml/attention-routing/runtime.mjs +3 -0
- package/dist/domains/ml/autoencoder/manifest.mjs +52 -0
- package/dist/domains/ml/autoencoder/runtime.mjs +3 -0
- package/dist/domains/ml/causal-mask/manifest.mjs +52 -0
- package/dist/domains/ml/causal-mask/runtime.mjs +3 -0
- package/dist/domains/ml/classifier-threshold/runtime.d.mts +2 -12
- package/dist/domains/ml/context-window/manifest.mjs +53 -0
- package/dist/domains/ml/context-window/runtime.mjs +3 -0
- package/dist/domains/ml/decision-boundary/runtime.d.mts +2 -11
- package/dist/domains/ml/decision-boundary/runtime.mjs +2 -1
- package/dist/domains/ml/denoising/manifest.mjs +52 -0
- package/dist/domains/ml/denoising/runtime.mjs +3 -0
- package/dist/domains/ml/embedding-neighborhood/manifest.mjs +52 -0
- package/dist/domains/ml/embedding-neighborhood/runtime.mjs +3 -0
- package/dist/domains/ml/embedding-space/runtime.mjs +3 -4
- package/dist/domains/ml/encoder-decoder/manifest.mjs +53 -0
- package/dist/domains/ml/encoder-decoder/runtime.mjs +3 -0
- package/dist/domains/ml/feature-map/manifest.mjs +61 -0
- package/dist/domains/ml/feature-map/runtime.mjs +3 -0
- package/dist/domains/ml/feed-forward-network/manifest.mjs +61 -0
- package/dist/domains/ml/feed-forward-network/runtime.mjs +3 -0
- package/dist/domains/ml/fit-evidence/manifest.mjs +62 -0
- package/dist/domains/ml/fit-evidence/runtime.mjs +3 -0
- package/dist/domains/ml/gradient-step/manifest.mjs +58 -0
- package/dist/domains/ml/gradient-step/runtime.mjs +3 -0
- package/dist/domains/ml/kmeans/runtime.d.mts +2 -13
- package/dist/domains/ml/kmeans/runtime.mjs +2 -1
- package/dist/domains/ml/knn/runtime.d.mts +2 -13
- package/dist/domains/ml/knn/runtime.mjs +3 -1
- package/dist/domains/ml/latent-space/manifest.mjs +52 -0
- package/dist/domains/ml/latent-space/runtime.mjs +3 -0
- package/dist/domains/ml/layer-normalization/manifest.mjs +79 -0
- package/dist/domains/ml/layer-normalization/runtime.mjs +3 -0
- package/dist/domains/ml/learning-loop/manifest.mjs +55 -0
- package/dist/domains/ml/learning-loop/runtime.mjs +3 -0
- package/dist/domains/ml/loss-error/manifest.mjs +57 -0
- package/dist/domains/ml/loss-error/runtime.mjs +3 -0
- package/dist/domains/ml/matrix-vector/manifest.mjs +57 -0
- package/dist/domains/ml/matrix-vector/runtime.mjs +3 -0
- package/dist/domains/ml/memory-relay/manifest.mjs +53 -0
- package/dist/domains/ml/memory-relay/runtime.mjs +3 -0
- package/dist/domains/ml/multi-head-attention/manifest.mjs +52 -0
- package/dist/domains/ml/multi-head-attention/runtime.mjs +3 -0
- package/dist/domains/ml/multimodal-alignment/manifest.mjs +52 -0
- package/dist/domains/ml/multimodal-alignment/runtime.mjs +3 -0
- package/dist/domains/ml/next-token/runtime.mjs +1 -1
- package/dist/domains/ml/pixel-filter/manifest.mjs +48 -0
- package/dist/domains/ml/pixel-filter/runtime.mjs +3 -0
- package/dist/domains/ml/position-signals/manifest.mjs +52 -0
- package/dist/domains/ml/position-signals/runtime.mjs +3 -0
- package/dist/domains/ml/query-key-value/manifest.mjs +54 -0
- package/dist/domains/ml/query-key-value/runtime.mjs +3 -0
- package/dist/domains/ml/regression/runtime.d.mts +2 -14
- package/dist/domains/ml/residual-stream/manifest.mjs +59 -0
- package/dist/domains/ml/residual-stream/runtime.mjs +3 -0
- package/dist/domains/ml/scaled-dot-product-attention/manifest.mjs +60 -0
- package/dist/domains/ml/scaled-dot-product-attention/runtime.mjs +3 -0
- package/dist/domains/ml/tiny-network/manifest.mjs +56 -0
- package/dist/domains/ml/tiny-network/runtime.mjs +3 -0
- package/dist/domains/ml/token-generation/manifest.mjs +53 -0
- package/dist/domains/ml/token-generation/runtime.mjs +3 -0
- package/dist/domains/ml/training-loop/manifest.mjs +58 -0
- package/dist/domains/ml/training-loop/runtime.mjs +3 -0
- package/dist/domains/ml/transformer-block/manifest.mjs +67 -0
- package/dist/domains/ml/transformer-block/runtime.mjs +3 -0
- package/dist/domains/ml/unembedding/manifest.mjs +61 -0
- package/dist/domains/ml/unembedding/runtime.mjs +3 -0
- package/dist/domains/networking/_shared/decision-scene.mjs +91 -0
- package/dist/domains/networking/adaptive-video-call/activity.mjs +57 -0
- package/dist/domains/networking/adaptive-video-call/manifest.mjs +69 -0
- package/dist/domains/networking/adaptive-video-call/runtime.mjs +132 -0
- package/dist/domains/networking/adaptive-video-call/scene.mjs +194 -0
- package/dist/domains/networking/bottleneck-queue/activity.mjs +33 -0
- package/dist/domains/networking/bottleneck-queue/manifest.mjs +68 -0
- package/dist/domains/networking/bottleneck-queue/runtime.mjs +137 -0
- package/dist/domains/networking/bottleneck-queue/scene.mjs +162 -0
- package/dist/domains/networking/broadcast-delivery/activity.mjs +71 -0
- package/dist/domains/networking/broadcast-delivery/manifest.mjs +76 -0
- package/dist/domains/networking/broadcast-delivery/runtime.mjs +100 -0
- package/dist/domains/networking/broadcast-delivery/scene.mjs +99 -0
- package/dist/domains/networking/cafe-privacy/manifest.mjs +84 -0
- package/dist/domains/networking/cafe-privacy/runtime.mjs +259 -0
- package/dist/domains/networking/cell-size/manifest.mjs +78 -0
- package/dist/domains/networking/cell-size/runtime.mjs +166 -0
- package/dist/domains/networking/cloud-storage-design/activity.mjs +58 -0
- package/dist/domains/networking/cloud-storage-design/manifest.mjs +81 -0
- package/dist/domains/networking/cloud-storage-design/runtime.mjs +108 -0
- package/dist/domains/networking/cloud-storage-design/scene.mjs +134 -0
- package/dist/domains/networking/container-deployment/activity.mjs +58 -0
- package/dist/domains/networking/container-deployment/manifest.mjs +79 -0
- package/dist/domains/networking/container-deployment/runtime.mjs +124 -0
- package/dist/domains/networking/container-deployment/scene.mjs +243 -0
- package/dist/domains/networking/data-recovery-planner/activity.mjs +58 -0
- package/dist/domains/networking/data-recovery-planner/manifest.mjs +74 -0
- package/dist/domains/networking/data-recovery-planner/runtime.mjs +111 -0
- package/dist/domains/networking/data-recovery-planner/scene.mjs +139 -0
- package/dist/domains/networking/dhcp-lease/manifest.mjs +64 -0
- package/dist/domains/networking/dhcp-lease/runtime.mjs +108 -0
- package/dist/domains/networking/distributed-inference-topology/activity.mjs +58 -0
- package/dist/domains/networking/distributed-inference-topology/manifest.mjs +82 -0
- package/dist/domains/networking/distributed-inference-topology/runtime.mjs +142 -0
- package/dist/domains/networking/distributed-inference-topology/scene.mjs +179 -0
- package/dist/domains/networking/dns-resolution/activity.mjs +33 -0
- package/dist/domains/networking/dns-resolution/manifest.mjs +71 -0
- package/dist/domains/networking/dns-resolution/runtime.mjs +80 -0
- package/dist/domains/networking/dns-resolution/scene.mjs +129 -0
- package/dist/domains/networking/edge-cache-delivery/activity.mjs +58 -0
- package/dist/domains/networking/edge-cache-delivery/manifest.mjs +74 -0
- package/dist/domains/networking/edge-cache-delivery/runtime.mjs +111 -0
- package/dist/domains/networking/edge-cache-delivery/scene.mjs +130 -0
- package/dist/domains/networking/ethernet-pinout/runtime.mjs +1 -1
- package/dist/domains/networking/failure-domain-planner/activity.mjs +58 -0
- package/dist/domains/networking/failure-domain-planner/manifest.mjs +82 -0
- package/dist/domains/networking/failure-domain-planner/runtime.mjs +119 -0
- package/dist/domains/networking/failure-domain-planner/scene.mjs +120 -0
- package/dist/domains/networking/generation-capability/manifest.mjs +73 -0
- package/dist/domains/networking/generation-capability/runtime.mjs +156 -0
- package/dist/domains/networking/geo-market-routing/activity.mjs +58 -0
- package/dist/domains/networking/geo-market-routing/manifest.mjs +79 -0
- package/dist/domains/networking/geo-market-routing/runtime.mjs +122 -0
- package/dist/domains/networking/geo-market-routing/scene.mjs +129 -0
- package/dist/domains/networking/group-message-sync/activity.mjs +33 -0
- package/dist/domains/networking/group-message-sync/manifest.mjs +73 -0
- package/dist/domains/networking/group-message-sync/runtime.mjs +118 -0
- package/dist/domains/networking/group-message-sync/scene.mjs +132 -0
- package/dist/domains/networking/handover-margin/manifest.mjs +81 -0
- package/dist/domains/networking/handover-margin/runtime.mjs +224 -0
- package/dist/domains/networking/home-broadband-journey/activity.mjs +44 -0
- package/dist/domains/networking/home-broadband-journey/manifest.mjs +79 -0
- package/dist/domains/networking/home-broadband-journey/runtime.mjs +108 -0
- package/dist/domains/networking/home-broadband-journey/scene.mjs +133 -0
- package/dist/domains/networking/inference-capacity-planner/activity.mjs +58 -0
- package/dist/domains/networking/inference-capacity-planner/manifest.mjs +82 -0
- package/dist/domains/networking/inference-capacity-planner/runtime.mjs +163 -0
- package/dist/domains/networking/inference-capacity-planner/scene.mjs +138 -0
- package/dist/domains/networking/inference-degradation-planner/activity.mjs +58 -0
- package/dist/domains/networking/inference-degradation-planner/manifest.mjs +81 -0
- package/dist/domains/networking/inference-degradation-planner/runtime.mjs +143 -0
- package/dist/domains/networking/inference-degradation-planner/scene.mjs +130 -0
- package/dist/domains/networking/inference-request-pipeline/activity.mjs +58 -0
- package/dist/domains/networking/inference-request-pipeline/manifest.mjs +86 -0
- package/dist/domains/networking/inference-request-pipeline/runtime.mjs +141 -0
- package/dist/domains/networking/inference-request-pipeline/scene.mjs +137 -0
- package/dist/domains/networking/infrastructure-drift-planner/activity.mjs +58 -0
- package/dist/domains/networking/infrastructure-drift-planner/manifest.mjs +87 -0
- package/dist/domains/networking/infrastructure-drift-planner/runtime.mjs +141 -0
- package/dist/domains/networking/infrastructure-drift-planner/scene.mjs +36 -0
- package/dist/domains/networking/ipv6-neighbor/manifest.mjs +61 -0
- package/dist/domains/networking/ipv6-neighbor/runtime.mjs +124 -0
- package/dist/domains/networking/layer-encapsulation/runtime.mjs +1 -1
- package/dist/domains/networking/live-stream-pipeline/activity.mjs +72 -0
- package/dist/domains/networking/live-stream-pipeline/manifest.mjs +67 -0
- package/dist/domains/networking/live-stream-pipeline/runtime.mjs +98 -0
- package/dist/domains/networking/live-stream-pipeline/scene.mjs +122 -0
- package/dist/domains/networking/media-encoding/activity.mjs +33 -0
- package/dist/domains/networking/media-encoding/manifest.mjs +72 -0
- package/dist/domains/networking/media-encoding/runtime.mjs +111 -0
- package/dist/domains/networking/media-encoding/scene.mjs +155 -0
- package/dist/domains/networking/message-journey/activity.mjs +51 -0
- package/dist/domains/networking/message-journey/manifest.mjs +80 -0
- package/dist/domains/networking/message-journey/runtime.mjs +170 -0
- package/dist/domains/networking/message-journey/scene.mjs +388 -0
- package/dist/domains/networking/mobile-call-journey/activity.mjs +51 -0
- package/dist/domains/networking/mobile-call-journey/manifest.mjs +81 -0
- package/dist/domains/networking/mobile-call-journey/runtime.mjs +164 -0
- package/dist/domains/networking/mobile-call-journey/scene.mjs +390 -0
- package/dist/domains/networking/model-routing-economics/activity.mjs +58 -0
- package/dist/domains/networking/model-routing-economics/manifest.mjs +79 -0
- package/dist/domains/networking/model-routing-economics/runtime.mjs +124 -0
- package/dist/domains/networking/model-routing-economics/scene.mjs +165 -0
- package/dist/domains/networking/modem-modulation/activity.mjs +33 -0
- package/dist/domains/networking/modem-modulation/manifest.mjs +71 -0
- package/dist/domains/networking/modem-modulation/runtime.mjs +98 -0
- package/dist/domains/networking/modem-modulation/scene.mjs +150 -0
- package/dist/domains/networking/nat-traversal/manifest.mjs +70 -0
- package/dist/domains/networking/nat-traversal/runtime.mjs +115 -0
- package/dist/domains/networking/network-media/runtime.mjs +2 -2
- package/dist/domains/networking/orbit-latency/manifest.mjs +83 -0
- package/dist/domains/networking/orbit-latency/runtime.mjs +222 -0
- package/dist/domains/networking/orchestration-reconciler/activity.mjs +58 -0
- package/dist/domains/networking/orchestration-reconciler/manifest.mjs +76 -0
- package/dist/domains/networking/orchestration-reconciler/runtime.mjs +129 -0
- package/dist/domains/networking/orchestration-reconciler/scene.mjs +162 -0
- package/dist/domains/networking/packet-journey/runtime.d.mts +3 -12
- package/dist/domains/networking/packet-journey/runtime.mjs +1 -2
- package/dist/domains/networking/prefix-cache-planner/activity.mjs +58 -0
- package/dist/domains/networking/prefix-cache-planner/manifest.mjs +79 -0
- package/dist/domains/networking/prefix-cache-planner/runtime.mjs +145 -0
- package/dist/domains/networking/prefix-cache-planner/scene.mjs +120 -0
- package/dist/domains/networking/release-strategy-planner/activity.mjs +56 -0
- package/dist/domains/networking/release-strategy-planner/manifest.mjs +83 -0
- package/dist/domains/networking/release-strategy-planner/runtime.mjs +142 -0
- package/dist/domains/networking/release-strategy-planner/scene.mjs +68 -0
- package/dist/domains/networking/route-learning/manifest.mjs +57 -0
- package/dist/domains/networking/route-learning/runtime.mjs +130 -0
- package/dist/domains/networking/secret-rotation-planner/activity.mjs +57 -0
- package/dist/domains/networking/secret-rotation-planner/manifest.mjs +80 -0
- package/dist/domains/networking/secret-rotation-planner/runtime.mjs +136 -0
- package/dist/domains/networking/secret-rotation-planner/scene.mjs +70 -0
- package/dist/domains/networking/server-deployment/activity.mjs +58 -0
- package/dist/domains/networking/server-deployment/manifest.mjs +89 -0
- package/dist/domains/networking/server-deployment/runtime.mjs +150 -0
- package/dist/domains/networking/server-deployment/scene.mjs +231 -0
- package/dist/domains/networking/service-scaling/activity.mjs +58 -0
- package/dist/domains/networking/service-scaling/manifest.mjs +74 -0
- package/dist/domains/networking/service-scaling/runtime.mjs +120 -0
- package/dist/domains/networking/service-scaling/scene.mjs +134 -0
- package/dist/domains/networking/shared-airtime/manifest.mjs +80 -0
- package/dist/domains/networking/shared-airtime/runtime.mjs +238 -0
- package/dist/domains/networking/signal-through-walls/manifest.mjs +77 -0
- package/dist/domains/networking/signal-through-walls/runtime.mjs +160 -0
- package/dist/domains/networking/slo-incident-console/activity.mjs +58 -0
- package/dist/domains/networking/slo-incident-console/manifest.mjs +83 -0
- package/dist/domains/networking/slo-incident-console/runtime.mjs +128 -0
- package/dist/domains/networking/slo-incident-console/scene.mjs +143 -0
- package/dist/domains/networking/spectrum-map/manifest.mjs +64 -0
- package/dist/domains/networking/spectrum-map/runtime.mjs +149 -0
- package/dist/domains/networking/subnet-builder/runtime.mjs +1 -1
- package/dist/domains/networking/switch-learning/runtime.mjs +1 -1
- package/dist/domains/networking/tcp-handshake/manifest.mjs +81 -0
- package/dist/domains/networking/tcp-handshake/runtime.mjs +257 -0
- package/dist/domains/networking/tcp-sender/manifest.mjs +63 -0
- package/dist/domains/networking/tcp-sender/runtime.mjs +151 -0
- package/dist/domains/networking/tls-connection/activity.mjs +33 -0
- package/dist/domains/networking/tls-connection/manifest.mjs +70 -0
- package/dist/domains/networking/tls-connection/runtime.mjs +94 -0
- package/dist/domains/networking/tls-connection/scene.mjs +96 -0
- package/dist/domains/networking/vlan-designer/runtime.mjs +5 -3
- package/dist/domains/networking/vpc-route-planner/activity.mjs +58 -0
- package/dist/domains/networking/vpc-route-planner/manifest.mjs +80 -0
- package/dist/domains/networking/vpc-route-planner/runtime.mjs +107 -0
- package/dist/domains/networking/vpc-route-planner/scene.mjs +145 -0
- package/dist/domains/networking/vpn-tunnel/runtime.mjs +2 -2
- package/dist/domains/networking/wave-size/manifest.mjs +69 -0
- package/dist/domains/networking/wave-size/runtime.mjs +149 -0
- package/dist/domains/networking/wifi-contention/activity.mjs +33 -0
- package/dist/domains/networking/wifi-contention/manifest.mjs +62 -0
- package/dist/domains/networking/wifi-contention/runtime.mjs +93 -0
- package/dist/domains/networking/wifi-contention/scene.mjs +92 -0
- package/dist/domains/networking/wifi-coverage/manifest.mjs +82 -0
- package/dist/domains/networking/wifi-coverage/runtime.mjs +253 -0
- package/dist/domains/networking/workload-identity-planner/activity.mjs +58 -0
- package/dist/domains/networking/workload-identity-planner/manifest.mjs +82 -0
- package/dist/domains/networking/workload-identity-planner/runtime.mjs +120 -0
- package/dist/domains/networking/workload-identity-planner/scene.mjs +71 -0
- package/dist/domains/physics/ac-generator/manifest.mjs +64 -0
- package/dist/domains/physics/ac-generator/runtime.mjs +5 -0
- package/dist/domains/physics/car-suspension/manifest.mjs +59 -0
- package/dist/domains/physics/car-suspension/runtime.mjs +5 -0
- package/dist/domains/physics/circuit-fault-detective/activity.mjs +59 -0
- package/dist/domains/physics/circuit-fault-detective/manifest.mjs +59 -0
- package/dist/domains/physics/circuit-fault-detective/runtime.mjs +157 -0
- package/dist/domains/physics/circuit-iv-investigation/activity.mjs +127 -0
- package/dist/domains/physics/circuit-iv-investigation/manifest.mjs +78 -0
- package/dist/domains/physics/circuit-iv-investigation/runtime.mjs +329 -0
- package/dist/domains/physics/circular-motion/manifest.mjs +0 -2
- package/dist/domains/physics/coil-torque/activity.mjs +3 -0
- package/dist/domains/physics/coil-torque/manifest.mjs +69 -0
- package/dist/domains/physics/coil-torque/runtime.mjs +3 -0
- package/dist/domains/physics/collision-track/manifest.mjs +15 -5
- package/dist/domains/physics/cooling-insulation-investigation/activity.mjs +128 -0
- package/dist/domains/physics/cooling-insulation-investigation/manifest.mjs +78 -0
- package/dist/domains/physics/cooling-insulation-investigation/runtime.mjs +273 -0
- package/dist/domains/physics/coulomb-superposition/activity.mjs +3 -0
- package/dist/domains/physics/coulomb-superposition/manifest.mjs +75 -0
- package/dist/domains/physics/coulomb-superposition/runtime.mjs +3 -0
- package/dist/domains/physics/dc-motor/manifest.mjs +58 -0
- package/dist/domains/physics/dc-motor/runtime.mjs +5 -0
- package/dist/domains/physics/density-displacement/activity.mjs +128 -0
- package/dist/domains/physics/density-displacement/manifest.mjs +75 -0
- package/dist/domains/physics/density-displacement/runtime.mjs +197 -0
- package/dist/domains/physics/earth-field/activity.mjs +3 -0
- package/dist/domains/physics/earth-field/manifest.mjs +77 -0
- package/dist/domains/physics/earth-field/runtime.mjs +3 -0
- package/dist/domains/physics/energy-resource-grid/activity.mjs +169 -0
- package/dist/domains/physics/energy-resource-grid/manifest.mjs +89 -0
- package/dist/domains/physics/energy-resource-grid/palette.mjs +69 -0
- package/dist/domains/physics/energy-resource-grid/runtime.mjs +1483 -0
- package/dist/domains/physics/energy-skate/manifest.mjs +0 -2
- package/dist/domains/physics/generator-grid-mission/activity.mjs +153 -0
- package/dist/domains/physics/generator-grid-mission/manifest.mjs +81 -0
- package/dist/domains/physics/generator-grid-mission/palette.mjs +30 -0
- package/dist/domains/physics/generator-grid-mission/runtime.mjs +466 -0
- package/dist/domains/physics/glass-block-refraction/activity.mjs +128 -0
- package/dist/domains/physics/glass-block-refraction/manifest.mjs +77 -0
- package/dist/domains/physics/glass-block-refraction/runtime.mjs +327 -0
- package/dist/domains/physics/gravitation/manifest.mjs +8 -5
- package/dist/domains/physics/gravity-profile/manifest.mjs +62 -0
- package/dist/domains/physics/gravity-profile/runtime.mjs +5 -0
- package/dist/domains/physics/guitar-string/manifest.mjs +69 -0
- package/dist/domains/physics/guitar-string/runtime.mjs +5 -0
- package/dist/domains/physics/heat-transfer/manifest.mjs +0 -2
- package/dist/domains/physics/kepler/manifest.mjs +0 -2
- package/dist/domains/physics/lens-focal-investigation/activity.mjs +128 -0
- package/dist/domains/physics/lens-focal-investigation/manifest.mjs +78 -0
- package/dist/domains/physics/lens-focal-investigation/runtime.mjs +329 -0
- package/dist/domains/physics/lift-weight/manifest.mjs +55 -0
- package/dist/domains/physics/lift-weight/runtime.mjs +5 -0
- package/dist/domains/physics/lifting-work/manifest.mjs +62 -0
- package/dist/domains/physics/lifting-work/runtime.mjs +5 -0
- package/dist/domains/physics/magnetic-field/activity.mjs +3 -0
- package/dist/domains/physics/magnetic-field/manifest.mjs +80 -0
- package/dist/domains/physics/magnetic-field/runtime.mjs +3 -0
- package/dist/domains/physics/magnetic-field-mission/activity.mjs +120 -0
- package/dist/domains/physics/magnetic-field-mission/manifest.mjs +73 -0
- package/dist/domains/physics/magnetic-field-mission/palette.mjs +40 -0
- package/dist/domains/physics/magnetic-field-mission/runtime.mjs +547 -0
- package/dist/domains/physics/orbit-lab/manifest.mjs +0 -2
- package/dist/domains/physics/paper5-analysis-lab/activity.mjs +144 -0
- package/dist/domains/physics/paper5-analysis-lab/manifest.mjs +67 -0
- package/dist/domains/physics/paper5-analysis-lab/runtime.mjs +706 -0
- package/dist/domains/physics/pendulum-worlds/manifest.mjs +55 -0
- package/dist/domains/physics/pendulum-worlds/runtime.mjs +5 -0
- package/dist/domains/physics/pet-scan/activity.mjs +3 -0
- package/dist/domains/physics/pet-scan/manifest.mjs +73 -0
- package/dist/domains/physics/pet-scan/runtime.mjs +3 -0
- package/dist/domains/physics/physics-practical-studio/activity.mjs +96 -0
- package/dist/domains/physics/physics-practical-studio/core.mjs +75 -0
- package/dist/domains/physics/physics-practical-studio/manifest.mjs +53 -0
- package/dist/domains/physics/physics-practical-studio/runtime.mjs +207 -0
- package/dist/domains/physics/plug-safety-inspector/activity.mjs +97 -0
- package/dist/domains/physics/plug-safety-inspector/manifest.mjs +54 -0
- package/dist/domains/physics/plug-safety-inspector/palette.mjs +44 -0
- package/dist/domains/physics/plug-safety-inspector/runtime.mjs +414 -0
- package/dist/domains/physics/precision-measurement-lab/activity.mjs +148 -0
- package/dist/domains/physics/precision-measurement-lab/manifest.mjs +81 -0
- package/dist/domains/physics/precision-measurement-lab/palette.mjs +41 -0
- package/dist/domains/physics/precision-measurement-lab/runtime.mjs +641 -0
- package/dist/domains/physics/projectile-lab/core/formulas.mjs +1 -1
- package/dist/domains/physics/projectile-lab/manifest.mjs +2 -0
- package/dist/domains/physics/projectile-lab/runtime/index.mjs +4 -2
- package/dist/domains/physics/radiation-half-life-investigation/activity.mjs +154 -0
- package/dist/domains/physics/radiation-half-life-investigation/manifest.mjs +88 -0
- package/dist/domains/physics/radiation-half-life-investigation/palette.mjs +47 -0
- package/dist/domains/physics/radiation-half-life-investigation/runtime.mjs +1036 -0
- package/dist/domains/physics/shm/manifest.mjs +0 -2
- package/dist/domains/physics/shm-energy/manifest.mjs +58 -0
- package/dist/domains/physics/shm-energy/runtime.mjs +5 -0
- package/dist/domains/physics/shm-graphs/manifest.mjs +56 -0
- package/dist/domains/physics/shm-graphs/runtime.mjs +5 -0
- package/dist/domains/physics/space-evidence-mission/activity.mjs +148 -0
- package/dist/domains/physics/space-evidence-mission/manifest.mjs +88 -0
- package/dist/domains/physics/space-evidence-mission/runtime.mjs +624 -0
- package/dist/domains/physics/spin-studio/manifest.mjs +58 -0
- package/dist/domains/physics/spin-studio/runtime.mjs +5 -0
- package/dist/domains/physics/spring-combinations/manifest.mjs +52 -0
- package/dist/domains/physics/spring-combinations/runtime.mjs +5 -0
- package/dist/domains/physics/terminal-velocity/manifest.mjs +0 -2
- package/dist/domains/physics/thermal-expansion/manifest.mjs +0 -2
- package/dist/domains/physics/trolley-acceleration-investigation/activity.mjs +158 -0
- package/dist/domains/physics/trolley-acceleration-investigation/manifest.mjs +78 -0
- package/dist/domains/physics/trolley-acceleration-investigation/runtime.mjs +390 -0
- package/dist/domains/physics/vector-board/manifest.mjs +1 -0
- package/dist/domains/physics/vector-board/runtime.mjs +1 -0
- package/dist/domains/render-map.mjs +437 -1
- package/dist/domains/render.d.mts +0 -1
- package/dist/exam/exam-question/core.d.mts +11 -6
- package/dist/exam/exam-question/core.mjs +37 -4
- package/dist/exam/exam-question/default-question.d.mts +0 -1
- package/dist/exam/exam-question/index.d.mts +2 -1
- package/dist/exam/exam-question/preset.d.mts +3 -8
- package/dist/exam/exam-question/preset.mjs +61 -26
- package/dist/exam/index.d.mts +1 -0
- package/dist/geography/cycle-lab/index.d.mts +2 -1
- package/dist/geography/cycle-lab/preset.d.mts +1 -10
- package/dist/geography/cycle-lab/preset.mjs +3 -2
- package/dist/geography/cycles.d.mts +0 -1
- package/dist/geography/index.d.mts +1 -0
- package/dist/geometry/board/index.d.mts +2 -1
- package/dist/geometry/board/preset.d.mts +1 -8
- package/dist/geometry/builder.d.mts +2 -7
- package/dist/geometry/builder.mjs +1 -1
- package/dist/geometry/index.d.mts +1 -0
- package/dist/geometry/intersecting-circles.d.mts +1 -7
- package/dist/geometry/intersecting-circles.mjs +76 -75
- package/dist/ict/index.d.mts +1 -0
- package/dist/ict/number-systems/base-odometer.d.mts +1 -13
- package/dist/ict/number-systems/bit-grouper.d.mts +1 -11
- package/dist/ict/number-systems/index.d.mts +2 -1
- package/dist/ict/number-systems/place-value-dial.d.mts +1 -11
- package/dist/ict/number-systems/wheel.d.mts +4 -25
- package/dist/ict/number-systems/wheel.mjs +12 -11
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/kit/activity-authoring.d.mts +14 -3
- package/dist/kit/activity-authoring.mjs +8 -1
- package/dist/kit/activity.d.mts +69 -70
- package/dist/kit/activity.mjs +135 -12
- package/dist/kit/anim.d.mts +22 -0
- package/dist/kit/annotate.mjs +8 -4
- package/dist/kit/ask.d.mts +1 -2
- package/dist/kit/ask.mjs +1 -1
- package/dist/kit/assets.d.mts +30 -0
- package/dist/kit/assets.mjs +31 -0
- package/dist/kit/authored-activity-runtime.d.mts +9 -31
- package/dist/kit/authored-activity-runtime.mjs +78 -66
- package/dist/kit/authored-response.d.mts +1 -5
- package/dist/kit/authored-response.mjs +17 -2
- package/dist/kit/celebrate.d.mts +2 -7
- package/dist/kit/celebrate.mjs +3 -2
- package/dist/kit/chemistry/composition-evidence.d.mts +45 -0
- package/dist/kit/chemistry/composition-evidence.mjs +164 -0
- package/dist/kit/chemistry/cycle.mjs +147 -0
- package/dist/kit/chemistry/electrode.d.mts +103 -0
- package/dist/kit/chemistry/electrode.mjs +155 -0
- package/dist/kit/chemistry/equation-model.d.mts +35 -0
- package/dist/kit/chemistry/equation-model.mjs +84 -0
- package/dist/kit/chemistry/flame.d.mts +38 -0
- package/dist/kit/chemistry/flame.mjs +129 -0
- package/dist/kit/chemistry/formula-model.d.mts +38 -0
- package/dist/kit/chemistry/formula-model.mjs +221 -0
- package/dist/kit/chemistry/formula.d.mts +18 -0
- package/dist/kit/chemistry/formula.mjs +94 -0
- package/dist/kit/chemistry/glassware.d.mts +114 -0
- package/dist/kit/chemistry/glassware.mjs +697 -0
- package/dist/kit/chemistry/groups.d.mts +104 -0
- package/dist/kit/chemistry/groups.mjs +317 -0
- package/dist/kit/chemistry/index.d.mts +18 -0
- package/dist/kit/chemistry/mechanism.mjs +248 -0
- package/dist/kit/chemistry/molecule.d.mts +246 -0
- package/dist/kit/chemistry/molecule.mjs +441 -0
- package/dist/kit/chemistry/nmr-figure.d.mts +15 -0
- package/dist/kit/chemistry/nmr-figure.mjs +207 -0
- package/dist/kit/chemistry/observation.d.mts +68 -0
- package/dist/kit/chemistry/observation.mjs +86 -0
- package/dist/kit/chemistry/percent-lens.d.mts +35 -0
- package/dist/kit/chemistry/percent-lens.mjs +44 -0
- package/dist/kit/chemistry/process.d.mts +31 -0
- package/dist/kit/chemistry/process.mjs +234 -0
- package/dist/kit/chemistry/quantity-route-figure.d.mts +25 -0
- package/dist/kit/chemistry/quantity-route-figure.mjs +198 -0
- package/dist/kit/chemistry/quantity-route.d.mts +78 -0
- package/dist/kit/chemistry/quantity-route.mjs +117 -0
- package/dist/kit/chemistry/reaction.mjs +293 -0
- package/dist/kit/chemistry/safety.d.mts +25 -0
- package/dist/kit/chemistry/safety.mjs +77 -0
- package/dist/kit/chemistry/species.mjs +1078 -0
- package/dist/kit/chemistry/spectrum.mjs +252 -0
- package/dist/kit/chemistry/structure-figure.d.mts +38 -0
- package/dist/kit/chemistry/structure-figure.mjs +161 -0
- package/dist/kit/clue-scene.d.mts +7 -38
- package/dist/kit/clue-scene.mjs +15 -12
- package/dist/kit/cluster.d.mts +1 -11
- package/dist/kit/commerce/glyphs.d.mts +144 -0
- package/dist/kit/commerce/glyphs.mjs +569 -0
- package/dist/kit/commerce/index.d.mts +3 -0
- package/dist/kit/commerce/ledger.d.mts +64 -0
- package/dist/kit/commerce/ledger.mjs +224 -0
- package/dist/kit/controls.mjs +27 -13
- package/dist/kit/coords.d.mts +3 -21
- package/dist/kit/coords.mjs +1 -1
- package/dist/kit/cycle.d.mts +2 -12
- package/dist/kit/cycle.mjs +2 -3
- package/dist/kit/data-scene.d.mts +0 -1
- package/dist/kit/diagram/circuit-box.mjs +2 -1
- package/dist/kit/electronics/_shared.mjs +2 -1
- package/dist/kit/electronics/basics.mjs +274 -7
- package/dist/kit/electronics/meter.mjs +137 -2
- package/dist/kit/electronics/wire.mjs +1 -1
- package/dist/kit/embed.mjs +29 -6
- package/dist/kit/figure/action.d.mts +11 -0
- package/dist/kit/figure/action.mjs +27 -0
- package/dist/kit/figure/beam.d.mts +6 -42
- package/dist/kit/figure/beam.mjs +2 -1
- package/dist/kit/figure/body.d.mts +5 -33
- package/dist/kit/figure/body.mjs +3 -3
- package/dist/kit/figure/container.d.mts +3 -32
- package/dist/kit/figure/container.mjs +10 -0
- package/dist/kit/figure/digits.d.mts +39 -0
- package/dist/kit/figure/digits.mjs +30 -0
- package/dist/kit/figure/figure.d.mts +79 -13
- package/dist/kit/figure/figure.mjs +81 -5
- package/dist/kit/figure/gauge.d.mts +54 -0
- package/dist/kit/figure/gauge.mjs +54 -0
- package/dist/kit/figure/illustration.d.mts +1 -10
- package/dist/kit/figure/index.d.mts +9 -3
- package/dist/kit/figure/legend.d.mts +27 -0
- package/dist/kit/figure/legend.mjs +71 -0
- package/dist/kit/figure/plot.d.mts +7 -44
- package/dist/kit/figure/plot.mjs +52 -29
- package/dist/kit/figure/system.d.mts +59 -0
- package/dist/kit/figure/system.mjs +205 -0
- package/dist/kit/figure/text.d.mts +77 -25
- package/dist/kit/figure/text.mjs +65 -3
- package/dist/kit/finance-viz/apportion-bar.d.mts +1 -9
- package/dist/kit/finance-viz/apportion-bar.mjs +51 -42
- package/dist/kit/finance-viz/index.d.mts +2 -1
- package/dist/kit/finance-viz/plot-chart.d.mts +1 -13
- package/dist/kit/finance-viz/plot-chart.mjs +46 -115
- package/dist/kit/finance-viz/stock-timeline.d.mts +1 -10
- package/dist/kit/finance-viz/stock-timeline.mjs +61 -85
- package/dist/kit/finance-viz/tradeoff-curve.d.mts +1 -14
- package/dist/kit/finance-viz/tradeoff-curve.mjs +136 -189
- package/dist/kit/frame.d.mts +10 -24
- package/dist/kit/frame.mjs +25 -5
- package/dist/kit/freq-tree.mjs +2 -2
- package/dist/kit/gravitation/index.d.mts +2 -0
- package/dist/kit/gravitation/section.d.mts +60 -0
- package/dist/kit/gravitation/section.mjs +128 -0
- package/dist/kit/guide.d.mts +1 -4
- package/dist/kit/index.d.mts +54 -7
- package/dist/kit/index.mjs +48 -9
- package/dist/kit/instruments-palette.mjs +14 -0
- package/dist/kit/instruments.mjs +679 -0
- package/dist/kit/learning-sequence.d.mts +5 -5
- package/dist/kit/learning-sequence.mjs +7 -6
- package/dist/kit/logic-gates/display.mjs +1 -1
- package/dist/kit/logic-gates/gate.d.mts +0 -1
- package/dist/kit/logic-gates/gate.mjs +1 -1
- package/dist/kit/magnetism/glyphs.d.mts +179 -0
- package/dist/kit/magnetism/glyphs.mjs +445 -0
- package/dist/kit/magnetism/index.d.mts +2 -0
- package/dist/kit/mechanics/energy.d.mts +221 -0
- package/dist/kit/mechanics/energy.mjs +578 -0
- package/dist/kit/mechanics/index.d.mts +3 -0
- package/dist/kit/mechanics/palette.mjs +27 -0
- package/dist/kit/mechanics/primitives.d.mts +298 -0
- package/dist/kit/mechanics/primitives.mjs +887 -0
- package/dist/kit/networking/access-glyphs.d.mts +2 -0
- package/dist/kit/networking/access-glyphs.mjs +123 -0
- package/dist/kit/networking/glyphs.d.mts +13 -0
- package/dist/kit/networking/glyphs.mjs +1 -11
- package/dist/kit/networking/index.d.mts +7 -0
- package/dist/kit/networking/infrastructure-glyphs.d.mts +2 -0
- package/dist/kit/networking/infrastructure-glyphs.mjs +149 -0
- package/dist/kit/networking/layout.mjs +15 -0
- package/dist/kit/networking/primitives.d.mts +69 -0
- package/dist/kit/networking/primitives.mjs +798 -0
- package/dist/kit/networking/release-glyphs.d.mts +2 -0
- package/dist/kit/networking/release-glyphs.mjs +128 -0
- package/dist/kit/networking/secret-glyphs.d.mts +2 -0
- package/dist/kit/networking/secret-glyphs.mjs +148 -0
- package/dist/kit/palette.mjs +49 -1
- package/dist/kit/pedagogy.d.mts +15 -34
- package/dist/kit/pedagogy.mjs +1 -1
- package/dist/kit/play.d.mts +1 -5
- package/dist/kit/predict-gate.d.mts +1 -9
- package/dist/kit/predict.d.mts +1 -19
- package/dist/kit/probability.d.mts +3 -21
- package/dist/kit/proportion.mjs +1 -1
- package/dist/kit/receipt.d.mts +1 -9
- package/dist/kit/rich.d.mts +1 -4
- package/dist/kit/rich.mjs +41 -1
- package/dist/kit/rule.d.mts +7 -22
- package/dist/kit/scale.mjs +49 -20
- package/dist/kit/scene-library.d.mts +1 -4
- package/dist/kit/scene-studio.d.mts +1 -5
- package/dist/kit/scenes.d.mts +0 -1
- package/dist/kit/scenes.mjs +4 -4
- package/dist/kit/simulation/adapter.d.mts +9 -0
- package/dist/kit/simulation/adapter.mjs +11 -0
- package/dist/kit/simulation/behavior.d.mts +15 -0
- package/dist/kit/simulation/behavior.mjs +24 -0
- package/dist/kit/simulation/clock.d.mts +65 -0
- package/dist/kit/simulation/clock.mjs +155 -0
- package/dist/kit/simulation/model.d.mts +133 -0
- package/dist/kit/simulation/model.mjs +79 -0
- package/dist/kit/simulation/rig.d.mts +11 -0
- package/dist/kit/simulation/rig.mjs +11 -0
- package/dist/kit/simulation/use-simulation.d.mts +60 -0
- package/dist/kit/simulation/use-simulation.mjs +92 -0
- package/dist/kit/slot-fill.d.mts +3 -16
- package/dist/kit/space/backdrop.d.mts +39 -0
- package/dist/kit/space/backdrop.mjs +174 -0
- package/dist/kit/space/bodies.d.mts +66 -0
- package/dist/kit/space/bodies.mjs +464 -0
- package/dist/kit/space/index.d.mts +4 -0
- package/dist/kit/space/palette.d.mts +144 -0
- package/dist/kit/space/palette.mjs +165 -0
- package/dist/kit/space-glyphs.mjs +63 -0
- package/dist/kit/steps.d.mts +1 -6
- package/dist/kit/thermal-palette.mjs +38 -0
- package/dist/kit/thermal.mjs +140 -25
- package/dist/kit/vessel.d.mts +2 -27
- package/dist/lab-def/define-lab.d.mts +29 -3
- package/dist/lab-def/lab-runtime.mjs +21 -1
- package/dist/lab-def/to-block.mjs +3 -2
- package/dist/language/activity.d.mts +1 -12
- package/dist/language/agreement/index.d.mts +2 -1
- package/dist/language/agreement/preset.d.mts +1 -9
- package/dist/language/article-lens/index.d.mts +2 -1
- package/dist/language/article-lens/preset.d.mts +1 -9
- package/dist/language/cloze/index.d.mts +2 -1
- package/dist/language/cloze/preset.d.mts +1 -9
- package/dist/language/cloze/preset.mjs +4 -2
- package/dist/language/deck.d.mts +0 -1
- package/dist/language/dictation/index.d.mts +2 -1
- package/dist/language/dictation/preset.d.mts +1 -8
- package/dist/language/error-correct/index.d.mts +2 -1
- package/dist/language/error-correct/preset.d.mts +1 -8
- package/dist/language/icon.d.mts +2 -9
- package/dist/language/index.d.mts +11 -0
- package/dist/language/listening/index.d.mts +2 -1
- package/dist/language/listening/preset.d.mts +1 -9
- package/dist/language/listening/preset.mjs +2 -1
- package/dist/language/preposition-scene/index.d.mts +2 -1
- package/dist/language/preposition-scene/preset.d.mts +1 -9
- package/dist/language/preposition-scene/preset.mjs +2 -1
- package/dist/language/reading/index.d.mts +2 -1
- package/dist/language/reading/preset.d.mts +1 -10
- package/dist/language/reading/preset.mjs +2 -1
- package/dist/language/sentence-builder/index.d.mts +2 -1
- package/dist/language/sentence-builder/preset.d.mts +1 -12
- package/dist/language/sentence-builder/preset.mjs +2 -1
- package/dist/language/transform/index.d.mts +2 -1
- package/dist/language/transform/preset.d.mts +1 -12
- package/dist/language/transform/preset.mjs +2 -1
- package/dist/language/ui.d.mts +4 -26
- package/dist/language/ui.mjs +2 -1
- package/dist/language/word-match/index.d.mts +2 -1
- package/dist/language/word-match/preset.d.mts +1 -10
- package/dist/logic/ChipScene.d.mts +1 -11
- package/dist/logic/ChipScene.mjs +6 -5
- package/dist/logic/CounterScene.d.mts +1 -7
- package/dist/logic/CounterScene.mjs +1 -1
- package/dist/logic/DetectorScene.d.mts +1 -8
- package/dist/logic/DetectorScene.mjs +4 -5
- package/dist/logic/LatchScene.d.mts +1 -8
- package/dist/logic/LatchScene.mjs +7 -7
- package/dist/logic/LogicBuildLab.d.mts +1 -8
- package/dist/logic/LogicEditScene.d.mts +1 -13
- package/dist/logic/LogicEditScene.mjs +1 -1
- package/dist/logic/LogicEditor.d.mts +1 -8
- package/dist/logic/LogicScene.d.mts +1 -11
- package/dist/logic/LogicScene.mjs +13 -5
- package/dist/logic/SequentialLogicLab.d.mts +1 -9
- package/dist/logic/ShiftScene.d.mts +1 -6
- package/dist/logic/ShiftScene.mjs +9 -8
- package/dist/logic/TimingScene.d.mts +1 -12
- package/dist/logic/TimingScene.mjs +2 -3
- package/dist/logic/TwosScene.d.mts +1 -13
- package/dist/logic/TwosScene.mjs +16 -16
- package/dist/logic/WaveScene.d.mts +1 -10
- package/dist/logic/WaveScene.mjs +3 -4
- package/dist/logic/contract.d.mts +1 -2
- package/dist/logic/counter.d.mts +0 -1
- package/dist/logic/display.d.mts +1 -9
- package/dist/logic/display.mjs +2 -2
- package/dist/logic/edit-ops.d.mts +0 -1
- package/dist/logic/evaluate.d.mts +1 -2
- package/dist/logic/ic.d.mts +1 -1
- package/dist/logic/lab.d.mts +1 -12
- package/dist/logic/lab.mjs +2 -1
- package/dist/logic/latch.d.mts +2 -11
- package/dist/logic/netlist.d.mts +0 -1
- package/dist/logic/presets.d.mts +0 -1
- package/dist/logic/registry.d.mts +0 -1
- package/dist/logic/sequential-presets.d.mts +0 -1
- package/dist/logic/sequential.d.mts +0 -1
- package/dist/logic/sequential.mjs +8 -7
- package/dist/logic/timing.mjs +6 -4
- package/dist/logic/twos.d.mts +1 -1
- package/dist/logic/twos.mjs +7 -5
- package/dist/math/area-model/asset.d.mts +0 -1
- package/dist/math/area-model/index.d.mts +2 -1
- package/dist/math/area-model/preset.d.mts +2 -15
- package/dist/math/area-model/preset.mjs +8 -6
- package/dist/math/area-rearrange/index.d.mts +2 -1
- package/dist/math/area-rearrange/preset.d.mts +1 -12
- package/dist/math/area-rearrange/preset.mjs +4 -5
- package/dist/math/balance-algebra/asset.d.mts +0 -1
- package/dist/math/balance-algebra/index.d.mts +2 -1
- package/dist/math/balance-algebra/preset.d.mts +3 -9
- package/dist/math/balance-algebra/preset.mjs +10 -8
- package/dist/math/bearings/core.mjs +3 -2
- package/dist/math/bearings/index.d.mts +2 -1
- package/dist/math/bearings/preset.d.mts +1 -12
- package/dist/math/bearings/preset.mjs +15 -13
- package/dist/math/bounds-window/preset.mjs +239 -0
- package/dist/math/broken-tree/index.d.mts +2 -1
- package/dist/math/broken-tree/preset.d.mts +1 -10
- package/dist/math/circle/index.d.mts +2 -1
- package/dist/math/circle/preset.d.mts +1 -15
- package/dist/math/complex/index.d.mts +3 -2
- package/dist/math/complex/index.mjs +5 -0
- package/dist/math/complex/preset.d.mts +0 -1
- package/dist/math/complex/preset.mjs +18 -18
- package/dist/math/complex/rule-figures.mjs +3 -3
- package/dist/math/complex/rules.d.mts +1 -2
- package/dist/math/complex/rules.mjs +4 -4
- package/dist/math/cone-frustum/core.mjs +34 -0
- package/dist/math/cone-frustum/preset.mjs +342 -0
- package/dist/math/conic/index.d.mts +2 -1
- package/dist/math/conic/preset.d.mts +0 -1
- package/dist/math/conic/preset.mjs +2 -1
- package/dist/math/derivation.d.mts +2 -9
- package/dist/math/derivation.mjs +20 -27
- package/dist/math/derivative-explorer/preset.d.mts +1 -8
- package/dist/math/derivative-explorer/preset.mjs +2 -1
- package/dist/math/differential-equation/preset.d.mts +1 -11
- package/dist/math/differential-equation/preset.mjs +5 -3
- package/dist/math/division-workbench/index.d.mts +2 -1
- package/dist/math/division-workbench/preset.d.mts +1 -10
- package/dist/math/division-workbench/visuals.mjs +2 -1
- package/dist/math/domain-range/index.d.mts +2 -1
- package/dist/math/domain-range/preset.d.mts +1 -13
- package/dist/math/domain-range/preset.mjs +33 -3
- package/dist/math/exact-triangle/preset.mjs +409 -0
- package/dist/math/expression-order/core.d.mts +9 -0
- package/dist/math/expression-order/core.mjs +22 -11
- package/dist/math/expression-order/index.d.mts +2 -1
- package/dist/math/expression-order/preset.d.mts +3 -8
- package/dist/math/expression-order/preset.mjs +2 -1
- package/dist/math/fraction-bar/index.d.mts +2 -1
- package/dist/math/fraction-bar/preset.d.mts +0 -1
- package/dist/math/function-machine/index.d.mts +2 -1
- package/dist/math/function-machine/preset.d.mts +2 -9
- package/dist/math/function-machine/preset.mjs +2 -2
- package/dist/math/fundamental-theorem/preset.d.mts +1 -9
- package/dist/math/fundamental-theorem/preset.mjs +2 -1
- package/dist/math/geometry-foundations/activity.d.mts +1 -1
- package/dist/math/geometry-foundations/index.d.mts +3 -1
- package/dist/math/geometry-foundations/preset.d.mts +1 -12
- package/dist/math/geometry-foundations/preset.mjs +7 -6
- package/dist/math/gradient-descent.d.mts +1 -9
- package/dist/math/gradient-descent.mjs +2 -2
- package/dist/math/grapher/index.d.mts +2 -1
- package/dist/math/grapher/preset.d.mts +1 -12
- package/dist/math/grapher/preset.mjs +4 -2
- package/dist/math/harmonic-form/index.d.mts +2 -1
- package/dist/math/harmonic-form/preset.d.mts +1 -8
- package/dist/math/identity-proof/default-proof.d.mts +0 -1
- package/dist/math/identity-proof/index.d.mts +2 -1
- package/dist/math/identity-proof/preset.d.mts +1 -8
- package/dist/math/index.d.mts +55 -7
- package/dist/math/index.mjs +5 -7
- package/dist/math/integral-explorer/preset.d.mts +1 -10
- package/dist/math/integral-explorer/preset.mjs +4 -4
- package/dist/math/interactive/index.d.mts +2 -1
- package/dist/math/interactive/preset.d.mts +2 -14
- package/dist/math/interactive/preset.mjs +2 -3
- package/dist/math/iteration/index.d.mts +2 -1
- package/dist/math/iteration/preset.d.mts +1 -11
- package/dist/math/iteration/preset.mjs +2 -1
- package/dist/math/limit-explorer/preset.d.mts +1 -8
- package/dist/math/limit-explorer/preset.mjs +2 -1
- package/dist/math/linear-model/index.d.mts +2 -1
- package/dist/math/linear-model/preset.d.mts +0 -1
- package/dist/math/linear-model/preset.mjs +23 -22
- package/dist/math/linear-system/index.d.mts +2 -1
- package/dist/math/linear-system/preset.d.mts +1 -9
- package/dist/math/lines-in-space/core.mjs +1 -1
- package/dist/math/lines-in-space/index.d.mts +2 -1
- package/dist/math/lines-in-space/preset.d.mts +1 -17
- package/dist/math/lines-in-space/preset.mjs +4 -2
- package/dist/math/measurement/activity.d.mts +1 -1
- package/dist/math/measurement/index.d.mts +3 -1
- package/dist/math/measurement/preset.d.mts +1 -17
- package/dist/math/measurement/preset.mjs +4 -3
- package/dist/math/mystery-bucket/asset.d.mts +0 -1
- package/dist/math/mystery-bucket/asset.mjs +2 -1
- package/dist/math/mystery-bucket/index.d.mts +2 -1
- package/dist/math/mystery-bucket/preset.d.mts +2 -11
- package/dist/math/mystery-bucket/preset.mjs +1 -1
- package/dist/math/newton-method/preset.d.mts +1 -9
- package/dist/math/newton-method/preset.mjs +4 -2
- package/dist/math/number-line/index.d.mts +2 -1
- package/dist/math/number-line/preset.d.mts +1 -10
- package/dist/math/number-structure/core.mjs +1 -1
- package/dist/math/number-structure/index.d.mts +2 -1
- package/dist/math/number-structure/preset.d.mts +1 -12
- package/dist/math/number-structure/preset.mjs +1 -1
- package/dist/math/number-structure/visuals.mjs +2 -1
- package/dist/math/oblique-triangle/index.d.mts +2 -1
- package/dist/math/oblique-triangle/preset.d.mts +1 -8
- package/dist/math/ode/system.d.mts +0 -1
- package/dist/math/parabola/index.d.mts +2 -1
- package/dist/math/parabola/preset.d.mts +1 -5
- package/dist/math/partial-fractions/core.d.mts +1 -2
- package/dist/math/partial-fractions/core.mjs +3 -2
- package/dist/math/partial-fractions/index.d.mts +2 -1
- package/dist/math/partial-fractions/preset.d.mts +2 -11
- package/dist/math/partial-fractions/preset.mjs +1 -1
- package/dist/math/pattern/asset.d.mts +0 -1
- package/dist/math/pattern/asset.mjs +2 -1
- package/dist/math/pattern/index.d.mts +2 -1
- package/dist/math/pattern/preset.d.mts +3 -16
- package/dist/math/pattern/preset.mjs +9 -7
- package/dist/math/percent-bar/index.d.mts +2 -1
- package/dist/math/percent-bar/preset.d.mts +0 -1
- package/dist/math/percent-bar/preset.mjs +4 -4
- package/dist/math/phase-portrait/preset.d.mts +1 -12
- package/dist/math/phase-portrait/preset.mjs +3 -2
- package/dist/math/poly/index.d.mts +3 -2
- package/dist/math/poly/index.mjs +5 -0
- package/dist/math/poly/preset.d.mts +1 -8
- package/dist/math/poly/preset.mjs +6 -7
- package/dist/math/poly/steps.d.mts +2 -3
- package/dist/math/poly/steps.mjs +6 -6
- package/dist/math/radian-wrap/core.d.mts +1 -1
- package/dist/math/radian-wrap/index.d.mts +2 -1
- package/dist/math/radian-wrap/preset.d.mts +1 -7
- package/dist/math/rate-machine/index.d.mts +2 -1
- package/dist/math/rate-machine/preset.d.mts +0 -1
- package/dist/math/rate-machine/preset.mjs +21 -20
- package/dist/math/ratio-share/index.d.mts +2 -1
- package/dist/math/ratio-share/preset.d.mts +0 -1
- package/dist/math/receipt/index.d.mts +2 -1
- package/dist/math/receipt/preset.d.mts +0 -1
- package/dist/math/receipt/preset.mjs +7 -5
- package/dist/math/sequence-predict/index.d.mts +2 -1
- package/dist/math/sequence-predict/preset.d.mts +0 -1
- package/dist/math/sequence-predict/preset.mjs +3 -2
- package/dist/math/slide-rule/index.d.mts +2 -1
- package/dist/math/slide-rule/preset.d.mts +1 -9
- package/dist/math/slide-rule/preset.mjs +6 -7
- package/dist/math/solid-net/core.d.mts +1 -1
- package/dist/math/solid-net/index.d.mts +2 -1
- package/dist/math/solid-net/preset.d.mts +1 -12
- package/dist/math/solid-net/preset.mjs +15 -15
- package/dist/math/solid-slice/core.mjs +189 -0
- package/dist/math/solid-slice/preset.mjs +278 -0
- package/dist/math/straight-line/index.d.mts +2 -1
- package/dist/math/straight-line/preset.d.mts +0 -1
- package/dist/math/system-solve/index.d.mts +2 -1
- package/dist/math/system-solve/preset.d.mts +0 -1
- package/dist/math/tank-design/core.mjs +40 -0
- package/dist/math/tank-design/preset.mjs +465 -0
- package/dist/math/taylor-series/preset.d.mts +1 -10
- package/dist/math/taylor-series/preset.mjs +2 -1
- package/dist/math/transform/index.d.mts +2 -1
- package/dist/math/transform/preset.d.mts +5 -11
- package/dist/math/transform/preset.mjs +5 -4
- package/dist/math/triangle-trig/index.d.mts +2 -1
- package/dist/math/triangle-trig/preset.d.mts +2 -17
- package/dist/math/triangle-trig/preset.mjs +1 -1
- package/dist/math/trig/core.d.mts +1 -3
- package/dist/math/trig/core.mjs +3 -2
- package/dist/math/trig/diagrams.mjs +2 -2
- package/dist/math/trig/index.d.mts +3 -1
- package/dist/math/trig/preset.d.mts +1 -10
- package/dist/math/trig/rules.d.mts +1 -1
- package/dist/math/trig/rules.mjs +2 -2
- package/dist/math/trig-explorer.d.mts +1 -5
- package/dist/networking/AirtimeScene.d.mts +10 -0
- package/dist/networking/AirtimeScene.mjs +212 -0
- package/dist/networking/CellularScene.d.mts +36 -0
- package/dist/networking/CellularScene.mjs +406 -0
- package/dist/networking/EncapScene.mjs +22 -37
- package/dist/networking/HandoverScene.d.mts +15 -0
- package/dist/networking/HandoverScene.mjs +196 -0
- package/dist/networking/HandshakeScene.d.mts +11 -0
- package/dist/networking/HandshakeScene.mjs +270 -0
- package/dist/networking/MediaScene.mjs +2 -2
- package/dist/networking/NetworkScene.d.mts +2 -10
- package/dist/networking/NetworkScene.mjs +5 -1
- package/dist/networking/NetworkingPrimitiveScene.d.mts +8 -0
- package/dist/networking/NetworkingPrimitiveScene.mjs +183 -0
- package/dist/networking/PacketInspector.d.mts +2 -5
- package/dist/networking/PlugScene.mjs +5 -5
- package/dist/networking/PrivacyScene.d.mts +13 -0
- package/dist/networking/PrivacyScene.mjs +307 -0
- package/dist/networking/SatelliteScene.d.mts +10 -0
- package/dist/networking/SatelliteScene.mjs +240 -0
- package/dist/networking/SpectrumScene.d.mts +15 -0
- package/dist/networking/SpectrumScene.mjs +444 -0
- package/dist/networking/SubnetScene.mjs +4 -4
- package/dist/networking/SwitchScene.mjs +2 -2
- package/dist/networking/VlanScene.mjs +2 -2
- package/dist/networking/VpnScene.mjs +1 -1
- package/dist/networking/WifiScene.d.mts +19 -0
- package/dist/networking/WifiScene.mjs +702 -0
- package/dist/networking/index.d.mts +13 -5
- package/dist/networking/index.mjs +12 -4
- package/dist/pathways/biology.d.mts +0 -1
- package/dist/pathways/calculus.d.mts +0 -1
- package/dist/pathways/chemistry.d.mts +0 -1
- package/dist/pathways/cloud-infrastructure.d.mts +6 -0
- package/dist/pathways/cloud-infrastructure.mjs +211 -0
- package/dist/pathways/digital-logic.d.mts +0 -1
- package/dist/pathways/electronic-circuits.d.mts +0 -1
- package/dist/pathways/electronic-circuits.mjs +9 -3
- package/dist/pathways/electronic-devices.d.mts +0 -1
- package/dist/pathways/index.d.mts +4 -2
- package/dist/pathways/index.mjs +4 -2
- package/dist/pathways/network-communication.d.mts +6 -0
- package/dist/pathways/network-communication.mjs +172 -0
- package/dist/pathways/quantum.d.mts +0 -1
- package/dist/pathways/relativity.d.mts +0 -1
- package/dist/pathways/types.d.mts +3 -5
- package/dist/pathways/types.mjs +10 -5
- package/dist/physics/alternating-current/index.d.mts +3 -2
- package/dist/physics/alternating-current/index.mjs +4 -0
- package/dist/physics/alternating-current/preset.d.mts +4 -21
- package/dist/physics/alternating-current/preset.mjs +873 -684
- package/dist/physics/astronomy/core.d.mts +111 -0
- package/dist/physics/astronomy/core.mjs +147 -0
- package/dist/physics/attenuation/core.d.mts +106 -0
- package/dist/physics/attenuation/core.mjs +112 -0
- package/dist/physics/atwood/index.d.mts +2 -1
- package/dist/physics/atwood/preset.d.mts +2 -10
- package/dist/physics/atwood/preset.mjs +228 -283
- package/dist/physics/biot-savart/activity.mjs +61 -0
- package/dist/physics/biot-savart/preset.mjs +337 -0
- package/dist/physics/biot-savart/presets.mjs +149 -0
- package/dist/physics/biot-savart/torque-activity.mjs +57 -0
- package/dist/physics/biot-savart/torque-preset.mjs +334 -0
- package/dist/physics/bullet-walls/index.d.mts +2 -1
- package/dist/physics/bullet-walls/model.mjs +81 -0
- package/dist/physics/bullet-walls/preset.d.mts +1 -12
- package/dist/physics/bullet-walls/preset.mjs +27 -49
- package/dist/physics/carnot/index.d.mts +2 -1
- package/dist/physics/carnot/preset.d.mts +1 -11
- package/dist/physics/carnot/preset.mjs +25 -27
- package/dist/physics/circular-motion/index.d.mts +2 -1
- package/dist/physics/circular-motion/model.mjs +46 -0
- package/dist/physics/circular-motion/preset.d.mts +1 -11
- package/dist/physics/circular-motion/preset.mjs +30 -47
- package/dist/physics/collision-track/index.d.mts +2 -1
- package/dist/physics/collision-track/model.mjs +62 -0
- package/dist/physics/collision-track/preset.d.mts +1 -13
- package/dist/physics/collision-track/preset.mjs +87 -70
- package/dist/physics/constants.d.mts +125 -0
- package/dist/physics/constants.mjs +128 -0
- package/dist/physics/couple-torque/index.d.mts +2 -1
- package/dist/physics/couple-torque/preset.d.mts +1 -11
- package/dist/physics/couple-torque/preset.mjs +18 -7
- package/dist/physics/efficiency/index.d.mts +2 -1
- package/dist/physics/efficiency/preset.d.mts +1 -12
- package/dist/physics/efficiency/preset.mjs +22 -25
- package/dist/physics/electric-field/index.d.mts +2 -1
- package/dist/physics/electric-field/preset.d.mts +2 -8
- package/dist/physics/electric-field/preset.mjs +14 -15
- package/dist/physics/electric-flux/index.d.mts +2 -1
- package/dist/physics/electric-flux/preset.d.mts +1 -12
- package/dist/physics/electricity/engine.d.mts +54 -0
- package/dist/physics/electricity/engine.mjs +126 -0
- package/dist/physics/electricity/faults.d.mts +31 -0
- package/dist/physics/electricity/faults.mjs +65 -0
- package/dist/physics/electrostatics/coulomb-activity.mjs +119 -0
- package/dist/physics/electrostatics/coulomb-preset.mjs +331 -0
- package/dist/physics/electrostatics/coulomb-presets.mjs +60 -0
- package/dist/physics/energy/core.d.mts +199 -0
- package/dist/physics/energy/core.mjs +265 -0
- package/dist/physics/energy-skate/index.d.mts +2 -1
- package/dist/physics/energy-skate/model.mjs +92 -0
- package/dist/physics/energy-skate/preset.d.mts +1 -11
- package/dist/physics/energy-skate/preset.mjs +24 -49
- package/dist/physics/entropy/index.d.mts +2 -1
- package/dist/physics/entropy/preset.d.mts +1 -8
- package/dist/physics/entropy/preset.mjs +11 -6
- package/dist/physics/expansion/index.d.mts +2 -1
- package/dist/physics/expansion/preset.d.mts +1 -9
- package/dist/physics/expansion/preset.mjs +26 -19
- package/dist/physics/exponential/asset.mjs +2 -2
- package/dist/physics/exponential/index.d.mts +2 -1
- package/dist/physics/exponential/preset.d.mts +1 -7
- package/dist/physics/fields/activity.d.mts +23 -1
- package/dist/physics/fields/activity.mjs +29 -2
- package/dist/physics/fields/index.d.mts +9 -2
- package/dist/physics/fields/index.mjs +19 -0
- package/dist/physics/fields/spatial-activity.d.mts +0 -1
- package/dist/physics/fields/spatial-preset.d.mts +4 -15
- package/dist/physics/fields/spatial-preset.mjs +1 -3
- package/dist/physics/fluid-pressure/index.d.mts +2 -1
- package/dist/physics/fluid-pressure/preset.d.mts +1 -11
- package/dist/physics/fluid-pressure/preset.mjs +3 -3
- package/dist/physics/force-pairs/index.d.mts +2 -1
- package/dist/physics/force-pairs/preset.d.mts +1 -11
- package/dist/physics/force-pairs/preset.mjs +90 -87
- package/dist/physics/gas-process/index.d.mts +2 -1
- package/dist/physics/gas-process/preset.d.mts +1 -12
- package/dist/physics/gas-process/preset.mjs +15 -12
- package/dist/physics/gauss-law/index.d.mts +2 -1
- package/dist/physics/gauss-law/preset.d.mts +1 -9
- package/dist/physics/geomagnetism/activity.mjs +60 -0
- package/dist/physics/geomagnetism/preset.mjs +300 -0
- package/dist/physics/geomagnetism/presets.mjs +68 -0
- package/dist/physics/gravitation/index.d.mts +2 -1
- package/dist/physics/gravitation/preset.d.mts +8 -15
- package/dist/physics/gravitation/preset.mjs +94 -46
- package/dist/physics/gravity-drop.d.mts +1 -8
- package/dist/physics/gravity-drop.mjs +9 -7
- package/dist/physics/gravity-profile/index.d.mts +2 -0
- package/dist/physics/gravity-profile/preset.d.mts +39 -0
- package/dist/physics/gravity-profile/preset.mjs +508 -0
- package/dist/physics/heat-transfer/index.d.mts +2 -1
- package/dist/physics/heat-transfer/preset.d.mts +1 -9
- package/dist/physics/heat-transfer/preset.mjs +52 -43
- package/dist/physics/impulse/index.d.mts +2 -1
- package/dist/physics/impulse/preset.d.mts +1 -12
- package/dist/physics/impulse/preset.mjs +37 -35
- package/dist/physics/index.d.mts +90 -7
- package/dist/physics/index.mjs +38 -7
- package/dist/physics/intercept/index.d.mts +2 -1
- package/dist/physics/intercept/preset.d.mts +1 -14
- package/dist/physics/intercept/preset.mjs +2 -2
- package/dist/physics/investigation/circuit.d.mts +41 -0
- package/dist/physics/investigation/circuit.mjs +174 -0
- package/dist/physics/investigation/cooling.d.mts +44 -0
- package/dist/physics/investigation/cooling.mjs +195 -0
- package/dist/physics/investigation/density.d.mts +28 -0
- package/dist/physics/investigation/density.mjs +136 -0
- package/dist/physics/investigation/energy-resource.mjs +453 -0
- package/dist/physics/investigation/engine.d.mts +106 -0
- package/dist/physics/investigation/engine.mjs +126 -0
- package/dist/physics/investigation/measurement.mjs +182 -0
- package/dist/physics/investigation/optics.d.mts +38 -0
- package/dist/physics/investigation/optics.mjs +155 -0
- package/dist/physics/investigation/paper5.mjs +359 -0
- package/dist/physics/investigation/radiation.mjs +304 -0
- package/dist/physics/investigation/refraction.d.mts +40 -0
- package/dist/physics/investigation/refraction.mjs +161 -0
- package/dist/physics/investigation/space.mjs +191 -0
- package/dist/physics/investigation/trolley.d.mts +43 -0
- package/dist/physics/investigation/trolley.mjs +194 -0
- package/dist/physics/investigation-activity.d.mts +25 -0
- package/dist/physics/investigation-activity.mjs +86 -0
- package/dist/physics/kepler/index.d.mts +2 -1
- package/dist/physics/kepler/preset.d.mts +1 -11
- package/dist/physics/kepler/preset.mjs +20 -21
- package/dist/physics/lever/asset.d.mts +0 -1
- package/dist/physics/lever/index.d.mts +2 -1
- package/dist/physics/lever/preset.d.mts +2 -17
- package/dist/physics/lever/preset.mjs +7 -5
- package/dist/physics/lift-weight/index.d.mts +2 -0
- package/dist/physics/lift-weight/preset.d.mts +23 -0
- package/dist/physics/lift-weight/preset.mjs +362 -0
- package/dist/physics/lifting-work/preset.mjs +411 -0
- package/dist/physics/linear-pursuit/preset.d.mts +1 -12
- package/dist/physics/lorentz/index.d.mts +2 -1
- package/dist/physics/lorentz/model.mjs +16 -0
- package/dist/physics/lorentz/preset.d.mts +1 -14
- package/dist/physics/lorentz/preset.mjs +162 -93
- package/dist/physics/machines/ac-generator/core.d.mts +41 -0
- package/dist/physics/machines/ac-generator/core.mjs +63 -0
- package/dist/physics/machines/ac-generator/index.d.mts +3 -0
- package/dist/physics/machines/ac-generator/model.mjs +14 -0
- package/dist/physics/machines/ac-generator/preset.d.mts +30 -0
- package/dist/physics/machines/ac-generator/preset.mjs +684 -0
- package/dist/physics/machines/dc-motor/core.d.mts +28 -0
- package/dist/physics/machines/dc-motor/core.mjs +69 -0
- package/dist/physics/machines/dc-motor/index.d.mts +3 -0
- package/dist/physics/machines/dc-motor/preset.d.mts +30 -0
- package/dist/physics/machines/dc-motor/preset.mjs +689 -0
- package/dist/physics/magnetism/formula-core.d.mts +1 -0
- package/dist/physics/magnetism/formula-core.mjs +30 -0
- package/dist/physics/magnetism/index.d.mts +4 -1
- package/dist/physics/magnetism/preset.d.mts +2 -8
- package/dist/physics/magnetism/preset.mjs +73 -37
- package/dist/physics/mechanics/activity.mjs +8 -21
- package/dist/physics/mechanics/core.d.mts +59 -23
- package/dist/physics/mechanics/core.mjs +90 -55
- package/dist/physics/mechanics/presentation.mjs +3 -98
- package/dist/physics/modern/imaging/activity.d.mts +0 -1
- package/dist/physics/modern/imaging/index.d.mts +7 -2
- package/dist/physics/modern/imaging/pet-activity.d.mts +5 -0
- package/dist/physics/modern/imaging/pet-activity.mjs +115 -0
- package/dist/physics/modern/imaging/pet-core.d.mts +296 -0
- package/dist/physics/modern/imaging/pet-core.mjs +389 -0
- package/dist/physics/modern/imaging/pet-preset.d.mts +26 -0
- package/dist/physics/modern/imaging/pet-preset.mjs +167 -0
- package/dist/physics/modern/imaging/pet-scene.d.mts +21 -0
- package/dist/physics/modern/imaging/pet-scene.mjs +245 -0
- package/dist/physics/modern/imaging/preset.d.mts +1 -10
- package/dist/physics/modern/imaging/spectrum-activity.d.mts +0 -1
- package/dist/physics/modern/imaging/spectrum-preset.d.mts +1 -10
- package/dist/physics/modern/imaging/spectrum-preset.mjs +5 -4
- package/dist/physics/modern/imaging/spectrum-scene.d.mts +1 -5
- package/dist/physics/modern/imaging/spectrum-scene.mjs +3 -1
- package/dist/physics/modern/imaging/xray-core.d.mts +20 -1
- package/dist/physics/modern/imaging/xray-core.mjs +26 -1
- package/dist/physics/modern/imaging/xray-scene.mjs +2 -2
- package/dist/physics/modern/index.d.mts +14 -5
- package/dist/physics/modern/index.mjs +9 -5
- package/dist/physics/modern/nuclear/activity.d.mts +0 -1
- package/dist/physics/modern/nuclear/core.d.mts +2 -3
- package/dist/physics/modern/nuclear/core.mjs +2 -1
- package/dist/physics/modern/nuclear/fission-activity.d.mts +0 -1
- package/dist/physics/modern/nuclear/fission-core.d.mts +1 -9
- package/dist/physics/modern/nuclear/fission-preset.d.mts +1 -10
- package/dist/physics/modern/nuclear/fission-scene.mjs +4 -5
- package/dist/physics/modern/nuclear/index.d.mts +4 -2
- package/dist/physics/modern/nuclear/preset.d.mts +1 -8
- package/dist/physics/modern/quantum/activity.d.mts +0 -1
- package/dist/physics/modern/quantum/bloch-activity.d.mts +0 -1
- package/dist/physics/modern/quantum/bloch-preset.d.mts +2 -13
- package/dist/physics/modern/quantum/bloch-preset.mjs +9 -9
- package/dist/physics/modern/quantum/double-slit-activity.d.mts +0 -1
- package/dist/physics/modern/quantum/double-slit-core.d.mts +32 -1
- package/dist/physics/modern/quantum/double-slit-core.mjs +43 -5
- package/dist/physics/modern/quantum/double-slit-preset.d.mts +2 -11
- package/dist/physics/modern/quantum/double-slit-preset.mjs +187 -126
- package/dist/physics/modern/quantum/gates-activity.d.mts +0 -1
- package/dist/physics/modern/quantum/gates-core.d.mts +0 -1
- package/dist/physics/modern/quantum/gates-core.mjs +6 -3
- package/dist/physics/modern/quantum/gates-preset.d.mts +1 -8
- package/dist/physics/modern/quantum/index.d.mts +4 -2
- package/dist/physics/modern/quantum/photoelectric-core.d.mts +2 -2
- package/dist/physics/modern/quantum/photoelectric-core.mjs +3 -2
- package/dist/physics/modern/quantum/preset.d.mts +1 -10
- package/dist/physics/modern/quantum/preset.mjs +1 -1
- package/dist/physics/modern/quantum/uncertainty-activity.d.mts +0 -1
- package/dist/physics/modern/quantum/uncertainty-preset.d.mts +1 -8
- package/dist/physics/modern/relativity/activity.d.mts +0 -1
- package/dist/physics/modern/relativity/explorer-activity.d.mts +0 -1
- package/dist/physics/modern/relativity/explorer-core.d.mts +0 -1
- package/dist/physics/modern/relativity/explorer-preset.d.mts +1 -8
- package/dist/physics/modern/relativity/index.d.mts +2 -1
- package/dist/physics/modern/relativity/length-activity.d.mts +0 -1
- package/dist/physics/modern/relativity/length-core.d.mts +0 -1
- package/dist/physics/modern/relativity/length-core.mjs +1 -1
- package/dist/physics/modern/relativity/length-preset.d.mts +1 -8
- package/dist/physics/modern/relativity/length-preset.mjs +2 -2
- package/dist/physics/modern/relativity/light-clock.d.mts +1 -4
- package/dist/physics/modern/relativity/light-clock.mjs +3 -3
- package/dist/physics/modern/relativity/muon-activity.d.mts +0 -1
- package/dist/physics/modern/relativity/muon-core.mjs +1 -1
- package/dist/physics/modern/relativity/muon-preset.d.mts +1 -10
- package/dist/physics/modern/relativity/muon-scene.d.mts +1 -6
- package/dist/physics/modern/relativity/muon-scene.mjs +3 -3
- package/dist/physics/modern/relativity/preset.d.mts +1 -12
- package/dist/physics/modern/relativity/simultaneity-activity.d.mts +0 -1
- package/dist/physics/modern/relativity/simultaneity-core.d.mts +0 -1
- package/dist/physics/modern/relativity/simultaneity-core.mjs +1 -1
- package/dist/physics/modern/relativity/simultaneity-preset.d.mts +1 -8
- package/dist/physics/modern/relativity/simultaneity-preset.mjs +1 -1
- package/dist/physics/modern/relativity/spacetime.d.mts +1 -4
- package/dist/physics/modern/shared/experiment-transport.d.mts +2 -12
- package/dist/physics/modern/shared/experiment-transport.mjs +28 -23
- package/dist/physics/modern/shared/index.d.mts +2 -1
- package/dist/physics/optics/asset.d.mts +0 -1
- package/dist/physics/optics/index.d.mts +2 -2
- package/dist/physics/optics/lens.d.mts +1 -12
- package/dist/physics/optics/lens.mjs +235 -226
- package/dist/physics/optics/mirror.d.mts +1 -12
- package/dist/physics/optics/mirror.mjs +237 -227
- package/dist/physics/optics/preset.d.mts +1 -8
- package/dist/physics/optics/preset.mjs +1 -1
- package/dist/physics/optics/refraction.d.mts +1 -12
- package/dist/physics/optics/refraction.mjs +8 -5
- package/dist/physics/orbit-lab.d.mts +2 -10
- package/dist/physics/orbit-lab.mjs +153 -156
- package/dist/physics/orbital/core.d.mts +57 -14
- package/dist/physics/orbital/core.mjs +60 -38
- package/dist/physics/orbital/model.d.mts +50 -0
- package/dist/physics/orbital/model.mjs +66 -0
- package/dist/physics/power/index.d.mts +2 -1
- package/dist/physics/power/preset.d.mts +1 -13
- package/dist/physics/power/preset.mjs +12 -11
- package/dist/physics/projectiles/core.d.mts +1 -0
- package/dist/physics/projectiles/core.mjs +32 -4
- package/dist/physics/projectiles/falling-target.d.mts +1 -12
- package/dist/physics/projectiles/falling-target.mjs +4 -3
- package/dist/physics/projectiles/index.d.mts +3 -1
- package/dist/physics/projectiles/moving-launcher.d.mts +1 -15
- package/dist/physics/projectiles/moving-launcher.mjs +4 -4
- package/dist/physics/rain-relative/index.d.mts +2 -1
- package/dist/physics/rain-relative/model.mjs +14 -0
- package/dist/physics/rain-relative/preset.d.mts +1 -10
- package/dist/physics/rain-relative/preset.mjs +14 -10
- package/dist/physics/ramp-forces/index.d.mts +2 -1
- package/dist/physics/ramp-forces/preset.d.mts +1 -15
- package/dist/physics/ramp-forces/preset.mjs +63 -44
- package/dist/physics/river-boat.d.mts +1 -12
- package/dist/physics/river-crossing.mjs +1 -1
- package/dist/physics/shm/core.mjs +51 -17
- package/dist/physics/shm/energy.d.mts +24 -0
- package/dist/physics/shm/energy.mjs +654 -0
- package/dist/physics/shm/graphs.d.mts +20 -0
- package/dist/physics/shm/graphs.mjs +483 -0
- package/dist/physics/shm/index.d.mts +6 -1
- package/dist/physics/shm/pendulum-worlds.d.mts +18 -0
- package/dist/physics/shm/pendulum-worlds.mjs +356 -0
- package/dist/physics/shm/preset.d.mts +2 -14
- package/dist/physics/shm/preset.mjs +107 -33
- package/dist/physics/shm/springs.d.mts +23 -0
- package/dist/physics/shm/springs.mjs +404 -0
- package/dist/physics/spin-studio/index.d.mts +2 -0
- package/dist/physics/spin-studio/preset.d.mts +20 -0
- package/dist/physics/spin-studio/preset.mjs +395 -0
- package/dist/physics/stopping-distance/index.d.mts +2 -1
- package/dist/physics/stopping-distance/preset.d.mts +1 -14
- package/dist/physics/stopping-distance/preset.mjs +58 -52
- package/dist/physics/stress-strain/core.d.mts +1 -6
- package/dist/physics/stress-strain/core.mjs +1 -1
- package/dist/physics/stress-strain/index.d.mts +2 -1
- package/dist/physics/stress-strain/preset.d.mts +2 -15
- package/dist/physics/stress-strain/preset.mjs +285 -89
- package/dist/physics/suspension/index.d.mts +2 -0
- package/dist/physics/suspension/preset.d.mts +26 -0
- package/dist/physics/suspension/preset.mjs +887 -0
- package/dist/physics/temperature-scales/index.d.mts +2 -1
- package/dist/physics/temperature-scales/preset.d.mts +1 -9
- package/dist/physics/temperature-scales/preset.mjs +24 -17
- package/dist/physics/terminal-velocity/index.d.mts +2 -1
- package/dist/physics/terminal-velocity/model.mjs +54 -0
- package/dist/physics/terminal-velocity/preset.d.mts +1 -11
- package/dist/physics/terminal-velocity/preset.mjs +25 -59
- package/dist/physics/thermal/activity.d.mts +3 -39
- package/dist/physics/thermal/activity.mjs +8 -21
- package/dist/physics/thermal/index.d.mts +2 -1
- package/dist/physics/thermal/model.mjs +46 -0
- package/dist/physics/thermal/preset.d.mts +1 -17
- package/dist/physics/thermal/preset.mjs +45 -44
- package/dist/physics/ultrasound/core.d.mts +221 -0
- package/dist/physics/ultrasound/core.mjs +235 -0
- package/dist/physics/vector-board/index.d.mts +2 -1
- package/dist/physics/vector-board/preset.d.mts +1 -17
- package/dist/physics/vector-board/preset.mjs +93 -39
- package/dist/physics/vector-types/index.d.mts +2 -1
- package/dist/physics/vector-types/preset.d.mts +1 -8
- package/dist/physics/venturi/core.mjs +1 -1
- package/dist/physics/venturi/index.d.mts +2 -1
- package/dist/physics/venturi/preset.d.mts +1 -10
- package/dist/physics/venturi/preset.mjs +2 -1
- package/dist/physics/water-density/index.d.mts +2 -1
- package/dist/physics/water-density/preset.d.mts +1 -8
- package/dist/physics/water-density/preset.mjs +34 -38
- package/dist/physics/waves/doppler-core.d.mts +106 -0
- package/dist/physics/waves/doppler-core.mjs +157 -0
- package/dist/physics/waves/doppler-model.mjs +90 -0
- package/dist/physics/waves/doppler.d.mts +1 -11
- package/dist/physics/waves/doppler.mjs +32 -52
- package/dist/physics/waves/guitar.d.mts +22 -0
- package/dist/physics/waves/guitar.mjs +807 -0
- package/dist/physics/waves/index.d.mts +3 -1
- package/dist/physics/waves/interference-core.d.mts +157 -0
- package/dist/physics/waves/interference-core.mjs +207 -0
- package/dist/physics/waves/preset.d.mts +2 -15
- package/dist/physics/waves/preset.mjs +24 -20
- package/dist/physics/waves/ripple.d.mts +2 -13
- package/dist/physics/waves/ripple.mjs +25 -12
- package/dist/physics/waves/string.d.mts +2 -14
- package/dist/physics/waves/string.mjs +43 -19
- package/dist/physics/waves/wave-activity.mjs +53 -3
- package/dist/physics/work-energy/index.d.mts +2 -1
- package/dist/physics/work-energy/preset.d.mts +1 -8
- package/dist/physics/work-energy/preset.mjs +11 -10
- package/dist/physics/work-potential/index.d.mts +2 -1
- package/dist/physics/work-potential/preset.d.mts +1 -16
- package/dist/physics/work-potential/preset.mjs +18 -17
- package/dist/schemas/activity-authoring.d.mts +2 -3
- package/dist/schemas/index.d.mts +2 -3
- package/dist/shared/fields.mjs +1 -1
- package/dist/statistics/center-spread/preset.d.mts +1 -14
- package/dist/statistics/center-spread/preset.mjs +11 -8
- package/dist/statistics/frequency-density/index.d.mts +2 -1
- package/dist/statistics/frequency-density/preset.d.mts +1 -10
- package/dist/statistics/frequency-density/preset.mjs +1 -1
- package/dist/statistics/galton/preset.d.mts +1 -12
- package/dist/statistics/galton/preset.mjs +7 -6
- package/dist/statistics/histogram/preset.d.mts +1 -12
- package/dist/statistics/histogram/preset.mjs +12 -8
- package/dist/statistics/index.d.mts +2 -0
- package/dist/statistics/normal/preset.d.mts +1 -13
- package/dist/statistics/normal/preset.mjs +7 -3
- package/dist/statistics/ogive/index.d.mts +2 -1
- package/dist/statistics/ogive/preset.d.mts +1 -8
- package/dist/statistics/sampling/preset.d.mts +1 -14
- package/dist/statistics/sequence/preset.d.mts +1 -12
- package/dist/statistics/sequence/preset.mjs +8 -5
- package/dist/statistics/z-table/preset.d.mts +1 -12
- package/dist/statistics/z-table/preset.mjs +9 -7
- package/dist/tex/index.d.mts +2 -0
- package/dist/tex/index.mjs +3 -0
- package/dist/three/biology/cell-energy.d.mts +2 -8
- package/dist/three/biology/cell-system.d.mts +3 -10
- package/dist/three/biology/cell-world.d.mts +5 -33
- package/dist/three/biology/cell-world.mjs +173 -171
- package/dist/three/biology/meiosis-explorer.d.mts +2 -7
- package/dist/three/biology/membrane-transport.d.mts +2 -7
- package/dist/three/biology/membrane-transport.mjs +3 -2
- package/dist/three/biology/mitosis-explorer.d.mts +2 -8
- package/dist/three/biology/mitosis-explorer.mjs +11 -10
- package/dist/three/biology/organelles.d.mts +1 -11
- package/dist/three/chemistry/atomic-orbital.d.mts +1 -1
- package/dist/three/chemistry/atomic-orbital.mjs +4 -2
- package/dist/three/chemistry/crystal-lattice.d.mts +1 -1
- package/dist/three/chemistry/crystal-lattice.mjs +38 -37
- package/dist/three/chemistry/molecular-geometry.d.mts +1 -1
- package/dist/three/chemistry/molecular-geometry.mjs +12 -8
- package/dist/three/chemistry/orbital-overlap.d.mts +1 -1
- package/dist/three/chemistry/stereochemistry.d.mts +1 -1
- package/dist/three/index.d.mts +3 -0
- package/dist/three/model-asset.d.mts +1 -7
- package/dist/three/palette.d.mts +0 -1
- package/dist/three/palette.mjs +1 -1
- package/dist/three/physics/bloch-sphere.d.mts +0 -1
- package/dist/three/physics/spatial-lorentz.d.mts +1 -1
- package/dist/three/physics/spatial-lorentz.mjs +2 -2
- package/dist/three/primitives.d.mts +7 -48
- package/dist/three/primitives.mjs +3 -3
- package/dist/three/surface.d.mts +1 -14
- package/package.json +44 -8
- package/styles/core.css +753 -661
- package/styles/domains/algorithms.css +3 -3
- package/styles/domains/biology.css +2 -3
- package/styles/domains/chemistry.css +2 -3
- package/styles/domains/circuits.css +2 -3
- package/styles/domains/discrete.css +2 -3
- package/styles/domains/editor.css +2 -3
- package/styles/domains/ict.css +2 -3
- package/styles/domains/logic.css +2 -3
- package/styles/domains/math.css +2 -3
- package/styles/domains/ml.css +2 -3
- package/styles/domains/networking.css +4 -0
- package/styles/domains/parts/algorithms-0.css +441 -0
- package/styles/domains/parts/algorithms-3.css +1 -1
- package/styles/domains/parts/biology.css +91 -0
- package/styles/domains/parts/chemistry.css +1452 -28
- package/styles/domains/parts/circuits.css +1 -1
- package/styles/domains/parts/discrete-2.css +12 -3
- package/styles/domains/parts/discrete-6.css +38 -13
- package/styles/domains/parts/editor.css +23 -0
- package/styles/domains/parts/logic-2.css +1 -1
- package/styles/domains/parts/math-1.css +33 -3
- package/styles/domains/parts/math-2.css +9 -0
- package/styles/domains/parts/math-6.css +107 -20
- package/styles/domains/parts/networking.css +212 -0
- package/styles/domains/parts/physics-1.css +92 -10
- package/styles/domains/parts/physics-2.css +25 -3
- package/styles/domains/parts/physics-3.css +52 -11
- package/styles/domains/physics.css +2 -3
- package/styles/domains/probability.css +2 -3
- package/styles/domains/statistics.css +2 -3
- package/styles/domains.css +2 -2
- package/styles/figure.css +130 -4
- package/dist/kit/answer-check.d.mts +0 -38
- package/dist/kit/answer-check.mjs +0 -93
- package/dist/kit/calc.d.mts +0 -33
- package/dist/kit/calc.mjs +0 -27
- package/dist/kit/expr-analysis.d.mts +0 -49
- package/dist/kit/expr-analysis.mjs +0 -166
- package/dist/kit/solve.d.mts +0 -21
- package/dist/kit/solve.mjs +0 -75
- package/dist/kit/space.mjs +0 -326
- package/dist/math/complex/core.d.mts +0 -93
- package/dist/math/complex/core.mjs +0 -239
- package/dist/math/poly/core.d.mts +0 -50
- package/dist/math/poly/core.mjs +0 -268
- package/dist/networking/contract.d.mts +0 -136
- package/dist/networking/encapsulation.mjs +0 -130
- package/dist/networking/ip.d.mts +0 -12
- package/dist/networking/ip.mjs +0 -30
- package/dist/networking/media.mjs +0 -183
- package/dist/networking/presets.d.mts +0 -7
- package/dist/networking/presets.mjs +0 -302
- package/dist/networking/simulation.d.mts +0 -8
- package/dist/networking/simulation.mjs +0 -148
- package/dist/networking/subnet.mjs +0 -84
- package/dist/networking/switch.mjs +0 -155
- package/dist/networking/vlan.mjs +0 -100
- package/dist/networking/vpn.mjs +0 -118
- package/dist/physics/alternating-current/core.d.mts +0 -162
- package/dist/physics/alternating-current/core.mjs +0 -155
- package/dist/physics/fields/spatial-core.d.mts +0 -16
- package/dist/physics/fields/spatial-core.mjs +0 -72
- package/dist/physics/modern/constants.d.mts +0 -5
- package/dist/physics/modern/constants.mjs +0 -6
- package/dist/physics/optics/core.d.mts +0 -37
- package/dist/physics/optics/core.mjs +0 -67
- package/dist/physics/vector-scene.d.mts +0 -41
- package/dist/physics/vector-scene.mjs +0 -235
- package/dist/physics/waves/core.mjs +0 -33
- package/styles/domains/parts/shared-1.css +0 -142
- package/styles/domains/parts/shared-2.css +0 -60
- package/styles/domains/shared.css +0 -3
package/styles/core.css
CHANGED
|
@@ -48,6 +48,10 @@
|
|
|
48
48
|
--lab-t-lg: 18px;
|
|
49
49
|
--lab-t-title: 20px;
|
|
50
50
|
--lab-t-hero: 24px;
|
|
51
|
+
/* The one editorial size, for ONE thing per lab: the title. A scale stopping at 24px spans 2.4x
|
|
52
|
+
and reads as a control panel, because nothing is allowed to behave like a heading. Pair it
|
|
53
|
+
with --lab-lh-title and --lab-ls-tight. */
|
|
54
|
+
--lab-t-display: 32px;
|
|
51
55
|
|
|
52
56
|
/* ── type roles: weight, leading, tracking ───────────────────────────────────
|
|
53
57
|
Four weights, four leadings, two trackings. A size on its own does not make
|
|
@@ -62,15 +66,15 @@
|
|
|
62
66
|
--lab-lh-ui: 1.45; /* everything a learner acts on */
|
|
63
67
|
--lab-lh-prose: 1.55; /* explanations, observe text */
|
|
64
68
|
--lab-ls-caps: 0.06em; /* small uppercase labels only */
|
|
65
|
-
--lab-ls-tight: -0.015em; /* large numerals
|
|
69
|
+
--lab-ls-tight: -0.015em; /* large numerals and display type */
|
|
66
70
|
|
|
67
71
|
/* ── targets ─────────────────────────────────────────────────────────────────
|
|
68
72
|
44px for anything the learner commits with (answers, primary actions,
|
|
69
|
-
transport, sliders' hit area).
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
transport, sliders' hit area). Compact secondary controls use the same 44px
|
|
74
|
+
hit target; their visual glyph may remain smaller, but the tappable area does
|
|
75
|
+
not require precision and adjacent controls stay at least 8px apart. */
|
|
72
76
|
--lab-target: 44px;
|
|
73
|
-
--lab-target-compact:
|
|
77
|
+
--lab-target-compact: 44px;
|
|
74
78
|
|
|
75
79
|
/* ── state tints ─────────────────────────────────────────────────────────────
|
|
76
80
|
Every surface that reacts uses the SAME four steps, so "picked" looks like
|
|
@@ -148,6 +152,11 @@
|
|
|
148
152
|
has to (SVG geometry with no box to outline); it never restates them. */
|
|
149
153
|
|
|
150
154
|
/* Focus: one ring for every keyboard focus under a lab root. */
|
|
155
|
+
:is(.lab-activity, .lab-scene-studio) button {
|
|
156
|
+
min-block-size: var(--lab-target);
|
|
157
|
+
min-inline-size: var(--lab-target);
|
|
158
|
+
}
|
|
159
|
+
|
|
151
160
|
:is(.lab-activity, .lab-scene-studio)
|
|
152
161
|
:is(
|
|
153
162
|
button,
|
|
@@ -168,42 +177,30 @@
|
|
|
168
177
|
outline-offset: var(--lab-focus-offset);
|
|
169
178
|
}
|
|
170
179
|
|
|
171
|
-
/* Reduced motion: honoured at the root, not per animation.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
the
|
|
180
|
+
/* Reduced motion: honoured at the root, not per animation. Drop the MOVEMENT, keep the feedback.
|
|
181
|
+
The preference is about vestibular discomfort from things travelling and scaling, not about
|
|
182
|
+
colour. Collapsing transition-duration to nothing also killed the tint that says an answer was
|
|
183
|
+
accepted and the fade that says a panel changed, so a learner who asks for less motion lost the
|
|
184
|
+
signals telling them the lab had responded at all. Transform and movement snap; colour, border
|
|
185
|
+
and opacity still cross-fade, quickly. Confetti goes outright: a still burst is just noise. */
|
|
175
186
|
@media (prefers-reduced-motion: reduce) {
|
|
176
187
|
:is(.lab-activity, .lab-scene-studio) :is(*, *::before, *::after) {
|
|
177
188
|
animation-duration: 0.01ms !important;
|
|
178
189
|
animation-iteration-count: 1 !important;
|
|
179
|
-
transition-
|
|
190
|
+
transition-property: color, background-color, border-color, fill, stroke, opacity !important;
|
|
191
|
+
transition-duration: var(--lab-dur-fast) !important;
|
|
180
192
|
scroll-behavior: auto !important;
|
|
181
193
|
}
|
|
182
194
|
.lab-activity .lab-confetti {
|
|
183
195
|
display: none;
|
|
184
196
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
border: 1px solid var(--border, var(--stage-grid));
|
|
193
|
-
border-radius: var(--lab-r-md);
|
|
194
|
-
background:
|
|
195
|
-
radial-gradient(
|
|
196
|
-
circle at 1px 1px,
|
|
197
|
-
color-mix(in oklab, currentColor 9%, transparent) 1px,
|
|
198
|
-
transparent 0
|
|
199
|
-
)
|
|
200
|
-
0 0 / 20px 20px,
|
|
201
|
-
var(--card, var(--stage-bg));
|
|
202
|
-
}
|
|
203
|
-
.tree-fit-button {
|
|
204
|
-
position: absolute;
|
|
205
|
-
top: var(--lab-sp-8);
|
|
206
|
-
right: var(--lab-sp-8);
|
|
197
|
+
/* A figure's entrance becomes a fade rather than a scale: an opacity change is safe under this
|
|
198
|
+
query where a transform is not. It is stated HERE, with the rest of the policy, because a
|
|
199
|
+
sheet may not keep its own copy of this media query, and because a figure rendered outside
|
|
200
|
+
`.lab-activity` is not reached by the blanket rule above. */
|
|
201
|
+
:is(.lab-figure-arrive, .lab-figure-activate) {
|
|
202
|
+
animation-name: lab-figure-fade;
|
|
203
|
+
}
|
|
207
204
|
}
|
|
208
205
|
|
|
209
206
|
/* One geometry contract for renderer-swappable learning scenes. The selected
|
|
@@ -260,239 +257,6 @@
|
|
|
260
257
|
.lab-scene-viewport[data-overflow="scroll"]:focus-visible {
|
|
261
258
|
outline-offset: calc(-1 * var(--lab-focus-offset));
|
|
262
259
|
}
|
|
263
|
-
|
|
264
|
-
.tree-scene svg {
|
|
265
|
-
display: block;
|
|
266
|
-
width: 100%;
|
|
267
|
-
height: clamp(17rem, 36cqw, 27rem);
|
|
268
|
-
}
|
|
269
|
-
.tree-edge {
|
|
270
|
-
fill: none;
|
|
271
|
-
stroke: var(--border, var(--stage-grid));
|
|
272
|
-
stroke-width: 2;
|
|
273
|
-
vector-effect: non-scaling-stroke;
|
|
274
|
-
transition:
|
|
275
|
-
stroke var(--lab-dur-base) var(--lab-ease),
|
|
276
|
-
stroke-width var(--lab-dur-base) var(--lab-ease);
|
|
277
|
-
}
|
|
278
|
-
.tree-edge[data-active] {
|
|
279
|
-
stroke: var(--primary, var(--stage-accent));
|
|
280
|
-
stroke-width: 4;
|
|
281
|
-
stroke-dasharray: 8 6;
|
|
282
|
-
animation: tree-edge-flow 0.75s linear infinite;
|
|
283
|
-
}
|
|
284
|
-
.tree-node {
|
|
285
|
-
outline: none;
|
|
286
|
-
cursor: default;
|
|
287
|
-
transition: transform var(--lab-dur-slow) var(--lab-ease);
|
|
288
|
-
}
|
|
289
|
-
.tree-node[tabindex] {
|
|
290
|
-
cursor: pointer;
|
|
291
|
-
}
|
|
292
|
-
.tree-node-face {
|
|
293
|
-
fill: var(--card, var(--stage-bg));
|
|
294
|
-
stroke: var(--border, var(--stage-grid));
|
|
295
|
-
stroke-width: 1.5;
|
|
296
|
-
vector-effect: non-scaling-stroke;
|
|
297
|
-
transition:
|
|
298
|
-
fill var(--lab-dur-base) var(--lab-ease),
|
|
299
|
-
stroke var(--lab-dur-base) var(--lab-ease);
|
|
300
|
-
}
|
|
301
|
-
.tree-node-halo {
|
|
302
|
-
fill: transparent;
|
|
303
|
-
stroke: transparent;
|
|
304
|
-
stroke-width: 1.5;
|
|
305
|
-
vector-effect: non-scaling-stroke;
|
|
306
|
-
}
|
|
307
|
-
.tree-node text {
|
|
308
|
-
fill: var(--foreground, var(--stage-fg));
|
|
309
|
-
font-size: var(--lab-t-sm);
|
|
310
|
-
font-weight: var(--lab-w-bold);
|
|
311
|
-
pointer-events: none;
|
|
312
|
-
}
|
|
313
|
-
.tree-node[data-visited] .tree-node-face {
|
|
314
|
-
fill: color-mix(in oklab, var(--stage-success, #16a34a) 16%, var(--card, var(--stage-bg)));
|
|
315
|
-
stroke: var(--stage-success, #16a34a);
|
|
316
|
-
}
|
|
317
|
-
.tree-node[data-current] .tree-node-face {
|
|
318
|
-
fill: color-mix(in oklab, var(--primary, var(--stage-accent)) 14%, var(--card, var(--stage-bg)));
|
|
319
|
-
stroke: var(--primary, var(--stage-accent));
|
|
320
|
-
stroke-width: 3;
|
|
321
|
-
}
|
|
322
|
-
.tree-node[data-current] .tree-node-halo {
|
|
323
|
-
stroke: color-mix(in oklab, var(--primary, var(--stage-accent)) 38%, transparent);
|
|
324
|
-
animation: tree-node-pulse 1.25s var(--lab-ease) infinite;
|
|
325
|
-
}
|
|
326
|
-
.tree-node:focus-visible .tree-node-halo {
|
|
327
|
-
stroke: var(--ring, var(--stage-accent));
|
|
328
|
-
stroke-width: 2.5;
|
|
329
|
-
}
|
|
330
|
-
.tree-prediction {
|
|
331
|
-
display: flex;
|
|
332
|
-
flex-wrap: wrap;
|
|
333
|
-
align-items: center;
|
|
334
|
-
justify-content: center;
|
|
335
|
-
gap: var(--lab-sp-10);
|
|
336
|
-
padding: var(--lab-sp-10);
|
|
337
|
-
border: 1px solid
|
|
338
|
-
color-mix(in oklab, var(--primary, var(--stage-accent)) 25%, var(--border, var(--stage-grid)));
|
|
339
|
-
border-radius: var(--lab-r-md);
|
|
340
|
-
background: color-mix(
|
|
341
|
-
in oklab,
|
|
342
|
-
var(--primary, var(--stage-accent)) 6%,
|
|
343
|
-
var(--card, var(--stage-bg))
|
|
344
|
-
);
|
|
345
|
-
}
|
|
346
|
-
.tree-prediction > span {
|
|
347
|
-
font-size: var(--lab-t-eyebrow);
|
|
348
|
-
font-weight: var(--lab-w-bold);
|
|
349
|
-
}
|
|
350
|
-
.tree-prediction > div {
|
|
351
|
-
display: flex;
|
|
352
|
-
flex-wrap: wrap;
|
|
353
|
-
justify-content: center;
|
|
354
|
-
gap: var(--lab-sp-6);
|
|
355
|
-
}
|
|
356
|
-
.tree-prediction small {
|
|
357
|
-
display: inline-flex;
|
|
358
|
-
align-items: center;
|
|
359
|
-
gap: var(--lab-sp-4);
|
|
360
|
-
flex-basis: 100%;
|
|
361
|
-
justify-content: center;
|
|
362
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
363
|
-
text-align: center;
|
|
364
|
-
}
|
|
365
|
-
.tree-prediction small svg {
|
|
366
|
-
width: 0.9rem;
|
|
367
|
-
height: 0.9rem;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
.list-structure-label {
|
|
371
|
-
margin: 2px 0 var(--lab-sp-4);
|
|
372
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
373
|
-
font-size: var(--lab-t-eyebrow);
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
.list-structure-label[data-spaced] {
|
|
377
|
-
margin-top: var(--lab-sp-14);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
.list-prediction-feedback {
|
|
381
|
-
display: flex;
|
|
382
|
-
align-items: center;
|
|
383
|
-
justify-content: center;
|
|
384
|
-
gap: var(--lab-sp-4);
|
|
385
|
-
margin-top: var(--lab-sp-10);
|
|
386
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
.tree-complexity ul {
|
|
390
|
-
list-style: none;
|
|
391
|
-
margin: 0;
|
|
392
|
-
padding: 0;
|
|
393
|
-
display: grid;
|
|
394
|
-
gap: var(--lab-sp-4);
|
|
395
|
-
}
|
|
396
|
-
.tree-complexity li {
|
|
397
|
-
display: flex;
|
|
398
|
-
align-items: center;
|
|
399
|
-
justify-content: space-between;
|
|
400
|
-
gap: var(--lab-sp-8);
|
|
401
|
-
padding: var(--lab-sp-6) var(--lab-sp-8);
|
|
402
|
-
border: 1px solid var(--border, var(--stage-grid));
|
|
403
|
-
border-radius: var(--lab-r-sm);
|
|
404
|
-
font-size: var(--lab-t-eyebrow);
|
|
405
|
-
font-variant-numeric: tabular-nums;
|
|
406
|
-
}
|
|
407
|
-
.tree-complexity li[data-here] {
|
|
408
|
-
border-color: var(--primary, var(--stage-accent));
|
|
409
|
-
background: color-mix(
|
|
410
|
-
in oklab,
|
|
411
|
-
var(--primary, var(--stage-accent)) 9%,
|
|
412
|
-
var(--card, var(--stage-bg))
|
|
413
|
-
);
|
|
414
|
-
font-weight: var(--lab-w-semibold);
|
|
415
|
-
}
|
|
416
|
-
.tree-complexity code {
|
|
417
|
-
padding: 0 var(--lab-sp-4);
|
|
418
|
-
border-radius: var(--lab-r-xs);
|
|
419
|
-
background: var(--muted, color-mix(in oklab, currentColor 6%, transparent));
|
|
420
|
-
font-size: 0.95em;
|
|
421
|
-
}
|
|
422
|
-
.tree-inspector {
|
|
423
|
-
display: grid;
|
|
424
|
-
gap: 1px;
|
|
425
|
-
background: var(--border, var(--stage-grid));
|
|
426
|
-
}
|
|
427
|
-
.tree-inspector section {
|
|
428
|
-
display: grid;
|
|
429
|
-
gap: var(--lab-sp-8);
|
|
430
|
-
padding: var(--lab-sp-12);
|
|
431
|
-
background: var(--card, var(--stage-bg));
|
|
432
|
-
}
|
|
433
|
-
.tree-inspector h4,
|
|
434
|
-
.tree-inspector p {
|
|
435
|
-
margin: 0;
|
|
436
|
-
font-size: var(--lab-t-eyebrow);
|
|
437
|
-
}
|
|
438
|
-
.tree-stack {
|
|
439
|
-
display: grid;
|
|
440
|
-
gap: var(--lab-sp-4);
|
|
441
|
-
}
|
|
442
|
-
.tree-stack span {
|
|
443
|
-
padding: var(--lab-sp-6) var(--lab-sp-8);
|
|
444
|
-
border: 1px solid var(--border, var(--stage-grid));
|
|
445
|
-
border-radius: var(--lab-r-sm);
|
|
446
|
-
background: var(--muted, color-mix(in oklab, currentColor 5%, transparent));
|
|
447
|
-
font:
|
|
448
|
-
650 0.68rem ui-monospace,
|
|
449
|
-
SFMono-Regular,
|
|
450
|
-
Menlo,
|
|
451
|
-
monospace;
|
|
452
|
-
}
|
|
453
|
-
.tree-stack span[data-top] {
|
|
454
|
-
border-color: var(--primary, var(--stage-accent));
|
|
455
|
-
color: var(--primary, var(--stage-accent));
|
|
456
|
-
}
|
|
457
|
-
.tree-stack em,
|
|
458
|
-
.tree-output em {
|
|
459
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
460
|
-
font-size: var(--lab-t-micro);
|
|
461
|
-
}
|
|
462
|
-
.tree-output {
|
|
463
|
-
display: flex;
|
|
464
|
-
flex-wrap: wrap;
|
|
465
|
-
gap: var(--lab-sp-6);
|
|
466
|
-
min-height: 2rem;
|
|
467
|
-
}
|
|
468
|
-
.tree-output span {
|
|
469
|
-
display: grid;
|
|
470
|
-
width: 2rem;
|
|
471
|
-
height: 2rem;
|
|
472
|
-
place-items: center;
|
|
473
|
-
border-radius: var(--lab-r-sm);
|
|
474
|
-
background: color-mix(in oklab, var(--stage-success, #16a34a) 14%, transparent);
|
|
475
|
-
color: var(--foreground, var(--stage-fg));
|
|
476
|
-
font-size: var(--lab-t-eyebrow);
|
|
477
|
-
font-weight: var(--lab-w-bold);
|
|
478
|
-
animation: tree-output-land var(--lab-dur-slow) var(--lab-ease);
|
|
479
|
-
}
|
|
480
|
-
.tree-invariant p {
|
|
481
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
482
|
-
line-height: var(--lab-lh-ui);
|
|
483
|
-
}
|
|
484
|
-
.tree-balance strong {
|
|
485
|
-
color: var(--primary, var(--stage-accent));
|
|
486
|
-
font:
|
|
487
|
-
800 1.1rem ui-monospace,
|
|
488
|
-
SFMono-Regular,
|
|
489
|
-
Menlo,
|
|
490
|
-
monospace;
|
|
491
|
-
}
|
|
492
|
-
.tree-balance small {
|
|
493
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
494
|
-
font-size: var(--lab-t-micro);
|
|
495
|
-
}
|
|
496
260
|
.tree-rotation-prediction .lab-chip {
|
|
497
261
|
min-width: 6.8rem;
|
|
498
262
|
justify-content: center;
|
|
@@ -756,179 +520,11 @@
|
|
|
756
520
|
border-inline-start: 1px solid var(--border, var(--stage-grid));
|
|
757
521
|
}
|
|
758
522
|
}
|
|
759
|
-
|
|
760
|
-
/* Heap Quest: synchronized tree and array with stable item identity. */
|
|
761
|
-
.heap-dual-view {
|
|
762
|
-
display: grid;
|
|
763
|
-
gap: var(--lab-sp-10);
|
|
764
|
-
min-width: 0;
|
|
765
|
-
}
|
|
766
|
-
.heap-tree {
|
|
767
|
-
overflow: hidden;
|
|
768
|
-
min-height: 18rem;
|
|
769
|
-
border: 1px solid var(--border, var(--stage-grid));
|
|
770
|
-
border-radius: var(--lab-r-md);
|
|
771
|
-
background:
|
|
772
|
-
radial-gradient(
|
|
773
|
-
circle at 1px 1px,
|
|
774
|
-
color-mix(in oklab, currentColor 9%, transparent) 1px,
|
|
775
|
-
transparent 0
|
|
776
|
-
)
|
|
777
|
-
0 0 / 20px 20px,
|
|
778
|
-
var(--card, var(--stage-bg));
|
|
779
|
-
}
|
|
780
|
-
.heap-tree svg {
|
|
781
|
-
display: block;
|
|
782
|
-
width: 100%;
|
|
783
|
-
height: clamp(18rem, 38cqw, 29rem);
|
|
784
|
-
}
|
|
785
|
-
.heap-tree line {
|
|
786
|
-
stroke: var(--border, var(--stage-grid));
|
|
787
|
-
stroke-width: 2;
|
|
788
|
-
vector-effect: non-scaling-stroke;
|
|
789
|
-
transition: stroke var(--lab-dur-base) var(--lab-ease);
|
|
790
|
-
}
|
|
791
|
-
.heap-tree line[data-active] {
|
|
792
|
-
stroke: var(--primary, var(--stage-accent));
|
|
793
|
-
stroke-width: 4;
|
|
794
|
-
}
|
|
795
|
-
.heap-node {
|
|
796
|
-
outline: none;
|
|
797
|
-
cursor: pointer;
|
|
798
|
-
transition: transform 0.5s var(--lab-ease);
|
|
799
|
-
}
|
|
800
|
-
.heap-node circle {
|
|
801
|
-
fill: var(--card, var(--stage-bg));
|
|
802
|
-
stroke: var(--border, var(--stage-grid));
|
|
803
|
-
stroke-width: 1.5;
|
|
804
|
-
vector-effect: non-scaling-stroke;
|
|
805
|
-
transition:
|
|
806
|
-
fill var(--lab-dur-base) var(--lab-ease),
|
|
807
|
-
stroke var(--lab-dur-base) var(--lab-ease);
|
|
808
|
-
}
|
|
809
|
-
.heap-node > text:not(.heap-node-index) {
|
|
810
|
-
fill: var(--foreground, var(--stage-fg));
|
|
811
|
-
font-size: var(--lab-t-micro);
|
|
812
|
-
font-weight: var(--lab-w-bold);
|
|
813
|
-
}
|
|
814
|
-
.heap-node-index {
|
|
815
|
-
fill: var(--muted-foreground, var(--stage-muted));
|
|
816
|
-
font-size: var(--lab-t-micro);
|
|
817
|
-
font-weight: var(--lab-w-semibold);
|
|
818
|
-
}
|
|
819
|
-
.heap-node[data-active] circle {
|
|
820
|
-
fill: color-mix(in oklab, var(--primary, var(--stage-accent)) 13%, var(--card, var(--stage-bg)));
|
|
821
|
-
stroke: var(--primary, var(--stage-accent));
|
|
822
|
-
stroke-width: 3;
|
|
823
|
-
}
|
|
824
|
-
.heap-node[data-selected] circle,
|
|
825
|
-
.heap-node:focus-visible circle {
|
|
826
|
-
stroke: var(--ring, var(--stage-accent));
|
|
827
|
-
stroke-width: 3;
|
|
828
|
-
stroke-dasharray: 4 2;
|
|
829
|
-
}
|
|
830
|
-
.heap-array {
|
|
831
|
-
display: flex;
|
|
832
|
-
gap: var(--lab-sp-6);
|
|
833
|
-
overflow-x: auto;
|
|
834
|
-
padding: var(--lab-sp-4) 2px var(--lab-sp-8);
|
|
835
|
-
scroll-snap-type: x proximity;
|
|
836
|
-
}
|
|
837
|
-
.heap-array button {
|
|
838
|
-
display: grid;
|
|
839
|
-
flex: 0 0 3rem;
|
|
840
|
-
min-height: 3.25rem;
|
|
841
|
-
place-items: center;
|
|
842
|
-
scroll-snap-align: center;
|
|
843
|
-
border: 1px solid var(--border, var(--stage-grid));
|
|
844
|
-
border-radius: var(--lab-r-sm);
|
|
845
|
-
background: var(--card, var(--stage-bg));
|
|
846
|
-
color: var(--foreground, var(--stage-fg));
|
|
847
|
-
cursor: pointer;
|
|
848
|
-
}
|
|
849
|
-
.heap-array button small {
|
|
850
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
851
|
-
font-size: var(--lab-t-micro);
|
|
852
|
-
}
|
|
853
|
-
.heap-array button strong {
|
|
854
|
-
font-size: var(--lab-t-eyebrow);
|
|
855
|
-
}
|
|
856
|
-
.heap-array button[data-active] {
|
|
857
|
-
border-color: var(--primary, var(--stage-accent));
|
|
858
|
-
background: color-mix(
|
|
859
|
-
in oklab,
|
|
860
|
-
var(--primary, var(--stage-accent)) 10%,
|
|
861
|
-
var(--card, var(--stage-bg))
|
|
862
|
-
);
|
|
863
|
-
}
|
|
864
|
-
.heap-array button[data-selected],
|
|
865
|
-
.heap-relation {
|
|
866
|
-
display: flex;
|
|
867
|
-
align-items: center;
|
|
868
|
-
justify-content: space-between;
|
|
869
|
-
gap: var(--lab-sp-12);
|
|
870
|
-
min-height: 2.3rem;
|
|
871
|
-
padding: var(--lab-sp-8) var(--lab-sp-10);
|
|
872
|
-
border-radius: var(--lab-r-sm);
|
|
873
|
-
background: var(--muted, color-mix(in oklab, currentColor 5%, transparent));
|
|
874
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
875
|
-
font:
|
|
876
|
-
0.67rem ui-monospace,
|
|
877
|
-
SFMono-Regular,
|
|
878
|
-
Menlo,
|
|
879
|
-
monospace;
|
|
880
|
-
}
|
|
881
|
-
.heap-relation b {
|
|
882
|
-
flex: none;
|
|
883
|
-
color: var(--primary, var(--stage-accent));
|
|
884
|
-
}
|
|
885
523
|
.heap-prediction .lab-chip {
|
|
886
524
|
min-width: 3.5rem;
|
|
887
525
|
justify-content: center;
|
|
888
526
|
text-transform: capitalize;
|
|
889
527
|
}
|
|
890
|
-
.heap-inspector {
|
|
891
|
-
display: grid;
|
|
892
|
-
gap: 1px;
|
|
893
|
-
background: var(--border, var(--stage-grid));
|
|
894
|
-
}
|
|
895
|
-
.heap-inspector section {
|
|
896
|
-
display: grid;
|
|
897
|
-
gap: var(--lab-sp-8);
|
|
898
|
-
padding: var(--lab-sp-12);
|
|
899
|
-
background: var(--card, var(--stage-bg));
|
|
900
|
-
}
|
|
901
|
-
.heap-inspector h4,
|
|
902
|
-
.heap-inspector p,
|
|
903
|
-
.heap-inspector dl {
|
|
904
|
-
margin: 0;
|
|
905
|
-
font-size: var(--lab-t-eyebrow);
|
|
906
|
-
}
|
|
907
|
-
.heap-inspector p {
|
|
908
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
909
|
-
line-height: var(--lab-lh-ui);
|
|
910
|
-
}
|
|
911
|
-
.heap-inspector code {
|
|
912
|
-
padding: var(--lab-sp-6) var(--lab-sp-8);
|
|
913
|
-
border-radius: var(--lab-r-sm);
|
|
914
|
-
background: var(--muted, color-mix(in oklab, currentColor 5%, transparent));
|
|
915
|
-
font-size: var(--lab-t-micro);
|
|
916
|
-
}
|
|
917
|
-
.heap-inspector dl {
|
|
918
|
-
display: grid;
|
|
919
|
-
gap: var(--lab-sp-6);
|
|
920
|
-
}
|
|
921
|
-
.heap-inspector dl div {
|
|
922
|
-
display: flex;
|
|
923
|
-
justify-content: space-between;
|
|
924
|
-
}
|
|
925
|
-
.heap-inspector dd {
|
|
926
|
-
margin: 0;
|
|
927
|
-
font-weight: var(--lab-w-bold);
|
|
928
|
-
}
|
|
929
|
-
.heap-authoring-preview {
|
|
930
|
-
min-width: 0;
|
|
931
|
-
}
|
|
932
528
|
@media (min-width: 56rem) {
|
|
933
529
|
.heap-authoring {
|
|
934
530
|
grid-template-columns: minmax(25rem, 1.2fr) minmax(20rem, 0.8fr);
|
|
@@ -1232,13 +828,19 @@
|
|
|
1232
828
|
box-shadow var(--lab-dur-fast),
|
|
1233
829
|
transform var(--lab-dur-fast);
|
|
1234
830
|
}
|
|
1235
|
-
.
|
|
1236
|
-
|
|
1237
|
-
.
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
831
|
+
/* Gated on a real pointer. A touch device keeps :hover on the last thing tapped, and this hover is
|
|
832
|
+
an accent border over an accent-faint fill, which is precisely what PICKED looks like: a learner
|
|
833
|
+
on a phone tapped A, moved to B, and left A still looking chosen. Most of these learners are on
|
|
834
|
+
a phone, so the sticky state was the common case, not the edge case. */
|
|
835
|
+
@media (hover: hover) and (pointer: fine) {
|
|
836
|
+
.lab-option:hover:not(:disabled),
|
|
837
|
+
.lab-choice:hover:not(:disabled),
|
|
838
|
+
.lang-choice:hover:not(:disabled),
|
|
839
|
+
.lang-match-cell:hover:not(:disabled) {
|
|
840
|
+
border-color: var(--lab-accent-edge);
|
|
841
|
+
background: var(--lab-accent-faint);
|
|
842
|
+
box-shadow: var(--lab-shadow-md);
|
|
843
|
+
}
|
|
1242
844
|
}
|
|
1243
845
|
.lab-option:active:not(:disabled),
|
|
1244
846
|
.lab-choice:active:not(:disabled),
|
|
@@ -1247,6 +849,29 @@
|
|
|
1247
849
|
transform: translateY(1px);
|
|
1248
850
|
box-shadow: none;
|
|
1249
851
|
}
|
|
852
|
+
.lab-btn {
|
|
853
|
+
min-block-size: var(--lab-target);
|
|
854
|
+
border-color: var(--lab-accent);
|
|
855
|
+
background: var(--lab-accent);
|
|
856
|
+
color: var(--lab-accent-fg);
|
|
857
|
+
}
|
|
858
|
+
.lab-btn.lab-btn-ghost {
|
|
859
|
+
border-color: var(--lab-border);
|
|
860
|
+
background: transparent;
|
|
861
|
+
color: var(--lab-fg);
|
|
862
|
+
}
|
|
863
|
+
@media (hover: hover) and (pointer: fine) {
|
|
864
|
+
.lab-btn:hover:not(:disabled) {
|
|
865
|
+
border-color: var(--lab-accent);
|
|
866
|
+
background: color-mix(in oklab, var(--lab-accent) 88%, var(--lab-fg));
|
|
867
|
+
color: var(--lab-accent-fg);
|
|
868
|
+
}
|
|
869
|
+
.lab-btn.lab-btn-ghost:hover:not(:disabled) {
|
|
870
|
+
border-color: var(--lab-border-strong);
|
|
871
|
+
background: color-mix(in oklab, var(--lab-fg) 5%, transparent);
|
|
872
|
+
color: var(--lab-fg);
|
|
873
|
+
}
|
|
874
|
+
}
|
|
1250
875
|
/* selected (accent) — unify the different data-attrs the components emit */
|
|
1251
876
|
.lab-option[data-picked],
|
|
1252
877
|
.lab-option[data-sel="true"],
|
|
@@ -1433,9 +1058,11 @@
|
|
|
1433
1058
|
border-color var(--lab-dur-fast),
|
|
1434
1059
|
color var(--lab-dur-fast);
|
|
1435
1060
|
}
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1061
|
+
@media (hover: hover) and (pointer: fine) {
|
|
1062
|
+
.lab-hint-btn:hover {
|
|
1063
|
+
border-color: var(--lab-accent);
|
|
1064
|
+
color: var(--lab-fg);
|
|
1065
|
+
}
|
|
1439
1066
|
}
|
|
1440
1067
|
.lab-misconception {
|
|
1441
1068
|
display: inline-flex;
|
|
@@ -1464,9 +1091,11 @@
|
|
|
1464
1091
|
border-color var(--lab-dur-fast),
|
|
1465
1092
|
color var(--lab-dur-fast);
|
|
1466
1093
|
}
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1094
|
+
@media (hover: hover) and (pointer: fine) {
|
|
1095
|
+
.lab-reveal-btn:hover {
|
|
1096
|
+
border-color: var(--lab-warn);
|
|
1097
|
+
color: var(--lab-fg);
|
|
1098
|
+
}
|
|
1470
1099
|
}
|
|
1471
1100
|
.lab-solution {
|
|
1472
1101
|
margin-top: var(--lab-sp-8);
|
|
@@ -1536,7 +1165,7 @@
|
|
|
1536
1165
|
.lab-challenge-q {
|
|
1537
1166
|
display: flex;
|
|
1538
1167
|
flex-direction: column;
|
|
1539
|
-
gap: var(--lab-sp-
|
|
1168
|
+
gap: var(--lab-sp-8);
|
|
1540
1169
|
align-items: flex-start;
|
|
1541
1170
|
min-inline-size: 0;
|
|
1542
1171
|
width: 100%;
|
|
@@ -1631,9 +1260,10 @@
|
|
|
1631
1260
|
lesson authors do not hand-tune columns or button widths. */
|
|
1632
1261
|
.lab-challenge-q[data-response-layout="compact"] .lab-choices {
|
|
1633
1262
|
display: grid;
|
|
1634
|
-
grid-template-columns: repeat(auto-fit, minmax(min(100%,
|
|
1635
|
-
|
|
1636
|
-
|
|
1263
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 14rem));
|
|
1264
|
+
justify-content: start;
|
|
1265
|
+
max-width: 100%;
|
|
1266
|
+
gap: var(--lab-sp-6);
|
|
1637
1267
|
}
|
|
1638
1268
|
.lab-challenge-q[data-response-layout="compact"] .lab-choice {
|
|
1639
1269
|
height: 100%;
|
|
@@ -1645,8 +1275,8 @@
|
|
|
1645
1275
|
max-width: 100%;
|
|
1646
1276
|
min-height: 0;
|
|
1647
1277
|
justify-content: flex-start;
|
|
1648
|
-
gap: var(--lab-sp-
|
|
1649
|
-
padding: var(--lab-sp-
|
|
1278
|
+
gap: var(--lab-sp-8);
|
|
1279
|
+
padding: var(--lab-sp-6) var(--lab-sp-8);
|
|
1650
1280
|
border: 1px solid var(--lab-border);
|
|
1651
1281
|
border-radius: var(--lab-r-md);
|
|
1652
1282
|
background: var(--lab-surface);
|
|
@@ -1674,8 +1304,16 @@
|
|
|
1674
1304
|
cursor: not-allowed;
|
|
1675
1305
|
opacity: 0.5;
|
|
1676
1306
|
}
|
|
1307
|
+
/* An answer is not a heading.
|
|
1308
|
+
The shared option rule sets `--lab-t-lg` at semibold, which is larger and heavier than the body
|
|
1309
|
+
text and the step lead, so a row of prose answers came out as the loudest thing on the card and
|
|
1310
|
+
a three-option row read as three buttons shouting. Numeric choices want the presence; a sentence
|
|
1311
|
+
does not. Scoped to the label span, so the bare `.lab-option` keypad keeps its size. */
|
|
1677
1312
|
.lab-choice-label {
|
|
1678
1313
|
min-inline-size: 0;
|
|
1314
|
+
font-size: var(--lab-t-sm);
|
|
1315
|
+
font-weight: var(--lab-w-medium);
|
|
1316
|
+
line-height: var(--lab-lh-ui);
|
|
1679
1317
|
}
|
|
1680
1318
|
/* The letter is a handle, not decoration: it gives the explanation something to
|
|
1681
1319
|
point at and keeps every answer's text starting on one vertical line. */
|
|
@@ -1697,10 +1335,12 @@
|
|
|
1697
1335
|
font-weight: var(--lab-w-medium);
|
|
1698
1336
|
line-height: var(--lab-lh-tight);
|
|
1699
1337
|
}
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1338
|
+
@media (hover: hover) and (pointer: fine) {
|
|
1339
|
+
.lab-challenge-q .lab-choice:hover:not(:disabled) {
|
|
1340
|
+
border-color: var(--lab-accent-edge);
|
|
1341
|
+
background: var(--lab-accent-faint);
|
|
1342
|
+
box-shadow: none;
|
|
1343
|
+
}
|
|
1704
1344
|
}
|
|
1705
1345
|
.lab-challenge-q .lab-choice[data-picked] {
|
|
1706
1346
|
font-weight: var(--lab-w-medium);
|
|
@@ -1901,11 +1541,17 @@
|
|
|
1901
1541
|
font-size: var(--lab-t-sm);
|
|
1902
1542
|
font-variant-numeric: tabular-nums;
|
|
1903
1543
|
}
|
|
1544
|
+
/* Tabular figures, because these numbers CHANGE. In a proportional face a 1 is narrower than a 0,
|
|
1545
|
+
so a value ticking from 1.11 to 2.00 re-measures its own text and everything beside it slides a
|
|
1546
|
+
few pixels, every frame, for as long as the model runs. `.lab-readout` already had this; the
|
|
1547
|
+
stat rows and the status strip did not, and the status strip is the one place a running lab
|
|
1548
|
+
updates continuously in front of the learner. */
|
|
1904
1549
|
.lab-stat {
|
|
1905
1550
|
display: flex;
|
|
1906
1551
|
align-items: baseline;
|
|
1907
1552
|
justify-content: space-between;
|
|
1908
1553
|
gap: var(--lab-sp-14);
|
|
1554
|
+
font-variant-numeric: tabular-nums;
|
|
1909
1555
|
}
|
|
1910
1556
|
.lab-stat + .lab-stat {
|
|
1911
1557
|
padding-top: var(--lab-sp-6);
|
|
@@ -2254,7 +1900,6 @@
|
|
|
2254
1900
|
margin-inline: auto;
|
|
2255
1901
|
}
|
|
2256
1902
|
.lang-sentence,
|
|
2257
|
-
.lang-choices,
|
|
2258
1903
|
.lang-listen-play,
|
|
2259
1904
|
.lang-dictation-foot,
|
|
2260
1905
|
.lang-bank,
|
|
@@ -2375,8 +2020,10 @@
|
|
|
2375
2020
|
cursor: pointer;
|
|
2376
2021
|
transition: background var(--lab-dur-fast);
|
|
2377
2022
|
}
|
|
2378
|
-
|
|
2379
|
-
|
|
2023
|
+
@media (hover: hover) and (pointer: fine) {
|
|
2024
|
+
.lang-speak:hover {
|
|
2025
|
+
background: color-mix(in oklab, var(--lab-accent) 22%, transparent);
|
|
2026
|
+
}
|
|
2380
2027
|
}
|
|
2381
2028
|
|
|
2382
2029
|
.lang-match {
|
|
@@ -2494,7 +2141,6 @@
|
|
|
2494
2141
|
.language-activity-support {
|
|
2495
2142
|
padding-inline: var(--lab-sp-12);
|
|
2496
2143
|
}
|
|
2497
|
-
.language-activity .lang-choices,
|
|
2498
2144
|
.language-activity .lang-match {
|
|
2499
2145
|
gap: var(--lab-sp-8);
|
|
2500
2146
|
}
|
|
@@ -2629,8 +2275,10 @@
|
|
|
2629
2275
|
color var(--lab-dur-fast),
|
|
2630
2276
|
transform var(--lab-dur-fast);
|
|
2631
2277
|
}
|
|
2632
|
-
|
|
2633
|
-
|
|
2278
|
+
@media (hover: hover) and (pointer: fine) {
|
|
2279
|
+
.lang-word:hover:not(:disabled) {
|
|
2280
|
+
background: var(--lab-accent-soft);
|
|
2281
|
+
}
|
|
2634
2282
|
}
|
|
2635
2283
|
.lang-word[data-state="no"] {
|
|
2636
2284
|
color: var(--lab-danger);
|
|
@@ -2710,11 +2358,6 @@
|
|
|
2710
2358
|
color: var(--lab-good);
|
|
2711
2359
|
font-weight: var(--lab-w-bold);
|
|
2712
2360
|
}
|
|
2713
|
-
.lang-choices {
|
|
2714
|
-
display: flex;
|
|
2715
|
-
flex-wrap: wrap;
|
|
2716
|
-
gap: var(--lab-sp-10);
|
|
2717
|
-
}
|
|
2718
2361
|
.lang-why {
|
|
2719
2362
|
font-size: var(--lab-t-body);
|
|
2720
2363
|
font-weight: var(--lab-w-medium);
|
|
@@ -2997,8 +2640,11 @@
|
|
|
2997
2640
|
align-items: center;
|
|
2998
2641
|
justify-content: center;
|
|
2999
2642
|
gap: 2px var(--lab-sp-14);
|
|
3000
|
-
|
|
3001
|
-
|
|
2643
|
+
/* Sized to the one line it holds. It was 8-13rem of empty dashed panel, which nobody had seen
|
|
2644
|
+
because no lab used PredictGate: on the first adopter it became the largest thing on the
|
|
2645
|
+
opening screen, under the choice it is asking the learner to make. */
|
|
2646
|
+
min-height: clamp(4.5rem, 12cqw, 6.5rem);
|
|
2647
|
+
padding: var(--lab-sp-16);
|
|
3002
2648
|
border: 1px dashed var(--lab-border-strong);
|
|
3003
2649
|
border-radius: var(--lab-r-lg);
|
|
3004
2650
|
color: var(--lab-fg);
|
|
@@ -3098,8 +2744,8 @@
|
|
|
3098
2744
|
display: flex;
|
|
3099
2745
|
align-items: flex-start;
|
|
3100
2746
|
justify-content: space-between;
|
|
3101
|
-
gap: var(--lab-sp-
|
|
3102
|
-
padding: var(--lab-sp-
|
|
2747
|
+
gap: var(--lab-sp-12);
|
|
2748
|
+
padding: var(--lab-sp-12) var(--lab-sp-16) var(--lab-sp-10);
|
|
3103
2749
|
}
|
|
3104
2750
|
.lab-activity-heading {
|
|
3105
2751
|
min-width: 0;
|
|
@@ -3113,12 +2759,17 @@
|
|
|
3113
2759
|
letter-spacing: var(--lab-ls-caps);
|
|
3114
2760
|
text-transform: uppercase;
|
|
3115
2761
|
}
|
|
2762
|
+
/* The one thing allowed to be a heading. Capped at 20px it matched the step lead and the readout
|
|
2763
|
+
values, so a learner met no hierarchy at all. Scales with the column: phone to full width. */
|
|
3116
2764
|
.lab-activity-heading h3 {
|
|
3117
2765
|
margin: 0;
|
|
3118
|
-
font-size: clamp(
|
|
2766
|
+
font-size: clamp(1.25rem, 2.4cqi, 1.75rem);
|
|
2767
|
+
font-weight: var(--lab-w-bold);
|
|
3119
2768
|
line-height: var(--lab-lh-title);
|
|
2769
|
+
letter-spacing: var(--lab-ls-tight);
|
|
3120
2770
|
text-wrap: balance;
|
|
3121
2771
|
}
|
|
2772
|
+
/* Read, not scanned, so reading size on reading leading. It was 14px: a control-label size. */
|
|
3122
2773
|
.lab-activity-description {
|
|
3123
2774
|
margin: var(--lab-sp-4) 0 0;
|
|
3124
2775
|
max-width: 42rem;
|
|
@@ -3133,8 +2784,8 @@
|
|
|
3133
2784
|
align-items: center;
|
|
3134
2785
|
gap: var(--lab-sp-6);
|
|
3135
2786
|
min-width: var(--lab-target);
|
|
3136
|
-
min-height: var(--lab-target);
|
|
3137
|
-
padding: var(--lab-sp-
|
|
2787
|
+
min-height: var(--lab-target-compact);
|
|
2788
|
+
padding: var(--lab-sp-4) var(--lab-sp-8);
|
|
3138
2789
|
border: 1px solid var(--border, var(--stage-grid));
|
|
3139
2790
|
border-radius: var(--lab-r-sm);
|
|
3140
2791
|
background: var(--background, var(--stage-bg));
|
|
@@ -3144,8 +2795,10 @@
|
|
|
3144
2795
|
font-weight: var(--lab-w-semibold);
|
|
3145
2796
|
cursor: pointer;
|
|
3146
2797
|
}
|
|
3147
|
-
|
|
3148
|
-
|
|
2798
|
+
@media (hover: hover) and (pointer: fine) {
|
|
2799
|
+
.lab-activity-focus:hover {
|
|
2800
|
+
background: var(--accent, color-mix(in oklab, currentColor 6%, transparent));
|
|
2801
|
+
}
|
|
3149
2802
|
}
|
|
3150
2803
|
.lab-activity-focus svg {
|
|
3151
2804
|
width: 1rem;
|
|
@@ -3161,6 +2814,7 @@
|
|
|
3161
2814
|
align-items: center;
|
|
3162
2815
|
gap: var(--lab-sp-10);
|
|
3163
2816
|
min-width: 0;
|
|
2817
|
+
font-variant-numeric: tabular-nums;
|
|
3164
2818
|
padding: var(--lab-sp-10) var(--lab-sp-16);
|
|
3165
2819
|
border-block: 1px solid var(--border, var(--stage-grid));
|
|
3166
2820
|
background: color-mix(
|
|
@@ -3174,22 +2828,34 @@
|
|
|
3174
2828
|
padding-inline-start: var(--lab-sp-10);
|
|
3175
2829
|
border-inline-start: 1px solid var(--border, var(--stage-grid));
|
|
3176
2830
|
}
|
|
3177
|
-
.
|
|
2831
|
+
/* The line of readings inside the strip: "Pendulum · x 12 cm · T 2.84 s · f 0.35 Hz".
|
|
2832
|
+
|
|
2833
|
+
WRAPPING IS THE POINT. This was written out as an identical inline style in seven labs, and none
|
|
2834
|
+
of them said what should happen when the readings are wider than the card. A flex item's minimum
|
|
2835
|
+
width is its content, so the line could not shrink: it ran off the right edge of the lab and the
|
|
2836
|
+
card's own `overflow: hidden` cut the last reading in half. Three labs were losing a word each
|
|
2837
|
+
("Copper", "proportional", "f 0.35 Hz") and the rest were one longer material name away from it.
|
|
2838
|
+
|
|
2839
|
+
A reading is a whole unit, so `wrap` breaks between readings and never inside one. The strip
|
|
2840
|
+
grows a line instead of swallowing a value.
|
|
2841
|
+
|
|
2842
|
+
The copies also set a 13px font size, which is not on the type scale and never was: it was
|
|
2843
|
+
reachable only because an inline style outranks the stylesheet. `.lab-activity-status` already
|
|
2844
|
+
declares the size this strip is meant to be, so the line simply inherits it now. The gap and the
|
|
2845
|
+
weight were on the scale all along and keep their exact values. */
|
|
2846
|
+
.lab-status-line {
|
|
2847
|
+
display: inline-flex;
|
|
2848
|
+
flex-wrap: wrap;
|
|
2849
|
+
align-items: center;
|
|
2850
|
+
gap: var(--lab-sp-8);
|
|
3178
2851
|
min-width: 0;
|
|
3179
|
-
flex: 1;
|
|
3180
|
-
overflow: hidden;
|
|
3181
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
3182
|
-
text-align: center;
|
|
3183
|
-
text-overflow: ellipsis;
|
|
3184
|
-
white-space: nowrap;
|
|
3185
|
-
}
|
|
3186
|
-
.network-delivery {
|
|
3187
|
-
flex: none;
|
|
3188
|
-
color: var(--destructive, var(--stage-danger));
|
|
3189
2852
|
font-weight: var(--lab-w-semibold);
|
|
3190
2853
|
}
|
|
3191
|
-
.
|
|
3192
|
-
|
|
2854
|
+
/* A measurement the learner has not earned yet. It holds its slot so the strip keeps its shape
|
|
2855
|
+
when the number arrives, and reads as clearly absent rather than as a value of zero. */
|
|
2856
|
+
.lab-activity-measured-pending {
|
|
2857
|
+
color: var(--lab-muted);
|
|
2858
|
+
opacity: 0.55;
|
|
3193
2859
|
}
|
|
3194
2860
|
.lab-activity-workspace {
|
|
3195
2861
|
display: grid;
|
|
@@ -3217,79 +2883,6 @@
|
|
|
3217
2883
|
.lab-activity-dock {
|
|
3218
2884
|
min-width: 0;
|
|
3219
2885
|
}
|
|
3220
|
-
.network-scene {
|
|
3221
|
-
overflow: hidden;
|
|
3222
|
-
border: 1px solid var(--border, var(--stage-grid));
|
|
3223
|
-
border-radius: var(--lab-r-md);
|
|
3224
|
-
background:
|
|
3225
|
-
radial-gradient(
|
|
3226
|
-
circle at 1px 1px,
|
|
3227
|
-
color-mix(in oklab, currentColor 11%, transparent) 1px,
|
|
3228
|
-
transparent 0
|
|
3229
|
-
)
|
|
3230
|
-
0 0 / 20px 20px,
|
|
3231
|
-
var(--card, var(--stage-bg));
|
|
3232
|
-
}
|
|
3233
|
-
.network-scene svg {
|
|
3234
|
-
display: block;
|
|
3235
|
-
width: 100%;
|
|
3236
|
-
height: clamp(190px, 30vw, 300px);
|
|
3237
|
-
}
|
|
3238
|
-
.network-link {
|
|
3239
|
-
stroke: var(--border, var(--stage-grid));
|
|
3240
|
-
stroke-width: 4;
|
|
3241
|
-
stroke-linecap: round;
|
|
3242
|
-
transition:
|
|
3243
|
-
stroke var(--lab-dur-base) var(--lab-ease),
|
|
3244
|
-
stroke-width var(--lab-dur-base) var(--lab-ease);
|
|
3245
|
-
}
|
|
3246
|
-
.network-link[data-active] {
|
|
3247
|
-
stroke: var(--primary, var(--stage-accent));
|
|
3248
|
-
stroke-width: 7;
|
|
3249
|
-
}
|
|
3250
|
-
.network-link[data-down] {
|
|
3251
|
-
stroke: var(--destructive, var(--stage-danger));
|
|
3252
|
-
stroke-dasharray: 8 7;
|
|
3253
|
-
}
|
|
3254
|
-
.network-link-label {
|
|
3255
|
-
fill: var(--muted-foreground, var(--stage-muted));
|
|
3256
|
-
font-size: var(--lab-t-micro);
|
|
3257
|
-
font-weight: var(--lab-w-semibold);
|
|
3258
|
-
paint-order: stroke;
|
|
3259
|
-
stroke: var(--card, var(--stage-bg));
|
|
3260
|
-
stroke-width: 4px;
|
|
3261
|
-
}
|
|
3262
|
-
.network-device {
|
|
3263
|
-
color: var(--foreground, var(--stage-fg));
|
|
3264
|
-
outline: none;
|
|
3265
|
-
}
|
|
3266
|
-
.network-device-surface {
|
|
3267
|
-
fill: var(--card, var(--stage-bg));
|
|
3268
|
-
stroke: var(--border, var(--stage-grid));
|
|
3269
|
-
stroke-width: 1.5;
|
|
3270
|
-
}
|
|
3271
|
-
.network-device-symbol {
|
|
3272
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
3273
|
-
}
|
|
3274
|
-
.network-device-label {
|
|
3275
|
-
fill: var(--foreground, var(--stage-fg));
|
|
3276
|
-
font-size: var(--lab-t-micro);
|
|
3277
|
-
font-weight: var(--lab-w-semibold);
|
|
3278
|
-
}
|
|
3279
|
-
.network-device[data-active] .network-device-surface {
|
|
3280
|
-
fill: color-mix(in oklab, var(--primary, var(--stage-accent)) 12%, var(--card, var(--stage-bg)));
|
|
3281
|
-
stroke: var(--primary, var(--stage-accent));
|
|
3282
|
-
stroke-width: 3;
|
|
3283
|
-
}
|
|
3284
|
-
.network-device[data-active] .network-device-symbol {
|
|
3285
|
-
color: var(--primary, var(--stage-accent));
|
|
3286
|
-
}
|
|
3287
|
-
.network-device:focus-visible .network-device-surface,
|
|
3288
|
-
.network-device[data-selected] .network-device-surface {
|
|
3289
|
-
stroke: var(--ring, var(--stage-accent));
|
|
3290
|
-
stroke-width: 3;
|
|
3291
|
-
stroke-dasharray: 5 3;
|
|
3292
|
-
}
|
|
3293
2886
|
.lab-activity-feedback {
|
|
3294
2887
|
display: grid;
|
|
3295
2888
|
/* minmax(0, 1fr), not 1fr: a grid track is at least min-content wide by default, so the longest
|
|
@@ -3320,8 +2913,8 @@
|
|
|
3320
2913
|
text in the foreground colour, not as muted fine print. */
|
|
3321
2914
|
.lab-authored-task {
|
|
3322
2915
|
display: grid;
|
|
3323
|
-
gap: var(--lab-sp-
|
|
3324
|
-
padding: var(--lab-sp-
|
|
2916
|
+
gap: var(--lab-sp-8);
|
|
2917
|
+
padding: var(--lab-sp-10) var(--lab-sp-16);
|
|
3325
2918
|
border-top: 1px solid var(--border, var(--stage-grid));
|
|
3326
2919
|
}
|
|
3327
2920
|
/* An authored question is already a semantic section of Activity. Its challenge
|
|
@@ -3343,6 +2936,13 @@
|
|
|
3343
2936
|
line-height: var(--lab-lh-ui);
|
|
3344
2937
|
text-wrap: pretty;
|
|
3345
2938
|
}
|
|
2939
|
+
/* The instruction standing alone over the model, rather than heading a stack of answer rows. It
|
|
2940
|
+
carries the padding the task section used to give it, and no rule of its own: it reads as a
|
|
2941
|
+
caption on the figure below, not as another band. */
|
|
2942
|
+
.lab-authored-lead-solo {
|
|
2943
|
+
padding: var(--lab-sp-10) var(--lab-sp-16) var(--lab-sp-4);
|
|
2944
|
+
font-size: var(--lab-t-sm);
|
|
2945
|
+
}
|
|
3346
2946
|
@container lab-activity (max-width: 22rem) {
|
|
3347
2947
|
.lab-activity-feedback {
|
|
3348
2948
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -3355,6 +2955,7 @@
|
|
|
3355
2955
|
letter-spacing: var(--lab-ls-caps);
|
|
3356
2956
|
text-transform: uppercase;
|
|
3357
2957
|
}
|
|
2958
|
+
.lab-activity-feedback > div,
|
|
3358
2959
|
.lab-activity-feedback p {
|
|
3359
2960
|
margin: 0;
|
|
3360
2961
|
font-size: var(--lab-t-sm);
|
|
@@ -3388,6 +2989,7 @@
|
|
|
3388
2989
|
align-items: end;
|
|
3389
2990
|
gap: var(--lab-sp-10);
|
|
3390
2991
|
}
|
|
2992
|
+
|
|
3391
2993
|
/* Every control gets a real basis. Without one a Field falls back to its content width, and a
|
|
3392
2994
|
Field holding a Slider has almost no content width (the Slider is a div, not an input), so a
|
|
3393
2995
|
chip group beside it took the whole row and squeezed the slider to its 60px floor. `:has` also
|
|
@@ -3407,6 +3009,38 @@
|
|
|
3407
3009
|
min-width: 0;
|
|
3408
3010
|
}
|
|
3409
3011
|
}
|
|
3012
|
+
/* ── Bench panel ───────────────────────────────────────────────────────────────
|
|
3013
|
+
Instruments as equipment BESIDE the diagram, never objects inside it (rationale in
|
|
3014
|
+
src/kit/instruments.tsx). Layout ONLY: no border, radius or fill, because rule 1 is one bordered
|
|
3015
|
+
container per lab and the dock hairline already delimits this. The instruments carry their own
|
|
3016
|
+
depth, so they read as objects on the card rather than needing a box drawn round them. */
|
|
3017
|
+
.lab-bench {
|
|
3018
|
+
display: flex;
|
|
3019
|
+
flex-wrap: wrap;
|
|
3020
|
+
align-items: flex-end;
|
|
3021
|
+
gap: var(--lab-sp-20);
|
|
3022
|
+
padding-block: var(--lab-sp-8);
|
|
3023
|
+
}
|
|
3024
|
+
.lab-bench > .lab-field {
|
|
3025
|
+
flex: 0 0 auto;
|
|
3026
|
+
}
|
|
3027
|
+
/* The panel is a BAND: sized to content it wraps its own children onto stray rows. */
|
|
3028
|
+
.lab-activity-fields > .lab-bench {
|
|
3029
|
+
flex: 1 1 100%;
|
|
3030
|
+
}
|
|
3031
|
+
.lab-bench .lab-field-row {
|
|
3032
|
+
align-items: center;
|
|
3033
|
+
gap: var(--lab-sp-8);
|
|
3034
|
+
}
|
|
3035
|
+
.lab-bench .lab-field-val {
|
|
3036
|
+
min-width: 0;
|
|
3037
|
+
}
|
|
3038
|
+
.lab-bench-meter {
|
|
3039
|
+
flex: 0 0 auto;
|
|
3040
|
+
display: flex;
|
|
3041
|
+
align-items: center;
|
|
3042
|
+
}
|
|
3043
|
+
|
|
3410
3044
|
/* ── Authored lesson shell ──────────────────────────────────────────────────────
|
|
3411
3045
|
One scene-first container. The model is the hero, its controls form a compact dock,
|
|
3412
3046
|
and explanatory evidence stays contextual until the learner asks for it. */
|
|
@@ -3508,6 +3142,58 @@
|
|
|
3508
3142
|
padding-top: var(--lab-sp-12);
|
|
3509
3143
|
border-top: 1px solid color-mix(in oklab, var(--border, var(--stage-grid)) 70%, transparent);
|
|
3510
3144
|
}
|
|
3145
|
+
|
|
3146
|
+
/* Mechanic-specific authored shells. They preserve the shared sequence and access behavior while
|
|
3147
|
+
making the scientific object, not repeated chrome, the first phone viewport. Existing labs keep
|
|
3148
|
+
`standard`; new flagships opt into one of these modes deliberately. */
|
|
3149
|
+
.lab-authored-activity[data-presentation]:not([data-presentation="standard"]) .lab-activity-status {
|
|
3150
|
+
padding-block: var(--lab-sp-6);
|
|
3151
|
+
background: transparent;
|
|
3152
|
+
border-bottom: 0;
|
|
3153
|
+
}
|
|
3154
|
+
.lab-authored-activity[data-presentation]:not([data-presentation="standard"])
|
|
3155
|
+
.lab-authored-lead-solo {
|
|
3156
|
+
padding-block: var(--lab-sp-8) var(--lab-sp-4);
|
|
3157
|
+
font-size: var(--lab-t-sm);
|
|
3158
|
+
}
|
|
3159
|
+
.lab-authored-activity[data-presentation]:not([data-presentation="standard"])
|
|
3160
|
+
.lab-activity-heading
|
|
3161
|
+
h3 {
|
|
3162
|
+
font-size: clamp(1.25rem, 5.5cqi, 1.65rem);
|
|
3163
|
+
line-height: var(--lab-lh-title);
|
|
3164
|
+
}
|
|
3165
|
+
.lab-authored-activity[data-presentation="observation"] .lab-activity-workspace {
|
|
3166
|
+
padding-top: var(--lab-sp-6);
|
|
3167
|
+
}
|
|
3168
|
+
.lab-authored-activity[data-presentation="construction"] .lab-activity-dock {
|
|
3169
|
+
position: sticky;
|
|
3170
|
+
bottom: 0;
|
|
3171
|
+
z-index: var(--lab-z-raised);
|
|
3172
|
+
}
|
|
3173
|
+
.lab-authored-activity[data-presentation="investigation"] .lab-activity-inspector,
|
|
3174
|
+
.lab-authored-activity[data-presentation="diagnosis"] .lab-activity-inspector {
|
|
3175
|
+
border-top-style: dashed;
|
|
3176
|
+
}
|
|
3177
|
+
@container lab-activity (max-width: 30rem) {
|
|
3178
|
+
.lab-authored-activity[data-presentation]:not([data-presentation="standard"])
|
|
3179
|
+
.lab-activity-header {
|
|
3180
|
+
padding: var(--lab-sp-10) var(--lab-sp-12) var(--lab-sp-6);
|
|
3181
|
+
}
|
|
3182
|
+
.lab-authored-activity[data-presentation]:not([data-presentation="standard"])
|
|
3183
|
+
.lab-activity-description {
|
|
3184
|
+
margin-top: 0;
|
|
3185
|
+
font-size: var(--lab-t-sm);
|
|
3186
|
+
line-height: var(--lab-lh-ui);
|
|
3187
|
+
}
|
|
3188
|
+
.lab-authored-activity[data-presentation]:not([data-presentation="standard"])
|
|
3189
|
+
.lab-activity-status {
|
|
3190
|
+
padding-inline: var(--lab-sp-12);
|
|
3191
|
+
}
|
|
3192
|
+
.lab-authored-activity[data-presentation]:not([data-presentation="standard"])
|
|
3193
|
+
.lab-authored-lead-solo {
|
|
3194
|
+
padding-inline: var(--lab-sp-12);
|
|
3195
|
+
}
|
|
3196
|
+
}
|
|
3511
3197
|
/* Segmented control: a labelled row of mutually-exclusive options as ONE compact control (an
|
|
3512
3198
|
iOS-style track), not a column of full-width buttons. Reusable for any 2–4 option mode toggle. */
|
|
3513
3199
|
.lab-segmented-field {
|
|
@@ -3528,10 +3214,11 @@
|
|
|
3528
3214
|
learner cannot choose what they cannot see. Wrapping keeps every mode
|
|
3529
3215
|
visible; the scroll below is the last resort for one option too wide to fit. */
|
|
3530
3216
|
flex-wrap: wrap;
|
|
3531
|
-
gap: var(--lab-sp-
|
|
3532
|
-
padding: var(--lab-sp-
|
|
3533
|
-
border-radius: var(--lab-r-
|
|
3534
|
-
background: color-mix(in oklab, var(--stage-fg)
|
|
3217
|
+
gap: var(--lab-sp-2);
|
|
3218
|
+
padding: var(--lab-sp-2);
|
|
3219
|
+
border-radius: var(--lab-r-sm, 6px);
|
|
3220
|
+
background: color-mix(in oklab, var(--stage-fg) 6%, transparent);
|
|
3221
|
+
border: 1px solid color-mix(in oklab, var(--lab-border) 60%, transparent);
|
|
3535
3222
|
width: fit-content;
|
|
3536
3223
|
max-width: 100%;
|
|
3537
3224
|
/* The phone rule above lets a field shrink to avoid scrolling the page, but a segmented track
|
|
@@ -3569,99 +3256,39 @@
|
|
|
3569
3256
|
.lab-segment {
|
|
3570
3257
|
flex: 0 0 auto;
|
|
3571
3258
|
min-height: var(--lab-target-compact);
|
|
3572
|
-
padding: var(--lab-sp-
|
|
3259
|
+
padding: var(--lab-sp-2) var(--lab-sp-10);
|
|
3573
3260
|
border: 1px solid transparent;
|
|
3574
|
-
border-radius: var(--lab-r-
|
|
3261
|
+
border-radius: calc(var(--lab-r-sm, 6px) - 1px);
|
|
3575
3262
|
background: transparent;
|
|
3576
3263
|
box-shadow: none;
|
|
3577
3264
|
color: var(--lab-muted);
|
|
3578
|
-
font-size: var(--lab-t-sm
|
|
3579
|
-
font-weight: var(--lab-w-medium);
|
|
3265
|
+
font-size: var(--lab-t-sm);
|
|
3266
|
+
font-weight: var(--lab-w-medium, 500);
|
|
3580
3267
|
white-space: nowrap;
|
|
3268
|
+
/* Named properties, not `all`. A blanket transition animates layout and paint together, so a
|
|
3269
|
+
width change that should be instant crossfades instead, and it is the reason the motion tokens
|
|
3270
|
+
exist: one duration and one easing for everything that moves. */
|
|
3271
|
+
transition:
|
|
3272
|
+
background var(--lab-dur-fast) var(--lab-ease),
|
|
3273
|
+
color var(--lab-dur-fast) var(--lab-ease),
|
|
3274
|
+
box-shadow var(--lab-dur-fast) var(--lab-ease);
|
|
3581
3275
|
}
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3276
|
+
@media (hover: hover) and (pointer: fine) {
|
|
3277
|
+
.lab-segment:hover:not([data-sel="true"]) {
|
|
3278
|
+
background: color-mix(in oklab, var(--stage-fg) 5%, transparent);
|
|
3279
|
+
color: var(--lab-fg);
|
|
3280
|
+
}
|
|
3585
3281
|
}
|
|
3586
3282
|
.lab-segment[data-sel="true"] {
|
|
3587
3283
|
background: var(--lab-surface);
|
|
3588
3284
|
color: var(--lab-fg);
|
|
3589
|
-
box-shadow:
|
|
3590
|
-
font-weight: var(--lab-w-semibold);
|
|
3285
|
+
box-shadow: 0 1px 2px color-mix(in oklab, currentColor 8%, transparent);
|
|
3286
|
+
font-weight: var(--lab-w-semibold, 600);
|
|
3591
3287
|
}
|
|
3592
3288
|
.lab-segment:disabled {
|
|
3593
3289
|
opacity: 0.45;
|
|
3594
3290
|
pointer-events: none;
|
|
3595
3291
|
}
|
|
3596
|
-
.network-inspector-heading {
|
|
3597
|
-
display: flex;
|
|
3598
|
-
align-items: center;
|
|
3599
|
-
justify-content: space-between;
|
|
3600
|
-
gap: var(--lab-sp-12);
|
|
3601
|
-
padding: var(--lab-sp-12) var(--lab-sp-12);
|
|
3602
|
-
border-bottom: 1px solid var(--border, var(--stage-grid));
|
|
3603
|
-
}
|
|
3604
|
-
.network-inspector-heading div {
|
|
3605
|
-
display: flex;
|
|
3606
|
-
align-items: baseline;
|
|
3607
|
-
gap: var(--lab-sp-6);
|
|
3608
|
-
}
|
|
3609
|
-
.network-inspector-heading span {
|
|
3610
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
3611
|
-
font-size: var(--lab-t-micro);
|
|
3612
|
-
font-weight: var(--lab-w-semibold);
|
|
3613
|
-
letter-spacing: var(--lab-ls-caps);
|
|
3614
|
-
text-transform: uppercase;
|
|
3615
|
-
}
|
|
3616
|
-
.network-inspector-heading strong {
|
|
3617
|
-
font-size: var(--lab-t-eyebrow);
|
|
3618
|
-
}
|
|
3619
|
-
.network-packet {
|
|
3620
|
-
overflow: hidden;
|
|
3621
|
-
border: 1px solid var(--border, var(--stage-grid));
|
|
3622
|
-
border-radius: var(--lab-r-md);
|
|
3623
|
-
background: var(--card, var(--stage-bg));
|
|
3624
|
-
}
|
|
3625
|
-
.network-inspector .network-packet {
|
|
3626
|
-
border: 0;
|
|
3627
|
-
border-radius: 0;
|
|
3628
|
-
}
|
|
3629
|
-
.network-packet-head {
|
|
3630
|
-
display: flex;
|
|
3631
|
-
justify-content: space-between;
|
|
3632
|
-
padding: var(--lab-sp-8) var(--lab-sp-12);
|
|
3633
|
-
border-bottom: 1px solid var(--border, var(--stage-grid));
|
|
3634
|
-
font-size: var(--lab-t-eyebrow);
|
|
3635
|
-
}
|
|
3636
|
-
.network-packet-head span {
|
|
3637
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
3638
|
-
font-variant-numeric: tabular-nums;
|
|
3639
|
-
}
|
|
3640
|
-
.network-layer-list {
|
|
3641
|
-
display: grid;
|
|
3642
|
-
gap: 1px;
|
|
3643
|
-
margin: 0;
|
|
3644
|
-
padding: 0;
|
|
3645
|
-
list-style: none;
|
|
3646
|
-
background: var(--border, var(--stage-grid));
|
|
3647
|
-
}
|
|
3648
|
-
.network-layer {
|
|
3649
|
-
display: grid;
|
|
3650
|
-
grid-template-columns: 4.8rem 3.5rem 1fr;
|
|
3651
|
-
gap: var(--lab-sp-6);
|
|
3652
|
-
padding: var(--lab-sp-8) var(--lab-sp-10);
|
|
3653
|
-
background: var(--card, var(--stage-bg));
|
|
3654
|
-
font-size: var(--lab-t-micro);
|
|
3655
|
-
line-height: var(--lab-lh-ui);
|
|
3656
|
-
}
|
|
3657
|
-
.network-layer-name {
|
|
3658
|
-
color: var(--muted-foreground, var(--stage-muted));
|
|
3659
|
-
text-transform: uppercase;
|
|
3660
|
-
letter-spacing: var(--lab-ls-caps);
|
|
3661
|
-
}
|
|
3662
|
-
.network-layer strong {
|
|
3663
|
-
color: var(--primary, var(--stage-accent));
|
|
3664
|
-
}
|
|
3665
3292
|
.lab-activity-transport {
|
|
3666
3293
|
display: grid;
|
|
3667
3294
|
/* The middle column must be able to SHRINK: with an 8rem floor the three columns could not fit
|
|
@@ -3670,11 +3297,16 @@
|
|
|
3670
3297
|
grid-template-columns: auto minmax(0, 18rem) auto;
|
|
3671
3298
|
align-items: center;
|
|
3672
3299
|
justify-content: center;
|
|
3673
|
-
gap: var(--lab-sp-
|
|
3674
|
-
padding: var(--lab-sp-
|
|
3300
|
+
gap: var(--lab-sp-8);
|
|
3301
|
+
padding: var(--lab-sp-6) var(--lab-sp-10);
|
|
3675
3302
|
border-top: 1px solid var(--border, var(--stage-grid));
|
|
3676
3303
|
background: var(--card, var(--stage-bg));
|
|
3677
3304
|
}
|
|
3305
|
+
.lab-icon-button svg {
|
|
3306
|
+
width: 1rem;
|
|
3307
|
+
height: 1rem;
|
|
3308
|
+
stroke-width: 1.8;
|
|
3309
|
+
}
|
|
3678
3310
|
/* The transport's middle slot. This is shell, not a subject: it lived in the maths sheet, so every
|
|
3679
3311
|
other subject rendered it unstyled, and a long status word ("Photosynthesising") could not shrink
|
|
3680
3312
|
inside its flex row and pushed the transport past the card. */
|
|
@@ -3689,6 +3321,10 @@
|
|
|
3689
3321
|
font-variant-numeric: tabular-nums;
|
|
3690
3322
|
overflow-wrap: anywhere;
|
|
3691
3323
|
}
|
|
3324
|
+
.lab-transport-state strong {
|
|
3325
|
+
font-size: var(--lab-t-eyebrow);
|
|
3326
|
+
line-height: var(--lab-lh-ui);
|
|
3327
|
+
}
|
|
3692
3328
|
.lab-transport-state > * {
|
|
3693
3329
|
min-width: 0;
|
|
3694
3330
|
}
|
|
@@ -3749,15 +3385,25 @@
|
|
|
3749
3385
|
color: var(--foreground, var(--stage-fg));
|
|
3750
3386
|
}
|
|
3751
3387
|
.lab-activity-progress progress {
|
|
3388
|
+
/* Same fix as `.physics-efficiency-ledger progress`, for the same two
|
|
3389
|
+
reasons: `appearance:none` so the background actually paints instead of
|
|
3390
|
+
being overridden by Chrome's native track, AND a foreground-derived mix
|
|
3391
|
+
instead of `--muted` (which is deliberately close to the surface tone it
|
|
3392
|
+
sits on - see `.lab-slider [data-slot="slider-track"]`'s comment - so an
|
|
3393
|
+
early step, a small fraction, read as a bare sliver with nothing visible
|
|
3394
|
+
behind it rather than a bar partway along a visible track). */
|
|
3395
|
+
appearance: none;
|
|
3396
|
+
-webkit-appearance: none;
|
|
3397
|
+
-moz-appearance: none;
|
|
3752
3398
|
width: 100%;
|
|
3753
3399
|
height: 0.28rem;
|
|
3754
3400
|
overflow: hidden;
|
|
3755
3401
|
border: 0;
|
|
3756
3402
|
border-radius: var(--lab-r-pill);
|
|
3757
|
-
background:
|
|
3403
|
+
background: color-mix(in oklab, var(--stage-fg) 15%, transparent);
|
|
3758
3404
|
}
|
|
3759
3405
|
.lab-activity-progress progress::-webkit-progress-bar {
|
|
3760
|
-
background:
|
|
3406
|
+
background: color-mix(in oklab, var(--stage-fg) 15%, transparent);
|
|
3761
3407
|
}
|
|
3762
3408
|
.lab-activity-progress progress::-webkit-progress-value {
|
|
3763
3409
|
border-radius: var(--lab-r-pill);
|
|
@@ -3774,16 +3420,25 @@
|
|
|
3774
3420
|
accent-color: var(--primary, var(--stage-accent));
|
|
3775
3421
|
cursor: pointer;
|
|
3776
3422
|
}
|
|
3423
|
+
/* The transcript is a text alternative to a moving scene: a screen reader needs it, and a sighted
|
|
3424
|
+
learner is reading the scene instead. It was drawn as a full-width band with its own rule and a
|
|
3425
|
+
semibold heading, which gave a service affordance the same weight as the lesson and put two of
|
|
3426
|
+
these rows between the figure and the Continue button. It stays exactly where it is in the DOM,
|
|
3427
|
+
and recedes. */
|
|
3777
3428
|
.lab-activity-transcript {
|
|
3778
3429
|
margin: 0;
|
|
3779
|
-
padding: var(--lab-sp-
|
|
3780
|
-
border-top: 1px solid var(--
|
|
3430
|
+
padding: var(--lab-sp-8) var(--lab-sp-16);
|
|
3431
|
+
border-top: 1px solid var(--lab-hairline);
|
|
3781
3432
|
color: var(--muted-foreground, var(--stage-muted));
|
|
3782
|
-
font-size: var(--lab-t-
|
|
3433
|
+
font-size: var(--lab-t-eyebrow);
|
|
3783
3434
|
}
|
|
3784
3435
|
.lab-activity-transcript summary {
|
|
3785
3436
|
cursor: pointer;
|
|
3786
|
-
font-weight: var(--lab-w-
|
|
3437
|
+
font-weight: var(--lab-w-medium);
|
|
3438
|
+
opacity: 0.7;
|
|
3439
|
+
}
|
|
3440
|
+
.lab-activity-transcript[open] summary {
|
|
3441
|
+
opacity: 1;
|
|
3787
3442
|
}
|
|
3788
3443
|
.lab-activity-transcript ol {
|
|
3789
3444
|
margin: var(--lab-sp-8) 0 0;
|
|
@@ -3852,13 +3507,76 @@
|
|
|
3852
3507
|
.lab-activity-inspector[open] > summary {
|
|
3853
3508
|
border-bottom: 1px solid var(--border, var(--stage-grid));
|
|
3854
3509
|
}
|
|
3510
|
+
|
|
3511
|
+
/* In a stacked lab, keep the transport at the thumb-friendly bottom edge. */
|
|
3512
|
+
.lab-activity-header {
|
|
3513
|
+
order: 1;
|
|
3514
|
+
}
|
|
3515
|
+
.lab-activity-status {
|
|
3516
|
+
order: 2;
|
|
3517
|
+
}
|
|
3518
|
+
/* A task section (question / response) keeps its DOM position relative to the figure.
|
|
3519
|
+
Without an explicit order it defaulted to 0 and jumped ABOVE the title on every narrow
|
|
3520
|
+
layout. Sharing the workspace's value means ties fall back to source order: a predict
|
|
3521
|
+
task authored before the figure stays before it, an explain task after it stays after. */
|
|
3522
|
+
.lab-authored-task {
|
|
3523
|
+
order: 3;
|
|
3524
|
+
}
|
|
3525
|
+
/* The instruction standing alone above the model shares that value too, and sits before the
|
|
3526
|
+
workspace in source, so it lands between the status strip and the figure. Left unset it takes
|
|
3527
|
+
the default 0 and leads the card, above the eyebrow. */
|
|
3528
|
+
.lab-authored-lead-solo {
|
|
3529
|
+
order: 3;
|
|
3530
|
+
}
|
|
3531
|
+
.lab-activity > .lab-activity-workspace,
|
|
3532
|
+
.lab-activity > .lab-activity-canvas,
|
|
3533
|
+
.lab-activity > .lab-activity-dock,
|
|
3534
|
+
.lab-activity > .lab-activity-inspector {
|
|
3535
|
+
order: 3;
|
|
3536
|
+
}
|
|
3537
|
+
.lab-activity-workspace > .lab-activity-canvas {
|
|
3538
|
+
order: 1;
|
|
3539
|
+
}
|
|
3540
|
+
.lab-activity-workspace > .lab-activity-dock {
|
|
3541
|
+
order: 2;
|
|
3542
|
+
}
|
|
3543
|
+
.lab-activity-workspace > .lab-activity-inspector {
|
|
3544
|
+
order: 3;
|
|
3545
|
+
}
|
|
3546
|
+
.lab-activity-feedback {
|
|
3547
|
+
order: 4;
|
|
3548
|
+
}
|
|
3549
|
+
.lab-activity-transcript {
|
|
3550
|
+
order: 5;
|
|
3551
|
+
}
|
|
3552
|
+
.lab-activity-transport {
|
|
3553
|
+
position: sticky;
|
|
3554
|
+
bottom: 0;
|
|
3555
|
+
z-index: var(--lab-z-overlay);
|
|
3556
|
+
order: 6;
|
|
3557
|
+
padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
|
|
3558
|
+
background: color-mix(in oklab, var(--background, var(--stage-bg)) 88%, transparent);
|
|
3559
|
+
box-shadow: 0 -8px 18px color-mix(in oklab, currentColor 7%, transparent);
|
|
3560
|
+
backdrop-filter: blur(12px);
|
|
3561
|
+
}
|
|
3562
|
+
}
|
|
3563
|
+
.lab-choice-grid {
|
|
3564
|
+
display: grid;
|
|
3565
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3566
|
+
gap: var(--lab-sp-8);
|
|
3567
|
+
}
|
|
3568
|
+
|
|
3569
|
+
.lab-numeric-tertiary {
|
|
3570
|
+
color: var(--stage-muted);
|
|
3571
|
+
font-variant-numeric: tabular-nums;
|
|
3855
3572
|
}
|
|
3856
3573
|
@container lab-activity (max-width: 42.5rem) {
|
|
3857
3574
|
.lab-activity-header {
|
|
3858
|
-
padding: var(--lab-sp-12);
|
|
3575
|
+
padding: var(--lab-sp-10) var(--lab-sp-12) var(--lab-sp-8);
|
|
3859
3576
|
}
|
|
3860
3577
|
.lab-activity-description {
|
|
3861
3578
|
font-size: var(--lab-t-sm);
|
|
3579
|
+
line-height: var(--lab-lh-ui);
|
|
3862
3580
|
}
|
|
3863
3581
|
.lab-activity-focus {
|
|
3864
3582
|
font-size: var(--lab-t-sm);
|
|
@@ -3868,9 +3586,42 @@
|
|
|
3868
3586
|
display: none;
|
|
3869
3587
|
}
|
|
3870
3588
|
.lab-activity-status {
|
|
3871
|
-
|
|
3589
|
+
gap: var(--lab-sp-8);
|
|
3590
|
+
padding: var(--lab-sp-8) var(--lab-sp-12);
|
|
3872
3591
|
flex-wrap: wrap;
|
|
3873
|
-
row-gap: var(--lab-sp-
|
|
3592
|
+
row-gap: var(--lab-sp-4);
|
|
3593
|
+
font-size: var(--lab-t-micro);
|
|
3594
|
+
}
|
|
3595
|
+
.lab-activity-status > * + * {
|
|
3596
|
+
padding-inline-start: var(--lab-sp-8);
|
|
3597
|
+
}
|
|
3598
|
+
.lab-authored-activity .lab-activity-status > strong:first-child {
|
|
3599
|
+
display: none;
|
|
3600
|
+
}
|
|
3601
|
+
.lab-authored-activity .lab-activity-status > strong:first-child + * {
|
|
3602
|
+
padding-inline-start: 0;
|
|
3603
|
+
border-inline-start: 0;
|
|
3604
|
+
}
|
|
3605
|
+
.lab-authored-lead-solo {
|
|
3606
|
+
padding: var(--lab-sp-10) var(--lab-sp-12) var(--lab-sp-4);
|
|
3607
|
+
font-size: var(--lab-t-sm);
|
|
3608
|
+
line-height: var(--lab-lh-ui);
|
|
3609
|
+
}
|
|
3610
|
+
.lab-activity-workspace {
|
|
3611
|
+
gap: var(--lab-sp-8);
|
|
3612
|
+
padding: var(--lab-sp-8);
|
|
3613
|
+
}
|
|
3614
|
+
.lab-activity-feedback {
|
|
3615
|
+
gap: var(--lab-sp-4);
|
|
3616
|
+
margin: 0 var(--lab-sp-8) var(--lab-sp-8);
|
|
3617
|
+
max-width: calc(100% - 2 * var(--lab-sp-8));
|
|
3618
|
+
padding: var(--lab-sp-8) var(--lab-sp-10);
|
|
3619
|
+
}
|
|
3620
|
+
.lab-authored-activity[data-inspector-layout="stacked"]
|
|
3621
|
+
.lab-activity-workspace
|
|
3622
|
+
> .lab-activity-inspector {
|
|
3623
|
+
border-inline: 0;
|
|
3624
|
+
border-radius: 0;
|
|
3874
3625
|
}
|
|
3875
3626
|
.network-route-path {
|
|
3876
3627
|
display: none;
|
|
@@ -3923,7 +3674,21 @@
|
|
|
3923
3674
|
display: flex;
|
|
3924
3675
|
align-items: center;
|
|
3925
3676
|
justify-content: center;
|
|
3926
|
-
gap: var(--lab-sp-
|
|
3677
|
+
gap: var(--lab-sp-8);
|
|
3678
|
+
}
|
|
3679
|
+
.lab-sequence-actions .lab-btn,
|
|
3680
|
+
.lab-sequence-actions .lab-btn-ghost {
|
|
3681
|
+
display: inline-flex;
|
|
3682
|
+
align-items: center;
|
|
3683
|
+
gap: var(--lab-sp-4);
|
|
3684
|
+
min-block-size: var(--lab-target-compact);
|
|
3685
|
+
padding: var(--lab-sp-4) var(--lab-sp-10);
|
|
3686
|
+
font-size: var(--lab-t-sm);
|
|
3687
|
+
}
|
|
3688
|
+
.lab-sequence-actions .lab-btn svg {
|
|
3689
|
+
width: 0.9rem;
|
|
3690
|
+
height: 0.9rem;
|
|
3691
|
+
stroke-width: 1.8;
|
|
3927
3692
|
}
|
|
3928
3693
|
.lab-sequence-gate,
|
|
3929
3694
|
.lab-sequence-count {
|
|
@@ -3980,12 +3745,339 @@
|
|
|
3980
3745
|
.lab-activity svg {
|
|
3981
3746
|
max-width: 100%;
|
|
3982
3747
|
}
|
|
3983
|
-
.network-scene-target[data-interactive="true"] {
|
|
3984
|
-
cursor: pointer;
|
|
3985
|
-
}
|
|
3986
3748
|
|
|
3987
3749
|
.lab-config-options {
|
|
3988
3750
|
display: inline-flex;
|
|
3989
3751
|
flex-wrap: wrap;
|
|
3990
3752
|
gap: var(--lab-sp-6);
|
|
3991
3753
|
}
|
|
3754
|
+
|
|
3755
|
+
/* A schematic's labels live inside its viewBox, so they scale with the element: at 350px a
|
|
3756
|
+
520-wide circuit renders its tags at ~3px. The floor keeps it legible and lets the strip scroll
|
|
3757
|
+
instead, and the edge fade rides the container box so a cut-off circuit reads as scrollable
|
|
3758
|
+
rather than broken.
|
|
3759
|
+
|
|
3760
|
+
There is deliberately NO max-width here. Capping every scene reflowed the labels in the ~40 labs
|
|
3761
|
+
composed against their natural width and put two of them into text-on-text collisions. A short
|
|
3762
|
+
wide diagram stretching into a tall empty box is a per-lab composition problem; it does not get
|
|
3763
|
+
a global rule. */
|
|
3764
|
+
.electronics-scene {
|
|
3765
|
+
display: flex;
|
|
3766
|
+
justify-content: center;
|
|
3767
|
+
overflow-x: auto;
|
|
3768
|
+
overscroll-behavior-x: contain;
|
|
3769
|
+
mask-image: linear-gradient(
|
|
3770
|
+
to right,
|
|
3771
|
+
transparent 0,
|
|
3772
|
+
#000 1.5rem,
|
|
3773
|
+
#000 calc(100% - 1.5rem),
|
|
3774
|
+
transparent 100%
|
|
3775
|
+
);
|
|
3776
|
+
}
|
|
3777
|
+
.electronics-scene > svg {
|
|
3778
|
+
min-width: 22rem;
|
|
3779
|
+
flex: 0 0 auto;
|
|
3780
|
+
}
|
|
3781
|
+
|
|
3782
|
+
/* ── Rules that belong to no single domain ─────────────────────────────────────────────────────
|
|
3783
|
+
These arrived here from styles/domains/parts/shared-{1,2}.css.
|
|
3784
|
+
|
|
3785
|
+
They were never meant to be a domain. scripts/split-domains.mjs routes the `lab` and `stage`
|
|
3786
|
+
prefixes to a sheet it calls "shared" (SHEET, :72-74), and every domain sheet then had to
|
|
3787
|
+
`@import "./shared.css"` to get them: 4.6 KiB charged against all fourteen subjects, which is
|
|
3788
|
+
most of why chemistry could not fit under its ceiling. That was a limitation of the generator,
|
|
3789
|
+
which had no way to put a rule BACK into core.css, not a decision about where the rules belong.
|
|
3790
|
+
Their own generated header said they "belong to no single domain", which is the definition of
|
|
3791
|
+
this layer, and every documented layered-import recipe already requires core.css. So a consumer
|
|
3792
|
+
loading core.css plus one subject gets exactly what it got before.
|
|
3793
|
+
───────────────────────────────────────────────────────────────────────────────────────────── */
|
|
3794
|
+
.lab-scene-row,
|
|
3795
|
+
.lab-sequence-row {
|
|
3796
|
+
display: flex;
|
|
3797
|
+
flex-wrap: wrap;
|
|
3798
|
+
justify-content: center;
|
|
3799
|
+
gap: var(--lab-sp-16);
|
|
3800
|
+
}
|
|
3801
|
+
.lab-scene-row {
|
|
3802
|
+
align-items: center;
|
|
3803
|
+
}
|
|
3804
|
+
.lab-sequence-row {
|
|
3805
|
+
align-items: flex-end;
|
|
3806
|
+
gap: var(--lab-sp-14);
|
|
3807
|
+
}
|
|
3808
|
+
.lab-clue-scene {
|
|
3809
|
+
display: grid;
|
|
3810
|
+
justify-items: center;
|
|
3811
|
+
gap: var(--lab-sp-4);
|
|
3812
|
+
}
|
|
3813
|
+
.lab-clue-scene > span {
|
|
3814
|
+
color: var(--stage-muted);
|
|
3815
|
+
font-size: var(--lab-t-micro);
|
|
3816
|
+
font-weight: var(--lab-w-semibold);
|
|
3817
|
+
text-transform: uppercase;
|
|
3818
|
+
letter-spacing: var(--lab-ls-caps);
|
|
3819
|
+
}
|
|
3820
|
+
.lab-result-stack {
|
|
3821
|
+
display: grid;
|
|
3822
|
+
justify-items: center;
|
|
3823
|
+
gap: var(--lab-sp-14);
|
|
3824
|
+
margin-top: var(--lab-sp-4);
|
|
3825
|
+
}
|
|
3826
|
+
.lab-answer-row {
|
|
3827
|
+
display: flex;
|
|
3828
|
+
flex-wrap: wrap;
|
|
3829
|
+
justify-content: center;
|
|
3830
|
+
gap: var(--lab-sp-16);
|
|
3831
|
+
font-size: var(--lab-t-body);
|
|
3832
|
+
font-weight: var(--lab-w-semibold);
|
|
3833
|
+
}
|
|
3834
|
+
.lab-inline-answer,
|
|
3835
|
+
.lab-trig-value {
|
|
3836
|
+
display: inline-flex;
|
|
3837
|
+
align-items: center;
|
|
3838
|
+
gap: var(--lab-sp-6);
|
|
3839
|
+
}
|
|
3840
|
+
.lab-solved-message {
|
|
3841
|
+
margin: 0;
|
|
3842
|
+
color: var(--stage-good);
|
|
3843
|
+
font-weight: var(--lab-w-semibold);
|
|
3844
|
+
}
|
|
3845
|
+
.lab-worked-list {
|
|
3846
|
+
display: grid;
|
|
3847
|
+
gap: var(--lab-sp-6);
|
|
3848
|
+
margin: 0;
|
|
3849
|
+
padding-inline-start: var(--lab-sp-16);
|
|
3850
|
+
font-size: var(--lab-t-sm);
|
|
3851
|
+
}
|
|
3852
|
+
.lab-result-copy {
|
|
3853
|
+
font-size: var(--lab-t-eyebrow);
|
|
3854
|
+
}
|
|
3855
|
+
.lab-centered-scene {
|
|
3856
|
+
display: grid;
|
|
3857
|
+
place-items: center;
|
|
3858
|
+
}
|
|
3859
|
+
.lab-fill-prompt {
|
|
3860
|
+
margin: 0;
|
|
3861
|
+
font-size: var(--lab-t-body);
|
|
3862
|
+
font-weight: var(--lab-w-semibold);
|
|
3863
|
+
line-height: 1.9;
|
|
3864
|
+
text-align: center;
|
|
3865
|
+
}
|
|
3866
|
+
.lab-sequence-step {
|
|
3867
|
+
display: grid;
|
|
3868
|
+
justify-items: center;
|
|
3869
|
+
gap: var(--lab-sp-4);
|
|
3870
|
+
padding: var(--lab-sp-6);
|
|
3871
|
+
border: 2px solid transparent;
|
|
3872
|
+
border-radius: var(--lab-r-md);
|
|
3873
|
+
}
|
|
3874
|
+
.lab-sequence-step[data-current="true"] {
|
|
3875
|
+
border-color: var(--stage-accent);
|
|
3876
|
+
background: color-mix(in oklab, var(--stage-accent) 5%, transparent);
|
|
3877
|
+
}
|
|
3878
|
+
.lab-sequence-label {
|
|
3879
|
+
color: var(--stage-fg);
|
|
3880
|
+
font-size: var(--lab-t-eyebrow);
|
|
3881
|
+
font-weight: var(--lab-w-semibold);
|
|
3882
|
+
}
|
|
3883
|
+
.lab-sequence-value {
|
|
3884
|
+
min-width: 2rem;
|
|
3885
|
+
padding: 2px var(--lab-sp-8);
|
|
3886
|
+
border: 1.5px solid color-mix(in oklab, var(--stage-fg) 30%, transparent);
|
|
3887
|
+
border-radius: var(--lab-r-xs);
|
|
3888
|
+
background: var(--stage-bg);
|
|
3889
|
+
font-size: var(--lab-t-sm);
|
|
3890
|
+
font-weight: var(--lab-w-bold);
|
|
3891
|
+
font-variant-numeric: tabular-nums;
|
|
3892
|
+
text-align: center;
|
|
3893
|
+
}
|
|
3894
|
+
.lab-numeric-primary {
|
|
3895
|
+
font-size: var(--lab-t-body);
|
|
3896
|
+
font-weight: var(--lab-w-semibold);
|
|
3897
|
+
font-variant-numeric: tabular-nums;
|
|
3898
|
+
}
|
|
3899
|
+
.lab-numeric-secondary,
|
|
3900
|
+
.lab-numeric-tertiary,
|
|
3901
|
+
.lab-tabular {
|
|
3902
|
+
font-variant-numeric: tabular-nums;
|
|
3903
|
+
}
|
|
3904
|
+
.lab-numeric-secondary {
|
|
3905
|
+
opacity: 0.85;
|
|
3906
|
+
}
|
|
3907
|
+
.lab-numeric-tertiary {
|
|
3908
|
+
opacity: 0.75;
|
|
3909
|
+
}
|
|
3910
|
+
.lab-muted-copy {
|
|
3911
|
+
opacity: 0.8;
|
|
3912
|
+
}
|
|
3913
|
+
.lab-trig-readouts {
|
|
3914
|
+
display: inline-flex;
|
|
3915
|
+
gap: var(--lab-sp-16);
|
|
3916
|
+
margin-inline-start: auto;
|
|
3917
|
+
font-variant-numeric: tabular-nums;
|
|
3918
|
+
}
|
|
3919
|
+
.lab-trig-function[data-function="sin"] {
|
|
3920
|
+
color: var(--stage-good);
|
|
3921
|
+
}
|
|
3922
|
+
.lab-trig-function[data-function="cos"] {
|
|
3923
|
+
color: var(--stage-accent);
|
|
3924
|
+
}
|
|
3925
|
+
.lab-trig-function[data-function="tan"] {
|
|
3926
|
+
color: var(--stage-warn);
|
|
3927
|
+
}
|
|
3928
|
+
@media (max-width: 35rem) {
|
|
3929
|
+
.lab-trig-readouts {
|
|
3930
|
+
width: 100%;
|
|
3931
|
+
margin-inline-start: 0;
|
|
3932
|
+
justify-content: space-between;
|
|
3933
|
+
gap: var(--lab-sp-8);
|
|
3934
|
+
}
|
|
3935
|
+
}
|
|
3936
|
+
|
|
3937
|
+
/* Sizing for an icon inside a chip. This lived in the chemistry domain part, with no `.chem-`
|
|
3938
|
+
ancestor, which meant a chip icon was only sized on pages that happened to load chemistry. It is
|
|
3939
|
+
shared chrome, so it belongs in this layer. */
|
|
3940
|
+
.lab-chip > svg {
|
|
3941
|
+
width: 0.9rem;
|
|
3942
|
+
height: 0.9rem;
|
|
3943
|
+
flex: none;
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3946
|
+
/* ── Simulation HUD & Visual-First Floating Controls ────────────────────────
|
|
3947
|
+
Used across flagship laboratories to replace vertical form stacks with
|
|
3948
|
+
compact glassmorphic toolbars, floating telemetry badges, and collapsible
|
|
3949
|
+
drawers so the physical simulation retains 65-75% of viewport height. */
|
|
3950
|
+
/* ── Simulation HUD & Visual-First Floating Controls ────────────────────────
|
|
3951
|
+
Precision instrument toolbar: clean typography, zero emoji noise,
|
|
3952
|
+
consistent alignment, and subtle micro-contrast. */
|
|
3953
|
+
.lab-hud-toolbar {
|
|
3954
|
+
grid-column: 1 / -1;
|
|
3955
|
+
width: 100%;
|
|
3956
|
+
display: flex;
|
|
3957
|
+
flex-wrap: wrap;
|
|
3958
|
+
align-items: center;
|
|
3959
|
+
justify-content: flex-start;
|
|
3960
|
+
gap: var(--lab-sp-6) var(--lab-sp-10);
|
|
3961
|
+
padding: var(--lab-sp-4) var(--lab-sp-8);
|
|
3962
|
+
border: 1px solid var(--lab-border);
|
|
3963
|
+
border-radius: var(--lab-r-md, 8px);
|
|
3964
|
+
background: color-mix(in oklab, var(--lab-surface) 92%, transparent);
|
|
3965
|
+
backdrop-filter: blur(12px);
|
|
3966
|
+
-webkit-backdrop-filter: blur(12px);
|
|
3967
|
+
box-shadow: 0 1px 3px color-mix(in oklab, currentColor 4%, transparent);
|
|
3968
|
+
}
|
|
3969
|
+
.lab-hud-group {
|
|
3970
|
+
display: inline-flex;
|
|
3971
|
+
align-items: center;
|
|
3972
|
+
gap: var(--lab-sp-4);
|
|
3973
|
+
}
|
|
3974
|
+
.lab-hud-badge {
|
|
3975
|
+
display: inline-flex;
|
|
3976
|
+
align-items: center;
|
|
3977
|
+
gap: var(--lab-sp-4);
|
|
3978
|
+
padding: 0 var(--lab-sp-2);
|
|
3979
|
+
border: 0;
|
|
3980
|
+
border-radius: 0;
|
|
3981
|
+
background: transparent;
|
|
3982
|
+
color: var(--muted-foreground, var(--stage-muted));
|
|
3983
|
+
font-size: var(--lab-t-eyebrow, 0.68rem);
|
|
3984
|
+
font-weight: var(--lab-w-semibold, 600);
|
|
3985
|
+
letter-spacing: var(--lab-ls-caps, 0.05em);
|
|
3986
|
+
text-transform: uppercase;
|
|
3987
|
+
font-variant-numeric: tabular-nums;
|
|
3988
|
+
white-space: nowrap;
|
|
3989
|
+
}
|
|
3990
|
+
.lab-hud-badge strong {
|
|
3991
|
+
color: var(--stage-fg, currentColor);
|
|
3992
|
+
font-weight: var(--lab-w-bold);
|
|
3993
|
+
}
|
|
3994
|
+
.lab-hud-chip-select {
|
|
3995
|
+
display: inline-flex;
|
|
3996
|
+
gap: var(--lab-sp-2);
|
|
3997
|
+
padding: var(--lab-sp-2);
|
|
3998
|
+
background: var(--lab-sunken);
|
|
3999
|
+
border-radius: var(--lab-r-sm, 6px);
|
|
4000
|
+
border: 1px solid var(--lab-hairline);
|
|
4001
|
+
}
|
|
4002
|
+
.lab-hud-chip-btn {
|
|
4003
|
+
padding: var(--lab-sp-2) var(--lab-sp-8);
|
|
4004
|
+
border-radius: calc(var(--lab-r-sm, 6px) - 2px);
|
|
4005
|
+
border: 0;
|
|
4006
|
+
background: transparent;
|
|
4007
|
+
color: var(--lab-muted);
|
|
4008
|
+
font-size: var(--lab-t-eyebrow, 0.68rem);
|
|
4009
|
+
font-weight: var(--lab-w-semibold, 600);
|
|
4010
|
+
cursor: pointer;
|
|
4011
|
+
transition: all var(--lab-dur-fast) var(--lab-ease);
|
|
4012
|
+
white-space: nowrap;
|
|
4013
|
+
}
|
|
4014
|
+
.lab-hud-chip-btn:hover {
|
|
4015
|
+
color: var(--lab-fg);
|
|
4016
|
+
}
|
|
4017
|
+
.lab-hud-chip-btn[data-active="true"],
|
|
4018
|
+
.lab-hud-chip-btn.active {
|
|
4019
|
+
background: var(--lab-surface);
|
|
4020
|
+
color: var(--lab-fg);
|
|
4021
|
+
box-shadow: 0 1px 2px color-mix(in oklab, currentColor 8%, transparent);
|
|
4022
|
+
}
|
|
4023
|
+
.lab-hud-drawer {
|
|
4024
|
+
grid-column: 1 / -1;
|
|
4025
|
+
width: 100%;
|
|
4026
|
+
display: grid;
|
|
4027
|
+
grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
|
|
4028
|
+
gap: var(--lab-sp-8);
|
|
4029
|
+
padding: var(--lab-sp-8) var(--lab-sp-10);
|
|
4030
|
+
margin-top: var(--lab-sp-4);
|
|
4031
|
+
border: 1px solid var(--lab-border);
|
|
4032
|
+
border-radius: var(--lab-r-sm, 6px);
|
|
4033
|
+
background: color-mix(in oklab, var(--lab-sunken) 40%, transparent);
|
|
4034
|
+
}
|
|
4035
|
+
.lab-hud-drawer-toggle,
|
|
4036
|
+
.lab-btn.lab-hud-drawer-toggle {
|
|
4037
|
+
margin-left: auto;
|
|
4038
|
+
display: inline-flex;
|
|
4039
|
+
align-items: center;
|
|
4040
|
+
gap: var(--lab-sp-4);
|
|
4041
|
+
font-size: var(--lab-t-eyebrow);
|
|
4042
|
+
font-weight: var(--lab-w-medium, 500);
|
|
4043
|
+
color: var(--muted-foreground, var(--lab-muted));
|
|
4044
|
+
background: color-mix(in oklab, var(--lab-surface) 50%, transparent);
|
|
4045
|
+
border: 1px solid var(--lab-border);
|
|
4046
|
+
border-radius: var(--lab-r-sm, 6px);
|
|
4047
|
+
min-height: var(--lab-target-compact);
|
|
4048
|
+
padding: var(--lab-sp-2) var(--lab-sp-10);
|
|
4049
|
+
cursor: pointer;
|
|
4050
|
+
transition:
|
|
4051
|
+
background var(--lab-dur-fast) var(--lab-ease),
|
|
4052
|
+
color var(--lab-dur-fast) var(--lab-ease),
|
|
4053
|
+
border-color var(--lab-dur-fast) var(--lab-ease);
|
|
4054
|
+
}
|
|
4055
|
+
/* A hover that PAINTS A SURFACE has to sit behind a real pointer. On a touch device the hover
|
|
4056
|
+
state sticks after a tap, so the last control touched stays lit as though it were selected. */
|
|
4057
|
+
@media (hover: hover) and (pointer: fine) {
|
|
4058
|
+
.lab-hud-drawer-toggle:hover,
|
|
4059
|
+
.lab-btn.lab-hud-drawer-toggle:hover {
|
|
4060
|
+
color: var(--lab-fg);
|
|
4061
|
+
background: var(--lab-sunken);
|
|
4062
|
+
border-color: var(--lab-hairline);
|
|
4063
|
+
}
|
|
4064
|
+
}
|
|
4065
|
+
.lab-direct-drag-hint {
|
|
4066
|
+
display: inline-flex;
|
|
4067
|
+
align-items: center;
|
|
4068
|
+
gap: var(--lab-sp-4);
|
|
4069
|
+
font-size: var(--lab-t-micro);
|
|
4070
|
+
text-transform: uppercase;
|
|
4071
|
+
letter-spacing: var(--lab-ls-caps);
|
|
4072
|
+
color: var(--lab-muted);
|
|
4073
|
+
animation: lab-pulse 2s infinite ease-in-out;
|
|
4074
|
+
}
|
|
4075
|
+
@keyframes lab-pulse {
|
|
4076
|
+
0%,
|
|
4077
|
+
100% {
|
|
4078
|
+
opacity: 0.6;
|
|
4079
|
+
}
|
|
4080
|
+
50% {
|
|
4081
|
+
opacity: 1;
|
|
4082
|
+
}
|
|
4083
|
+
}
|