cubing 0.20.0 → 0.21.0-pre10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -9
- package/dist/.DS_Store +0 -0
- package/dist/bin/puzzle-geometry-bin.js +1124 -1128
- package/dist/bin/puzzle-geometry-bin.js.map +3 -3
- package/dist/bundle-global/cubing.bundle-global.js +3319 -3007
- package/dist/esm/.DS_Store +0 -0
- package/dist/esm/{2x2x2.kpuzzle.json_-ZLJSYD5K.js → 2x2x2.kpuzzle.json-JOGUSQ4N.js} +3 -3
- package/dist/esm/{2x2x2.kpuzzle.json_-ZLJSYD5K.js.map → 2x2x2.kpuzzle.json-JOGUSQ4N.js.map} +1 -1
- package/dist/esm/{2x2x2.kpuzzle.svg-BNXPAM3A.js → 2x2x2.kpuzzle.svg-CQF2FTV7.js} +2 -2
- package/dist/esm/{2x2x2.kpuzzle.svg-BNXPAM3A.js.map → 2x2x2.kpuzzle.svg-CQF2FTV7.js.map} +0 -0
- package/dist/esm/3d-BRT2MZMN.js +39 -0
- package/dist/esm/3d-BRT2MZMN.js.map +7 -0
- package/dist/esm/{3x3x3-ll.kpuzzle.svg-EC42JHOH.js → 3x3x3-ll.kpuzzle.svg-53CBPG5O.js} +2 -2
- package/dist/esm/{3x3x3-ll.kpuzzle.svg-EC42JHOH.js.map → 3x3x3-ll.kpuzzle.svg-53CBPG5O.js.map} +0 -0
- package/dist/esm/{3x3x3.kpuzzle.svg-DUKG2WHC.js → 3x3x3.kpuzzle.svg-ERSSH66P.js} +2 -2
- package/dist/esm/{3x3x3.kpuzzle.svg-DUKG2WHC.js.map → 3x3x3.kpuzzle.svg-ERSSH66P.js.map} +0 -0
- package/dist/esm/alg/index.js +2 -2
- package/dist/esm/bluetooth/index.js +13 -11
- package/dist/esm/bluetooth/index.js.map +2 -2
- package/dist/esm/chunk-BGFVB2OS.js +740 -0
- package/dist/esm/chunk-BGFVB2OS.js.map +7 -0
- package/dist/esm/{chunk-YNB7QLBF.js → chunk-BU5PUJK3.js} +9 -10
- package/dist/esm/chunk-BU5PUJK3.js.map +7 -0
- package/dist/esm/chunk-EM5F24AO.js +2511 -0
- package/dist/esm/chunk-EM5F24AO.js.map +7 -0
- package/dist/esm/{chunk-FKDOQP32.js → chunk-H7EP5SIJ.js} +49 -71
- package/dist/esm/chunk-H7EP5SIJ.js.map +7 -0
- package/dist/esm/{chunk-2GRKPQQL.js → chunk-RE7MIN5R.js} +2 -2
- package/dist/esm/{chunk-2GRKPQQL.js.map → chunk-RE7MIN5R.js.map} +0 -0
- package/dist/esm/{chunk-WJ7AVUI7.js → chunk-WO2AXYFE.js} +12 -1
- package/dist/esm/{chunk-WJ7AVUI7.js.map → chunk-WO2AXYFE.js.map} +0 -0
- package/dist/esm/{chunk-CWVB5RRW.js → chunk-YV3RT5PX.js} +625 -1282
- package/dist/esm/chunk-YV3RT5PX.js.map +7 -0
- package/dist/esm/{clock.kpuzzle.json_-PXORG6YF.js → clock.kpuzzle.json-EKWRMHJM.js} +3 -3
- package/dist/esm/{clock.kpuzzle.json_-PXORG6YF.js.map → clock.kpuzzle.json-EKWRMHJM.js.map} +1 -1
- package/dist/esm/{clock.kpuzzle.svg-E52B5OQV.js → clock.kpuzzle.svg-B7TMN3SY.js} +2 -2
- package/dist/esm/{clock.kpuzzle.svg-E52B5OQV.js.map → clock.kpuzzle.svg-B7TMN3SY.js.map} +0 -0
- package/dist/esm/esm-test-worker.js +2 -2
- package/dist/esm/esm-test-worker.js.map +1 -1
- package/dist/esm/kpuzzle/index.js +5 -3
- package/dist/esm/{node-SIGYKAZG.js → node-BSAQKO3G.js} +2 -2
- package/dist/esm/{node-SIGYKAZG.js.map → node-BSAQKO3G.js.map} +0 -0
- package/dist/esm/{node-BHGOVUN3.js → node-WEHVBEKP.js} +2 -2
- package/dist/esm/{node-BHGOVUN3.js.map → node-WEHVBEKP.js.map} +0 -0
- package/dist/esm/notation/index.js +3 -3
- package/dist/esm/protocol/index.js +3 -3
- package/dist/esm/puzzle-geometry/index.js +1085 -1179
- package/dist/esm/puzzle-geometry/index.js.map +3 -3
- package/dist/esm/puzzles/index.js +10 -4
- package/dist/esm/{pyraminx.kpuzzle.svg-QKUJX37T.js → pyraminx.kpuzzle.svg-QBBMZVDY.js} +2 -2
- package/dist/esm/{pyraminx.kpuzzle.svg-QKUJX37T.js.map → pyraminx.kpuzzle.svg-QBBMZVDY.js.map} +0 -0
- package/dist/esm/scramble/index.js +5 -4
- package/dist/esm/search/index.js +7 -4
- package/dist/esm/{sq1-hyperorbit.kpuzzle.json_-7KW5LSXC.js → sq1-hyperorbit.kpuzzle.json-N3FGCPML.js} +3 -3
- package/dist/esm/{sq1-hyperorbit.kpuzzle.json_-7KW5LSXC.js.map → sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map} +1 -1
- package/dist/esm/{sq1-hyperorbit.kpuzzle.svg-7Y7N37NN.js → sq1-hyperorbit.kpuzzle.svg-ID57EER7.js} +2 -2
- package/dist/esm/{sq1-hyperorbit.kpuzzle.svg-7Y7N37NN.js.map → sq1-hyperorbit.kpuzzle.svg-ID57EER7.js.map} +0 -0
- package/dist/esm/stream/index.js +3 -3
- package/dist/esm/stream/index.js.map +2 -2
- package/dist/esm/twisty/index.js +4486 -3308
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/worker-inside-generated-string-LA5JHD4B.js +2831 -0
- package/dist/esm/worker-inside-generated-string-LA5JHD4B.js.map +7 -0
- package/dist/types/alg/Alg.d.ts +88 -0
- package/dist/types/alg/Alg.d.ts.map +1 -1
- package/dist/types/alg/Alg.spec.d.ts +2 -0
- package/dist/types/alg/Alg.spec.d.ts.map +1 -0
- package/dist/types/alg/common.d.ts.map +1 -1
- package/dist/types/alg/operation.spec.d.ts +2 -0
- package/dist/types/alg/operation.spec.d.ts.map +1 -0
- package/dist/types/alg/parse.spec.d.ts +2 -0
- package/dist/types/alg/parse.spec.d.ts.map +1 -0
- package/dist/types/alg/test/alg-comparison.d.ts.map +1 -1
- package/dist/types/alg/test/alg.spec.d.ts +2 -0
- package/dist/types/alg/test/alg.spec.d.ts.map +1 -0
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts +2 -0
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts.map +1 -0
- package/dist/types/alg/units/leaves/Move.spec.d.ts +2 -0
- package/dist/types/alg/units/leaves/Move.spec.d.ts.map +1 -0
- package/dist/types/alg/url.spec.d.ts +2 -0
- package/dist/types/alg/url.spec.d.ts.map +1 -0
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts +5 -0
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts +3 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +2 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/canon.spec.d.ts +2 -0
- package/dist/types/kpuzzle/canon.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/index.d.ts +1 -0
- package/dist/types/kpuzzle/index.d.ts.map +1 -1
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts +2 -0
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/prunetable.spec.d.ts +2 -0
- package/dist/types/kpuzzle/prunetable.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/svg.d.ts.map +1 -1
- package/dist/types/kpuzzle/transformations.spec.d.ts +2 -0
- package/dist/types/kpuzzle/transformations.spec.d.ts.map +1 -0
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts +2 -0
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts.map +1 -0
- package/dist/types/protocol/binary/hex.spec.d.ts +2 -0
- package/dist/types/protocol/binary/hex.spec.d.ts.map +1 -0
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts +2 -0
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts.map +1 -0
- package/dist/types/puzzle-geometry/Options.d.ts +45 -1
- package/dist/types/puzzle-geometry/Options.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +2 -0
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +1 -0
- package/dist/types/puzzle-geometry/PermOriSet.d.ts +39 -39
- package/dist/types/puzzle-geometry/PermOriSet.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +118 -110
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/Quat.d.ts +0 -11
- package/dist/types/puzzle-geometry/Quat.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/Quat.spec.d.ts +2 -0
- package/dist/types/puzzle-geometry/Quat.spec.d.ts.map +1 -0
- package/dist/types/puzzle-geometry/SchreierSims.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/index.d.ts +2 -4
- package/dist/types/puzzle-geometry/index.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/interfaces.d.ts +1 -21
- package/dist/types/puzzle-geometry/interfaces.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts +2 -0
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts.map +1 -0
- package/dist/types/puzzles/async/async-pg3d.d.ts.map +1 -1
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts +12 -0
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/2x2x2/{2x2x2.kpuzzle.json_.d.ts → 2x2x2.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/3x3x3/index.d.ts.map +1 -1
- package/dist/types/puzzles/implementations/clock/{clock.kpuzzle.json_.d.ts → clock.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/pyraminx/{pyraminx.kpuzzle.json_.d.ts → pyraminx.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/square1/index.d.ts.map +1 -1
- package/dist/types/puzzles/implementations/square1/{sq1-hyperorbit.kpuzzle.json_.d.ts → sq1-hyperorbit.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/index.d.ts +4 -2
- package/dist/types/puzzles/index.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/appearance.d.ts +9 -9
- package/dist/types/puzzles/stickerings/appearance.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts +3 -0
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts.map +1 -0
- package/dist/types/search/index.d.ts +1 -1
- package/dist/types/search/index.d.ts.map +1 -1
- package/dist/types/search/inside/api.d.ts +2 -1
- package/dist/types/search/inside/api.d.ts.map +1 -1
- package/dist/types/search/inside/api.spec.d.ts +2 -0
- package/dist/types/search/inside/api.spec.d.ts.map +1 -0
- package/dist/types/search/inside/solve/parseSGS.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts +2 -0
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts.map +1 -0
- package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts.map +1 -1
- package/dist/types/search/inside/solve/tremble.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts +4 -31
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts +3 -0
- package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts.map +1 -0
- package/dist/types/search/inside/solve/vendor/random-uint-below/get-random-values.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/random-int.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/sq12phase/scramble_sq1.d.ts.map +1 -1
- package/dist/types/search/instantiator.d.ts.map +1 -1
- package/dist/types/search/outside.d.ts +4 -2
- package/dist/types/search/outside.d.ts.map +1 -1
- package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
- package/dist/types/search/worker-inside-generated-string.d.ts.map +1 -1
- package/dist/types/stream/twizzle/TwizzleStream.d.ts +9 -8
- package/dist/types/stream/twizzle/TwizzleStream.d.ts.map +1 -1
- package/dist/types/stream/websocket-proxy.d.ts +1 -1
- package/dist/types/stream/websocket-proxy.d.ts.map +1 -1
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +34 -0
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +1 -0
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts +16 -0
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts.map +1 -0
- package/dist/types/twisty/heavy-code-imports/3d.d.ts +3 -0
- package/dist/types/twisty/heavy-code-imports/3d.d.ts.map +1 -0
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts +12 -0
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +1 -0
- package/dist/types/twisty/index.d.ts +20 -15
- package/dist/types/twisty/index.d.ts.map +1 -1
- package/dist/types/twisty/model/PromiseFreshener.d.ts +14 -0
- package/dist/types/twisty/model/PromiseFreshener.d.ts.map +1 -0
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts +82 -0
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +1 -0
- package/dist/types/twisty/model/helpers.d.ts +5 -0
- package/dist/types/twisty/model/helpers.d.ts.map +1 -0
- package/dist/types/twisty/model/props/TwistyProp.d.ts +58 -0
- package/dist/types/twisty/model/props/TwistyProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts +5 -0
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +1 -0
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +28 -0
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +1 -0
- package/dist/types/twisty/model/props/general/URLProp.d.ts +6 -0
- package/dist/types/twisty/model/props/general/URLProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +7 -0
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts +10 -0
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts +27 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +14 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +15 -0
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts +12 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +17 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +15 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +17 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +12 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +15 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +12 -0
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +13 -0
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +11 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +11 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +13 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +25 -0
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +23 -0
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +15 -0
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts +6 -0
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +16 -0
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +22 -0
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts +6 -0
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +16 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +15 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +11 -0
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +13 -0
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/RenderScheduler.d.ts +3 -0
- package/dist/types/twisty/old/animation/RenderScheduler.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/Timeline.d.ts +0 -0
- package/dist/types/twisty/old/animation/Timeline.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/cursor/AlgCursor.d.ts +4 -4
- package/dist/types/twisty/old/animation/cursor/AlgCursor.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/cursor/CursorTypes.d.ts +4 -4
- package/dist/types/twisty/old/animation/cursor/CursorTypes.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/easing.d.ts +0 -0
- package/dist/types/twisty/old/animation/easing.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/AlgDuration.d.ts +1 -1
- package/dist/types/twisty/old/animation/indexer/AlgDuration.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/AlgIndexer.d.ts +36 -0
- package/dist/types/twisty/old/animation/indexer/AlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/SimpleAlgIndexer.d.ts +3 -3
- package/dist/types/twisty/old/animation/indexer/SimpleAlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +6 -5
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +22 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/simul-moves.d.ts +26 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/simul-moves.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/tree/AlgWalker.d.ts +2 -2
- package/dist/types/twisty/old/animation/indexer/tree/AlgWalker.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/tree/TreeAlgIndexer.d.ts +3 -3
- package/dist/types/twisty/old/animation/indexer/tree/TreeAlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts +3 -0
- package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/stream/timeline-move-calculation-draft.d.ts +1 -1
- package/dist/types/twisty/old/animation/stream/timeline-move-calculation-draft.d.ts.map +1 -0
- package/dist/types/twisty/{dom/TwistyAlgViewer.css_.d.ts → old/dom/TwistyAlgViewerV1.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.css.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts +52 -0
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts.map +1 -0
- package/dist/types/twisty/{dom/TwistyPlayer.css_.d.ts → old/dom/TwistyPlayer.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/TwistyPlayer.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/TwistyPlayer.d.ts +8 -8
- package/dist/types/twisty/old/dom/TwistyPlayer.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts +5 -0
- package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/TwistyPlayerConfig.d.ts +9 -5
- package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts +2 -0
- package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts.map +1 -0
- package/dist/types/twisty/{dom/controls/TwistyScrubber.css_.d.ts → old/dom/controls/TwistyScrubber.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/controls/TwistyScrubber.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/controls/TwistyScrubber.d.ts +1 -1
- package/dist/types/twisty/old/dom/controls/TwistyScrubber.d.ts.map +1 -0
- package/dist/types/twisty/{dom/controls/buttons.css_.d.ts → old/dom/controls/buttons.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/controls/buttons.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/controls/buttons.d.ts +1 -1
- package/dist/types/twisty/old/dom/controls/buttons.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts +5 -0
- package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/ClassListManager.d.ts +0 -0
- package/dist/types/twisty/old/dom/element/ClassListManager.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/ElementConfig.d.ts +1 -1
- package/dist/types/twisty/old/dom/element/ElementConfig.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/ManagedCustomElement.d.ts +0 -0
- package/dist/types/twisty/old/dom/element/ManagedCustomElement.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/node-custom-element-shims.d.ts +0 -0
- package/dist/types/twisty/old/dom/element/node-custom-element-shims.d.ts.map +1 -0
- package/dist/types/twisty/{dom/stream/TwistyStreamSource.css_.d.ts → old/dom/stream/TwistyStreamSource.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/stream/TwistyStreamSource.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/stream/TwistyStreamSource.d.ts +0 -0
- package/dist/types/twisty/old/dom/stream/TwistyStreamSource.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/Twisty2DSVG.d.ts +2 -2
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVG.d.ts.map +1 -0
- package/dist/types/twisty/{dom/viewers/Twisty2DSVGView.css_.d.ts → old/dom/viewers/Twisty2DSVGView.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVGView.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom/viewers/Twisty3DCanvas.css_.d.ts → old/dom/viewers/Twisty3DCanvas.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/Twisty3DCanvas.d.ts +1 -2
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/TwistyOrbitControls.d.ts +0 -0
- package/dist/types/twisty/old/dom/viewers/TwistyOrbitControls.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts +4 -0
- package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts.map +1 -0
- package/dist/types/twisty/{dom/viewers/TwistyViewerWrapper.css_.d.ts → old/dom/viewers/TwistyViewerWrapper.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/TwistyViewerWrapper.d.ts +0 -0
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/viewers/canvas.d.ts +3 -0
- package/dist/types/twisty/old/dom/viewers/canvas.d.ts.map +1 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +29 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +1 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +16 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +20 -0
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/RendererPool.d.ts +4 -0
- package/dist/types/twisty/views/3D/RendererPool.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/TAU.d.ts +0 -0
- package/dist/types/twisty/views/3D/TAU.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +17 -0
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/Twisty3DRenderTarget.d.ts +0 -0
- package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/Twisty3DScene.d.ts +0 -0
- package/dist/types/twisty/views/3D/Twisty3DScene.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +28 -0
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +32 -0
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts +41 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts +5 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/Cube3D.d.ts +11 -7
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/KPuzzleWrapper.d.ts +2 -2
- package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +57 -0
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/Twisty3DPuzzle.d.ts +1 -1
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/TwistyTestBox.d.ts +2 -2
- package/dist/types/twisty/views/3D/puzzles/TwistyTestBox.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +18 -0
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +3 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +40 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +5 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +61 -0
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +3 -0
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → views}/TwistyAlgViewer.d.ts +6 -6
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyPlayer.d.ts +97 -0
- package/dist/types/twisty/views/TwistyPlayer.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +71 -0
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +33 -0
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +14 -0
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts +15 -0
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts.map +1 -0
- package/dist/types/twisty/views/document.d.ts +2 -0
- package/dist/types/twisty/views/document.d.ts.map +1 -0
- package/dist/types/twisty/views/screenshot.d.ts +12 -0
- package/dist/types/twisty/views/screenshot.d.ts.map +1 -0
- package/dist/types/vendor/p-lazy/p-lazy.d.ts +10 -0
- package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +1 -0
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +33 -0
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +1 -0
- package/docs/.DS_Store +0 -0
- package/docs/cubing/.DS_Store +0 -0
- package/docs/cubing/alg/index.html +37 -23
- package/docs/cubing/index.html +56 -252
- package/docs/cubing/scramble/index.html +122 -0
- package/docs/cubing/twisty/index.html +329 -0
- package/docs/main.css +15 -3
- package/package.json +81 -55
- package/src/cubing/.DS_Store +0 -0
- package/src/cubing/alg/.DS_Store +0 -0
- package/src/cubing/alg/Alg.ts +89 -0
- package/src/cubing/alg/common.ts +4 -2
- package/src/cubing/alg/iteration.ts +1 -1
- package/src/cubing/alg/parse.ts +2 -0
- package/src/cubing/alg/test/alg-comparison.ts +1 -0
- package/src/cubing/alg/units/.DS_Store +0 -0
- package/src/cubing/alg/units/Unit.ts +0 -3
- package/src/cubing/alg/units/containers/Commutator.ts +1 -1
- package/src/cubing/alg/units/leaves/Move.ts +4 -4
- package/src/cubing/bluetooth/.DS_Store +0 -0
- package/src/cubing/bluetooth/smart-puzzle/Heykube.ts +1 -1
- package/src/cubing/bluetooth/smart-puzzle/gan.ts +5 -5
- package/src/cubing/bluetooth/smart-puzzle/giiker.ts +2 -2
- package/src/cubing/bluetooth/smart-puzzle/gocube.ts +5 -5
- package/src/cubing/bluetooth/smart-robot/GanRobot.ts +5 -5
- package/src/cubing/bluetooth/smart-timer/GanTimer.ts +2 -2
- package/src/cubing/{solve → kpuzzle}/.DS_Store +0 -0
- package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.ts +40 -0
- package/src/cubing/{puzzles/implementations/3x3x3/3x3x3.kpuzzle.json_.ts → kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts} +11 -6
- package/src/cubing/kpuzzle/canon.spec.ts +6 -11
- package/src/cubing/kpuzzle/canonicalize.ts +1 -1
- package/src/cubing/kpuzzle/definition_types.ts +0 -3
- package/src/cubing/kpuzzle/index.ts +1 -0
- package/src/cubing/kpuzzle/prunetable.spec.ts +2 -4
- package/src/cubing/kpuzzle/puzzle-orientation.ts +1 -1
- package/src/cubing/kpuzzle/svg.ts +4 -9
- package/src/cubing/kpuzzle/transformations.ts +1 -1
- package/src/cubing/protocol/binary/binary3x3x3.spec.ts +5 -2
- package/src/cubing/protocol/binary/hex.ts +4 -4
- package/src/cubing/protocol/binary/orbit-indexing.ts +2 -2
- package/src/cubing/protocol/binary/puzzle-orientation.ts +2 -2
- package/src/cubing/puzzle-geometry/Options.ts +151 -22
- package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +24 -28
- package/src/cubing/puzzle-geometry/PermOriSet.ts +99 -98
- package/src/cubing/puzzle-geometry/PlatonicGenerator.ts +1 -1
- package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +836 -867
- package/src/cubing/puzzle-geometry/Quat.ts +1 -68
- package/src/cubing/puzzle-geometry/SchreierSims.ts +2 -13
- package/src/cubing/puzzle-geometry/index.ts +2 -11
- package/src/cubing/puzzle-geometry/interfaces.ts +1 -27
- package/src/cubing/puzzle-geometry/orientcenters.spec.ts +24 -30
- package/src/cubing/puzzles/.DS_Store +0 -0
- package/src/cubing/puzzles/async/async-pg3d.ts +5 -8
- package/src/cubing/puzzles/customPGPuzzleLoader.ts +60 -0
- package/src/cubing/puzzles/implementations/.DS_Store +0 -0
- package/src/cubing/puzzles/implementations/2x2x2/{2x2x2.kpuzzle.json_.ts → 2x2x2.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/implementations/2x2x2/index.ts +1 -1
- package/src/cubing/puzzles/implementations/3x3x3/index.ts +2 -3
- package/src/cubing/puzzles/implementations/clock/{clock.kpuzzle.json_.ts → clock.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/implementations/clock/index.ts +1 -1
- package/src/cubing/puzzles/implementations/pyraminx/{pyraminx.kpuzzle.json_.ts → pyraminx.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/implementations/square1/index.ts +1 -2
- package/src/cubing/puzzles/implementations/square1/{sq1-hyperorbit.kpuzzle.json_.ts → sq1-hyperorbit.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/index.ts +5 -2
- package/src/cubing/puzzles/stickerings/appearance.ts +10 -9
- package/src/cubing/puzzles/stickerings/cube-stickerings.ts +8 -0
- package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +61 -0
- package/src/cubing/search/.DS_Store +0 -0
- package/src/cubing/search/.gitignore +1 -2
- package/src/cubing/search/esm-test-worker.js +1 -1
- package/src/cubing/search/index.ts +1 -0
- package/src/cubing/search/inside/api.ts +5 -1
- package/src/cubing/search/inside/solve/parseSGS.ts +7 -11
- package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +4 -3
- package/src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts +0 -6
- package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +0 -2
- package/src/cubing/search/inside/solve/puzzles/FTO.sgs +264 -0
- package/src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts +4 -6
- package/src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts +1 -1
- package/src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts +4 -6
- package/src/cubing/search/inside/solve/tremble.ts +6 -9
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.ts +20 -822
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.ts +177 -252
- package/src/cubing/search/inside/solve/vendor/min2phase/gwt.js +62 -222
- package/src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts +4 -5
- package/src/cubing/search/inside/solve/vendor/random-uint-below/random-int.ts +9 -11
- package/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js +13 -582
- package/src/cubing/search/instantiator.ts +11 -7
- package/src/cubing/search/outside.ts +8 -2
- package/src/cubing/search/worker-inside-generated-string.js +1 -1
- package/src/cubing/stream/.DS_Store +0 -0
- package/src/cubing/stream/process/ReorientedStream.ts +1 -1
- package/src/cubing/stream/twizzle/TwizzleStream.ts +11 -8
- package/src/cubing/stream/websocket-proxy.ts +1 -3
- package/src/cubing/twisty/.DS_Store +0 -0
- package/src/cubing/twisty/controllers/TwistyAnimationController.ts +248 -0
- package/src/cubing/twisty/controllers/TwistyPlayerController.ts +38 -0
- package/src/cubing/twisty/heavy-code-imports/3d.ts +18 -0
- package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +41 -0
- package/src/cubing/twisty/index.ts +24 -17
- package/src/cubing/{protocol → twisty/model}/.DS_Store +0 -0
- package/src/cubing/twisty/model/PromiseFreshener.ts +49 -0
- package/src/cubing/twisty/model/TwistyPlayerModel.ts +214 -0
- package/src/cubing/twisty/model/helpers.ts +47 -0
- package/src/cubing/{search/vendor → twisty/model/props}/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/TwistyProp.spec.ts +38 -0
- package/src/cubing/twisty/model/props/TwistyProp.ts +361 -0
- package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +370 -0
- package/src/cubing/twisty/model/props/general/URLProp.ts +14 -0
- package/src/cubing/twisty/{3D → model/props/puzzle}/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +10 -0
- package/src/cubing/twisty/model/props/puzzle/display/SpriteProp.ts +43 -0
- package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +8 -0
- package/src/cubing/twisty/model/props/puzzle/state/AlgProp.ts +91 -0
- package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +28 -0
- package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +44 -0
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +91 -0
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +48 -0
- package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +46 -0
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +46 -0
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.ts +15 -0
- package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +24 -0
- package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +22 -0
- package/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts +28 -0
- package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +8 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDefProp.ts +14 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.ts +14 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +12 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +17 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +32 -0
- package/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.ts +45 -0
- package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +76 -0
- package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +51 -0
- package/src/cubing/twisty/model/props/timeline/TempoScaleProp.ts +13 -0
- package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +38 -0
- package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.ts +86 -0
- package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/LatitudeLimit.ts +11 -0
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +56 -0
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +69 -0
- package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +15 -0
- package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +45 -0
- package/src/cubing/twisty/{animation → old}/.DS_Store +0 -0
- package/src/cubing/{search/inside → twisty/old/animation}/.DS_Store +0 -0
- package/src/cubing/twisty/{animation → old/animation}/RenderScheduler.ts +5 -0
- package/src/cubing/twisty/{animation → old/animation}/Timeline.ts +0 -0
- package/src/cubing/twisty/{animation → old/animation}/cursor/AlgCursor.ts +15 -8
- package/src/cubing/twisty/{animation → old/animation}/cursor/CursorTypes.ts +4 -4
- package/src/cubing/twisty/{animation → old/animation}/easing.ts +0 -0
- package/src/cubing/twisty/old/animation/indexer/.DS_Store +0 -0
- package/src/cubing/twisty/{animation → old/animation}/indexer/AlgDuration.ts +1 -1
- package/src/cubing/twisty/old/animation/indexer/AlgIndexer.ts +86 -0
- package/src/cubing/twisty/{animation → old/animation}/indexer/SimpleAlgIndexer.ts +9 -6
- package/src/cubing/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +181 -0
- package/src/cubing/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +243 -0
- package/src/cubing/twisty/{animation → old/animation}/indexer/simultaneous-moves/simul-moves.ts +46 -34
- package/src/cubing/twisty/{animation → old/animation}/indexer/tree/AlgWalker.ts +6 -3
- package/src/cubing/twisty/{animation → old/animation}/indexer/tree/TreeAlgIndexer.ts +8 -5
- package/src/cubing/twisty/{animation → old/animation}/indexer/tree/chunkAlgs.ts +2 -2
- package/src/cubing/twisty/{animation → old/animation}/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -0
- package/src/cubing/twisty/{animation → old/animation}/stream/timeline-move-calculation-draft.ts +2 -2
- package/src/cubing/{search/vendor/comlink-everywhere → twisty/old/dom}/.DS_Store +0 -0
- package/src/cubing/twisty/{dom/TwistyAlgViewer.css_.ts → old/dom/TwistyAlgViewerV1.css.ts} +0 -0
- package/src/cubing/twisty/{dom/TwistyAlgViewer.ts → old/dom/TwistyAlgViewerV1.ts} +43 -36
- package/src/cubing/twisty/{dom/TwistyPlayer.css_.ts → old/dom/TwistyPlayer.css.ts} +8 -1
- package/src/cubing/twisty/{dom → old/dom}/TwistyPlayer.spec.ts +5 -6
- package/src/cubing/twisty/{dom → old/dom}/TwistyPlayer.ts +36 -43
- package/src/cubing/twisty/{dom → old/dom}/TwistyPlayerConfig.ts +26 -10
- package/src/cubing/twisty/{dom/controls/TwistyControlElement.ts.ts → old/dom/controls/TwistyControlElement.ts} +0 -0
- package/src/cubing/twisty/{dom/controls/TwistyScrubber.css_.ts → old/dom/controls/TwistyScrubber.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/controls/TwistyScrubber.ts +3 -3
- package/src/cubing/twisty/{dom/controls/buttons.css_.ts → old/dom/controls/buttons.css.ts} +14 -1
- package/src/cubing/twisty/{dom → old/dom}/controls/buttons.spec.ts +1 -1
- package/src/cubing/twisty/{dom → old/dom}/controls/buttons.ts +15 -15
- package/src/cubing/twisty/{dom → old/dom}/element/ClassListManager.ts +0 -0
- package/src/cubing/twisty/{dom → old/dom}/element/ElementConfig.ts +1 -1
- package/src/cubing/twisty/{dom → old/dom}/element/ManagedCustomElement.ts +0 -0
- package/src/cubing/twisty/{dom → old/dom}/element/node-custom-element-shims.ts +0 -0
- package/src/cubing/twisty/{dom/stream/TwistyStreamSource.css_.ts → old/dom/stream/TwistyStreamSource.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/stream/TwistyStreamSource.ts +8 -8
- package/src/cubing/twisty/{dom → old/dom}/viewers/Twisty2DSVG.ts +7 -9
- package/src/cubing/twisty/{dom/viewers/Twisty2DSVGView.css_.ts → old/dom/viewers/Twisty2DSVGView.css.ts} +0 -0
- package/src/cubing/twisty/{dom/viewers/Twisty3DCanvas.css_.ts → old/dom/viewers/Twisty3DCanvas.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/viewers/Twisty3DCanvas.ts +5 -12
- package/src/cubing/twisty/{dom → old/dom}/viewers/TwistyOrbitControls.ts +57 -20
- package/src/cubing/twisty/{dom → old/dom}/viewers/TwistyViewerElement.ts +1 -1
- package/src/cubing/twisty/{dom/viewers/TwistyViewerWrapper.css_.ts → old/dom/viewers/TwistyViewerWrapper.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/viewers/TwistyViewerWrapper.ts +1 -1
- package/src/cubing/twisty/old/dom/viewers/canvas.ts +9 -0
- package/src/cubing/twisty/{dom/twisty-player-model → views}/.DS_Store +0 -0
- package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +150 -0
- package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +52 -0
- package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +77 -0
- package/src/cubing/twisty/views/3D/RendererPool.ts +53 -0
- package/src/cubing/twisty/{3D → views/3D}/TAU.ts +0 -0
- package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +168 -0
- package/src/cubing/twisty/{3D → views/3D}/Twisty3DRenderTarget.ts +0 -0
- package/src/cubing/twisty/{3D → views/3D}/Twisty3DScene.ts +0 -0
- package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +144 -0
- package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +244 -0
- package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.spec.ts +209 -0
- package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.ts +270 -0
- package/src/cubing/twisty/{3D → views/3D}/puzzles/Cube3D.ts +36 -15
- package/src/cubing/twisty/{3D → views/3D}/puzzles/KPuzzleWrapper.ts +4 -5
- package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +988 -0
- package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +6 -0
- package/src/cubing/twisty/{3D → views/3D}/puzzles/TwistyTestBox.ts +2 -2
- package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +116 -0
- package/src/cubing/twisty/{dom/TwistyAlgEditor.css_.ts → views/TwistyAlgEditor/TwistyAlgEditor.css.ts} +3 -1
- package/src/cubing/twisty/{dom → views/TwistyAlgEditor}/TwistyAlgEditor.spec.ts +7 -6
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +360 -0
- package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +179 -0
- package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +25 -0
- package/src/cubing/twisty/views/TwistyAlgViewer.ts +502 -0
- package/src/cubing/twisty/views/TwistyPlayer.ts +315 -0
- package/src/cubing/twisty/views/TwistyPlayerSettable.ts +111 -0
- package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +159 -0
- package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +145 -0
- package/src/cubing/twisty/views/control-panel/webkit-fullscreen.ts +44 -0
- package/src/cubing/twisty/views/document.ts +4 -0
- package/src/cubing/twisty/views/screenshot.ts +90 -0
- package/src/cubing/{twisty/animation/indexer → vendor}/.DS_Store +0 -0
- package/src/cubing/vendor/p-lazy/license +9 -0
- package/src/cubing/vendor/p-lazy/p-lazy.ts +52 -0
- package/src/cubing/vendor/p-lazy/readme.md +54 -0
- package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +179 -0
- package/dist/esm/chunk-CWVB5RRW.js.map +0 -7
- package/dist/esm/chunk-FKDOQP32.js.map +0 -7
- package/dist/esm/chunk-YNB7QLBF.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-SJBWGHB4.js +0 -2826
- package/dist/esm/worker-inside-generated-string-SJBWGHB4.js.map +0 -7
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.json_.d.ts +0 -3
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/shim-lib.d.ts +0 -3
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/shim-lib.d.ts.map +0 -1
- package/dist/types/twisty/3D/TAU.d.ts.map +0 -1
- package/dist/types/twisty/3D/Twisty3DRenderTarget.d.ts.map +0 -1
- package/dist/types/twisty/3D/Twisty3DScene.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/Cube3D.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/KPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/PG3D.d.ts +0 -51
- package/dist/types/twisty/3D/puzzles/PG3D.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/Twisty3DPuzzle.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/TwistyTestBox.d.ts.map +0 -1
- package/dist/types/twisty/animation/RenderScheduler.d.ts.map +0 -1
- package/dist/types/twisty/animation/Timeline.d.ts.map +0 -1
- package/dist/types/twisty/animation/cursor/AlgCursor.d.ts.map +0 -1
- package/dist/types/twisty/animation/cursor/CursorTypes.d.ts.map +0 -1
- package/dist/types/twisty/animation/easing.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/AlgDuration.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/AlgIndexer.d.ts +0 -15
- package/dist/types/twisty/animation/indexer/AlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/SimpleAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/simultaneous-moves/simul-moves.d.ts +0 -25
- package/dist/types/twisty/animation/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/tree/AlgWalker.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/tree/chunkAlgs.d.ts +0 -3
- package/dist/types/twisty/animation/indexer/tree/chunkAlgs.d.ts.map +0 -1
- package/dist/types/twisty/animation/stream/timeline-move-calculation-draft.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgEditor.css_.d.ts +0 -3
- package/dist/types/twisty/dom/TwistyAlgEditor.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgEditor.d.ts +0 -27
- package/dist/types/twisty/dom/TwistyAlgEditor.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgEditorStartCharSearch.d.ts +0 -26
- package/dist/types/twisty/dom/TwistyAlgEditorStartCharSearch.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgViewer.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgViewer.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyPlayer.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyPlayer.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyPlayerConfig.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/TwistyControlElement.ts.d.ts +0 -2
- package/dist/types/twisty/dom/controls/TwistyControlElement.ts.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/TwistyScrubber.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/TwistyScrubber.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/buttons.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/buttons.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/ClassListManager.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/ElementConfig.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/ManagedCustomElement.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/node-custom-element-shims.d.ts.map +0 -1
- package/dist/types/twisty/dom/stream/TwistyStreamSource.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/stream/TwistyStreamSource.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty2DSVG.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty2DSVGView.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty3DCanvas.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty3DCanvas.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyOrbitControls.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyViewerElement.d.ts +0 -4
- package/dist/types/twisty/dom/viewers/TwistyViewerElement.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyViewerWrapper.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyViewerWrapper.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/canvas.d.ts +0 -2
- package/dist/types/twisty/dom/viewers/canvas.d.ts.map +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.d.ts +0 -2
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.d.ts.map +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.wrapped.d.ts +0 -21
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.wrapped.d.ts.map +0 -1
- package/src/cubing/puzzle-geometry/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/puzzles/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/puzzles/3x3x3/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/shim-lib.ts +0 -13
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lib/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/scramble/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/sgs/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/sgs/src/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/sgs/src/test/.DS_Store +0 -0
- package/src/cubing/twisty/3D/puzzles/PG3D.ts +0 -600
- package/src/cubing/twisty/3D/puzzles/Twisty3DPuzzle.ts +0 -9
- package/src/cubing/twisty/3D/puzzles/mkbhd.svg +0 -5
- package/src/cubing/twisty/animation/indexer/AlgIndexer.ts +0 -25
- package/src/cubing/twisty/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +0 -168
- package/src/cubing/twisty/dom/.DS_Store +0 -0
- package/src/cubing/twisty/dom/TwistyAlgEditor.ts +0 -373
- package/src/cubing/twisty/dom/TwistyAlgEditorStartCharSearch.ts +0 -138
- package/src/cubing/twisty/dom/viewers/canvas.ts +0 -4
- package/src/cubing/vendor/three/examples/jsm/libs/stats.module.ts +0 -2
- package/src/cubing/vendor/three/examples/jsm/libs/stats.module.wrapped.d.ts +0 -24
- package/src/cubing/vendor/three/examples/jsm/libs/stats.module.wrapped.js +0 -178
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
Pause,
|
|
12
12
|
TraversalDownUp,
|
|
13
13
|
Unit,
|
|
14
|
-
} from "
|
|
15
|
-
import type { Parsed } from "
|
|
16
|
-
import { puzzles } from "
|
|
17
|
-
import {
|
|
18
|
-
import { KPuzzleWrapper } from "
|
|
14
|
+
} from "../../../alg";
|
|
15
|
+
import type { Parsed } from "../../../alg/parse";
|
|
16
|
+
import { puzzles } from "../../../puzzles";
|
|
17
|
+
import { TwistyPlayerV1 } from "../..";
|
|
18
|
+
import { KPuzzleWrapper } from "../../views/3D/puzzles/KPuzzleWrapper";
|
|
19
19
|
import type { TimeRange } from "../animation/cursor/AlgCursor";
|
|
20
20
|
import type { MillisecondTimestamp } from "../animation/cursor/CursorTypes";
|
|
21
21
|
import { TreeAlgIndexer } from "../animation/indexer/tree/TreeAlgIndexer";
|
|
@@ -24,22 +24,22 @@ import {
|
|
|
24
24
|
customElementsShim,
|
|
25
25
|
HTMLElementShim,
|
|
26
26
|
} from "./element/node-custom-element-shims";
|
|
27
|
-
import { twistyAlgViewerCSS } from "./
|
|
27
|
+
import { twistyAlgViewerCSS } from "./TwistyAlgViewerV1.css";
|
|
28
28
|
|
|
29
29
|
const DEFAULT_OFFSET_MS = 250; // TODO: make this a fraction?
|
|
30
30
|
|
|
31
31
|
class DataDown {
|
|
32
32
|
earliestMoveIndex: number;
|
|
33
|
-
twistyAlgViewer:
|
|
33
|
+
twistyAlgViewer: TwistyAlgViewerV1;
|
|
34
34
|
direction: ExperimentalIterationDirection;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
class DataUp {
|
|
38
38
|
moveCount: number;
|
|
39
|
-
element:
|
|
39
|
+
element: TwistyAlgWrapperElemV1 | TwistyAlgLeafElemV1;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
class
|
|
42
|
+
class TwistyAlgLeafElemV1 extends ManagedCustomElement {
|
|
43
43
|
constructor(
|
|
44
44
|
className: string,
|
|
45
45
|
text: string,
|
|
@@ -73,7 +73,9 @@ class TwistyAlgLeafElem extends ManagedCustomElement {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
pathToIndex(
|
|
76
|
+
pathToIndex(
|
|
77
|
+
_index: number,
|
|
78
|
+
): (TwistyAlgWrapperElemV1 | TwistyAlgLeafElemV1)[] {
|
|
77
79
|
return [];
|
|
78
80
|
}
|
|
79
81
|
|
|
@@ -82,9 +84,9 @@ class TwistyAlgLeafElem extends ManagedCustomElement {
|
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
86
|
|
|
85
|
-
customElementsShim.define("twisty-alg-leaf-elem",
|
|
87
|
+
customElementsShim.define("twisty-alg-leaf-elem-v1", TwistyAlgLeafElemV1);
|
|
86
88
|
|
|
87
|
-
class
|
|
89
|
+
class TwistyAlgWrapperElemV1 extends HTMLElementShim {
|
|
88
90
|
private queue: (Element | Text)[] = [];
|
|
89
91
|
|
|
90
92
|
constructor(className: string, public algOrUnit: Alg | Unit) {
|
|
@@ -110,12 +112,14 @@ class TwistyAlgWrapperElem extends HTMLElementShim {
|
|
|
110
112
|
this.queue = [];
|
|
111
113
|
}
|
|
112
114
|
|
|
113
|
-
pathToIndex(
|
|
115
|
+
pathToIndex(
|
|
116
|
+
_index: number,
|
|
117
|
+
): (TwistyAlgWrapperElemV1 | TwistyAlgLeafElemV1)[] {
|
|
114
118
|
return [];
|
|
115
119
|
}
|
|
116
120
|
}
|
|
117
121
|
|
|
118
|
-
customElementsShim.define("twisty-alg-wrapper-elem",
|
|
122
|
+
customElementsShim.define("twisty-alg-wrapper-elem-v1", TwistyAlgWrapperElemV1);
|
|
119
123
|
|
|
120
124
|
function oppositeDirection(
|
|
121
125
|
direction: ExperimentalIterationDirection,
|
|
@@ -149,7 +153,7 @@ function maybeReverseList<T>(
|
|
|
149
153
|
class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
150
154
|
public traverseAlg(alg: Alg, dataDown: DataDown): DataUp {
|
|
151
155
|
let moveCount = 0;
|
|
152
|
-
const element = new
|
|
156
|
+
const element = new TwistyAlgWrapperElemV1("twisty-alg-alg", alg); // TODO: pick a better class name.
|
|
153
157
|
let first = true;
|
|
154
158
|
for (const unit of experimentalDirect(alg.units(), dataDown.direction)) {
|
|
155
159
|
if (!first) {
|
|
@@ -182,13 +186,13 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
182
186
|
grouping.amount,
|
|
183
187
|
);
|
|
184
188
|
let moveCount = 0;
|
|
185
|
-
const element = new
|
|
189
|
+
const element = new TwistyAlgWrapperElemV1("twisty-alg-grouping", grouping);
|
|
186
190
|
element.addString("(");
|
|
187
191
|
|
|
188
192
|
if (square1Tuple) {
|
|
189
193
|
moveCount += element.addElem({
|
|
190
194
|
moveCount: 1,
|
|
191
|
-
element: new
|
|
195
|
+
element: new TwistyAlgLeafElemV1(
|
|
192
196
|
"twisty-alg-move", // TODO: Mark the tuple with a special class?
|
|
193
197
|
square1Tuple[0].amount.toString(),
|
|
194
198
|
dataDown,
|
|
@@ -200,7 +204,7 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
200
204
|
element.addString(", ");
|
|
201
205
|
moveCount += element.addElem({
|
|
202
206
|
moveCount: 1,
|
|
203
|
-
element: new
|
|
207
|
+
element: new TwistyAlgLeafElemV1(
|
|
204
208
|
"twisty-alg-move", // TODO: Mark the tuple with a special class?
|
|
205
209
|
square1Tuple[1].amount.toString(),
|
|
206
210
|
dataDown,
|
|
@@ -228,7 +232,7 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
228
232
|
}
|
|
229
233
|
|
|
230
234
|
public traverseMove(move: Move, dataDown: DataDown): DataUp {
|
|
231
|
-
const element = new
|
|
235
|
+
const element = new TwistyAlgLeafElemV1(
|
|
232
236
|
"twisty-alg-move",
|
|
233
237
|
move.toString(),
|
|
234
238
|
dataDown,
|
|
@@ -251,7 +255,7 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
251
255
|
dataDown: DataDown,
|
|
252
256
|
): DataUp {
|
|
253
257
|
let moveCount = 0;
|
|
254
|
-
const element = new
|
|
258
|
+
const element = new TwistyAlgWrapperElemV1(
|
|
255
259
|
"twisty-alg-commutator",
|
|
256
260
|
commutator,
|
|
257
261
|
);
|
|
@@ -287,7 +291,10 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
287
291
|
|
|
288
292
|
public traverseConjugate(conjugate: Conjugate, dataDown: DataDown): DataUp {
|
|
289
293
|
let moveCount = 0;
|
|
290
|
-
const element = new
|
|
294
|
+
const element = new TwistyAlgWrapperElemV1(
|
|
295
|
+
"twisty-alg-conjugate",
|
|
296
|
+
conjugate,
|
|
297
|
+
);
|
|
291
298
|
element.addString("[");
|
|
292
299
|
const aLen = element.addElem(
|
|
293
300
|
this.traverseAlg(conjugate.A, {
|
|
@@ -316,7 +323,7 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
316
323
|
public traversePause(pause: Pause, dataDown: DataDown): DataUp {
|
|
317
324
|
return {
|
|
318
325
|
moveCount: 1,
|
|
319
|
-
element: new
|
|
326
|
+
element: new TwistyAlgLeafElemV1(
|
|
320
327
|
"twisty-alg-pause",
|
|
321
328
|
".",
|
|
322
329
|
dataDown,
|
|
@@ -328,7 +335,7 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
328
335
|
}
|
|
329
336
|
|
|
330
337
|
public traverseNewline(newline: Newline, _dataDown: DataDown): DataUp {
|
|
331
|
-
const element = new
|
|
338
|
+
const element = new TwistyAlgWrapperElemV1("twisty-alg-newline", newline);
|
|
332
339
|
element.append(document.createElement("br"));
|
|
333
340
|
return {
|
|
334
341
|
moveCount: 0,
|
|
@@ -342,7 +349,7 @@ class AlgToDOMTree extends TraversalDownUp<DataDown, DataUp, DataUp> {
|
|
|
342
349
|
): DataUp {
|
|
343
350
|
return {
|
|
344
351
|
moveCount: 0,
|
|
345
|
-
element: new
|
|
352
|
+
element: new TwistyAlgLeafElemV1(
|
|
346
353
|
"twisty-alg-line-comment",
|
|
347
354
|
`//${lineComment.text}`,
|
|
348
355
|
dataDown,
|
|
@@ -360,10 +367,10 @@ const algToDOMTree = algToDOMTreeInstance.traverseAlg.bind(
|
|
|
360
367
|
) as (alg: Alg, dataDown: DataDown) => DataUp;
|
|
361
368
|
|
|
362
369
|
class MoveHighlighter {
|
|
363
|
-
moveCharIndexMap: Map<number,
|
|
364
|
-
currentElem:
|
|
370
|
+
moveCharIndexMap: Map<number, TwistyAlgLeafElemV1> = new Map();
|
|
371
|
+
currentElem: TwistyAlgLeafElemV1 | null = null;
|
|
365
372
|
|
|
366
|
-
addMove(charIndex: number, elem:
|
|
373
|
+
addMove(charIndex: number, elem: TwistyAlgLeafElemV1): void {
|
|
367
374
|
this.moveCharIndexMap.set(charIndex, elem);
|
|
368
375
|
}
|
|
369
376
|
|
|
@@ -382,12 +389,12 @@ class MoveHighlighter {
|
|
|
382
389
|
}
|
|
383
390
|
}
|
|
384
391
|
|
|
385
|
-
export class
|
|
392
|
+
export class TwistyAlgViewerV1 extends HTMLElementShim {
|
|
386
393
|
highlighter: MoveHighlighter = new MoveHighlighter();
|
|
387
|
-
#domTree:
|
|
388
|
-
twistyPlayer:
|
|
394
|
+
#domTree: TwistyAlgWrapperElemV1 | TwistyAlgLeafElemV1;
|
|
395
|
+
twistyPlayer: TwistyPlayerV1 | null = null;
|
|
389
396
|
lastClickTimestamp: number | null = null;
|
|
390
|
-
constructor(options?: { twistyPlayer?:
|
|
397
|
+
constructor(options?: { twistyPlayer?: TwistyPlayerV1 }) {
|
|
391
398
|
super();
|
|
392
399
|
if (options?.twistyPlayer) {
|
|
393
400
|
this.setTwistyPlayer(options?.twistyPlayer);
|
|
@@ -408,7 +415,7 @@ export class TwistyAlgViewer extends HTMLElementShim {
|
|
|
408
415
|
this.appendChild(this.#domTree);
|
|
409
416
|
}
|
|
410
417
|
|
|
411
|
-
setTwistyPlayer(twistyPlayer:
|
|
418
|
+
setTwistyPlayer(twistyPlayer: TwistyPlayerV1): void {
|
|
412
419
|
if (this.twistyPlayer) {
|
|
413
420
|
console.warn("twisty-player reassignment is not supported");
|
|
414
421
|
return;
|
|
@@ -431,14 +438,14 @@ export class TwistyAlgViewer extends HTMLElementShim {
|
|
|
431
438
|
this.setAlg(parsedAlg);
|
|
432
439
|
(async () => {
|
|
433
440
|
const wrapper = new KPuzzleWrapper(
|
|
434
|
-
await puzzles[twistyPlayer
|
|
441
|
+
await puzzles[twistyPlayer.puzzle].def(),
|
|
435
442
|
);
|
|
436
443
|
const indexer = new TreeAlgIndexer(wrapper, parsedAlg);
|
|
437
444
|
twistyPlayer.timeline.addTimestampListener({
|
|
438
445
|
onTimelineTimestampChange: (timestamp: MillisecondTimestamp): void => {
|
|
439
446
|
// TODO: improve perf, e.g. only get notified when the move index changes.
|
|
440
447
|
this.highlighter.set(
|
|
441
|
-
indexer.
|
|
448
|
+
indexer.getAnimLeaf(
|
|
442
449
|
indexer.timestampToIndex(timestamp),
|
|
443
450
|
) as Parsed<Move> | null,
|
|
444
451
|
);
|
|
@@ -493,7 +500,7 @@ export class TwistyAlgViewer extends HTMLElementShim {
|
|
|
493
500
|
console.warn("for= elem does not exist");
|
|
494
501
|
return;
|
|
495
502
|
}
|
|
496
|
-
if (!(elem instanceof
|
|
503
|
+
if (!(elem instanceof TwistyPlayerV1)) {
|
|
497
504
|
console.warn("for= elem is not a twisty-player");
|
|
498
505
|
return;
|
|
499
506
|
}
|
|
@@ -506,4 +513,4 @@ export class TwistyAlgViewer extends HTMLElementShim {
|
|
|
506
513
|
}
|
|
507
514
|
}
|
|
508
515
|
|
|
509
|
-
customElementsShim.define("twisty-alg-viewer",
|
|
516
|
+
customElementsShim.define("twisty-alg-viewer-v1", TwistyAlgViewerV1);
|
|
@@ -25,7 +25,9 @@ export const twistyPlayerCSS = new CSSSource(`
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.wrapper.controls-none twisty-scrubber,
|
|
28
|
-
.wrapper.controls-none twisty-control-button-panel
|
|
28
|
+
.wrapper.controls-none twisty-control-button-panel ,
|
|
29
|
+
.wrapper.controls-none twisty-scrubber-v2,
|
|
30
|
+
.wrapper.controls-none twisty-buttons-v2 {
|
|
29
31
|
display: none;
|
|
30
32
|
}
|
|
31
33
|
|
|
@@ -40,4 +42,9 @@ twisty-scrubber {
|
|
|
40
42
|
background-size: 32px 32px;
|
|
41
43
|
background-position: 0 0, 16px 16px;
|
|
42
44
|
}
|
|
45
|
+
|
|
46
|
+
.visualization-wrapper > * {
|
|
47
|
+
width: 100%;
|
|
48
|
+
height: 100%;
|
|
49
|
+
}
|
|
43
50
|
`);
|
|
@@ -2,24 +2,23 @@
|
|
|
2
2
|
* @jest-environment jsdom
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Alg } from "
|
|
6
|
-
import
|
|
7
|
-
import "
|
|
5
|
+
import { Alg } from "../../../alg";
|
|
6
|
+
import "../../../alg/test/alg-comparison";
|
|
7
|
+
import { TwistyPlayerV1 } from "./TwistyPlayer";
|
|
8
8
|
|
|
9
9
|
describe("TwistyPlayer", () => {
|
|
10
10
|
it("can be constructed", () => {
|
|
11
|
-
const twistyPlayer = new
|
|
11
|
+
const twistyPlayer = new TwistyPlayerV1({
|
|
12
12
|
alg: "R U R'",
|
|
13
13
|
});
|
|
14
14
|
expect(twistyPlayer.alg.experimentalNumUnits()).toEqual(3);
|
|
15
15
|
});
|
|
16
16
|
|
|
17
17
|
it("can set alg using string", () => {
|
|
18
|
-
const twistyPlayer = new
|
|
18
|
+
const twistyPlayer = new TwistyPlayerV1({
|
|
19
19
|
alg: "R U R'",
|
|
20
20
|
});
|
|
21
21
|
// TODO(https://github.com/microsoft/TypeScript/pull/42425): remove `@ts-ignore`.
|
|
22
|
-
// @ts-ignore
|
|
23
22
|
twistyPlayer.alg = "F2";
|
|
24
23
|
expect(twistyPlayer.alg).toBeIdentical(new Alg("F2"));
|
|
25
24
|
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Vector3 } from "three";
|
|
2
|
-
import { Alg, experimentalAppendMove, Move } from "
|
|
3
|
-
import type { KPuzzleDefinition, Transformation } from "
|
|
4
|
-
import { countMoves } from "
|
|
5
|
-
import type { StickerDat } from "
|
|
6
|
-
import { puzzles } from "
|
|
7
|
-
import type { PuzzleLoader } from "
|
|
8
|
-
import type { PuzzleAppearance } from "
|
|
9
|
-
import { Cube3D } from "
|
|
10
|
-
import { PG3D, PG3DOptions } from "
|
|
11
|
-
import type { Twisty3DPuzzle } from "
|
|
12
|
-
import { Twisty3DScene } from "
|
|
2
|
+
import { Alg, experimentalAppendMove, Move } from "../../../alg";
|
|
3
|
+
import type { KPuzzleDefinition, Transformation } from "../../../kpuzzle";
|
|
4
|
+
import { countMoves } from "../../../notation"; // TODO
|
|
5
|
+
import type { StickerDat } from "../../../puzzle-geometry";
|
|
6
|
+
import { puzzles } from "../../../puzzles";
|
|
7
|
+
import type { PuzzleLoader } from "../../../puzzles/PuzzleLoader";
|
|
8
|
+
import type { PuzzleAppearance } from "../../../puzzles/stickerings/appearance";
|
|
9
|
+
import { Cube3D } from "../../views/3D/puzzles/Cube3D";
|
|
10
|
+
import { PG3D, PG3DOptions } from "../../views/3D/puzzles/PG3D";
|
|
11
|
+
import type { Twisty3DPuzzle } from "../../views/3D/puzzles/Twisty3DPuzzle";
|
|
12
|
+
import { Twisty3DScene } from "../../views/3D/Twisty3DScene";
|
|
13
13
|
import { AlgCursor, IndexerConstructor } from "../animation/cursor/AlgCursor";
|
|
14
14
|
import { SimpleAlgIndexer } from "../animation/indexer/SimpleAlgIndexer";
|
|
15
15
|
import { SimultaneousMoveIndexer } from "../animation/indexer/simultaneous-moves/SimultaneousMoveIndexer";
|
|
@@ -21,12 +21,12 @@ import {
|
|
|
21
21
|
TimestampLocationType,
|
|
22
22
|
} from "../animation/Timeline";
|
|
23
23
|
import { TwistyControlButtonPanel } from "./controls/buttons";
|
|
24
|
-
import type { TwistyControlElement } from "./controls/TwistyControlElement
|
|
24
|
+
import type { TwistyControlElement } from "./controls/TwistyControlElement";
|
|
25
25
|
import { TwistyScrubber } from "./controls/TwistyScrubber";
|
|
26
26
|
import { ClassListManager } from "./element/ClassListManager";
|
|
27
27
|
import { ManagedCustomElement } from "./element/ManagedCustomElement";
|
|
28
28
|
import { customElementsShim } from "./element/node-custom-element-shims";
|
|
29
|
-
import { twistyPlayerCSS } from "./TwistyPlayer.
|
|
29
|
+
import { twistyPlayerCSS } from "./TwistyPlayer.css";
|
|
30
30
|
import {
|
|
31
31
|
BackgroundTheme,
|
|
32
32
|
CameraLatitudeLimits,
|
|
@@ -77,8 +77,7 @@ const indexerMap = {
|
|
|
77
77
|
simultaneous: SimultaneousMoveIndexer,
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
export class TwistyPlayer extends ManagedCustomElement {
|
|
80
|
+
export class TwistyPlayerV1 extends ManagedCustomElement {
|
|
82
81
|
#config: TwistyPlayerConfig;
|
|
83
82
|
|
|
84
83
|
timeline: Timeline;
|
|
@@ -86,7 +85,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
86
85
|
scene: Twisty3DScene | null = null;
|
|
87
86
|
twisty3D: Twisty3DPuzzle | null = null;
|
|
88
87
|
|
|
89
|
-
#connected
|
|
88
|
+
#connected = false;
|
|
90
89
|
#legacyExperimentalPG3DViewConfig: LegacyExperimentalPG3DViewConfig | null =
|
|
91
90
|
null;
|
|
92
91
|
|
|
@@ -97,7 +96,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
97
96
|
viewerElems: TwistyViewerElement[] = []; // TODO: can we represent the intermediate state better?
|
|
98
97
|
controlElems: TwistyControlElement[] = []; // TODO: can we represent the intermediate state better?
|
|
99
98
|
|
|
100
|
-
#hackyPendingFinalMoveCoalesce
|
|
99
|
+
#hackyPendingFinalMoveCoalesce = false;
|
|
101
100
|
|
|
102
101
|
#viewerWrapper: TwistyViewerWrapper;
|
|
103
102
|
public legacyExperimentalCoalesceModFunc: (move: Move) => number = (
|
|
@@ -108,7 +107,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
108
107
|
new ClassListManager(this, "controls-", ["none", "bottom-row"]);
|
|
109
108
|
|
|
110
109
|
#experimentalInvalidInitialAlgCallback: (alg: Alg) => void;
|
|
111
|
-
#initialized
|
|
110
|
+
#initialized = false;
|
|
112
111
|
|
|
113
112
|
// TODO: support config from DOM.
|
|
114
113
|
constructor(
|
|
@@ -198,8 +197,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
198
197
|
|
|
199
198
|
/** @deprecated */
|
|
200
199
|
get experimentalSetupAnchor(): SetupToLocation {
|
|
201
|
-
return this.#config.attributes["experimental-setup-anchor"]
|
|
202
|
-
.value as SetupToLocation;
|
|
200
|
+
return this.#config.attributes["experimental-setup-anchor"].value;
|
|
203
201
|
}
|
|
204
202
|
|
|
205
203
|
set puzzle(puzzle: PuzzleID) {
|
|
@@ -209,7 +207,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
209
207
|
}
|
|
210
208
|
|
|
211
209
|
get puzzle(): PuzzleID {
|
|
212
|
-
return this.#config.attributes["puzzle"].value
|
|
210
|
+
return this.#config.attributes["puzzle"].value;
|
|
213
211
|
}
|
|
214
212
|
|
|
215
213
|
set visualization(visualization: VisualizationFormat) {
|
|
@@ -219,8 +217,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
219
217
|
}
|
|
220
218
|
|
|
221
219
|
get visualization(): VisualizationFormat {
|
|
222
|
-
return this.#config.attributes["visualization"]
|
|
223
|
-
.value as VisualizationFormat;
|
|
220
|
+
return this.#config.attributes["visualization"].value;
|
|
224
221
|
}
|
|
225
222
|
|
|
226
223
|
set hintFacelets(hintFacelets: HintFaceletStyle) {
|
|
@@ -233,7 +230,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
233
230
|
}
|
|
234
231
|
|
|
235
232
|
get hintFacelets(): HintFaceletStyle {
|
|
236
|
-
return this.#config.attributes["hint-facelets"].value
|
|
233
|
+
return this.#config.attributes["hint-facelets"].value;
|
|
237
234
|
}
|
|
238
235
|
|
|
239
236
|
// TODO: Implement for PG3D
|
|
@@ -257,7 +254,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
257
254
|
})();
|
|
258
255
|
}
|
|
259
256
|
if (this.viewerElems[0] instanceof Twisty2DSVG) {
|
|
260
|
-
|
|
257
|
+
this.viewerElems[0].experimentalSetStickering(
|
|
261
258
|
this.experimentalStickering,
|
|
262
259
|
);
|
|
263
260
|
}
|
|
@@ -267,8 +264,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
267
264
|
// TODO: Implement for PG3D
|
|
268
265
|
/** @deprecated */
|
|
269
266
|
get experimentalStickering(): ExperimentalStickering {
|
|
270
|
-
return this.#config.attributes["experimental-stickering"]
|
|
271
|
-
.value as ExperimentalStickering;
|
|
267
|
+
return this.#config.attributes["experimental-stickering"].value;
|
|
272
268
|
}
|
|
273
269
|
|
|
274
270
|
set background(background: BackgroundTheme) {
|
|
@@ -281,7 +277,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
281
277
|
}
|
|
282
278
|
|
|
283
279
|
get background(): BackgroundTheme {
|
|
284
|
-
return this.#config.attributes["background"].value
|
|
280
|
+
return this.#config.attributes["background"].value;
|
|
285
281
|
}
|
|
286
282
|
|
|
287
283
|
set controlPanel(controlPanel: ControlsLocation) {
|
|
@@ -290,7 +286,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
290
286
|
}
|
|
291
287
|
|
|
292
288
|
get controlPanel(): ControlsLocation {
|
|
293
|
-
return this.#config.attributes["control-panel"].value
|
|
289
|
+
return this.#config.attributes["control-panel"].value;
|
|
294
290
|
}
|
|
295
291
|
|
|
296
292
|
/** @deprecated use `controlPanel */
|
|
@@ -319,7 +315,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
319
315
|
}
|
|
320
316
|
|
|
321
317
|
get backView(): BackViewLayout {
|
|
322
|
-
return this.#config.attributes["back-view"].value
|
|
318
|
+
return this.#config.attributes["back-view"].value;
|
|
323
319
|
}
|
|
324
320
|
|
|
325
321
|
#orbitControls(): TwistyOrbitControls | null {
|
|
@@ -397,8 +393,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
397
393
|
|
|
398
394
|
get experimentalCameraLatitudeLimits(): CameraLatitudeLimits {
|
|
399
395
|
// TODO: sync with orbit controls
|
|
400
|
-
return this.#config.attributes["experimental-camera-latitude-limits"]
|
|
401
|
-
.value as CameraLatitudeLimits;
|
|
396
|
+
return this.#config.attributes["experimental-camera-latitude-limits"].value;
|
|
402
397
|
}
|
|
403
398
|
|
|
404
399
|
set viewerLink(viewerLinkPage: ViewerLinkPage) {
|
|
@@ -427,8 +422,9 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
427
422
|
|
|
428
423
|
/** @deprecated */
|
|
429
424
|
experimentalDerivedCameraOrbitCoordinates(): OrbitCoordinates {
|
|
430
|
-
|
|
425
|
+
const defaultCoordinatesForPuzzle = defaultCameraOrbitCoordinates(
|
|
431
426
|
this.puzzle,
|
|
427
|
+
this.twisty3D instanceof PG3D ? "PG3D" : "Cube3D",
|
|
432
428
|
);
|
|
433
429
|
|
|
434
430
|
return {
|
|
@@ -496,9 +492,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
496
492
|
// TODO: Are there any SVGs where we'd want a separate back view?
|
|
497
493
|
const setBackView: boolean =
|
|
498
494
|
this.backView && is3DVisualization(this.visualization);
|
|
499
|
-
const backView: BackViewLayout = setBackView
|
|
500
|
-
? (this.backView as BackViewLayout)
|
|
501
|
-
: "none";
|
|
495
|
+
const backView: BackViewLayout = setBackView ? this.backView : "none";
|
|
502
496
|
this.#viewerWrapper = new TwistyViewerWrapper({
|
|
503
497
|
backView,
|
|
504
498
|
});
|
|
@@ -662,8 +656,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
662
656
|
this.experimentalSetCursorIndexer(this.#cursorIndexerName);
|
|
663
657
|
}
|
|
664
658
|
|
|
665
|
-
|
|
666
|
-
async updatePuzzleDOM(initial: boolean = false): Promise<void> {
|
|
659
|
+
async updatePuzzleDOM(initial = false): Promise<void> {
|
|
667
660
|
if (!this.#connected) {
|
|
668
661
|
return;
|
|
669
662
|
}
|
|
@@ -674,7 +667,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
674
667
|
id: "custom",
|
|
675
668
|
fullName: "Custom (PG3D)",
|
|
676
669
|
def: () => Promise.resolve(this.#legacyExperimentalPG3DViewConfig!.def),
|
|
677
|
-
svg:
|
|
670
|
+
svg: () => {
|
|
678
671
|
throw "unimplemented";
|
|
679
672
|
},
|
|
680
673
|
};
|
|
@@ -780,7 +773,7 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
780
773
|
if (pendingPuzzleUpdate.cancelled) {
|
|
781
774
|
return;
|
|
782
775
|
}
|
|
783
|
-
def = pg.writekpuzzle(true)
|
|
776
|
+
def = pg.writekpuzzle(true); // TODO
|
|
784
777
|
stickerDat = pg.get3d();
|
|
785
778
|
} else {
|
|
786
779
|
throw "Unimplemented!";
|
|
@@ -865,8 +858,8 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
865
858
|
// Note: setting `coalesce`
|
|
866
859
|
experimentalAddMove(
|
|
867
860
|
move: Move,
|
|
868
|
-
coalesce
|
|
869
|
-
coalesceDelayed
|
|
861
|
+
coalesce = false,
|
|
862
|
+
coalesceDelayed = false,
|
|
870
863
|
): void {
|
|
871
864
|
if (this.#hackyPendingFinalMoveCoalesce) {
|
|
872
865
|
this.#hackyCoalescePending();
|
|
@@ -931,4 +924,4 @@ export class TwistyPlayer extends ManagedCustomElement {
|
|
|
931
924
|
}
|
|
932
925
|
}
|
|
933
926
|
|
|
934
|
-
customElementsShim.define("twisty-player",
|
|
927
|
+
customElementsShim.define("twisty-player-v1", TwistyPlayerV1);
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Vector3 } from "three";
|
|
2
|
-
import type { Alg } from "
|
|
3
|
-
import {
|
|
2
|
+
import type { Alg } from "../../../alg";
|
|
3
|
+
import type { VisualizationStrategy } from "../../model/props/viewer/VisualizationStrategyProp";
|
|
4
|
+
import { DEGREES_PER_RADIAN } from "../../views/3D/TAU";
|
|
4
5
|
import {
|
|
5
6
|
AlgAttribute,
|
|
6
7
|
RangedFloatAttribute,
|
|
7
8
|
StringEnumAttribute,
|
|
8
9
|
} from "./element/ElementConfig";
|
|
9
|
-
import type {
|
|
10
|
+
import type { TwistyPlayerV1 } from "./TwistyPlayer";
|
|
10
11
|
import type { OrbitCoordinates } from "./viewers/TwistyOrbitControls";
|
|
11
12
|
import { BackViewLayout, backViewLayouts } from "./viewers/TwistyViewerWrapper";
|
|
12
13
|
|
|
@@ -19,10 +20,18 @@ export const centeredCameraOrbitCoordinates: OrbitCoordinates = {
|
|
|
19
20
|
distance: 5.877852522924731,
|
|
20
21
|
};
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
// This is tuned so that the hint facelets for 3x3x3 always fit in the canvas.
|
|
24
|
+
export const cubeCube3DCameraOrbitCoordinates: OrbitCoordinates = {
|
|
25
|
+
latitude: 35,
|
|
26
|
+
longitude: 30,
|
|
27
|
+
distance: 6,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// This is tuned so that the hint facelets always fit in the canvas.
|
|
31
|
+
export const cubePG3DCameraOrbitCoordinates: OrbitCoordinates = {
|
|
32
|
+
latitude: 35,
|
|
33
|
+
longitude: 30,
|
|
34
|
+
distance: 6.25,
|
|
26
35
|
};
|
|
27
36
|
|
|
28
37
|
export const megaminxCameraOrbitCoordinates: OrbitCoordinates = {
|
|
@@ -48,9 +57,14 @@ export const pyraminxLookAt = new Vector3(0, 1 / 6, 0);
|
|
|
48
57
|
// TODO
|
|
49
58
|
export function defaultCameraOrbitCoordinates(
|
|
50
59
|
puzzleID: PuzzleID,
|
|
60
|
+
strategy: VisualizationStrategy,
|
|
51
61
|
): OrbitCoordinates {
|
|
52
62
|
if (puzzleID[1] === "x") {
|
|
53
|
-
|
|
63
|
+
if (strategy === "Cube3D") {
|
|
64
|
+
return cubeCube3DCameraOrbitCoordinates;
|
|
65
|
+
} else {
|
|
66
|
+
return cubePG3DCameraOrbitCoordinates;
|
|
67
|
+
}
|
|
54
68
|
} else {
|
|
55
69
|
switch (puzzleID) {
|
|
56
70
|
case "megaminx":
|
|
@@ -60,7 +74,7 @@ export function defaultCameraOrbitCoordinates(
|
|
|
60
74
|
case "master_tetraminx":
|
|
61
75
|
return pyraminxCameraOrbitCoordinates;
|
|
62
76
|
case "skewb":
|
|
63
|
-
return
|
|
77
|
+
return cubePG3DCameraOrbitCoordinates;
|
|
64
78
|
default:
|
|
65
79
|
return centeredCameraOrbitCoordinates;
|
|
66
80
|
}
|
|
@@ -137,6 +151,8 @@ export const experimentalStickerings = {
|
|
|
137
151
|
"experimental-fto-sc": true,
|
|
138
152
|
"experimental-fto-l2c": true,
|
|
139
153
|
"experimental-fto-lbt": true,
|
|
154
|
+
"experimental-global-custom-1": true,
|
|
155
|
+
"experimental-global-custom-2": true,
|
|
140
156
|
};
|
|
141
157
|
export type ExperimentalStickering = keyof typeof experimentalStickerings;
|
|
142
158
|
|
|
@@ -265,7 +281,7 @@ const twistyPlayerAttributeMap: Record<
|
|
|
265
281
|
export class TwistyPlayerConfig {
|
|
266
282
|
attributes: TwistyPlayerAttributes;
|
|
267
283
|
constructor(
|
|
268
|
-
private twistyPlayer:
|
|
284
|
+
private twistyPlayer: TwistyPlayerV1, // TODO
|
|
269
285
|
initialValues: TwistyPlayerInitialConfig,
|
|
270
286
|
) {
|
|
271
287
|
this.attributes = {
|
|
File without changes
|
|
File without changes
|
|
@@ -8,8 +8,8 @@ import type {
|
|
|
8
8
|
} from "../../animation/Timeline";
|
|
9
9
|
import { ManagedCustomElement } from "../element/ManagedCustomElement";
|
|
10
10
|
import { customElementsShim } from "../element/node-custom-element-shims";
|
|
11
|
-
import type { TwistyControlElement } from "./TwistyControlElement
|
|
12
|
-
import { twistyScrubberCSS } from "./TwistyScrubber.
|
|
11
|
+
import type { TwistyControlElement } from "./TwistyControlElement";
|
|
12
|
+
import { twistyScrubberCSS } from "./TwistyScrubber.css";
|
|
13
13
|
|
|
14
14
|
// Usually a horizontal line.
|
|
15
15
|
export class TwistyScrubber
|
|
@@ -46,7 +46,7 @@ export class TwistyScrubber
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
private onInput(): void {
|
|
49
|
-
this.timeline
|
|
49
|
+
this.timeline.setTimestamp(parseInt(this.range.value, 10));
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|