cubing 0.22.0 → 0.24.0-pre2
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 +5 -8
- package/alg/package.json +1 -3
- package/bluetooth/package.json +1 -3
- package/dist/esm/{2x2x2.kpuzzle.json-JOGUSQ4N.js → 2x2x2.kpuzzle.json-U5KOZCMU.js} +11 -11
- package/dist/esm/2x2x2.kpuzzle.json-U5KOZCMU.js.map +7 -0
- package/{src/cubing/search/inside/solve/puzzles/2x2x2.sgs.json.ts → dist/esm/2x2x2.sgs.json-UAYPCQVL.js} +21 -13
- package/dist/esm/2x2x2.sgs.json-UAYPCQVL.js.map +7 -0
- package/dist/esm/{3d-3WQVOHX5.js → 3d-NFF7OGTI.js} +4 -4
- package/dist/esm/{3d-3WQVOHX5.js.map → 3d-NFF7OGTI.js.map} +0 -0
- package/dist/esm/bluetooth/index.d.ts +1 -1
- package/dist/esm/bluetooth/index.js +46 -38
- package/dist/esm/bluetooth/index.js.map +3 -3
- package/dist/esm/chunk-27KJGD3S.js +84 -0
- package/dist/esm/chunk-27KJGD3S.js.map +7 -0
- package/dist/esm/chunk-37EHU3GZ.js +66 -0
- package/dist/esm/chunk-37EHU3GZ.js.map +7 -0
- package/dist/esm/chunk-7OPCF2OL.js +274 -0
- package/dist/esm/chunk-7OPCF2OL.js.map +7 -0
- package/dist/esm/chunk-BJIOROQC.js +18 -0
- package/dist/esm/chunk-BJIOROQC.js.map +7 -0
- package/dist/{bin/puzzle-geometry-bin.js → esm/chunk-J2U2GRS4.js} +104 -1488
- package/dist/esm/chunk-J2U2GRS4.js.map +7 -0
- package/dist/esm/chunk-KCRFOAR4.js +122 -0
- package/dist/esm/chunk-KCRFOAR4.js.map +7 -0
- package/{src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts → dist/esm/chunk-NPK6Z4AU.js} +22 -17
- package/dist/esm/chunk-NPK6Z4AU.js.map +7 -0
- package/dist/esm/chunk-NV5ESXTN.js +505 -0
- package/dist/esm/chunk-NV5ESXTN.js.map +7 -0
- package/dist/esm/{chunk-DLN5QS4V.js → chunk-REMJV2GO.js} +38 -51
- package/dist/esm/chunk-REMJV2GO.js.map +7 -0
- package/dist/esm/chunk-TB4D4E2W.js +226 -0
- package/dist/esm/chunk-TB4D4E2W.js.map +7 -0
- package/dist/esm/chunk-TNRZDNGH.js +822 -0
- package/dist/esm/chunk-TNRZDNGH.js.map +7 -0
- package/{src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts → dist/esm/chunk-YN7E5RGM.js} +36 -24
- package/dist/esm/chunk-YN7E5RGM.js.map +7 -0
- package/dist/esm/{chunk-HXKINJ7U.js → chunk-ZLIK3DZT.js} +79 -57
- package/dist/esm/chunk-ZLIK3DZT.js.map +7 -0
- package/dist/esm/{clock.kpuzzle.json-EKWRMHJM.js → clock.kpuzzle.json-J3YBOI3G.js} +7 -45
- package/dist/esm/clock.kpuzzle.json-J3YBOI3G.js.map +7 -0
- package/dist/esm/entry-PHAJAE4E.js +536 -0
- package/dist/esm/entry-PHAJAE4E.js.map +7 -0
- package/dist/esm/esm-test-worker.js +3 -14
- package/dist/esm/esm-test-worker.js.map +3 -3
- package/dist/esm/fto.sgs.json-VO6HST2V.js +641 -0
- package/dist/esm/fto.sgs.json-VO6HST2V.js.map +7 -0
- package/{src/cubing/search/inside/solve/vendor/min2phase/gwt.js → dist/esm/gwt-B7CBESZR.js} +350 -1380
- package/dist/esm/gwt-B7CBESZR.js.map +7 -0
- package/dist/esm/kpuzzle/index.js +5 -35
- package/dist/esm/megaminx.sgs.json-R3MK4HXM.js +16 -0
- package/dist/esm/megaminx.sgs.json-R3MK4HXM.js.map +7 -0
- package/dist/esm/module-entry-UYTOFYBC.js +18 -0
- package/dist/esm/module-entry-UYTOFYBC.js.map +7 -0
- package/dist/esm/{node-BSAQKO3G.js → node-SP4L2AKI.js} +2 -2
- package/dist/esm/{node-BSAQKO3G.js.map → node-SP4L2AKI.js.map} +1 -1
- package/dist/esm/{node-WEHVBEKP.js → node-W3AD4HBK.js} +3 -2
- package/dist/esm/node-W3AD4HBK.js.map +7 -0
- package/dist/esm/protocol/index.js +2 -1
- package/dist/esm/puzzle-geometry/index.js +15 -4053
- package/dist/esm/puzzle-geometry/index.js.map +3 -3
- package/dist/esm/puzzles/index.js +4 -4
- package/dist/esm/pyraminx.sgs.json-R3J3JHMV.js +14 -0
- package/dist/esm/pyraminx.sgs.json-R3J3JHMV.js.map +7 -0
- package/dist/esm/scramble/index.js +5 -3
- package/{src/cubing/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.ts → dist/esm/scramble_444-F3YANDPO.js} +367 -586
- package/dist/esm/scramble_444-F3YANDPO.js.map +7 -0
- package/{src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js → dist/esm/scramble_sq1-PQ2AYBFW.js} +143 -290
- package/dist/esm/scramble_sq1-PQ2AYBFW.js.map +7 -0
- package/dist/esm/search/index.js +7 -4
- package/dist/esm/skewb.sgs.json-T6CO36WU.js +16 -0
- package/dist/esm/skewb.sgs.json-T6CO36WU.js.map +7 -0
- package/dist/esm/{sq1-hyperorbit.kpuzzle.json-N3FGCPML.js → sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js} +6 -6
- package/dist/esm/sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js.map +7 -0
- package/dist/esm/twisty/index.js +342 -231
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/worker-inside-generated-string-6YDSDSRJ.js +3447 -0
- package/dist/esm/worker-inside-generated-string-6YDSDSRJ.js.map +7 -0
- package/dist/{esm → types}/.DS_Store +0 -0
- package/dist/types/alg/Alg.d.ts +0 -1
- package/dist/types/alg/Alg.spec.d.ts +0 -1
- package/dist/types/alg/AlgBuilder.d.ts +0 -1
- package/dist/types/alg/Serializable.d.ts +0 -1
- package/dist/types/alg/common.d.ts +0 -1
- package/dist/types/alg/debug.d.ts +0 -1
- package/dist/types/alg/example.d.ts +0 -1
- package/dist/types/alg/index.d.ts +0 -1
- package/dist/types/alg/is.d.ts +0 -1
- package/dist/types/alg/iteration.d.ts +0 -1
- package/dist/types/alg/keyboard.d.ts +0 -1
- package/dist/types/alg/limits.d.ts +0 -1
- package/dist/types/alg/operation.d.ts +0 -1
- package/dist/types/alg/operation.spec.d.ts +0 -1
- package/dist/types/alg/parse.d.ts +0 -1
- package/dist/types/alg/parse.spec.d.ts +0 -1
- package/dist/types/alg/test/alg-comparison.d.ts +0 -1
- package/dist/types/alg/test/alg.spec.d.ts +0 -1
- package/dist/types/alg/traversal.d.ts +0 -1
- package/dist/types/alg/units/QuantumWithAmount.d.ts +0 -1
- package/dist/types/alg/units/Unit.d.ts +0 -1
- package/dist/types/alg/units/containers/Commutator.d.ts +0 -1
- package/dist/types/alg/units/containers/Conjugate.d.ts +0 -1
- package/dist/types/alg/units/containers/Grouping.d.ts +0 -1
- package/dist/types/alg/units/index.d.ts +0 -1
- package/dist/types/alg/units/leaves/LineComment.d.ts +0 -1
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts +0 -1
- package/dist/types/alg/units/leaves/Move.d.ts +0 -1
- package/dist/types/alg/units/leaves/Move.spec.d.ts +0 -1
- package/dist/types/alg/units/leaves/Newline.d.ts +0 -1
- package/dist/types/alg/units/leaves/Pause.d.ts +0 -1
- package/dist/types/alg/url.d.ts +0 -1
- package/dist/types/alg/url.spec.d.ts +0 -1
- package/dist/types/alg/validation.d.ts +0 -1
- package/dist/types/alg/warnOnce.d.ts +0 -1
- package/dist/types/bluetooth/connect/index.d.ts +0 -1
- package/dist/types/bluetooth/debug.d.ts +0 -1
- package/dist/types/bluetooth/index.d.ts +0 -1
- package/dist/types/bluetooth/keyboard.d.ts +5 -5
- package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts +3 -3
- package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +3 -5
- package/dist/types/bluetooth/smart-puzzle/connect.d.ts +0 -1
- package/dist/types/bluetooth/smart-puzzle/endianness.d.ts +0 -1
- package/dist/types/bluetooth/smart-puzzle/gan.d.ts +5 -4
- package/dist/types/bluetooth/smart-puzzle/giiker.d.ts +3 -3
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts +0 -1
- package/dist/types/bluetooth/smart-puzzle/gocube.d.ts +0 -1
- package/dist/types/bluetooth/smart-robot/GanRobot.d.ts +0 -1
- package/dist/types/bluetooth/smart-robot/index.d.ts +0 -1
- package/dist/types/bluetooth/smart-timer/GanTimer.d.ts +0 -1
- package/dist/types/bluetooth/smart-timer/index.d.ts +0 -1
- package/dist/types/bluetooth/transformer.d.ts +0 -1
- package/dist/types/cubing.bundle-global.d.ts +0 -1
- package/{src/cubing/cubing.bundle-global.ts → dist/types/cubing.bundle-global.exports.d.ts} +12 -19
- package/dist/types/esm-test-worker.d.ts +0 -1
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts +2 -3
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +0 -1
- package/dist/types/kpuzzle/3x3x3/puzzle-orientation.d.ts +4 -0
- package/dist/types/kpuzzle/KPuzzle.d.ts +25 -0
- package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +20 -0
- package/dist/types/kpuzzle/KState.d.ts +16 -0
- package/dist/types/kpuzzle/KTransformation.d.ts +20 -0
- package/dist/types/kpuzzle/calculate.d.ts +16 -0
- package/dist/types/kpuzzle/combine.d.ts +3 -0
- package/dist/types/kpuzzle/construct.d.ts +5 -0
- package/dist/types/kpuzzle/index.d.ts +6 -10
- package/dist/types/notation/CountAnimatedLeaves.d.ts +0 -1
- package/dist/types/notation/CountMoves.d.ts +0 -1
- package/dist/types/notation/index.d.ts +0 -1
- package/dist/types/protocol/binary/binary3x3x3.d.ts +5 -6
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts +0 -1
- package/dist/types/protocol/binary/hex.d.ts +0 -1
- package/dist/types/protocol/binary/hex.spec.d.ts +0 -1
- package/dist/types/protocol/binary/orbit-indexing.d.ts +0 -1
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts +0 -1
- package/dist/types/protocol/binary/puzzle-orientation.d.ts +4 -5
- package/dist/types/protocol/index.d.ts +0 -1
- package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts +0 -1
- package/dist/types/puzzle-geometry/Options.d.ts +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.d.ts +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +0 -1
- package/dist/types/puzzle-geometry/Perm.d.ts +0 -1
- package/dist/types/puzzle-geometry/PermOriSet.d.ts +4 -5
- package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts +0 -1
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +11 -5
- package/dist/types/puzzle-geometry/Quat.d.ts +0 -1
- package/dist/types/puzzle-geometry/Quat.spec.d.ts +0 -1
- package/dist/types/puzzle-geometry/SchreierSims.d.ts +0 -1
- package/dist/types/puzzle-geometry/index.d.ts +2 -2
- package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts +3 -2
- package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/index.d.ts +0 -1
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts +0 -1
- package/dist/types/puzzles/PuzzleLoader.d.ts +3 -3
- package/dist/types/puzzles/async/async-pg3d.d.ts +3 -3
- package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +2 -0
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts +2 -3
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts +1 -2
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/2x2x2/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/3x3x3/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts +1 -2
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/clock/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/fto/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/megaminx/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/pyraminx/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/square1/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts +1 -2
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/index.d.ts +1 -2
- package/dist/types/puzzles/stickerings/appearance.d.ts +6 -7
- package/dist/types/puzzles/stickerings/cube-stickerings.d.ts +0 -1
- package/dist/types/puzzles/stickerings/fto-stickerings.d.ts +0 -1
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts +0 -1
- package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts +0 -1
- package/dist/types/scramble/index.d.ts +0 -1
- package/dist/types/search/esm-test-worker.d.ts +0 -1
- package/dist/types/search/index.d.ts +0 -1
- package/dist/types/search/inside/api.d.ts +6 -7
- package/dist/types/search/inside/api.spec.d.ts +0 -1
- package/dist/types/search/inside/entry.d.ts +0 -1
- package/dist/types/search/inside/inside-worker.d.ts +0 -1
- package/dist/types/search/inside/module-entry-path-getter.d.ts +1 -0
- package/dist/types/search/inside/module-entry.d.ts +1 -0
- package/dist/types/search/inside/solve/addOrientationSuffix.d.ts +0 -1
- package/dist/types/search/inside/solve/parseSGS.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts +4 -4
- package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +2 -2
- package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/clock.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/fto.d.ts +5 -0
- package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +2 -0
- package/dist/types/search/inside/solve/puzzles/megaminx.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/skewb.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/sq1.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts +0 -1
- package/dist/types/search/inside/solve/tremble.d.ts +6 -6
- package/dist/types/search/instantiator.d.ts +1 -3
- package/dist/types/search/outside.d.ts +6 -7
- package/dist/types/search/worker-inside-generated-string.d.ts +1 -2
- package/dist/types/stream/index.d.ts +0 -1
- package/dist/types/stream/process/ReorientedStream.d.ts +1 -3
- package/dist/types/stream/proxy-event.d.ts +0 -1
- package/dist/types/stream/twizzle/TwizzleStream.d.ts +0 -1
- package/dist/types/stream/twizzle/stream-types.d.ts +0 -1
- package/dist/types/stream/websocket-proxy.d.ts +0 -1
- package/dist/types/twisty/controllers/AnimationTypes.d.ts +2 -3
- package/dist/types/twisty/controllers/RenderScheduler.d.ts +0 -1
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +0 -1
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts +0 -1
- package/dist/types/twisty/controllers/easing.d.ts +0 -1
- package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts +0 -1
- package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts +6 -6
- package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts +7 -7
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +8 -8
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +9 -9
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts +0 -1
- package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts +36 -37
- package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts +7 -7
- package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts +0 -1
- package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts +0 -1
- package/dist/types/twisty/heavy-code-imports/3d.d.ts +0 -1
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts +0 -1
- package/dist/types/twisty/index.d.ts +1 -2
- package/dist/types/twisty/model/PromiseFreshener.d.ts +0 -1
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts +6 -7
- package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts +0 -1
- package/dist/types/twisty/model/helpers.d.ts +0 -1
- package/dist/types/twisty/model/props/TwistyProp.d.ts +0 -1
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts +0 -1
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +0 -1
- package/dist/types/twisty/model/props/general/URLProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +2 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +5 -8
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +5 -7
- package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/{CurrentLeavesProp.d.ts → CurrentMoveInfoProp.d.ts} +2 -3
- package/dist/types/twisty/model/props/puzzle/state/CurrentStateProp.d.ts +14 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +7 -8
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +5 -6
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +2 -3
- package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +6 -2
- package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +4 -5
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/KPuzzleProp.d.ts +10 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +2 -3
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +0 -1
- package/dist/types/twisty/views/2D/KPuzzleSVGWrapper.d.ts +17 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +4 -4
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +0 -1
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +0 -1
- package/dist/types/twisty/views/3D/DragTracker.d.ts +0 -1
- package/dist/types/twisty/views/3D/RendererPool.d.ts +0 -1
- package/dist/types/twisty/views/3D/TAU.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts +0 -1
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts +4 -5
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +5 -6
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +0 -1
- package/dist/types/twisty/views/ClassListManager.d.ts +0 -1
- package/dist/types/twisty/views/ManagedCustomElement.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts +0 -1
- package/dist/types/twisty/views/TwistyPlayer.css.d.ts +0 -1
- package/dist/types/twisty/views/TwistyPlayer.d.ts +0 -1
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +0 -1
- package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts +0 -1
- package/dist/types/twisty/views/canvas.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts +0 -1
- package/dist/types/twisty/views/document.d.ts +0 -1
- package/dist/types/twisty/views/node-custom-element-shims.d.ts +0 -1
- package/dist/types/twisty/views/screenshot.d.ts +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts +0 -1
- package/{src/cubing/search → dist/types}/vendor/comlink-everywhere/inside/index.d.ts +0 -0
- package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/node.d.ts +0 -1
- package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -1
- package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/node.d.ts +0 -1
- package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.d.ts +0 -1
- package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.d.ts +1 -2
- package/dist/types/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -1
- package/dist/types/vendor/p-lazy/p-lazy.d.ts +0 -1
- package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/get-random-values.d.ts +0 -1
- package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/index.d.ts +1 -2
- package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.d.ts +0 -1
- package/dist/types/{search/inside/solve/vendor/random-uint-below/random-int.d.ts → vendor/random-uint-below/random53BitValue.d.ts} +0 -1
- package/dist/types/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.d.ts +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +0 -1
- package/dist/types/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.d.ts +0 -1
- package/kpuzzle/package.json +1 -3
- package/notation/package.json +1 -3
- package/package.json +11 -17
- package/protocol/package.json +1 -3
- package/puzzle-geometry/package.json +1 -3
- package/puzzles/package.json +1 -3
- package/scramble/package.json +1 -3
- package/search/package.json +1 -3
- package/stream/package.json +1 -3
- package/twisty/package.json +1 -3
- package/alg/index.d.ts +0 -1
- package/bluetooth/index.d.ts +0 -1
- package/dist/.DS_Store +0 -0
- package/dist/bin/puzzle-geometry-bin.js.map +0 -7
- package/dist/bundle-global/cubing.bundle-global.js +0 -7419
- package/dist/esm/2x2x2.kpuzzle.json-JOGUSQ4N.js.map +0 -7
- package/dist/esm/chunk-7KI3I3Y7.js +0 -1379
- package/dist/esm/chunk-7KI3I3Y7.js.map +0 -7
- package/dist/esm/chunk-DLN5QS4V.js.map +0 -7
- package/dist/esm/chunk-HXKINJ7U.js.map +0 -7
- package/dist/esm/chunk-X6JHXPDX.js +0 -2359
- package/dist/esm/chunk-X6JHXPDX.js.map +0 -7
- package/dist/esm/clock.kpuzzle.json-EKWRMHJM.js.map +0 -7
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/node-WEHVBEKP.js.map +0 -7
- package/dist/esm/sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-ZA6E6672.js +0 -2831
- package/dist/esm/worker-inside-generated-string-ZA6E6672.js.map +0 -7
- package/dist/types/alg/Alg.d.ts.map +0 -1
- package/dist/types/alg/Alg.spec.d.ts.map +0 -1
- package/dist/types/alg/AlgBuilder.d.ts.map +0 -1
- package/dist/types/alg/Serializable.d.ts.map +0 -1
- package/dist/types/alg/common.d.ts.map +0 -1
- package/dist/types/alg/debug.d.ts.map +0 -1
- package/dist/types/alg/example.d.ts.map +0 -1
- package/dist/types/alg/index.d.ts.map +0 -1
- package/dist/types/alg/is.d.ts.map +0 -1
- package/dist/types/alg/iteration.d.ts.map +0 -1
- package/dist/types/alg/keyboard.d.ts.map +0 -1
- package/dist/types/alg/limits.d.ts.map +0 -1
- package/dist/types/alg/operation.d.ts.map +0 -1
- package/dist/types/alg/operation.spec.d.ts.map +0 -1
- package/dist/types/alg/parse.d.ts.map +0 -1
- package/dist/types/alg/parse.spec.d.ts.map +0 -1
- package/dist/types/alg/test/alg-comparison.d.ts.map +0 -1
- package/dist/types/alg/test/alg.spec.d.ts.map +0 -1
- package/dist/types/alg/traversal.d.ts.map +0 -1
- package/dist/types/alg/units/QuantumWithAmount.d.ts.map +0 -1
- package/dist/types/alg/units/Unit.d.ts.map +0 -1
- package/dist/types/alg/units/containers/Commutator.d.ts.map +0 -1
- package/dist/types/alg/units/containers/Conjugate.d.ts.map +0 -1
- package/dist/types/alg/units/containers/Grouping.d.ts.map +0 -1
- package/dist/types/alg/units/index.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/LineComment.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Move.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Move.spec.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Newline.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Pause.d.ts.map +0 -1
- package/dist/types/alg/url.d.ts.map +0 -1
- package/dist/types/alg/url.spec.d.ts.map +0 -1
- package/dist/types/alg/validation.d.ts.map +0 -1
- package/dist/types/alg/warnOnce.d.ts.map +0 -1
- package/dist/types/bluetooth/connect/index.d.ts.map +0 -1
- package/dist/types/bluetooth/debug.d.ts.map +0 -1
- package/dist/types/bluetooth/index.d.ts.map +0 -1
- package/dist/types/bluetooth/keyboard.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/connect.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/endianness.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/giiker.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/gocube.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/unsafe-raw-aes.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-robot/GanRobot.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-robot/index.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-timer/GanTimer.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-timer/index.d.ts.map +0 -1
- package/dist/types/bluetooth/transformer.d.ts.map +0 -1
- package/dist/types/cubing.bundle-global.d.ts.map +0 -1
- package/dist/types/esm-test-worker.d.ts.map +0 -1
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/canon.spec.d.ts +0 -2
- package/dist/types/kpuzzle/canon.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/canonicalize.d.ts +0 -55
- package/dist/types/kpuzzle/canonicalize.d.ts.map +0 -1
- package/dist/types/kpuzzle/definition_types.d.ts +0 -19
- package/dist/types/kpuzzle/definition_types.d.ts.map +0 -1
- package/dist/types/kpuzzle/index.d.ts.map +0 -1
- package/dist/types/kpuzzle/kpuzzle.d.ts +0 -17
- package/dist/types/kpuzzle/kpuzzle.d.ts.map +0 -1
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts +0 -2
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/move_notation.d.ts +0 -6
- package/dist/types/kpuzzle/move_notation.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/index.d.ts +0 -2
- package/dist/types/kpuzzle/parser/index.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/parser-peggy.d.ts +0 -15
- package/dist/types/kpuzzle/parser/parser-peggy.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/parser-shim.d.ts +0 -4
- package/dist/types/kpuzzle/parser/parser-shim.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/parser.d.ts +0 -1
- package/dist/types/kpuzzle/parser/parser.d.ts.map +0 -1
- package/dist/types/kpuzzle/prunetable.spec.d.ts +0 -2
- package/dist/types/kpuzzle/prunetable.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/pruningtable.d.ts +0 -16
- package/dist/types/kpuzzle/pruningtable.d.ts.map +0 -1
- package/dist/types/kpuzzle/puzzle-orientation.d.ts +0 -5
- package/dist/types/kpuzzle/puzzle-orientation.d.ts.map +0 -1
- package/dist/types/kpuzzle/svg.d.ts +0 -18
- package/dist/types/kpuzzle/svg.d.ts.map +0 -1
- package/dist/types/kpuzzle/transformations.d.ts +0 -13
- package/dist/types/kpuzzle/transformations.d.ts.map +0 -1
- package/dist/types/kpuzzle/transformations.spec.d.ts +0 -2
- package/dist/types/kpuzzle/transformations.spec.d.ts.map +0 -1
- package/dist/types/notation/CountAnimatedLeaves.d.ts.map +0 -1
- package/dist/types/notation/CountMoves.d.ts.map +0 -1
- package/dist/types/notation/index.d.ts.map +0 -1
- package/dist/types/protocol/binary/binary3x3x3.d.ts.map +0 -1
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts.map +0 -1
- package/dist/types/protocol/binary/hex.d.ts.map +0 -1
- package/dist/types/protocol/binary/hex.spec.d.ts.map +0 -1
- package/dist/types/protocol/binary/orbit-indexing.d.ts.map +0 -1
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts.map +0 -1
- package/dist/types/protocol/binary/puzzle-orientation.d.ts.map +0 -1
- package/dist/types/protocol/index.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Options.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Perm.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PermOriSet.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Quat.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Quat.spec.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/SchreierSims.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/index.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/interfaces.d.ts +0 -6
- package/dist/types/puzzle-geometry/interfaces.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/index.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts.map +0 -1
- package/dist/types/puzzles/PuzzleLoader.d.ts.map +0 -1
- package/dist/types/puzzles/async/async-pg3d.d.ts.map +0 -1
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/2x2x2/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/fto/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/megaminx/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/index.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/appearance.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/fto-stickerings.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts.map +0 -1
- package/dist/types/scramble/index.d.ts.map +0 -1
- package/dist/types/search/esm-test-worker.d.ts.map +0 -1
- package/dist/types/search/index.d.ts.map +0 -1
- package/dist/types/search/inside/api.d.ts.map +0 -1
- package/dist/types/search/inside/api.spec.d.ts.map +0 -1
- package/dist/types/search/inside/entry.d.ts.map +0 -1
- package/dist/types/search/inside/inside-worker.d.ts.map +0 -1
- package/dist/types/search/inside/solve/addOrientationSuffix.d.ts.map +0 -1
- package/dist/types/search/inside/solve/parseSGS.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/clock.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/megaminx.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/skewb.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/sq1.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts.map +0 -1
- package/dist/types/search/inside/solve/tremble.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/index.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/random-choice.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/random-int.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
- package/dist/types/search/instantiator.d.ts.map +0 -1
- package/dist/types/search/outside.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/inside/index.d.ts +0 -2
- package/dist/types/search/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
- package/dist/types/search/worker-inside-generated-string.d.ts.map +0 -1
- package/dist/types/stream/index.d.ts.map +0 -1
- package/dist/types/stream/process/ReorientedStream.d.ts.map +0 -1
- package/dist/types/stream/proxy-event.d.ts.map +0 -1
- package/dist/types/stream/twizzle/TwizzleStream.d.ts.map +0 -1
- package/dist/types/stream/twizzle/stream-types.d.ts.map +0 -1
- package/dist/types/stream/websocket-proxy.d.ts.map +0 -1
- package/dist/types/twisty/controllers/AnimationTypes.d.ts.map +0 -1
- package/dist/types/twisty/controllers/RenderScheduler.d.ts.map +0 -1
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +0 -1
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts.map +0 -1
- package/dist/types/twisty/controllers/easing.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +0 -1
- package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +0 -1
- package/dist/types/twisty/heavy-code-imports/3d.d.ts.map +0 -1
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +0 -1
- package/dist/types/twisty/index.d.ts.map +0 -1
- package/dist/types/twisty/model/PromiseFreshener.d.ts.map +0 -1
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +0 -1
- package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts.map +0 -1
- package/dist/types/twisty/model/helpers.d.ts.map +0 -1
- package/dist/types/twisty/model/props/TwistyProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +0 -1
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +0 -1
- package/dist/types/twisty/model/props/general/URLProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +0 -15
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +0 -11
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/DragTracker.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/RendererPool.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TAU.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DScene.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts +0 -48
- package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +0 -1
- package/dist/types/twisty/views/ClassListManager.d.ts.map +0 -1
- package/dist/types/twisty/views/ManagedCustomElement.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyPlayer.css.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyPlayer.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts.map +0 -1
- package/dist/types/twisty/views/canvas.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts.map +0 -1
- package/dist/types/twisty/views/document.d.ts.map +0 -1
- package/dist/types/twisty/views/node-custom-element-shims.d.ts.map +0 -1
- package/dist/types/twisty/views/screenshot.d.ts.map +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts.map +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts.map +0 -1
- package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +0 -1
- package/docs/.DS_Store +0 -0
- package/docs/CNAME +0 -1
- package/docs/cubing/.DS_Store +0 -0
- package/docs/cubing/alg/index.html +0 -174
- package/docs/cubing/api/index.html +0 -158
- package/docs/cubing/index.html +0 -151
- package/docs/cubing/scramble/index.html +0 -138
- package/docs/cubing/twisty/index.html +0 -329
- package/docs/favicon.ico +0 -0
- package/docs/index.html +0 -20
- package/docs/main.css +0 -192
- package/kpuzzle/index.d.ts +0 -1
- package/notation/index.d.ts +0 -1
- package/protocol/index.d.ts +0 -1
- package/puzzle-geometry/index.d.ts +0 -1
- package/puzzles/index.d.ts +0 -1
- package/scramble/index.d.ts +0 -1
- package/search/index.d.ts +0 -1
- package/src/cubing/.DS_Store +0 -0
- package/src/cubing/alg/Alg.spec.ts +0 -10
- package/src/cubing/alg/Alg.ts +0 -290
- package/src/cubing/alg/AlgBuilder.ts +0 -33
- package/src/cubing/alg/Serializable.ts +0 -29
- package/src/cubing/alg/common.ts +0 -59
- package/src/cubing/alg/debug.ts +0 -27
- package/src/cubing/alg/example.ts +0 -152
- package/src/cubing/alg/index.ts +0 -21
- package/src/cubing/alg/is.ts +0 -38
- package/src/cubing/alg/iteration.ts +0 -45
- package/src/cubing/alg/keyboard.ts +0 -48
- package/src/cubing/alg/limits.ts +0 -4
- package/src/cubing/alg/operation.spec.ts +0 -48
- package/src/cubing/alg/operation.ts +0 -36
- package/src/cubing/alg/parse.spec.ts +0 -75
- package/src/cubing/alg/parse.ts +0 -408
- package/src/cubing/alg/test/alg-comparison.ts +0 -23
- package/src/cubing/alg/test/alg.spec.ts +0 -348
- package/src/cubing/alg/traversal.ts +0 -284
- package/src/cubing/alg/units/QuantumWithAmount.ts +0 -55
- package/src/cubing/alg/units/Unit.ts +0 -11
- package/src/cubing/alg/units/containers/Commutator.ts +0 -85
- package/src/cubing/alg/units/containers/Conjugate.ts +0 -53
- package/src/cubing/alg/units/containers/Grouping.ts +0 -116
- package/src/cubing/alg/units/index.ts +0 -8
- package/src/cubing/alg/units/leaves/LineComment.spec.ts +0 -35
- package/src/cubing/alg/units/leaves/LineComment.ts +0 -48
- package/src/cubing/alg/units/leaves/Move.spec.ts +0 -15
- package/src/cubing/alg/units/leaves/Move.ts +0 -265
- package/src/cubing/alg/units/leaves/Newline.ts +0 -24
- package/src/cubing/alg/units/leaves/Pause.ts +0 -24
- package/src/cubing/alg/url.spec.ts +0 -10
- package/src/cubing/alg/url.ts +0 -133
- package/src/cubing/alg/validation.ts +0 -62
- package/src/cubing/alg/warnOnce.ts +0 -7
- package/src/cubing/bluetooth/connect/index.ts +0 -93
- package/src/cubing/bluetooth/debug.ts +0 -18
- package/src/cubing/bluetooth/docs/gan-robot.md +0 -60
- package/src/cubing/bluetooth/docs/gan356i.md +0 -309
- package/src/cubing/bluetooth/index.ts +0 -19
- package/src/cubing/bluetooth/keyboard.ts +0 -55
- package/src/cubing/bluetooth/smart-puzzle/Heykube.ts +0 -165
- package/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.ts +0 -95
- package/src/cubing/bluetooth/smart-puzzle/connect.ts +0 -19
- package/src/cubing/bluetooth/smart-puzzle/endianness.ts +0 -15
- package/src/cubing/bluetooth/smart-puzzle/gan.ts +0 -481
- package/src/cubing/bluetooth/smart-puzzle/giiker.spec.ts +0 -28
- package/src/cubing/bluetooth/smart-puzzle/giiker.ts +0 -277
- package/src/cubing/bluetooth/smart-puzzle/gocube.ts +0 -167
- package/src/cubing/bluetooth/smart-puzzle/unsafe-raw-aes.ts +0 -66
- package/src/cubing/bluetooth/smart-robot/GanRobot.ts +0 -311
- package/src/cubing/bluetooth/smart-robot/index.ts +0 -13
- package/src/cubing/bluetooth/smart-timer/GanTimer.ts +0 -141
- package/src/cubing/bluetooth/smart-timer/index.ts +0 -13
- package/src/cubing/bluetooth/transformer.ts +0 -74
- package/src/cubing/esm-test-worker.js +0 -5
- package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.ts +0 -40
- package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts +0 -339
- package/src/cubing/kpuzzle/canon.spec.ts +0 -48
- package/src/cubing/kpuzzle/canonicalize.ts +0 -325
- package/src/cubing/kpuzzle/definition_types.ts +0 -23
- package/src/cubing/kpuzzle/index.ts +0 -33
- package/src/cubing/kpuzzle/kpuzzle.spec.ts +0 -12
- package/src/cubing/kpuzzle/kpuzzle.ts +0 -124
- package/src/cubing/kpuzzle/move_notation.ts +0 -9
- package/src/cubing/kpuzzle/parser/index.ts +0 -1
- package/src/cubing/kpuzzle/parser/parser-peggy.js +0 -1221
- package/src/cubing/kpuzzle/parser/parser-peggy.peggy +0 -72
- package/src/cubing/kpuzzle/parser/parser-shim.ts +0 -11
- package/src/cubing/kpuzzle/parser/parser.js +0 -0
- package/src/cubing/kpuzzle/prunetable.spec.ts +0 -19
- package/src/cubing/kpuzzle/pruningtable.ts +0 -99
- package/src/cubing/kpuzzle/puzzle-orientation.ts +0 -34
- package/src/cubing/kpuzzle/svg.ts +0 -290
- package/src/cubing/kpuzzle/transformations.spec.ts +0 -75
- package/src/cubing/kpuzzle/transformations.ts +0 -258
- package/src/cubing/notation/CountAnimatedLeaves.ts +0 -56
- package/src/cubing/notation/CountMoves.ts +0 -89
- package/src/cubing/notation/index.ts +0 -4
- package/src/cubing/protocol/binary/binary3x3x3.spec.ts +0 -143
- package/src/cubing/protocol/binary/binary3x3x3.ts +0 -226
- package/src/cubing/protocol/binary/hex.spec.ts +0 -17
- package/src/cubing/protocol/binary/hex.ts +0 -12
- package/src/cubing/protocol/binary/orbit-indexing.spec.ts +0 -49
- package/src/cubing/protocol/binary/orbit-indexing.ts +0 -68
- package/src/cubing/protocol/binary/puzzle-orientation.ts +0 -69
- package/src/cubing/protocol/index.ts +0 -12
- package/src/cubing/puzzle-geometry/FaceNameSwizzler.ts +0 -148
- package/src/cubing/puzzle-geometry/Options.ts +0 -179
- package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +0 -127
- package/src/cubing/puzzle-geometry/PGPuzzles.ts +0 -80
- package/src/cubing/puzzle-geometry/Perm.ts +0 -154
- package/src/cubing/puzzle-geometry/PermOriSet.ts +0 -765
- package/src/cubing/puzzle-geometry/PlatonicGenerator.ts +0 -146
- package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +0 -3009
- package/src/cubing/puzzle-geometry/Quat.spec.ts +0 -10
- package/src/cubing/puzzle-geometry/Quat.ts +0 -325
- package/src/cubing/puzzle-geometry/SchreierSims.ts +0 -144
- package/src/cubing/puzzle-geometry/index.ts +0 -17
- package/src/cubing/puzzle-geometry/interfaces.ts +0 -6
- package/src/cubing/puzzle-geometry/notation-mapping/FTONotationMapper.ts +0 -38
- package/src/cubing/puzzle-geometry/notation-mapping/FaceRenamingMapper.ts +0 -59
- package/src/cubing/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.ts +0 -50
- package/src/cubing/puzzle-geometry/notation-mapping/NotationMapper.ts +0 -6
- package/src/cubing/puzzle-geometry/notation-mapping/NullMapper.ts +0 -12
- package/src/cubing/puzzle-geometry/notation-mapping/NxNxNCubeMapper.ts +0 -77
- package/src/cubing/puzzle-geometry/notation-mapping/PyraminxNotationMapper.ts +0 -121
- package/src/cubing/puzzle-geometry/notation-mapping/SkewbNotationMapper.ts +0 -103
- package/src/cubing/puzzle-geometry/notation-mapping/index.ts +0 -13
- package/src/cubing/puzzle-geometry/orientcenters.spec.ts +0 -55
- package/src/cubing/puzzles/PuzzleLoader.ts +0 -20
- package/src/cubing/puzzles/async/async-pg3d.ts +0 -73
- package/src/cubing/puzzles/customPGPuzzleLoader.ts +0 -60
- package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.ts +0 -92
- package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.ts +0 -45
- package/src/cubing/puzzles/implementations/2x2x2/index.ts +0 -25
- package/src/cubing/puzzles/implementations/2x2x2/svg/2x2x2.kpuzzle.svg +0 -45
- package/src/cubing/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.ts +0 -108
- package/src/cubing/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.ts +0 -128
- package/src/cubing/puzzles/implementations/3x3x3/index.ts +0 -33
- package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3-ll.kpuzzle.svg +0 -108
- package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3.kpuzzle.svg +0 -128
- package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.original.svg +0 -128
- package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.outlined.svg +0 -486
- package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.spaced.svg +0 -128
- package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.json.ts +0 -241
- package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.svg.ts +0 -369
- package/src/cubing/puzzles/implementations/clock/index.ts +0 -14
- package/src/cubing/puzzles/implementations/clock/src/clock.kpuzzle.svg +0 -369
- package/src/cubing/puzzles/implementations/fto/index.ts +0 -28
- package/src/cubing/puzzles/implementations/megaminx/index.ts +0 -20
- package/src/cubing/puzzles/implementations/pyraminx/index.ts +0 -18
- package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.ts +0 -84
- package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.ts +0 -88
- package/src/cubing/puzzles/implementations/pyraminx/src/pyraminx.kpuzzle.svg +0 -87
- package/src/cubing/puzzles/implementations/square1/index.ts +0 -14
- package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.ts +0 -62
- package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.ts +0 -295
- package/src/cubing/puzzles/implementations/square1/src/sq1-hyperorbit.kpuzzle.svg +0 -295
- package/src/cubing/puzzles/implementations/square1/src/sq1-simple.svg +0 -60
- package/src/cubing/puzzles/index.ts +0 -92
- package/src/cubing/puzzles/stickerings/appearance.ts +0 -292
- package/src/cubing/puzzles/stickerings/cube-stickerings.ts +0 -286
- package/src/cubing/puzzles/stickerings/fto-stickerings.ts +0 -105
- package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +0 -61
- package/src/cubing/puzzles/stickerings/megaminx-stickerings.ts +0 -26
- package/src/cubing/scramble/index.ts +0 -1
- package/src/cubing/search/.gitignore +0 -1
- package/src/cubing/search/esm-test-worker.js +0 -14
- package/src/cubing/search/index.ts +0 -12
- package/src/cubing/search/inside/api.spec.ts +0 -37
- package/src/cubing/search/inside/api.ts +0 -171
- package/src/cubing/search/inside/entry.js +0 -4
- package/src/cubing/search/inside/inside-worker.ts +0 -13
- package/src/cubing/search/inside/solve/addOrientationSuffix.ts +0 -17
- package/src/cubing/search/inside/solve/parseSGS.ts +0 -119
- package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +0 -92
- package/src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts +0 -137
- package/src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts +0 -60
- package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +0 -57
- package/src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts +0 -291
- package/src/cubing/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.ts +0 -272
- package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +0 -16
- package/src/cubing/search/inside/solve/puzzles/5x5x5.ts +0 -12
- package/src/cubing/search/inside/solve/puzzles/FTO.sgs +0 -264
- package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +0 -78
- package/src/cubing/search/inside/solve/puzzles/clock.ts +0 -48
- package/src/cubing/search/inside/solve/puzzles/megaminx.ts +0 -51
- package/src/cubing/search/inside/solve/puzzles/pyraminx.ts +0 -48
- package/src/cubing/search/inside/solve/puzzles/sgs-defs.spec.ts +0 -27
- package/src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts +0 -113
- package/src/cubing/search/inside/solve/puzzles/skewb.ts +0 -65
- package/src/cubing/search/inside/solve/puzzles/sq1.ts +0 -6
- package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +0 -32
- package/src/cubing/search/inside/solve/tremble.ts +0 -212
- package/src/cubing/search/inside/solve/vendor/cstimer/LICENSE +0 -674
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.ts +0 -54
- package/src/cubing/search/inside/solve/vendor/min2phase/gwt.d.ts +0 -2
- package/src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts +0 -38
- package/src/cubing/search/inside/solve/vendor/random-uint-below/index.ts +0 -12
- package/src/cubing/search/inside/solve/vendor/random-uint-below/random-choice.ts +0 -9
- package/src/cubing/search/inside/solve/vendor/random-uint-below/random-int.ts +0 -64
- package/src/cubing/search/instantiator.ts +0 -60
- package/src/cubing/search/outside.ts +0 -110
- package/src/cubing/search/vendor/comlink-everywhere/comlink-everywhere.webloc +0 -8
- package/src/cubing/search/vendor/comlink-everywhere/inside/index.js +0 -16
- package/src/cubing/search/vendor/comlink-everywhere/inside/node.js +0 -6
- package/src/cubing/search/vendor/comlink-everywhere/outside/index.d.ts +0 -6
- package/src/cubing/search/vendor/comlink-everywhere/outside/index.js +0 -31
- package/src/cubing/search/vendor/comlink-everywhere/outside/node.js +0 -41
- package/src/cubing/search/worker-inside-generated-string.js +0 -1
- package/src/cubing/stream/index.ts +0 -12
- package/src/cubing/stream/process/ReorientedStream.ts +0 -93
- package/src/cubing/stream/proxy-event.ts +0 -16
- package/src/cubing/stream/twizzle/TwizzleStream.ts +0 -53
- package/src/cubing/stream/twizzle/stream-types.ts +0 -45
- package/src/cubing/stream/websocket-proxy.ts +0 -73
- package/src/cubing/twisty/.DS_Store +0 -0
- package/src/cubing/twisty/controllers/.DS_Store +0 -0
- package/src/cubing/twisty/controllers/AnimationTypes.ts +0 -50
- package/src/cubing/twisty/controllers/RenderScheduler.ts +0 -28
- package/src/cubing/twisty/controllers/TwistyAnimationController.ts +0 -325
- package/src/cubing/twisty/controllers/TwistyPlayerController.ts +0 -38
- package/src/cubing/twisty/controllers/animation/.DS_Store +0 -0
- package/src/cubing/twisty/controllers/easing.ts +0 -3
- package/src/cubing/twisty/controllers/indexer/.DS_Store +0 -0
- package/src/cubing/twisty/controllers/indexer/AlgDuration.ts +0 -94
- package/src/cubing/twisty/controllers/indexer/AlgIndexer.ts +0 -87
- package/src/cubing/twisty/controllers/indexer/SimpleAlgIndexer.ts +0 -76
- package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +0 -181
- package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +0 -243
- package/src/cubing/twisty/controllers/indexer/simultaneous-moves/simul-moves.ts +0 -193
- package/src/cubing/twisty/controllers/indexer/tree/AlgWalker.ts +0 -439
- package/src/cubing/twisty/controllers/indexer/tree/TreeAlgIndexer.ts +0 -97
- package/src/cubing/twisty/controllers/indexer/tree/chunkAlgs.ts +0 -81
- package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -59
- package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.ts +0 -162
- package/src/cubing/twisty/heavy-code-imports/.DS_Store +0 -0
- package/src/cubing/twisty/heavy-code-imports/3d.ts +0 -18
- package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +0 -31
- package/src/cubing/twisty/index.ts +0 -24
- package/src/cubing/twisty/model/.DS_Store +0 -0
- package/src/cubing/twisty/model/PromiseFreshener.ts +0 -49
- package/src/cubing/twisty/model/TwistyPlayerModel.ts +0 -254
- package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +0 -22
- package/src/cubing/twisty/model/helpers.ts +0 -47
- package/src/cubing/twisty/model/props/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/TwistyProp.spec.ts +0 -38
- package/src/cubing/twisty/model/props/TwistyProp.ts +0 -366
- package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +0 -370
- package/src/cubing/twisty/model/props/general/URLProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.ts +0 -9
- package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +0 -15
- package/src/cubing/twisty/model/props/puzzle/display/SpriteProp.ts +0 -43
- package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +0 -54
- package/src/cubing/twisty/model/props/puzzle/state/AlgProp.ts +0 -91
- package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +0 -28
- package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +0 -44
- package/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.ts +0 -17
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +0 -109
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +0 -48
- package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +0 -46
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +0 -53
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.ts +0 -15
- package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +0 -24
- package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +0 -22
- package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +0 -9
- package/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.ts +0 -20
- package/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts +0 -28
- package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDefProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +0 -12
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +0 -36
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +0 -38
- package/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.ts +0 -45
- package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +0 -78
- package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +0 -48
- package/src/cubing/twisty/model/props/timeline/TempoScaleProp.ts +0 -13
- package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +0 -38
- package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +0 -16
- package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +0 -15
- package/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.ts +0 -86
- package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +0 -14
- package/src/cubing/twisty/model/props/viewer/LatitudeLimit.ts +0 -11
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +0 -127
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +0 -69
- package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +0 -15
- package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +0 -14
- package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +0 -17
- package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +0 -45
- package/src/cubing/twisty/old/.DS_Store +0 -0
- package/src/cubing/twisty/old/animation/.DS_Store +0 -0
- package/src/cubing/twisty/old/dom/.DS_Store +0 -0
- package/src/cubing/twisty/views/.DS_Store +0 -0
- package/src/cubing/twisty/views/2D/Twisty2DPuzzle.css.ts +0 -26
- package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +0 -146
- package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +0 -52
- package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +0 -77
- package/src/cubing/twisty/views/3D/.DS_Store +0 -0
- package/src/cubing/twisty/views/3D/DragTracker.ts +0 -184
- package/src/cubing/twisty/views/3D/RendererPool.ts +0 -54
- package/src/cubing/twisty/views/3D/TAU.ts +0 -2
- package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +0 -214
- package/src/cubing/twisty/views/3D/Twisty3DRenderTarget.ts +0 -5
- package/src/cubing/twisty/views/3D/Twisty3DScene.ts +0 -42
- package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +0 -189
- package/src/cubing/twisty/views/3D/Twisty3DVantage.css.ts +0 -32
- package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +0 -312
- package/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.ts +0 -213
- package/src/cubing/twisty/views/3D/TwistyOrbitControls.ts +0 -176
- package/src/cubing/twisty/views/3D/puzzles/Cube3D.ts +0 -966
- package/src/cubing/twisty/views/3D/puzzles/KPuzzleWrapper.ts +0 -142
- package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +0 -1078
- package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +0 -6
- package/src/cubing/twisty/views/ClassListManager.ts +0 -34
- package/src/cubing/twisty/views/ManagedCustomElement.ts +0 -76
- package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +0 -116
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.ts +0 -72
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.ts +0 -57
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +0 -368
- package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +0 -179
- package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +0 -25
- package/src/cubing/twisty/views/TwistyAlgViewer.ts +0 -502
- package/src/cubing/twisty/views/TwistyPlayer.css.ts +0 -73
- package/src/cubing/twisty/views/TwistyPlayer.ts +0 -362
- package/src/cubing/twisty/views/TwistyPlayerSettable.ts +0 -115
- package/src/cubing/twisty/views/TwistyViewerWrapper.css.ts +0 -41
- package/src/cubing/twisty/views/canvas.ts +0 -9
- package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.css.ts +0 -127
- package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +0 -156
- package/src/cubing/twisty/views/control-panel/TwistyScrubber.css.ts +0 -48
- package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +0 -145
- package/src/cubing/twisty/views/control-panel/webkit-fullscreen.ts +0 -44
- package/src/cubing/twisty/views/document.ts +0 -4
- package/src/cubing/twisty/views/node-custom-element-shims.ts +0 -30
- package/src/cubing/twisty/views/screenshot.ts +0 -90
- package/src/cubing/twisty/views/stream/TwistyStreamSource.css.ts +0 -17
- package/src/cubing/twisty/views/stream/TwistyStreamSource.ts +0 -155
- package/src/cubing/vendor/p-lazy/license +0 -9
- package/src/cubing/vendor/p-lazy/p-lazy.ts +0 -52
- package/src/cubing/vendor/p-lazy/readme.md +0 -54
- package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +0 -179
- package/stream/index.d.ts +0 -1
- package/twisty/index.d.ts +0 -1
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BoundaryType,
|
|
3
|
-
Direction,
|
|
4
|
-
directionScalar,
|
|
5
|
-
MillisecondTimestamp,
|
|
6
|
-
TimeRange,
|
|
7
|
-
} from "./AnimationTypes";
|
|
8
|
-
import { RenderScheduler } from "./RenderScheduler";
|
|
9
|
-
import type {
|
|
10
|
-
PlayingInfo,
|
|
11
|
-
SimpleDirection,
|
|
12
|
-
} from "../model/props/timeline/PlayingInfoProp";
|
|
13
|
-
import type { TwistyPlayerModel } from "../model/TwistyPlayerModel";
|
|
14
|
-
import { StaleDropper } from "../model/PromiseFreshener";
|
|
15
|
-
import type { CurrentMoveInfo } from "./indexer/AlgIndexer";
|
|
16
|
-
import type { TimestampRequest } from "../model/props/timeline/TimestampRequestProp";
|
|
17
|
-
import { modIntoRange } from "../model/helpers";
|
|
18
|
-
import type { CatchUpMove } from "../model/props/puzzle/state/CatchUpMoveProp";
|
|
19
|
-
|
|
20
|
-
// TODO: Figure out a better way for the controller to instruct the player.
|
|
21
|
-
export interface TwistyAnimationControllerDelegate {
|
|
22
|
-
flash(): void;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// We use a separate helper to separate the anim frame callbacks (and their cancellations).
|
|
26
|
-
// TODO: fold this into the main controller
|
|
27
|
-
class CatchUpHelper {
|
|
28
|
-
catchingUp: boolean = false;
|
|
29
|
-
pendingFrame = false;
|
|
30
|
-
|
|
31
|
-
constructor(private model: TwistyPlayerModel) {}
|
|
32
|
-
|
|
33
|
-
private scheduler: RenderScheduler = new RenderScheduler(
|
|
34
|
-
this.animFrame.bind(this),
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
start(): void {
|
|
38
|
-
if (!this.catchingUp) {
|
|
39
|
-
this.lastTimestamp = performance.now();
|
|
40
|
-
}
|
|
41
|
-
this.catchingUp = true;
|
|
42
|
-
this.pendingFrame = true;
|
|
43
|
-
this.scheduler.requestAnimFrame();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
stop(): void {
|
|
47
|
-
this.catchingUp = false;
|
|
48
|
-
this.scheduler.cancelAnimFrame();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
catchUpMs = 500;
|
|
52
|
-
lastTimestamp = 0;
|
|
53
|
-
animFrame(timestamp: MillisecondTimestamp): void {
|
|
54
|
-
this.scheduler.requestAnimFrame();
|
|
55
|
-
const delta = (timestamp - this.lastTimestamp) / this.catchUpMs;
|
|
56
|
-
this.lastTimestamp = timestamp;
|
|
57
|
-
|
|
58
|
-
this.model.catchUpMoveProp.set(
|
|
59
|
-
(async () => {
|
|
60
|
-
const previousCatchUpMove = await this.model.catchUpMoveProp.get();
|
|
61
|
-
if (previousCatchUpMove.move === null) {
|
|
62
|
-
return previousCatchUpMove;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const amount = previousCatchUpMove.amount + delta; // TODO: use tempo scale?
|
|
66
|
-
if (amount >= 1) {
|
|
67
|
-
this.pendingFrame = true;
|
|
68
|
-
this.stop();
|
|
69
|
-
this.model.timestampRequestProp.set("end");
|
|
70
|
-
return {
|
|
71
|
-
move: null,
|
|
72
|
-
amount: 0,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
this.pendingFrame = false;
|
|
76
|
-
return {
|
|
77
|
-
move: previousCatchUpMove.move,
|
|
78
|
-
amount: amount,
|
|
79
|
-
};
|
|
80
|
-
})(),
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// This controls the logic for animation, so that the main controller can focus on the right API abstractions.
|
|
86
|
-
export class TwistyAnimationController {
|
|
87
|
-
// TODO: #private?
|
|
88
|
-
private playing: boolean = false;
|
|
89
|
-
private direction: Direction = Direction.Forwards;
|
|
90
|
-
|
|
91
|
-
private catchUpHelper: CatchUpHelper;
|
|
92
|
-
|
|
93
|
-
private model: TwistyPlayerModel;
|
|
94
|
-
|
|
95
|
-
private lastDatestamp: MillisecondTimestamp = 0;
|
|
96
|
-
private lastTimestampPromise: Promise<MillisecondTimestamp>;
|
|
97
|
-
|
|
98
|
-
private scheduler: RenderScheduler = new RenderScheduler(
|
|
99
|
-
this.animFrame.bind(this),
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
constructor(
|
|
103
|
-
model: TwistyPlayerModel,
|
|
104
|
-
private delegate: TwistyAnimationControllerDelegate,
|
|
105
|
-
) {
|
|
106
|
-
this.model = model;
|
|
107
|
-
this.lastTimestampPromise = this.#effectiveTimestampMilliseconds();
|
|
108
|
-
|
|
109
|
-
this.model.playingInfoProp.addFreshListener(this.onPlayingProp.bind(this)); // TODO
|
|
110
|
-
|
|
111
|
-
this.catchUpHelper = new CatchUpHelper(this.model);
|
|
112
|
-
this.model.catchUpMoveProp.addFreshListener(
|
|
113
|
-
this.onCatchUpMoveProp.bind(this),
|
|
114
|
-
); // TODO
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// TODO: Do we need this?
|
|
118
|
-
async onPlayingProp(playingInfo: PlayingInfo): Promise<void> {
|
|
119
|
-
if (playingInfo.playing !== this.playing) {
|
|
120
|
-
playingInfo.playing ? this.play(playingInfo) : this.pause();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// TODO: Do we need this?
|
|
125
|
-
async onCatchUpMoveProp(catchUpMove: CatchUpMove): Promise<void> {
|
|
126
|
-
const catchingUp = catchUpMove.move !== null;
|
|
127
|
-
if (catchingUp !== this.catchUpHelper.catchingUp) {
|
|
128
|
-
catchingUp ? this.catchUpHelper.start() : this.catchUpHelper.stop();
|
|
129
|
-
}
|
|
130
|
-
this.scheduler.requestAnimFrame();
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
async #effectiveTimestampMilliseconds(): Promise<MillisecondTimestamp> {
|
|
134
|
-
return (await this.model.detailedTimelineInfoProp.get()).timestamp;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// TODO: Return the animation we've switched to.
|
|
138
|
-
jumpToStart(options?: { flash: boolean }): void {
|
|
139
|
-
this.model.timestampRequestProp.set("start");
|
|
140
|
-
this.pause();
|
|
141
|
-
if (options?.flash) {
|
|
142
|
-
this.delegate.flash();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// TODO: Return the animation we've switched to.
|
|
147
|
-
jumpToEnd(options?: { flash: boolean }): void {
|
|
148
|
-
this.model.timestampRequestProp.set("end");
|
|
149
|
-
this.pause();
|
|
150
|
-
if (options?.flash) {
|
|
151
|
-
this.delegate.flash();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// TODO: Return the playing info we've switched to.
|
|
156
|
-
playPause(): void {
|
|
157
|
-
if (this.playing) {
|
|
158
|
-
this.pause();
|
|
159
|
-
} else {
|
|
160
|
-
this.play(); // TODO: Resume direction and looping behaviour?
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// TODO: bundle playing direction, and boundary into `toggle`.
|
|
165
|
-
async play(options?: {
|
|
166
|
-
direction?: SimpleDirection;
|
|
167
|
-
untilBoundary?: BoundaryType;
|
|
168
|
-
autoSkipToOtherEndIfStartingAtBoundary?: boolean; // TODO What's a good short name that doesn't imply a more general looping concept?
|
|
169
|
-
loop?: boolean;
|
|
170
|
-
}): Promise<void> {
|
|
171
|
-
// TODO: We might need to cache all playing info?
|
|
172
|
-
// Or maybe we don't have to worry about short-circuiting, since this is idempotent?
|
|
173
|
-
// if (this.playing) {
|
|
174
|
-
// return;
|
|
175
|
-
// }
|
|
176
|
-
|
|
177
|
-
const direction = options?.direction ?? Direction.Forwards;
|
|
178
|
-
|
|
179
|
-
const coarseTimelineInfo = await this.model.coarseTimelineInfoProp.get(); // TODO: Why do we need to read this if we don't use it?
|
|
180
|
-
if (options?.autoSkipToOtherEndIfStartingAtBoundary ?? true) {
|
|
181
|
-
if (direction === Direction.Forwards && coarseTimelineInfo.atEnd) {
|
|
182
|
-
this.model.timestampRequestProp.set("start");
|
|
183
|
-
this.delegate.flash();
|
|
184
|
-
}
|
|
185
|
-
if (direction === Direction.Backwards && coarseTimelineInfo.atStart) {
|
|
186
|
-
this.model.timestampRequestProp.set("end");
|
|
187
|
-
this.delegate.flash();
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
this.model.playingInfoProp.set({
|
|
191
|
-
playing: true,
|
|
192
|
-
direction,
|
|
193
|
-
untilBoundary: options?.untilBoundary ?? BoundaryType.EntireTimeline,
|
|
194
|
-
loop: options?.loop ?? false,
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
this.playing = true;
|
|
198
|
-
this.lastDatestamp = performance.now(); // TODO: Take from event.
|
|
199
|
-
this.lastTimestampPromise = this.#effectiveTimestampMilliseconds();
|
|
200
|
-
|
|
201
|
-
// TODO: Save timestamp from model?
|
|
202
|
-
this.scheduler.requestAnimFrame();
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
pause(): void {
|
|
206
|
-
this.playing = false;
|
|
207
|
-
this.scheduler.cancelAnimFrame();
|
|
208
|
-
this.model.playingInfoProp.set({
|
|
209
|
-
playing: false,
|
|
210
|
-
untilBoundary: BoundaryType.EntireTimeline,
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
#animFrameEffectiveTimestampStaleDropper: StaleDropper<
|
|
215
|
-
[PlayingInfo, MillisecondTimestamp, TimeRange, number, CurrentMoveInfo]
|
|
216
|
-
> = new StaleDropper<
|
|
217
|
-
[PlayingInfo, MillisecondTimestamp, TimeRange, number, CurrentMoveInfo]
|
|
218
|
-
>();
|
|
219
|
-
|
|
220
|
-
async animFrame(frameDatestamp: MillisecondTimestamp): Promise<void> {
|
|
221
|
-
if (this.playing) {
|
|
222
|
-
this.scheduler.requestAnimFrame();
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
const lastDatestamp = this.lastDatestamp;
|
|
226
|
-
const freshenerResult =
|
|
227
|
-
await this.#animFrameEffectiveTimestampStaleDropper.queue(
|
|
228
|
-
Promise.all([
|
|
229
|
-
this.model.playingInfoProp.get(),
|
|
230
|
-
this.lastTimestampPromise,
|
|
231
|
-
this.model.timeRangeProp.get(),
|
|
232
|
-
this.model.tempoScaleProp.get(),
|
|
233
|
-
this.model.currentLeavesProp.get(),
|
|
234
|
-
]),
|
|
235
|
-
);
|
|
236
|
-
|
|
237
|
-
const [playingInfo, lastTimestamp, timeRange, tempoScale, currentMoveInfo] =
|
|
238
|
-
freshenerResult;
|
|
239
|
-
|
|
240
|
-
// TODO: Get this without wasting time on the others?
|
|
241
|
-
if (!playingInfo.playing) {
|
|
242
|
-
this.playing = false;
|
|
243
|
-
// TODO: Ideally we'd cancel the anim frame from the top of this method.
|
|
244
|
-
// But `this.scheduler.cancelAnimFrame();` might accidentally cancel a
|
|
245
|
-
// legit freshly scheduled frame. We should modify `RenderScheduler` to
|
|
246
|
-
// either have individually cancellable requests, or to have something
|
|
247
|
-
// like a "default" anim frame re-request that can be canceled separately.
|
|
248
|
-
//
|
|
249
|
-
// Note that we can't wait until here to call
|
|
250
|
-
// `this.scheduler.requestAnimFrame();`, because that would slow down the
|
|
251
|
-
// frame rate.
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
let end = currentMoveInfo.earliestEnd; // timeRange.end
|
|
256
|
-
if (
|
|
257
|
-
currentMoveInfo.currentMoves.length === 0 ||
|
|
258
|
-
playingInfo.untilBoundary === BoundaryType.EntireTimeline
|
|
259
|
-
) {
|
|
260
|
-
end = timeRange.end;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
let start = currentMoveInfo.latestStart; // timeRange.end
|
|
264
|
-
if (
|
|
265
|
-
currentMoveInfo.currentMoves.length === 0 ||
|
|
266
|
-
playingInfo.untilBoundary === BoundaryType.EntireTimeline
|
|
267
|
-
) {
|
|
268
|
-
start = timeRange.start;
|
|
269
|
-
}
|
|
270
|
-
// const start = currentMoveInfo.latestStart; // timeRange.start // TODO
|
|
271
|
-
|
|
272
|
-
let delta =
|
|
273
|
-
(frameDatestamp - lastDatestamp) *
|
|
274
|
-
directionScalar(this.direction) *
|
|
275
|
-
tempoScale;
|
|
276
|
-
delta = Math.max(delta, 1); // TODO: This guards against the timestamp going in the wrong direction by accident. Can we avoid it?
|
|
277
|
-
delta *= playingInfo.direction;
|
|
278
|
-
let newTimestamp = lastTimestamp + delta; // TODO: Pre-emptively clamp.
|
|
279
|
-
let newSmartTimestampRequest: Exclude<TimestampRequest, number> | null =
|
|
280
|
-
null;
|
|
281
|
-
|
|
282
|
-
if (newTimestamp >= end) {
|
|
283
|
-
if (playingInfo.loop) {
|
|
284
|
-
newTimestamp = modIntoRange(
|
|
285
|
-
newTimestamp,
|
|
286
|
-
timeRange.start,
|
|
287
|
-
timeRange.end,
|
|
288
|
-
);
|
|
289
|
-
} else {
|
|
290
|
-
if (newTimestamp === timeRange.end) {
|
|
291
|
-
newSmartTimestampRequest = "end";
|
|
292
|
-
} else {
|
|
293
|
-
newTimestamp = end;
|
|
294
|
-
}
|
|
295
|
-
this.playing = false;
|
|
296
|
-
this.model.playingInfoProp.set({
|
|
297
|
-
playing: false,
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
} else if (newTimestamp <= start) {
|
|
301
|
-
if (playingInfo.loop) {
|
|
302
|
-
newTimestamp = modIntoRange(
|
|
303
|
-
newTimestamp,
|
|
304
|
-
timeRange.start,
|
|
305
|
-
timeRange.end,
|
|
306
|
-
);
|
|
307
|
-
} else {
|
|
308
|
-
if (newTimestamp === timeRange.start) {
|
|
309
|
-
newSmartTimestampRequest = "start";
|
|
310
|
-
} else {
|
|
311
|
-
newTimestamp = start;
|
|
312
|
-
}
|
|
313
|
-
this.playing = false;
|
|
314
|
-
this.model.playingInfoProp.set({
|
|
315
|
-
playing: false,
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
this.lastDatestamp = frameDatestamp;
|
|
320
|
-
this.lastTimestampPromise = Promise.resolve(newTimestamp); // TODO: Save this earlier? / Do we need to worry about the effecitve timestamp disagreeing?
|
|
321
|
-
this.model.timestampRequestProp.set(
|
|
322
|
-
newSmartTimestampRequest ?? newTimestamp,
|
|
323
|
-
);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { TwistyPlayerModel } from "../model/TwistyPlayerModel";
|
|
2
|
-
import {
|
|
3
|
-
TwistyAnimationController,
|
|
4
|
-
TwistyAnimationControllerDelegate,
|
|
5
|
-
} from "./TwistyAnimationController";
|
|
6
|
-
|
|
7
|
-
export class TwistyPlayerController {
|
|
8
|
-
animationController: TwistyAnimationController;
|
|
9
|
-
|
|
10
|
-
constructor(
|
|
11
|
-
private model: TwistyPlayerModel,
|
|
12
|
-
delegate: TwistyAnimationControllerDelegate,
|
|
13
|
-
) {
|
|
14
|
-
this.animationController = new TwistyAnimationController(model, delegate);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
jumpToStart(options?: { flash: boolean }): void {
|
|
18
|
-
this.animationController.jumpToStart(options);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
jumpToEnd(options?: { flash: boolean }): void {
|
|
22
|
-
this.animationController.jumpToEnd(options);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
togglePlay(play?: boolean) {
|
|
26
|
-
if (typeof play === "undefined") {
|
|
27
|
-
this.animationController.playPause();
|
|
28
|
-
}
|
|
29
|
-
play ? this.animationController.play() : this.animationController.pause();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public async visitTwizzleLink(): Promise<void> {
|
|
33
|
-
const a = document.createElement("a");
|
|
34
|
-
a.href = await this.model.twizzleLink();
|
|
35
|
-
a.target = "_blank";
|
|
36
|
-
a.click();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Alg,
|
|
3
|
-
Grouping,
|
|
4
|
-
LineComment,
|
|
5
|
-
Commutator,
|
|
6
|
-
Conjugate,
|
|
7
|
-
Move,
|
|
8
|
-
Newline,
|
|
9
|
-
Pause,
|
|
10
|
-
TraversalUp,
|
|
11
|
-
} from "../../../alg";
|
|
12
|
-
import type { Duration } from "../AnimationTypes";
|
|
13
|
-
|
|
14
|
-
export function constantDurationForAmount(_amount: number): Duration {
|
|
15
|
-
return 1000;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function defaultDurationForAmount(amount: number): Duration {
|
|
19
|
-
switch (Math.abs(amount)) {
|
|
20
|
-
case 0:
|
|
21
|
-
return 0;
|
|
22
|
-
case 1:
|
|
23
|
-
return 1000;
|
|
24
|
-
case 2:
|
|
25
|
-
return 1500;
|
|
26
|
-
default:
|
|
27
|
-
return 2000;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// eslint-disable-next-line no-inner-declarations
|
|
31
|
-
export function ExperimentalScaledDefaultDurationForAmount(
|
|
32
|
-
scale: number,
|
|
33
|
-
amount: number,
|
|
34
|
-
): Duration {
|
|
35
|
-
switch (Math.abs(amount)) {
|
|
36
|
-
case 0:
|
|
37
|
-
return 0;
|
|
38
|
-
case 1:
|
|
39
|
-
return scale * 1000;
|
|
40
|
-
case 2:
|
|
41
|
-
return scale * 1500;
|
|
42
|
-
default:
|
|
43
|
-
return scale * 2000;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export class AlgDuration extends TraversalUp<Duration> {
|
|
48
|
-
// TODO: Pass durationForAmount as Down type instead?
|
|
49
|
-
constructor(
|
|
50
|
-
public durationForAmount: (
|
|
51
|
-
amount: number,
|
|
52
|
-
) => Duration = defaultDurationForAmount,
|
|
53
|
-
) {
|
|
54
|
-
super();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
public traverseAlg(alg: Alg): Duration {
|
|
58
|
-
let total = 0;
|
|
59
|
-
for (const unit of alg.units()) {
|
|
60
|
-
total += this.traverseUnit(unit);
|
|
61
|
-
}
|
|
62
|
-
return total;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
public traverseGrouping(grouping: Grouping): Duration {
|
|
66
|
-
return grouping.amount * this.traverseAlg(grouping.alg);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
public traverseMove(move: Move): Duration {
|
|
70
|
-
return this.durationForAmount(move.amount);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
public traverseCommutator(commutator: Commutator): Duration {
|
|
74
|
-
return (
|
|
75
|
-
2 * (this.traverseAlg(commutator.A) + this.traverseAlg(commutator.B))
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
public traverseConjugate(conjugate: Conjugate): Duration {
|
|
80
|
-
return 2 * this.traverseAlg(conjugate.A) + this.traverseAlg(conjugate.B);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
public traversePause(_pause: Pause): Duration {
|
|
84
|
-
return this.durationForAmount(1);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
public traverseNewline(_newline: Newline): Duration {
|
|
88
|
-
return this.durationForAmount(1);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
public traverseLineComment(_comment: LineComment): Duration {
|
|
92
|
-
return this.durationForAmount(0);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import type { Move } from "../../../alg/units";
|
|
2
|
-
import { arrayEqualsCompare } from "../../model/helpers";
|
|
3
|
-
import type {
|
|
4
|
-
PuzzleWrapper,
|
|
5
|
-
State,
|
|
6
|
-
} from "../../views/3D/puzzles/KPuzzleWrapper";
|
|
7
|
-
import type {
|
|
8
|
-
Direction,
|
|
9
|
-
Duration,
|
|
10
|
-
MillisecondTimestamp,
|
|
11
|
-
PuzzlePosition,
|
|
12
|
-
Timestamp,
|
|
13
|
-
} from "../AnimationTypes";
|
|
14
|
-
import type { AnimatedLeafUnit } from "./simultaneous-moves/simul-moves";
|
|
15
|
-
|
|
16
|
-
export interface CurrentMove {
|
|
17
|
-
move: Move;
|
|
18
|
-
direction: Direction; // TODO: `animationDirection`?
|
|
19
|
-
fraction: number; // TODO: Figure out how to separate this field to make this whole object easier to cache?
|
|
20
|
-
startTimestamp: MillisecondTimestamp;
|
|
21
|
-
endTimestamp: MillisecondTimestamp;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function currentMoveEquals(cm1: CurrentMove, cm2: CurrentMove): boolean {
|
|
25
|
-
return (
|
|
26
|
-
cm1 === cm2 ||
|
|
27
|
-
(cm1.move.isIdentical(cm2.move) &&
|
|
28
|
-
cm1.direction === cm2.direction &&
|
|
29
|
-
cm1.fraction === cm2.fraction &&
|
|
30
|
-
cm1.startTimestamp === cm2.startTimestamp &&
|
|
31
|
-
cm1.endTimestamp === cm2.endTimestamp)
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function currentMoveArrayEquals(
|
|
36
|
-
cma1: CurrentMove[],
|
|
37
|
-
cma2: CurrentMove[],
|
|
38
|
-
): boolean {
|
|
39
|
-
return arrayEqualsCompare(cma1, cma2, currentMoveEquals);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface CurrentMoveInfo {
|
|
43
|
-
stateIndex: number;
|
|
44
|
-
// Note: some moves may not be part of the alg!
|
|
45
|
-
currentMoves: CurrentMove[];
|
|
46
|
-
// Moves that are reaching a fraction of 1 at this exact timestamp.
|
|
47
|
-
movesFinishing: CurrentMove[];
|
|
48
|
-
// Moves that are reached a fraction of 1 in the past, but are needed to
|
|
49
|
-
// handle simultaneous move animation (e.g. because a move that started
|
|
50
|
-
// earlier is still not done).
|
|
51
|
-
movesFinished: CurrentMove[];
|
|
52
|
-
movesStarting: CurrentMove[];
|
|
53
|
-
latestStart: number;
|
|
54
|
-
earliestEnd: number;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// TODO: Write tests fore this before using.
|
|
58
|
-
export function currentMoveInfoEquals(
|
|
59
|
-
c1: CurrentMoveInfo,
|
|
60
|
-
c2: CurrentMoveInfo,
|
|
61
|
-
): boolean {
|
|
62
|
-
const eq =
|
|
63
|
-
c1 === c2 ||
|
|
64
|
-
(c1.stateIndex === c2.stateIndex &&
|
|
65
|
-
currentMoveArrayEquals(c1.currentMoves, c2.currentMoves) &&
|
|
66
|
-
currentMoveArrayEquals(c1.movesFinishing, c2.movesFinishing) &&
|
|
67
|
-
currentMoveArrayEquals(c1.movesStarting, c2.movesStarting) &&
|
|
68
|
-
c1.latestStart === c2.latestStart &&
|
|
69
|
-
c2.earliestEnd === c2.earliestEnd);
|
|
70
|
-
return eq;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface AlgIndexer<P extends PuzzleWrapper> {
|
|
74
|
-
getAnimLeaf(index: number): AnimatedLeafUnit | null;
|
|
75
|
-
indexToMoveStartTimestamp(index: number): Timestamp;
|
|
76
|
-
stateAtIndex(index: number, startTransformation?: State<P>): State<P>;
|
|
77
|
-
transformAtIndex(index: number): State<P>;
|
|
78
|
-
numAnimatedLeaves(): number;
|
|
79
|
-
timestampToIndex(timestamp: Timestamp): number;
|
|
80
|
-
algDuration(): Duration;
|
|
81
|
-
moveDuration(index: number): number;
|
|
82
|
-
timestampToPosition?: (
|
|
83
|
-
timestamp: Timestamp,
|
|
84
|
-
startTransformation?: State<P>,
|
|
85
|
-
) => PuzzlePosition;
|
|
86
|
-
currentMoveInfo?: (timestamp: Timestamp) => CurrentMoveInfo;
|
|
87
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Alg, Move, TraversalUp } from "../../../alg";
|
|
2
|
-
import { countAnimatedLeaves } from "../../../notation";
|
|
3
|
-
import type {
|
|
4
|
-
PuzzleWrapper,
|
|
5
|
-
State,
|
|
6
|
-
} from "../../views/3D/puzzles/KPuzzleWrapper";
|
|
7
|
-
import type { Duration, Timestamp } from "../AnimationTypes";
|
|
8
|
-
import { AlgDuration, defaultDurationForAmount } from "./AlgDuration";
|
|
9
|
-
import type { AlgIndexer } from "./AlgIndexer";
|
|
10
|
-
|
|
11
|
-
export class SimpleAlgIndexer<P extends PuzzleWrapper>
|
|
12
|
-
implements AlgIndexer<P>
|
|
13
|
-
{
|
|
14
|
-
private moves: Alg;
|
|
15
|
-
// TODO: Allow custom `durationFn`.
|
|
16
|
-
private durationFn: TraversalUp<Duration> = new AlgDuration(
|
|
17
|
-
defaultDurationForAmount,
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
constructor(private puzzle: P, alg: Alg) {
|
|
21
|
-
// TODO: Avoid assuming all base moves are block moves.
|
|
22
|
-
this.moves = new Alg(alg.experimentalExpand());
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
public getAnimLeaf(index: number): Move {
|
|
26
|
-
return Array.from(this.moves.units())[index] as Move; // TODO: perf
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
public indexToMoveStartTimestamp(index: number): Timestamp {
|
|
30
|
-
const alg = new Alg(Array.from(this.moves.units()).slice(0, index)); // TODO
|
|
31
|
-
return this.durationFn.traverseAlg(alg);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
public timestampToIndex(timestamp: Timestamp): number {
|
|
35
|
-
let cumulativeTime = 0;
|
|
36
|
-
let i;
|
|
37
|
-
for (i = 0; i < this.numAnimatedLeaves(); i++) {
|
|
38
|
-
cumulativeTime += this.durationFn.traverseMove(this.getAnimLeaf(i));
|
|
39
|
-
if (cumulativeTime >= timestamp) {
|
|
40
|
-
return i;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return i;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
public stateAtIndex(index: number): State<P> {
|
|
47
|
-
return this.puzzle.combine(
|
|
48
|
-
this.puzzle.startState(),
|
|
49
|
-
this.transformAtIndex(index),
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
public transformAtIndex(index: number): State<P> {
|
|
54
|
-
let state = this.puzzle.identity();
|
|
55
|
-
for (const move of Array.from(this.moves.units()).slice(0, index)) {
|
|
56
|
-
state = this.puzzle.combine(
|
|
57
|
-
state,
|
|
58
|
-
this.puzzle.stateFromMove(move as Move),
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
return state;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
public algDuration(): Duration {
|
|
65
|
-
return this.durationFn.traverseAlg(this.moves);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public numAnimatedLeaves(): number {
|
|
69
|
-
// TODO: Cache internally once performance matters.
|
|
70
|
-
return countAnimatedLeaves(this.moves);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
public moveDuration(index: number): number {
|
|
74
|
-
return this.durationFn.traverseMove(this.getAnimLeaf(index));
|
|
75
|
-
}
|
|
76
|
-
}
|