cubing 0.23.0 → 0.24.0-pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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/dist/esm/{2x2x2.sgs.json-FRBWMMA7.js → 2x2x2.sgs.json-VLYEQLNB.js} +5 -5
- package/dist/esm/2x2x2.sgs.json-VLYEQLNB.js.map +7 -0
- package/dist/esm/{3d-Q4WSD4BC.js → 3d-KAC5GXA4.js} +4 -4
- package/dist/esm/{3d-Q4WSD4BC.js.map → 3d-KAC5GXA4.js.map} +0 -0
- package/dist/esm/bluetooth/index.js +39 -33
- package/dist/esm/bluetooth/index.js.map +2 -2
- package/dist/esm/{chunk-FK2SCC3Z.js → chunk-23FEDDYH.js} +33 -27
- package/dist/esm/chunk-23FEDDYH.js.map +7 -0
- package/dist/esm/{chunk-DK6PXBB2.js → chunk-25PPOENI.js} +66 -56
- package/dist/esm/chunk-25PPOENI.js.map +7 -0
- package/dist/esm/{chunk-XVZOMB6J.js → chunk-27KJGD3S.js} +15 -20
- package/dist/esm/chunk-27KJGD3S.js.map +7 -0
- package/dist/esm/{chunk-DPMEZY7V.js → chunk-DBWASN5Q.js} +19 -10
- package/dist/esm/chunk-DBWASN5Q.js.map +7 -0
- package/dist/esm/{chunk-PUPUQWJC.js → chunk-J2U2GRS4.js} +27 -32
- package/dist/esm/chunk-J2U2GRS4.js.map +7 -0
- package/dist/esm/{chunk-Z6X7HTPP.js → chunk-MQYHOXEK.js} +4 -4
- package/dist/esm/{chunk-Z6X7HTPP.js.map → chunk-MQYHOXEK.js.map} +2 -2
- package/dist/esm/chunk-PMAQZQHL.js +810 -0
- package/dist/esm/chunk-PMAQZQHL.js.map +7 -0
- package/dist/esm/{chunk-N3RNWU5T.js → chunk-PQKDEV4Z.js} +36 -51
- package/dist/esm/chunk-PQKDEV4Z.js.map +7 -0
- package/dist/esm/{chunk-JZWB7AIU.js → chunk-PYOHTUEC.js} +17 -10
- package/dist/esm/chunk-PYOHTUEC.js.map +7 -0
- package/dist/esm/chunk-W6AA6TVR.js +274 -0
- package/dist/esm/chunk-W6AA6TVR.js.map +7 -0
- package/dist/esm/{chunk-MLOCDLUF.js → chunk-YLKDBBMW.js} +13 -13
- package/dist/esm/{chunk-MLOCDLUF.js.map → chunk-YLKDBBMW.js.map} +2 -2
- 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-L6CE2HLF.js → entry-ZLEDRTCM.js} +172 -167
- package/dist/esm/entry-ZLEDRTCM.js.map +7 -0
- package/dist/esm/{fto.sgs.json-62YNULOK.js → fto.sgs.json-PUAEKD7W.js} +6 -14
- package/dist/esm/fto.sgs.json-PUAEKD7W.js.map +7 -0
- package/dist/esm/kpuzzle/index.js +5 -35
- package/dist/esm/megaminx.sgs.json-DPQBIFB6.js +16 -0
- package/dist/esm/{megaminx.sgs.json-PRL46G5J.js.map → megaminx.sgs.json-DPQBIFB6.js.map} +0 -0
- package/dist/esm/{module-entry-J2N3UZP7.js → module-entry-UAGINHYL.js} +2 -2
- package/dist/esm/{module-entry-J2N3UZP7.js.map → module-entry-UAGINHYL.js.map} +0 -0
- package/dist/esm/protocol/index.js +2 -1
- package/dist/esm/puzzle-geometry/index.js +3 -1
- package/dist/esm/puzzles/index.js +4 -4
- package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js → pyraminx.sgs.json-5UKE76QP.js} +5 -5
- package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js.map → pyraminx.sgs.json-5UKE76QP.js.map} +0 -0
- package/dist/esm/scramble/index.js +4 -4
- package/dist/esm/{scramble_444-JP3CWLJM.js → scramble_444-ZNWCGUX5.js} +4 -4
- package/dist/esm/{scramble_444-JP3CWLJM.js.map → scramble_444-ZNWCGUX5.js.map} +0 -0
- package/dist/esm/search/index.js +4 -4
- package/dist/esm/skewb.sgs.json-O2CG5ALM.js +16 -0
- package/dist/esm/{skewb.sgs.json-FWHYACJG.js.map → skewb.sgs.json-O2CG5ALM.js.map} +0 -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 +334 -227
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/worker-inside-generated-string-K4KJGMPV.js +3447 -0
- package/dist/esm/worker-inside-generated-string-K4KJGMPV.js.map +7 -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/dist/types/cubing.bundle-global.exports.d.ts +0 -1
- 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 +21 -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 +9 -3
- 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 +1 -1
- 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 +0 -1
- package/dist/types/search/inside/module-entry.d.ts +0 -1
- 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 +0 -1
- 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 +2 -3
- package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +0 -3
- 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 +0 -1
- 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 +0 -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 +0 -1
- 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/dist/types/vendor/comlink-everywhere/inside/index.d.ts +0 -1
- package/dist/types/vendor/comlink-everywhere/inside/node.d.ts +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/index.d.ts +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/node.d.ts +0 -1
- package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts +0 -1
- package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts +0 -1
- package/dist/types/vendor/min2phase/gwt.d.ts +0 -1
- package/dist/types/vendor/p-lazy/p-lazy.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/get-random-values.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/index.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/random-choice.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/random53BitValue.d.ts +0 -1
- package/dist/types/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/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts +0 -1
- package/package.json +3 -4
- package/dist/bin/order.js +0 -16675
- package/dist/bin/order.js.map +0 -7
- package/dist/bin/puzzle-geometry-bin.js +0 -5444
- package/dist/bin/puzzle-geometry-bin.js.map +0 -7
- package/dist/bundle-global/cubing.bundle-global.js +0 -10432
- package/dist/esm/2x2x2.kpuzzle.json-JOGUSQ4N.js.map +0 -7
- package/dist/esm/2x2x2.sgs.json-FRBWMMA7.js.map +0 -7
- package/dist/esm/chunk-DK6PXBB2.js.map +0 -7
- package/dist/esm/chunk-DPMEZY7V.js.map +0 -7
- package/dist/esm/chunk-FK2SCC3Z.js.map +0 -7
- package/dist/esm/chunk-JZWB7AIU.js.map +0 -7
- package/dist/esm/chunk-N3RNWU5T.js.map +0 -7
- package/dist/esm/chunk-PUPUQWJC.js.map +0 -7
- package/dist/esm/chunk-X6JHXPDX.js +0 -2359
- package/dist/esm/chunk-X6JHXPDX.js.map +0 -7
- package/dist/esm/chunk-XVZOMB6J.js.map +0 -7
- package/dist/esm/clock.kpuzzle.json-EKWRMHJM.js.map +0 -7
- package/dist/esm/entry-L6CE2HLF.js.map +0 -7
- package/dist/esm/fto.sgs.json-62YNULOK.js.map +0 -7
- package/dist/esm/megaminx.sgs.json-PRL46G5J.js +0 -16
- package/dist/esm/skewb.sgs.json-FWHYACJG.js +0 -16
- package/dist/esm/sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js +0 -3450
- package/dist/esm/worker-inside-generated-string-OWJA5IIQ.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-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/cubing.bundle-global.exports.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/module-entry-path-getter.d.ts.map +0 -1
- package/dist/types/search/inside/module-entry.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/fto.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/fto.sgs.json.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/instantiator.d.ts.map +0 -1
- package/dist/types/search/outside.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/comlink-everywhere/inside/index.d.ts.map +0 -1
- package/dist/types/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
- package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
- package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
- package/dist/types/vendor/min2phase/gwt.d.ts.map +0 -1
- package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/index.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/random-choice.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/random53BitValue.d.ts.map +0 -1
- package/dist/types/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +0 -1
- package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.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 -191
- 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 -193
- 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 -484
- 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-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/cubing.bundle-global.exports.ts +0 -25
- package/src/cubing/cubing.bundle-global.ts +0 -7
- 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 -3013
- 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 -304
- 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/.DS_Store +0 -0
- 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/.DS_Store +0 -0
- package/src/cubing/search/inside/api.spec.ts +0 -37
- package/src/cubing/search/inside/api.ts +0 -174
- package/src/cubing/search/inside/entry.js +0 -4
- package/src/cubing/search/inside/inside-worker.ts +0 -13
- package/src/cubing/search/inside/module-entry-path-getter.ts +0 -5
- package/src/cubing/search/inside/module-entry.ts +0 -20
- 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.sgs.json.ts +0 -114
- 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 -67
- 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 -30
- package/src/cubing/search/inside/solve/puzzles/5x5x5.ts +0 -12
- 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/fto.sgs.json.ts +0 -643
- package/src/cubing/search/inside/solve/puzzles/fto.ts +0 -58
- package/src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts +0 -1549
- package/src/cubing/search/inside/solve/puzzles/megaminx.ts +0 -51
- package/src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts +0 -98
- 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 -16
- package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +0 -32
- package/src/cubing/search/inside/solve/tremble.ts +0 -213
- package/src/cubing/search/instantiator.ts +0 -95
- package/src/cubing/search/outside.ts +0 -110
- 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/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/easing.ts +0 -3
- 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/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/PromiseFreshener.ts +0 -49
- package/src/cubing/twisty/model/TwistyPlayerModel.ts +0 -256
- package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +0 -22
- package/src/cubing/twisty/model/helpers.ts +0 -47
- 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/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 -56
- 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 -14
- 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/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/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/.DS_Store +0 -0
- package/src/cubing/vendor/comlink-everywhere/.DS_Store +0 -0
- package/src/cubing/vendor/comlink-everywhere/comlink-everywhere.webloc +0 -8
- package/src/cubing/vendor/comlink-everywhere/inside/index.d.ts +0 -1
- package/src/cubing/vendor/comlink-everywhere/inside/index.js +0 -16
- package/src/cubing/vendor/comlink-everywhere/inside/node.js +0 -6
- package/src/cubing/vendor/comlink-everywhere/outside/index.d.ts +0 -6
- package/src/cubing/vendor/comlink-everywhere/outside/index.js +0 -31
- package/src/cubing/vendor/comlink-everywhere/outside/node.js +0 -42
- package/src/cubing/vendor/cstimer/.DS_Store +0 -0
- package/src/cubing/vendor/cstimer/LICENSE +0 -674
- package/src/cubing/vendor/cstimer/src/.DS_Store +0 -0
- package/src/cubing/vendor/cstimer/src/js/lib/mathlib.ts +0 -54
- package/src/cubing/vendor/cstimer/src/js/scramble/scramble_444.ts +0 -2791
- package/src/cubing/vendor/min2phase/gwt.d.ts +0 -2
- package/src/cubing/vendor/min2phase/gwt.js +0 -2699
- 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/random-uint-below/get-random-values.ts +0 -23
- package/src/cubing/vendor/random-uint-below/index.ts +0 -12
- package/src/cubing/vendor/random-uint-below/random-choice.ts +0 -9
- package/src/cubing/vendor/random-uint-below/random53BitValue.ts +0 -64
- package/src/cubing/vendor/sq12phase/scramble_sq1.js +0 -853
- package/src/cubing/vendor/three/.DS_Store +0 -0
- package/src/cubing/vendor/three/examples/.DS_Store +0 -0
- package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +0 -179
- package/src/cubing/vendor/unsafe-raw-aes/unsafe-raw-aes.ts +0 -64
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
import { Alg } from "../Alg";
|
|
2
|
-
import { setAlgPartTypeMismatchReportingLevel } from "../debug";
|
|
3
|
-
import { Example as Ex } from "../example";
|
|
4
|
-
import { Commutator, Grouping, Move, QuantumMove, Pause } from "../units";
|
|
5
|
-
import "./alg-comparison";
|
|
6
|
-
|
|
7
|
-
setAlgPartTypeMismatchReportingLevel("error");
|
|
8
|
-
|
|
9
|
-
const UU = new Alg([new Move("U", 1), new Move("U", 1)]);
|
|
10
|
-
const U2 = new Alg([new Move("U", 2)]);
|
|
11
|
-
|
|
12
|
-
describe("Alg", () => {
|
|
13
|
-
it("allows an empty Alg", () => {
|
|
14
|
-
expect(() => new Alg()).not.toThrow();
|
|
15
|
-
expect(() => new Alg([])).not.toThrow();
|
|
16
|
-
expect(() => new Commutator(new Alg(), new Alg([]))).not.toThrow();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
it("throws an error for a nested Alg", () => {
|
|
20
|
-
expect(() => new Alg([new Alg([new Move("R", 1)])])).toThrowError(
|
|
21
|
-
/An alg can only contain units./,
|
|
22
|
-
);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
describe("BlockMove", () => {
|
|
27
|
-
it("allows constructing: x, U, u", () => {
|
|
28
|
-
expect(new Move("x", 1).toString()).toBe("x");
|
|
29
|
-
expect(new Move("U", 1).toString()).toBe("U");
|
|
30
|
-
expect(new Move("u", 1).toString()).toBe("u");
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it("allows constructing: 2U, 2u", () => {
|
|
34
|
-
expect(new Move(new QuantumMove("U", 2), 1).toString()).toBe("2U");
|
|
35
|
-
expect(new Move("2U", 1).toString()).toBe("2U");
|
|
36
|
-
expect(new Move(new QuantumMove("u", 2), 1).toString()).toBe("2u");
|
|
37
|
-
expect(new Move("2u", 1).toString()).toBe("2u");
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it("prevents constructing: [-2]U, [-2]u", () => {
|
|
41
|
-
expect(() => new QuantumMove("U", -2)).toThrowError(
|
|
42
|
-
/QuantumMove inner layer must be a positive integer/,
|
|
43
|
-
);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it("allows constructing: 2-3u", () => {
|
|
47
|
-
expect(new Move(new QuantumMove("u", 3, 2), 1).toString()).toBe("2-3u");
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it("prevents constructing: 2-3x, 2-3U, [-2]-3u, 4-3u", () => {
|
|
51
|
-
// expect(() =>
|
|
52
|
-
// validateSiGNMoves(new Alg([new Move(new QuantumMove("x", 3, 2, 1)])),
|
|
53
|
-
// ).toThrowError(/cannot have an outer and inner layer/);
|
|
54
|
-
// expect(() =>
|
|
55
|
-
// validateSiGNMoves(new Alg([new Move(new QuantumMove("U", 3, 2, 1)])),
|
|
56
|
-
// ).toThrowError(/cannot have an outer and inner layer/);
|
|
57
|
-
// expect(() =>
|
|
58
|
-
// validateSiGNMoves(new Alg([new Move(new QuantumMove("u", 3, -2), 1)])),
|
|
59
|
-
// ).toThrowError(/Cannot have an outer layer of 0 or less/);
|
|
60
|
-
// expect(() =>
|
|
61
|
-
// validateSiGNMoves(new Alg([new Move(new QuantumMove("u", 3, 4), 1)])),
|
|
62
|
-
// ).toThrowError(/The outer layer must be less than the inner layer/);
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
it("prevents constructing: w, 2T, 2-3q", () => {
|
|
66
|
-
// expect(() =>algPartToStringForTesting(new Move("w", 1))).toThrowError(/Invalid SiGN plain move family: w/);
|
|
67
|
-
// expect(() =>algPartToStringForTesting(new Move(new QuantumMove("T", 2), 1))).toThrowError(/The provided SiGN move family is invalid, or cannot have an inner slice: T/);
|
|
68
|
-
// expect(() =>algPartToStringForTesting(new Move(new QuantumMove("q", 3, 2, 1))).toThrowError(/The provided SiGN move family is invalid, or cannot have an outer and inner layer: q/);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it("supports a default amount of 1.", () => {
|
|
72
|
-
expect(new Alg([new Move("U")])).toBeIdentical(new Alg([new Move("U", 1)]));
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
it("throws an error for an invalid family", () => {
|
|
76
|
-
// expect(() => new Move("Q", 1)).toThrowError(/Invalid SiGN plain move family/);
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
it("has a default amount of 1", () => {
|
|
80
|
-
expect(new Move("x").amount).toBe(1);
|
|
81
|
-
expect(new Move("R").amount).toBe(1);
|
|
82
|
-
expect(new Move("u").amount).toBe(1);
|
|
83
|
-
expect(new Move(new QuantumMove("R", 2)).amount).toBe(1);
|
|
84
|
-
expect(new Move(new QuantumMove("u", 3)).amount).toBe(1);
|
|
85
|
-
expect(new Move(new QuantumMove("u", 3, 2)).amount).toBe(1);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
it("allows different amounts 1", () => {
|
|
89
|
-
expect(new Move("x", 2).amount).toBe(2);
|
|
90
|
-
expect(new Move("R", 3).amount).toBe(3);
|
|
91
|
-
expect(new Move("u", -5).amount).toBe(-5);
|
|
92
|
-
expect(new Move(new QuantumMove("R", 2), 10).amount).toBe(10);
|
|
93
|
-
expect(new Move(new QuantumMove("L", 3), -13).amount).toBe(-13);
|
|
94
|
-
expect(new Move(new QuantumMove("u", 12, 2), 15).amount).toBe(15);
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it("catches invalid moves with parseSiGN().", () => {
|
|
98
|
-
// expect(() => parseSiGN("R")).not.toThrowError();
|
|
99
|
-
// expect(() => parseSiGN("g")).toThrowError(/Invalid SiGN plain move family/);
|
|
100
|
-
// expect(() => parseSiGN("2Ww")).toThrowError(
|
|
101
|
-
// /The provided SiGN move family is invalid/,
|
|
102
|
-
// );
|
|
103
|
-
// expect(() => parseSiGN("2-3T")).toThrowError(
|
|
104
|
-
// /The provided SiGN move family is invalid/,
|
|
105
|
-
// );
|
|
106
|
-
// expect(() => parseSiGN("2-3UF")).toThrowError(
|
|
107
|
-
// /The provided SiGN move family is invalid/,
|
|
108
|
-
// );
|
|
109
|
-
// expect(() => parseSiGN("4TEST_Hello")).toThrowError(
|
|
110
|
-
// /The provided SiGN move family is invalid/,
|
|
111
|
-
// );
|
|
112
|
-
// expect(() => parseSiGN("_R")).toThrowError(
|
|
113
|
-
// /Invalid SiGN plain move family/,
|
|
114
|
-
// );
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
it("prevents construction a move quantum with only outer layer", () => {
|
|
118
|
-
expect(() => new QuantumMove("R", undefined, 1)).toThrow();
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
describe("algToString()", () => {
|
|
123
|
-
it("converts all move types correctly", () => {
|
|
124
|
-
expect(new Move("x", 2).toString()).toBe("x2");
|
|
125
|
-
expect(new Move("R", 3).toString()).toBe("R3");
|
|
126
|
-
expect(new Move("u", -5).toString()).toBe("u5'");
|
|
127
|
-
expect(new Move(new QuantumMove("R", 2), 10).toString()).toBe("2R10");
|
|
128
|
-
expect(new Move(new QuantumMove("L", 3), -13).toString()).toBe("3L13'");
|
|
129
|
-
expect(new Move(new QuantumMove("u", 12, 2), 15).toString()).toBe(
|
|
130
|
-
"2-12u15",
|
|
131
|
-
);
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it("distinguishes between 1R and R", () => {
|
|
135
|
-
expect(new Move(new QuantumMove("R", 1)).toString()).toBe("1R");
|
|
136
|
-
expect(new Move("R").toString()).toBe("R");
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
it("handles empty Algs", () => {
|
|
140
|
-
expect(new Alg().toString()).toBe("");
|
|
141
|
-
expect(new Alg([]).toString()).toBe("");
|
|
142
|
-
expect(new Grouping(new Alg([])).toString()).toBe("()");
|
|
143
|
-
// TODO: Should this be "[,]"
|
|
144
|
-
expect(new Alg([new Commutator(new Alg([]), new Alg([]))]).toString()).toBe(
|
|
145
|
-
"[, ]",
|
|
146
|
-
);
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
it("converts Sune to string", () => {
|
|
150
|
-
expect(Ex.Sune.toString()).toBe("R U R' U R U2' R'");
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
it("converts U U to string", () => {
|
|
154
|
-
expect(UU.toString()).toBe("U U");
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
it("converts E-Perm to string", () => {
|
|
158
|
-
expect(Ex.EPerm.toString()).toBe("x' [[R: U'], D] [[R: U], D] x");
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
it("converts triple pause to . . . (with spaces)", () => {
|
|
162
|
-
expect(Ex.TriplePause.toString()).toBe(". . .");
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
describe("invert()", () => {
|
|
167
|
-
it("correctly inverts", () => {
|
|
168
|
-
expect(Ex.Sune.invert()).toBeIdentical(Ex.AntiSune);
|
|
169
|
-
expect(Ex.Sune.invert().invert()).toBeIdentical(Ex.Sune);
|
|
170
|
-
expect(Ex.Sune.invert().invert()).not.toBeIdentical(Ex.AntiSune);
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
describe("expand()", () => {
|
|
175
|
-
it("correctly expands", () => {
|
|
176
|
-
expect(Ex.FURURFCompact.expand()).toBeIdentical(Ex.FURURFMoves);
|
|
177
|
-
expect(Ex.Sune.expand()).toBeIdentical(Ex.Sune);
|
|
178
|
-
expect(Ex.SuneCommutator.expand()).not.toBeIdentical(Ex.Sune);
|
|
179
|
-
expect(Ex.FURURFCompact.expand()).not.toBeIdentical(Ex.SuneCommutator);
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
it("correctly expands a group with two units", () => {
|
|
183
|
-
expect(new Alg("(R U)2").expand()).toBeIdentical(new Alg("R U R U"));
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
it("correctly expands an E-Perm", () => {
|
|
187
|
-
expect(Ex.EPerm.expand()).toBeIdentical(
|
|
188
|
-
new Alg("x' R U' R' D R U R' D' R U R' D R U' R' D' x"),
|
|
189
|
-
);
|
|
190
|
-
});
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
describe("toBeIdentical", () => {
|
|
194
|
-
it("correctly compares algs", () => {
|
|
195
|
-
expect(Ex.FURURFCompact).not.toBeIdentical(Ex.FURURFMoves);
|
|
196
|
-
expect(Ex.FURURFMoves).not.toBeIdentical(Ex.FURURFCompact);
|
|
197
|
-
expect(Ex.FURURFMoves).toBeIdentical(Ex.FURURFMoves);
|
|
198
|
-
expect(Ex.FURURFCompact).toBeIdentical(Ex.FURURFCompact);
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
describe("move collapsing ()", () => {
|
|
203
|
-
it("coalesces U U to U2", () => {
|
|
204
|
-
expect(UU.simplify({ collapseMoves: true })).toBeIdentical(U2);
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
it("coalesces expanded commutator Sune corectly", () => {
|
|
208
|
-
expect(
|
|
209
|
-
Ex.SuneCommutator.expand().simplify({ collapseMoves: true }),
|
|
210
|
-
).toBeIdentical(Ex.Sune);
|
|
211
|
-
});
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
describe("JSON", () => {
|
|
215
|
-
// it("round-trips an alg through JSON stringification", () => {
|
|
216
|
-
// e(
|
|
217
|
-
// fromJSON(JSON.parse(JSON.stringify(Ex.FURURFCompact))),
|
|
218
|
-
// Ex.FURURFCompact,
|
|
219
|
-
// ).toBe(true);
|
|
220
|
-
// });
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
describe("Object Freezing", () => {
|
|
224
|
-
it("freezes all example alg types", () => {
|
|
225
|
-
// // Update this based on the length of AllAlgParts.
|
|
226
|
-
// expect(Ex.AllAlgParts.length).toBe(8);
|
|
227
|
-
// for (const a of Ex.AllAlgParts) {
|
|
228
|
-
// expect(Object.isFrozen(a)).toBe(true);
|
|
229
|
-
// }
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
it("freezes `nestedUnits` list on Alg", () => {
|
|
233
|
-
// // Update this based on the length of AllAlgParts.
|
|
234
|
-
// expect(Object.isFrozen(new Alg([new Move("R", 1)]).nestedUnits)).toBe(true);
|
|
235
|
-
});
|
|
236
|
-
|
|
237
|
-
// it("makes it impossible to modify a BaseMove", () => {
|
|
238
|
-
// const b = new Move("R", 4);
|
|
239
|
-
// let caughtErr: Error | undefined;
|
|
240
|
-
// try {
|
|
241
|
-
// b.effectiveAmount = 2;
|
|
242
|
-
// } catch (err) {
|
|
243
|
-
// caughtErr = err;
|
|
244
|
-
// }
|
|
245
|
-
// expect(caughtErr instanceof TypeError).toBe(true);
|
|
246
|
-
// });
|
|
247
|
-
});
|
|
248
|
-
|
|
249
|
-
describe("Parser", () => {
|
|
250
|
-
it("parses an empty Alg", () => {
|
|
251
|
-
expect(new Alg("")).toBeIdentical(new Alg());
|
|
252
|
-
expect(Alg.fromString("()")).toBeIdentical(
|
|
253
|
-
new Alg([new Grouping(new Alg([]))]),
|
|
254
|
-
);
|
|
255
|
-
expect(new Alg("")).toBeIdentical(new Alg());
|
|
256
|
-
expect(Alg.fromString("()")).toBeIdentical(
|
|
257
|
-
new Alg([new Grouping(new Alg([]))]),
|
|
258
|
-
);
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
it("parses a Sune", () => {
|
|
262
|
-
expect(new Alg("R U R' U R U2' R'")).toBeIdentical(Ex.Sune);
|
|
263
|
-
expect(Alg.fromString("R U R' U R U2' R'")).toBeIdentical(Ex.Sune);
|
|
264
|
-
expect(new Alg("R U R' U R U2' R'")).toBeIdentical(
|
|
265
|
-
Alg.fromString("R U R' U R U2' R'"),
|
|
266
|
-
);
|
|
267
|
-
});
|
|
268
|
-
|
|
269
|
-
it("parses U u Uw x 2U 2u 2Uw 2-3u 2-3Uw", () => {
|
|
270
|
-
const s = "U u Uw x 2U 2u 2Uw 2-3u 2-3Uw";
|
|
271
|
-
expect(new Alg(s).toString()).toBe(s);
|
|
272
|
-
});
|
|
273
|
-
|
|
274
|
-
it("parses . . .", () => {
|
|
275
|
-
const p = new Pause();
|
|
276
|
-
expect(new Alg(". . .")).toBeIdentical(new Alg([p, p, p]));
|
|
277
|
-
});
|
|
278
|
-
|
|
279
|
-
// TODO: Should these be parsed differently?
|
|
280
|
-
it("parses R and R1 as the same (for now)", () => {
|
|
281
|
-
expect(new Alg("R")).toBeIdentical(new Alg("R1"));
|
|
282
|
-
});
|
|
283
|
-
|
|
284
|
-
it("round-trips algs through a string", () => {
|
|
285
|
-
expect(new Alg(Ex.SuneCommutator.toString())).toBeIdentical(
|
|
286
|
-
Ex.SuneCommutator,
|
|
287
|
-
);
|
|
288
|
-
expect(new Alg(Ex.Niklas.toString())).toBeIdentical(Ex.Niklas);
|
|
289
|
-
expect(new Alg(Ex.FURURFCompact.toString())).toBeIdentical(
|
|
290
|
-
Ex.FURURFCompact,
|
|
291
|
-
);
|
|
292
|
-
expect(new Alg(Ex.APermCompact.toString())).toBeIdentical(Ex.APermCompact);
|
|
293
|
-
expect(new Alg(Ex.TPerm.toString())).toBeIdentical(Ex.TPerm);
|
|
294
|
-
expect(new Alg(Ex.HeadlightSwaps.toString())).toBeIdentical(
|
|
295
|
-
Ex.HeadlightSwaps,
|
|
296
|
-
);
|
|
297
|
-
expect(new Alg(Ex.TriplePause.toString())).toBeIdentical(Ex.TriplePause);
|
|
298
|
-
});
|
|
299
|
-
|
|
300
|
-
// it("round-trips all alg types through a string", () => {
|
|
301
|
-
// // Update this based on the length of AllAlgParts.
|
|
302
|
-
// for (const a of Ex.AllAlgParts) {
|
|
303
|
-
// const seq = matchesAlgType(a, "Alg") ? (a as Alg) : new Alg([a]);
|
|
304
|
-
// expect(new Alg(algToString(seq))).toBeIdentical(seq);
|
|
305
|
-
// }
|
|
306
|
-
// });
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
describe("Validator", () => {
|
|
310
|
-
// it("can validate flat algs", () => {
|
|
311
|
-
// expect(
|
|
312
|
-
// () => new Alg("(R)", { validators: [validateFlatAlg] }),
|
|
313
|
-
// ).toThrowError(/cannot contain a group/); // toThrowError(ValidationError, /cannot contain a group/);
|
|
314
|
-
// expect(
|
|
315
|
-
// () => new Alg("Qw", { validators: [validateFlatAlg] }),
|
|
316
|
-
// ).not.toThrow(); // not.toThrowError();
|
|
317
|
-
// expect(
|
|
318
|
-
// () => new Alg("(Qw)", { validators: [validateFlatAlg] }),
|
|
319
|
-
// ).toThrowError(/cannot contain a group/); // toThrowError(ValidationError, );
|
|
320
|
-
// });
|
|
321
|
-
// it("can validate cube base moves alg", () => {
|
|
322
|
-
// expect(
|
|
323
|
-
// () => new Alg("(R)", { validators: [validateSiGNMoves] }),
|
|
324
|
-
// ).not.toThrowError();
|
|
325
|
-
// expect(
|
|
326
|
-
// () => new Alg("Qw", { validators: [validateSiGNMoves] }),
|
|
327
|
-
// ).toThrowError(/Invalid SiGN plain move family/);
|
|
328
|
-
// expect(
|
|
329
|
-
// () => new Alg("(Qw)", { validators: [validateSiGNMoves] }),
|
|
330
|
-
// ).toThrowError(/Invalid SiGN plain move family/);
|
|
331
|
-
// });
|
|
332
|
-
// it("can validate cube algs", () => {
|
|
333
|
-
// expect(
|
|
334
|
-
// () => new Alg("(R)", { validators: [validateSiGNAlg] }),
|
|
335
|
-
// ).toThrowError(/cannot contain a group/);
|
|
336
|
-
// expect(() => new Alg("Qw", { validators: [validateSiGNAlg] })).toThrowError(
|
|
337
|
-
// /Invalid SiGN plain move family/,
|
|
338
|
-
// );
|
|
339
|
-
// expect(
|
|
340
|
-
// () => new Alg("(Qw)", { validators: [validateSiGNAlg] }),
|
|
341
|
-
// ).toThrowError(ValidationError);
|
|
342
|
-
// });
|
|
343
|
-
// it("throws ValidationError", () => {
|
|
344
|
-
// expect(
|
|
345
|
-
// () => new Alg("(R)", { validators: [validateFlatAlg] }),
|
|
346
|
-
// ).toThrowError(ValidationError);
|
|
347
|
-
// });
|
|
348
|
-
});
|
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
import type { Alg } from "./Alg";
|
|
2
|
-
import { Grouping } from "./units/containers/Grouping";
|
|
3
|
-
import type { Comparable } from "./common";
|
|
4
|
-
import { Commutator } from "./units/containers/Commutator";
|
|
5
|
-
import { Move, QuantumMove } from "./units/leaves/Move";
|
|
6
|
-
import { Newline } from "./units/leaves/Newline";
|
|
7
|
-
import { Pause } from "./units/leaves/Pause";
|
|
8
|
-
import { Conjugate } from "./units/containers/Conjugate";
|
|
9
|
-
import { LineComment } from "./units/leaves/LineComment";
|
|
10
|
-
import type { Unit } from "./units/Unit";
|
|
11
|
-
|
|
12
|
-
function dispatch<DataDown, DataAlgUp, DataUnitUp>(
|
|
13
|
-
t: TraversalDownUp<DataDown, DataAlgUp, DataUnitUp>,
|
|
14
|
-
unit: Unit,
|
|
15
|
-
dataDown: DataDown,
|
|
16
|
-
): DataUnitUp {
|
|
17
|
-
// TODO: Can we turn this back into a `switch` or something more efficiently?
|
|
18
|
-
if (unit.is(Grouping)) {
|
|
19
|
-
return t.traverseGrouping(unit as Grouping, dataDown);
|
|
20
|
-
}
|
|
21
|
-
if (unit.is(Move)) {
|
|
22
|
-
return t.traverseMove(unit as Move, dataDown);
|
|
23
|
-
}
|
|
24
|
-
if (unit.is(Commutator)) {
|
|
25
|
-
return t.traverseCommutator(unit as Commutator, dataDown);
|
|
26
|
-
}
|
|
27
|
-
if (unit.is(Conjugate)) {
|
|
28
|
-
return t.traverseConjugate(unit as Conjugate, dataDown);
|
|
29
|
-
}
|
|
30
|
-
if (unit.is(Pause)) {
|
|
31
|
-
return t.traversePause(unit as Pause, dataDown);
|
|
32
|
-
}
|
|
33
|
-
if (unit.is(Newline)) {
|
|
34
|
-
return t.traverseNewline(unit as Newline, dataDown);
|
|
35
|
-
}
|
|
36
|
-
if (unit.is(LineComment)) {
|
|
37
|
-
return t.traverseLineComment(unit as LineComment, dataDown);
|
|
38
|
-
}
|
|
39
|
-
throw new Error(`unknown unit`);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function assertIsUnit(t: Comparable): Unit {
|
|
43
|
-
if (
|
|
44
|
-
t.is(Grouping) ||
|
|
45
|
-
t.is(Move) ||
|
|
46
|
-
t.is(Commutator) ||
|
|
47
|
-
t.is(Conjugate) ||
|
|
48
|
-
t.is(Pause) ||
|
|
49
|
-
t.is(Newline) ||
|
|
50
|
-
t.is(LineComment)
|
|
51
|
-
) {
|
|
52
|
-
return t as Unit;
|
|
53
|
-
}
|
|
54
|
-
throw "internal error: expected unit"; // TODO: Make more helpful, add tests
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export abstract class TraversalDownUp<
|
|
58
|
-
DataDown,
|
|
59
|
-
DataAlgUp,
|
|
60
|
-
DataUnitUp = DataAlgUp,
|
|
61
|
-
> {
|
|
62
|
-
// Immediate subclasses should overwrite this.
|
|
63
|
-
public traverseUnit(unit: Unit, dataDown: DataDown): DataUnitUp {
|
|
64
|
-
return dispatch(this, unit, dataDown);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
public traverseIntoUnit(unit: Unit, dataDown: DataDown): Unit {
|
|
68
|
-
return assertIsUnit(this.traverseUnit(unit, dataDown) as any);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
public abstract traverseAlg(alg: Alg, dataDown: DataDown): DataAlgUp;
|
|
72
|
-
|
|
73
|
-
public abstract traverseGrouping(
|
|
74
|
-
grouping: Grouping,
|
|
75
|
-
dataDown: DataDown,
|
|
76
|
-
): DataUnitUp;
|
|
77
|
-
|
|
78
|
-
public abstract traverseMove(move: Move, dataDown: DataDown): DataUnitUp;
|
|
79
|
-
|
|
80
|
-
public abstract traverseCommutator(
|
|
81
|
-
commutator: Commutator,
|
|
82
|
-
dataDown: DataDown,
|
|
83
|
-
): DataUnitUp;
|
|
84
|
-
|
|
85
|
-
public abstract traverseConjugate(
|
|
86
|
-
conjugate: Conjugate,
|
|
87
|
-
dataDown: DataDown,
|
|
88
|
-
): DataUnitUp;
|
|
89
|
-
|
|
90
|
-
public abstract traversePause(pause: Pause, dataDown: DataDown): DataUnitUp;
|
|
91
|
-
public abstract traverseNewline(
|
|
92
|
-
newline: Newline,
|
|
93
|
-
dataDown: DataDown,
|
|
94
|
-
): DataUnitUp;
|
|
95
|
-
|
|
96
|
-
public abstract traverseLineComment(
|
|
97
|
-
comment: LineComment,
|
|
98
|
-
dataDown: DataDown,
|
|
99
|
-
): DataUnitUp;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export abstract class TraversalUp<
|
|
103
|
-
DataAlgUp,
|
|
104
|
-
DataUnitUp = DataAlgUp,
|
|
105
|
-
> extends TraversalDownUp<undefined, DataAlgUp, DataUnitUp> {
|
|
106
|
-
public traverseUnit(unit: Unit): DataUnitUp {
|
|
107
|
-
return dispatch<unknown, DataAlgUp, DataUnitUp>(this, unit, undefined);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
public traverseIntoUnit(unit: Unit): Unit {
|
|
111
|
-
return assertIsUnit(this.traverseUnit(unit) as any);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
public abstract traverseAlg(alg: Alg): DataAlgUp;
|
|
115
|
-
public abstract traverseGrouping(grouping: Grouping): DataUnitUp;
|
|
116
|
-
public abstract traverseMove(move: Move): DataUnitUp;
|
|
117
|
-
public abstract traverseCommutator(commutator: Commutator): DataUnitUp;
|
|
118
|
-
public abstract traverseConjugate(conjugate: Conjugate): DataUnitUp;
|
|
119
|
-
public abstract traversePause(pause: Pause): DataUnitUp;
|
|
120
|
-
public abstract traverseNewline(newline: Newline): DataUnitUp;
|
|
121
|
-
public abstract traverseLineComment(comment: LineComment): DataUnitUp;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
export interface SimplifyOptions {
|
|
125
|
-
collapseMoves?: boolean;
|
|
126
|
-
quantumMoveOrder?: (quantumMove: QuantumMove) => number;
|
|
127
|
-
depth?: number | null; // TODO: test
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// TODO: Test that inverses are bijections.
|
|
131
|
-
class Simplify extends TraversalDownUp<SimplifyOptions, Generator<Unit>> {
|
|
132
|
-
static #newAmount(
|
|
133
|
-
move: Move,
|
|
134
|
-
deltaAmount: number,
|
|
135
|
-
options: SimplifyOptions,
|
|
136
|
-
): number {
|
|
137
|
-
let newAmount = move.amount + deltaAmount;
|
|
138
|
-
if (options?.quantumMoveOrder) {
|
|
139
|
-
const order = options.quantumMoveOrder(move.quantum);
|
|
140
|
-
// Examples:
|
|
141
|
-
// • order 4 → min -1 (e.g. cube)
|
|
142
|
-
// • order 5 → min -2 (e.g. Megaminx)
|
|
143
|
-
// • order 3 → min -1 (e.g. Pyraminx)
|
|
144
|
-
const min = Math.floor(order / 2) + 1 - order;
|
|
145
|
-
newAmount = (((newAmount % order) + order - min) % order) + min; // TODO
|
|
146
|
-
}
|
|
147
|
-
return newAmount;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// TODO: Handle
|
|
151
|
-
public *traverseAlg(alg: Alg, options: SimplifyOptions): Generator<Unit> {
|
|
152
|
-
if (options.depth === 0) {
|
|
153
|
-
yield* alg.units();
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
const newUnits: Unit[] = [];
|
|
158
|
-
let lastUnit: Unit | null = null;
|
|
159
|
-
const collapseMoves = options?.collapseMoves ?? true;
|
|
160
|
-
function appendMoveWithNewAmount(move: Move, deltaAmount: number): boolean {
|
|
161
|
-
const newAmount = Simplify.#newAmount(move, deltaAmount, options);
|
|
162
|
-
if (newAmount === 0) {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
const newMove = new Move(move.quantum, newAmount);
|
|
166
|
-
newUnits.push(newMove);
|
|
167
|
-
lastUnit = newMove;
|
|
168
|
-
return true;
|
|
169
|
-
}
|
|
170
|
-
function appendCollapsed(newUnit: Unit) {
|
|
171
|
-
if (
|
|
172
|
-
collapseMoves &&
|
|
173
|
-
lastUnit?.is(Move) &&
|
|
174
|
-
newUnit.is(Move) &&
|
|
175
|
-
(lastUnit as Move).quantum.isIdentical((newUnit as Move).quantum)
|
|
176
|
-
) {
|
|
177
|
-
newUnits.pop();
|
|
178
|
-
if (
|
|
179
|
-
!appendMoveWithNewAmount(lastUnit as Move, (newUnit as Move).amount)
|
|
180
|
-
) {
|
|
181
|
-
lastUnit = newUnits.slice(-1)[0];
|
|
182
|
-
}
|
|
183
|
-
} else {
|
|
184
|
-
if (newUnit.is(Move)) {
|
|
185
|
-
appendMoveWithNewAmount(newUnit as Move, 0);
|
|
186
|
-
} else {
|
|
187
|
-
newUnits.push(newUnit);
|
|
188
|
-
lastUnit = newUnit;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
const newOptions = {
|
|
194
|
-
depth: options.depth ? options.depth - 1 : null,
|
|
195
|
-
}; // TODO: avoid allocations?
|
|
196
|
-
for (const unit of alg.units()) {
|
|
197
|
-
for (const ancestorUnit of this.traverseUnit(unit, newOptions)) {
|
|
198
|
-
appendCollapsed(ancestorUnit);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
for (const unit of newUnits) {
|
|
202
|
-
yield unit;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
public *traverseGrouping(
|
|
207
|
-
grouping: Grouping,
|
|
208
|
-
options: SimplifyOptions,
|
|
209
|
-
): Generator<Unit> {
|
|
210
|
-
if (options.depth === 0) {
|
|
211
|
-
yield grouping;
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
const newOptions = {
|
|
215
|
-
depth: options.depth ? options.depth - 1 : null,
|
|
216
|
-
}; // TODO: avoid allocations?
|
|
217
|
-
yield new Grouping(this.traverseAlg(grouping.alg, newOptions));
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
public *traverseMove(move: Move, _options: SimplifyOptions): Generator<Unit> {
|
|
221
|
-
yield move;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
public *traverseCommutator(
|
|
225
|
-
commutator: Commutator,
|
|
226
|
-
options: SimplifyOptions,
|
|
227
|
-
): Generator<Unit> {
|
|
228
|
-
if (options.depth === 0) {
|
|
229
|
-
yield commutator;
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
const newOptions = {
|
|
233
|
-
depth: options.depth ? options.depth - 1 : null,
|
|
234
|
-
}; // TODO: avoid allocations?
|
|
235
|
-
yield new Commutator(
|
|
236
|
-
this.traverseAlg(commutator.A, newOptions),
|
|
237
|
-
this.traverseAlg(commutator.B, newOptions),
|
|
238
|
-
);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
public *traverseConjugate(
|
|
242
|
-
conjugate: Conjugate,
|
|
243
|
-
options: SimplifyOptions,
|
|
244
|
-
): Generator<Unit> {
|
|
245
|
-
if (options.depth === 0) {
|
|
246
|
-
yield conjugate;
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
const newOptions = {
|
|
250
|
-
depth: options.depth ? options.depth - 1 : null,
|
|
251
|
-
}; // TODO: avoid allocations?
|
|
252
|
-
yield new Conjugate(
|
|
253
|
-
this.traverseAlg(conjugate.A, newOptions),
|
|
254
|
-
this.traverseAlg(conjugate.B, newOptions),
|
|
255
|
-
);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
public *traversePause(
|
|
259
|
-
pause: Pause,
|
|
260
|
-
_options: SimplifyOptions,
|
|
261
|
-
): Generator<Unit> {
|
|
262
|
-
yield pause;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
public *traverseNewline(
|
|
266
|
-
newline: Newline,
|
|
267
|
-
_options: SimplifyOptions,
|
|
268
|
-
): Generator<Unit> {
|
|
269
|
-
yield newline;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
public *traverseLineComment(
|
|
273
|
-
comment: LineComment,
|
|
274
|
-
_options: SimplifyOptions,
|
|
275
|
-
): Generator<Unit> {
|
|
276
|
-
yield comment;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
const simplifyInstance = new Simplify();
|
|
281
|
-
export const simplify = simplifyInstance.traverseAlg.bind(simplifyInstance) as (
|
|
282
|
-
alg: Alg,
|
|
283
|
-
options: SimplifyOptions,
|
|
284
|
-
) => Generator<Unit>;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { Repeatable } from "../common";
|
|
2
|
-
import { IterationDirection, toggleDirection } from "../iteration";
|
|
3
|
-
import { MAX_INT, MAX_INT_DESCRIPTION, MIN_INT } from "../limits";
|
|
4
|
-
import type { LeafUnit } from "./Unit";
|
|
5
|
-
|
|
6
|
-
export class QuantumWithAmount<Q extends Repeatable> {
|
|
7
|
-
readonly quantum: Q;
|
|
8
|
-
readonly amount: number;
|
|
9
|
-
|
|
10
|
-
constructor(quantum: Q, amount: number = 1) {
|
|
11
|
-
this.quantum = quantum;
|
|
12
|
-
this.amount = amount;
|
|
13
|
-
|
|
14
|
-
if (
|
|
15
|
-
!Number.isInteger(this.amount) ||
|
|
16
|
-
this.amount < MIN_INT ||
|
|
17
|
-
this.amount > MAX_INT
|
|
18
|
-
) {
|
|
19
|
-
throw new Error(
|
|
20
|
-
`Unit amount absolute value must be a non-negative integer from ${MAX_INT_DESCRIPTION} to ${MAX_INT_DESCRIPTION}.`,
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
suffix(): string {
|
|
26
|
-
let s: string = "";
|
|
27
|
-
// TODO
|
|
28
|
-
const absAmount = Math.abs(this.amount);
|
|
29
|
-
if (absAmount !== 1) {
|
|
30
|
-
s += absAmount;
|
|
31
|
-
}
|
|
32
|
-
if (this.amount < 0) {
|
|
33
|
-
s += "'";
|
|
34
|
-
}
|
|
35
|
-
return s;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
isIdentical(other: QuantumWithAmount<Q>): boolean {
|
|
39
|
-
return (
|
|
40
|
-
this.quantum.isIdentical(other.quantum) && this.amount === other.amount
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// TODO: `Conjugate` and `Commutator` decrement `depth` inside the quantum, `Grouping` has to do it outside the quantum.
|
|
45
|
-
*experimentalExpand(
|
|
46
|
-
iterDir: IterationDirection,
|
|
47
|
-
depth: number,
|
|
48
|
-
): Generator<LeafUnit> {
|
|
49
|
-
const absAmount = Math.abs(this.amount);
|
|
50
|
-
const newIterDir = toggleDirection(iterDir, this.amount < 0);
|
|
51
|
-
for (let i = 0; i < absAmount; i++) {
|
|
52
|
-
yield* this.quantum.experimentalExpand(newIterDir, depth);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Grouping } from "./containers/Grouping";
|
|
2
|
-
import type { LineComment } from "./leaves/LineComment";
|
|
3
|
-
import type { Commutator } from "./containers/Commutator";
|
|
4
|
-
import type { Conjugate } from "./containers/Conjugate";
|
|
5
|
-
import type { Move } from "./leaves/Move";
|
|
6
|
-
import type { Newline } from "./leaves/Newline";
|
|
7
|
-
import type { Pause } from "./leaves/Pause";
|
|
8
|
-
|
|
9
|
-
export type LeafUnit = Move | LineComment | Newline | Pause;
|
|
10
|
-
|
|
11
|
-
export type Unit = LeafUnit | Grouping | Conjugate | Commutator;
|