cubing 0.24.0-pre2 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/esm/{2x2x2.kpuzzle.json-U5KOZCMU.js → 2x2x2.kpuzzle.json-RUB44MJV.js} +2 -2
  2. package/dist/esm/2x2x2.kpuzzle.json-RUB44MJV.js.map +7 -0
  3. package/dist/esm/{2x2x2.sgs.json-UAYPCQVL.js → 2x2x2.sgs.json-TASFAQNY.js} +3 -3
  4. package/dist/esm/{2x2x2.sgs.json-UAYPCQVL.js.map → 2x2x2.sgs.json-TASFAQNY.js.map} +0 -0
  5. package/dist/esm/{chunk-REMJV2GO.js → 3d-dynamic-inside-RSDMFS4G.js} +23 -420
  6. package/dist/esm/3d-dynamic-inside-RSDMFS4G.js.map +7 -0
  7. package/dist/esm/bluetooth/index.js +3 -3
  8. package/dist/esm/chunk-27MCV5LC.js +423 -0
  9. package/dist/esm/chunk-27MCV5LC.js.map +7 -0
  10. package/dist/esm/{chunk-NPK6Z4AU.js → chunk-3SURT6S2.js} +2 -2
  11. package/dist/esm/{chunk-NPK6Z4AU.js.map → chunk-3SURT6S2.js.map} +0 -0
  12. package/dist/esm/{chunk-ZLIK3DZT.js → chunk-54HT7B4M.js} +118 -92
  13. package/dist/esm/chunk-54HT7B4M.js.map +7 -0
  14. package/dist/esm/{chunk-TNRZDNGH.js → chunk-B27E6KTE.js} +121 -115
  15. package/dist/esm/chunk-B27E6KTE.js.map +7 -0
  16. package/dist/esm/{chunk-KCRFOAR4.js → chunk-BBEJTW6Z.js} +3 -3
  17. package/dist/esm/{chunk-KCRFOAR4.js.map → chunk-BBEJTW6Z.js.map} +0 -0
  18. package/dist/esm/{chunk-TB4D4E2W.js → chunk-EA4KWT7Z.js} +3 -3
  19. package/dist/esm/chunk-EA4KWT7Z.js.map +7 -0
  20. package/dist/esm/{chunk-7OPCF2OL.js → chunk-GBIDMAJS.js} +2 -2
  21. package/dist/esm/{chunk-7OPCF2OL.js.map → chunk-GBIDMAJS.js.map} +0 -0
  22. package/dist/esm/{chunk-YN7E5RGM.js → chunk-LR6VCMD2.js} +3 -3
  23. package/dist/esm/{chunk-YN7E5RGM.js.map → chunk-LR6VCMD2.js.map} +0 -0
  24. package/dist/esm/{chunk-NV5ESXTN.js → chunk-SPTKCRT5.js} +3 -3
  25. package/dist/esm/{chunk-NV5ESXTN.js.map → chunk-SPTKCRT5.js.map} +0 -0
  26. package/dist/esm/{chunk-4IUYLRHT.js → chunk-U2TSTTDG.js} +12 -1
  27. package/dist/esm/chunk-U2TSTTDG.js.map +7 -0
  28. package/dist/esm/{chunk-J2U2GRS4.js → chunk-ZDALYMGF.js} +2 -2
  29. package/dist/esm/chunk-ZDALYMGF.js.map +7 -0
  30. package/dist/esm/{clock.kpuzzle.json-J3YBOI3G.js → clock.kpuzzle.json-BQKNKV3G.js} +4 -4
  31. package/dist/esm/clock.kpuzzle.json-BQKNKV3G.js.map +7 -0
  32. package/dist/esm/{entry-PHAJAE4E.js → entry-VNBE3GIX.js} +18 -18
  33. package/dist/esm/entry-VNBE3GIX.js.map +7 -0
  34. package/dist/esm/{fto.sgs.json-VO6HST2V.js → fto.sgs.json-RZ2BQGRG.js} +3 -3
  35. package/dist/esm/{fto.sgs.json-VO6HST2V.js.map → fto.sgs.json-RZ2BQGRG.js.map} +0 -0
  36. package/dist/esm/kpuzzle/index.js +3 -1
  37. package/dist/esm/{megaminx.sgs.json-R3MK4HXM.js → megaminx.sgs.json-3UELYHNZ.js} +4 -4
  38. package/dist/esm/{3d-NFF7OGTI.js.map → megaminx.sgs.json-3UELYHNZ.js.map} +0 -0
  39. package/dist/esm/{module-entry-UYTOFYBC.js → module-entry-MKJ6SWPL.js} +2 -2
  40. package/dist/esm/{module-entry-UYTOFYBC.js.map → module-entry-MKJ6SWPL.js.map} +0 -0
  41. package/dist/esm/notation/index.js +6 -4
  42. package/dist/esm/protocol/index.js +2 -2
  43. package/dist/esm/puzzle-geometry/index.js +1 -1
  44. package/dist/esm/puzzles/index.js +2 -2
  45. package/dist/esm/{pyraminx.sgs.json-R3J3JHMV.js → pyraminx.sgs.json-6KZV2YF7.js} +4 -4
  46. package/dist/esm/{megaminx.sgs.json-R3MK4HXM.js.map → pyraminx.sgs.json-6KZV2YF7.js.map} +0 -0
  47. package/dist/esm/scramble/index.js +4 -4
  48. package/dist/esm/{scramble_444-F3YANDPO.js → scramble_444-WHAZBEON.js} +6 -5
  49. package/dist/esm/scramble_444-WHAZBEON.js.map +7 -0
  50. package/dist/esm/search/index.js +4 -4
  51. package/dist/esm/{skewb.sgs.json-T6CO36WU.js → skewb.sgs.json-QVGBEYZV.js} +4 -4
  52. package/dist/esm/{pyraminx.sgs.json-R3J3JHMV.js.map → skewb.sgs.json-QVGBEYZV.js.map} +0 -0
  53. package/dist/esm/{sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js → sq1-hyperorbit.kpuzzle.json-4XS5YACO.js} +3 -3
  54. package/dist/esm/sq1-hyperorbit.kpuzzle.json-4XS5YACO.js.map +7 -0
  55. package/dist/esm/twisty/index.js +267 -139
  56. package/dist/esm/twisty/index.js.map +3 -3
  57. package/dist/esm/{worker-inside-generated-string-6YDSDSRJ.js → worker-inside-generated-string-K4NE6VX5.js} +24 -24
  58. package/dist/esm/worker-inside-generated-string-K4NE6VX5.js.map +7 -0
  59. package/dist/types/kpuzzle/KPuzzle.d.ts +5 -0
  60. package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +1 -1
  61. package/dist/types/kpuzzle/KState.d.ts +2 -0
  62. package/dist/types/kpuzzle/KTransformation.d.ts +3 -0
  63. package/dist/types/kpuzzle/calculate.d.ts +1 -1
  64. package/dist/types/kpuzzle/index.d.ts +2 -2
  65. package/dist/types/notation/CountMoves.d.ts +1 -0
  66. package/dist/types/notation/index.d.ts +2 -2
  67. package/dist/types/puzzles/PuzzleLoader.d.ts +1 -0
  68. package/dist/types/puzzles/async/async-pg3d.d.ts +23 -6
  69. package/dist/types/puzzles/async/lazy-cached.d.ts +1 -0
  70. package/dist/types/puzzles/implementations/fto/index.d.ts +11 -2
  71. package/dist/types/puzzles/implementations/megaminx/index.d.ts +11 -2
  72. package/dist/types/puzzles/implementations/pyraminx/index.d.ts +7 -2
  73. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  74. package/dist/types/twisty/heavy-code-imports/3d.d.ts +1 -1
  75. package/dist/types/twisty/heavy-code-imports/dynamic-entries/{3d.d.ts → 3d-dynamic-inside.d.ts} +0 -0
  76. package/dist/types/twisty/index.d.ts +1 -2
  77. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +1 -0
  78. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +6 -5
  79. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +2 -2
  80. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +2 -2
  81. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +1 -0
  82. package/dist/types/twisty/views/TwistyPlayer.d.ts +2 -1
  83. package/dist/types/twisty/views/twizzle/TwizzleLink.css.d.ts +2 -0
  84. package/dist/types/twisty/views/twizzle/TwizzleLink.d.ts +9 -0
  85. package/dist/types/twisty/views/twizzle/url-params.d.ts +18 -0
  86. package/package.json +2 -1
  87. package/dist/esm/2x2x2.kpuzzle.json-U5KOZCMU.js.map +0 -7
  88. package/dist/esm/3d-NFF7OGTI.js +0 -21
  89. package/dist/esm/chunk-4IUYLRHT.js.map +0 -7
  90. package/dist/esm/chunk-J2U2GRS4.js.map +0 -7
  91. package/dist/esm/chunk-REMJV2GO.js.map +0 -7
  92. package/dist/esm/chunk-TB4D4E2W.js.map +0 -7
  93. package/dist/esm/chunk-TNRZDNGH.js.map +0 -7
  94. package/dist/esm/chunk-ZLIK3DZT.js.map +0 -7
  95. package/dist/esm/clock.kpuzzle.json-J3YBOI3G.js.map +0 -7
  96. package/dist/esm/entry-PHAJAE4E.js.map +0 -7
  97. package/dist/esm/scramble_444-F3YANDPO.js.map +0 -7
  98. package/dist/esm/skewb.sgs.json-T6CO36WU.js.map +0 -7
  99. package/dist/esm/sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js.map +0 -7
  100. package/dist/esm/worker-inside-generated-string-6YDSDSRJ.js.map +0 -7
  101. package/dist/types/.DS_Store +0 -0
  102. package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +0 -2
@@ -1,2 +1,2 @@
1
- export declare function proxy3D(): Promise<typeof import("./dynamic-entries/3d")>;
1
+ export declare function proxy3D(): Promise<typeof import("./dynamic-entries/3d-dynamic-inside")>;
2
2
  export declare const THREEJS: Promise<typeof import("three")>;
@@ -1,6 +1,7 @@
1
1
  export { TwistyPlayer } from "./views/TwistyPlayer";
2
2
  export { TwistyAlgViewer } from "./views/TwistyAlgViewer";
3
3
  export { TwistyAlgEditor } from "./views/TwistyAlgEditor/TwistyAlgEditor";
4
+ export { TwizzleLink } from "./views/twizzle/TwizzleLink";
4
5
  export type { TwistyPlayerConfig } from "./views/TwistyPlayer";
5
6
  export { experimentalForceNewRendererSharing } from "./views/3D/Twisty3DVantage";
6
7
  export { NO_VALUE as EXPERIMENTAL_PROP_NO_VALUE } from "./model/props/TwistyProp";
@@ -9,8 +10,6 @@ export { BackViewLayout, backViewLayouts, } from "./model/props/viewer/BackViewP
9
10
  export type { PuzzleID } from "./model/props/puzzle/structure/PuzzleIDRequestProp";
10
11
  export { VisualizationFormat } from "./model/props/viewer/VisualizationProp";
11
12
  export { debugShowRenderStats as experimentalDebugShowRenderStats } from "./views/3D/Twisty3DVantage";
12
- export { Cube3D } from "./views/3D/puzzles/Cube3D";
13
- export { PG3D } from "./views/3D/puzzles/PG3D";
14
13
  export type { AlgIndexer } from "./controllers/indexer/AlgIndexer";
15
14
  export { SimpleAlgIndexer } from "./controllers/indexer/SimpleAlgIndexer";
16
15
  export { TreeAlgIndexer } from "./controllers/indexer/tree/TreeAlgIndexer";
@@ -1,6 +1,7 @@
1
1
  import type { KPuzzle } from "../../../../../kpuzzle";
2
2
  import { TwistyPropDerived } from "../../TwistyProp";
3
3
  import { AlgWithIssues } from "./AlgProp";
4
+ export declare function experimentalSetPuzzleAlgValidation(newValidate: boolean): void;
4
5
  export declare class PuzzleAlgProp extends TwistyPropDerived<{
5
6
  algWithIssues: AlgWithIssues;
6
7
  kpuzzle: KPuzzle;
@@ -1,13 +1,14 @@
1
- import { Scene as ThreeScene } from "three";
1
+ import type { Scene as ThreeScene } from "three";
2
2
  import type { Twisty3DPuzzle } from "./puzzles/Twisty3DPuzzle";
3
3
  import type { Twisty3DRenderTarget } from "./Twisty3DRenderTarget";
4
- export declare class Twisty3DScene extends ThreeScene implements Twisty3DRenderTarget {
4
+ export declare class Twisty3DScene implements Twisty3DRenderTarget {
5
5
  private renderTargets;
6
6
  twisty3Ds: Set<Twisty3DPuzzle>;
7
+ threeJSScene: Promise<ThreeScene>;
7
8
  constructor();
8
9
  addRenderTarget(renderTarget: Twisty3DRenderTarget): void;
9
10
  scheduleRender(): void;
10
- addTwisty3DPuzzle(twisty3DPuzzle: Twisty3DPuzzle): void;
11
- removeTwisty3DPuzzle(twisty3DPuzzle: Twisty3DPuzzle): void;
12
- clearPuzzles(): void;
11
+ addTwisty3DPuzzle(twisty3DPuzzle: Twisty3DPuzzle): Promise<void>;
12
+ removeTwisty3DPuzzle(twisty3DPuzzle: Twisty3DPuzzle): Promise<void>;
13
+ clearPuzzles(): Promise<void>;
13
14
  }
@@ -1,9 +1,9 @@
1
- import { PerspectiveCamera, Scene as ThreeScene } from "three";
1
+ import type { PerspectiveCamera, Scene as ThreeScene } from "three";
2
2
  import type { PuzzleLoader } from "../../../puzzles";
3
+ import type { Schedulable } from "../../controllers/RenderScheduler";
3
4
  import type { BackViewLayout } from "../../model/props/viewer/BackViewProp";
4
5
  import type { VisualizationStrategy } from "../../model/props/viewer/VisualizationStrategyProp";
5
6
  import type { TwistyPlayerModel } from "../../model/TwistyPlayerModel";
6
- import type { Schedulable } from "../../controllers/RenderScheduler";
7
7
  import { ManagedCustomElement } from "../ManagedCustomElement";
8
8
  import type { PressInfo } from "./DragTracker";
9
9
  import { Twisty3DPuzzleWrapper } from "./Twisty3DPuzzleWrapper";
@@ -1,8 +1,8 @@
1
- import { Vector3 } from "three";
1
+ import type { Vector3 } from "three";
2
2
  import type { OrbitCoordinates } from "../../model/props/viewer/OrbitCoordinatesRequestProp";
3
3
  import type { TwistyPlayerModel } from "../../model/TwistyPlayerModel";
4
4
  import type { DragMovementInfo, DragTracker } from "./DragTracker";
5
- export declare function positionToOrbitCoordinates(position: Vector3): OrbitCoordinates;
5
+ export declare function positionToOrbitCoordinates(position: Vector3): Promise<OrbitCoordinates>;
6
6
  export declare class TwistyOrbitControls {
7
7
  private model;
8
8
  private mirror;
@@ -34,6 +34,7 @@ export declare class PG3D extends Object3D implements Twisty3DPuzzle {
34
34
  private showFoundations;
35
35
  private hintMaterialDisposable;
36
36
  private stickerMaterialDisposable;
37
+ isPG3DForTwisty3DPuzzleWrapper: true;
37
38
  constructor(scheduleRenderCallback: () => void, kpuzzle: KPuzzle, stickerDat: StickerDat, enableFoundationOpt?: boolean, enableHintStickersOpt?: boolean, hintStickerHeightScale?: number, params?: PG3DOptions);
38
39
  dispose(): void;
39
40
  experimentalGetStickerTargets(): Object3D[];
@@ -1,4 +1,4 @@
1
- import type { ExperimentalStickering, PG3D } from "..";
1
+ import type { ExperimentalStickering } from "..";
2
2
  import type { Alg, Move } from "../../alg";
3
3
  import type { PuzzleDescriptionString } from "../../puzzle-geometry/PGPuzzles";
4
4
  import type { TwistyAnimationControllerDelegate } from "../controllers/TwistyAnimationController";
@@ -11,6 +11,7 @@ import type { BackViewLayoutWithAuto } from "../model/props/viewer/BackViewProp"
11
11
  import { ControlPanelThemeWithAuto } from "../model/props/viewer/ControlPanelProp";
12
12
  import type { ViewerLinkPageWithAuto } from "../model/props/viewer/ViewerLinkProp";
13
13
  import type { VisualizationFormatWithAuto } from "../model/props/viewer/VisualizationProp";
14
+ import type { PG3D } from "./3D/puzzles/PG3D";
14
15
  import { TwistyButtonsV2 } from "./control-panel/TwistyButtonsV2";
15
16
  import { TwistyPlayerSettable } from "./TwistyPlayerSettable";
16
17
  export declare const twistyPlayerAttributeMap: {
@@ -0,0 +1,2 @@
1
+ import { CSSSource } from "../ManagedCustomElement";
2
+ export declare const twizzleLinkCSS: CSSSource;
@@ -0,0 +1,9 @@
1
+ import { TwistyPlayer } from "../..";
2
+ import { ManagedCustomElement } from "../ManagedCustomElement";
3
+ export declare class TwizzleLink extends ManagedCustomElement {
4
+ twistyPlayer: TwistyPlayer | null;
5
+ a: HTMLAnchorElement | null;
6
+ constructor();
7
+ connectedCallback(): void;
8
+ addHeading(text: string): void;
9
+ }
@@ -0,0 +1,18 @@
1
+ import { EXPERIMENTAL_PROP_NO_VALUE } from "../../../../cubing/twisty";
2
+ import type { AlgProp } from "../../../../cubing/twisty/model/props/puzzle/state/AlgProp";
3
+ import type { TwistyPlayerModel } from "../../../../cubing/twisty/model/TwistyPlayerModel";
4
+ import type { TwistyPropSource } from "../../../../cubing/twisty/model/props/TwistyProp";
5
+ import { TwistyPlayerConfig } from "../../../../cubing/twisty/views/TwistyPlayer";
6
+ export declare type URLParamUpdaterOptions = {
7
+ prefix?: string;
8
+ };
9
+ export declare class URLParamUpdater {
10
+ #private;
11
+ constructor(model: TwistyPlayerModel, options?: URLParamUpdaterOptions);
12
+ setURLParam(unprefixedKey: string, value: string, defaultString: string): void;
13
+ listenToStringSourceProp(prop: TwistyPropSource<string>, key: string, defaultString?: string): Promise<void>;
14
+ listenToStringOrNoValueProp(prop: TwistyPropSource<string | typeof EXPERIMENTAL_PROP_NO_VALUE>, key: string, defaultString: string | typeof EXPERIMENTAL_PROP_NO_VALUE): Promise<void>;
15
+ listenToAlgProp(prop: AlgProp, key: string): void;
16
+ }
17
+ export declare function getConfigFromURL(prefix?: string, url?: string): TwistyPlayerConfig;
18
+ export declare function remapLegacyURLParams(mapping: Record<string, string | null>): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cubing",
3
- "version": "0.24.0-pre2",
3
+ "version": "0.24.0",
4
4
  "description": "A collection of JavaScript cubing libraries.",
5
5
  "author": "The js.cubing.net team",
6
6
  "type": "module",
@@ -120,6 +120,7 @@
120
120
  "plugin:@typescript-eslint/recommended-requiring-type-checking"
121
121
  ],
122
122
  "rules": {
123
+ "curly": "error",
123
124
  "@typescript-eslint/no-inferrable-types": "off",
124
125
  "@typescript-eslint/no-floating-promises": "off",
125
126
  "@typescript-eslint/no-unsafe-assignment": "off",
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.ts"],
4
- "sourcesContent": ["import type { KPuzzleDefinition } from \"../../../kpuzzle\";\n\nexport const cube2x2x2KPuzzleDefinition: KPuzzleDefinition = {\n name: \"2x2x2\",\n orbits: {\n CORNERS: { numPieces: 8, orientations: 3 },\n },\n startStateData: {\n CORNERS: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n moves: {\n U: {\n CORNERS: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n y: {\n CORNERS: {\n permutation: [1, 2, 3, 0, 7, 4, 5, 6],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n x: {\n CORNERS: {\n permutation: [4, 0, 3, 5, 7, 6, 2, 1],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n },\n L: {\n CORNERS: {\n permutation: [0, 1, 6, 2, 4, 3, 5, 7],\n orientation: [0, 0, 2, 1, 0, 2, 1, 0],\n },\n },\n F: {\n CORNERS: {\n permutation: [3, 1, 2, 5, 0, 4, 6, 7],\n orientation: [1, 0, 0, 2, 2, 1, 0, 0],\n },\n },\n R: {\n CORNERS: {\n permutation: [4, 0, 2, 3, 7, 5, 6, 1],\n orientation: [2, 1, 0, 0, 1, 0, 0, 2],\n },\n },\n B: {\n CORNERS: {\n permutation: [0, 7, 1, 3, 4, 5, 2, 6],\n orientation: [0, 2, 1, 0, 0, 0, 2, 1],\n },\n },\n D: {\n CORNERS: {\n permutation: [0, 1, 2, 3, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n z: {\n CORNERS: {\n permutation: [3, 2, 6, 5, 0, 4, 7, 1],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n },\n },\n};\n\ncube2x2x2KPuzzleDefinition.moves[\"Rv\"] = cube2x2x2KPuzzleDefinition.moves[\"x\"];\ncube2x2x2KPuzzleDefinition.moves[\"Uv\"] = cube2x2x2KPuzzleDefinition.moves[\"y\"];\ncube2x2x2KPuzzleDefinition.moves[\"Fv\"] = cube2x2x2KPuzzleDefinition.moves[\"z\"];\ncube2x2x2KPuzzleDefinition.moves[\"Lv\"] = {\n CORNERS: {\n permutation: [1, 7, 6, 2, 0, 3, 5, 4],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n};\ncube2x2x2KPuzzleDefinition.moves[\"Dv\"] = {\n CORNERS: {\n permutation: [3, 0, 1, 2, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n};\ncube2x2x2KPuzzleDefinition.moves[\"Bv\"] = {\n CORNERS: {\n permutation: [4, 7, 1, 0, 5, 3, 2, 6],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n};\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,21 +0,0 @@
1
- import {
2
- Cube3D,
3
- PG3D,
4
- T3I,
5
- Twisty3DScene,
6
- cube3DShim,
7
- pg3dShim
8
- } from "./chunk-REMJV2GO.js";
9
- import "./chunk-ZLIK3DZT.js";
10
- import "./chunk-TNRZDNGH.js";
11
- import "./chunk-EWRBHQFX.js";
12
- import "./chunk-WO2AXYFE.js";
13
- export {
14
- Cube3D,
15
- PG3D,
16
- T3I,
17
- Twisty3DScene,
18
- cube3DShim,
19
- pg3dShim
20
- };
21
- //# sourceMappingURL=3d-NFF7OGTI.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cubing/notation/CountMoves.ts", "../../src/cubing/notation/CountAnimatedLeaves.ts"],
4
- "sourcesContent": ["// TODO: move this file somewhere permanent.\nimport {\n Alg,\n Grouping,\n LineComment,\n Commutator,\n Conjugate,\n Move,\n Newline,\n Pause,\n TraversalUp,\n} from \"../alg\";\n\n/*\n * For movecount, that understands puzzle rotations. This code\n * should be moved to the alg class, probably.\n */\nclass CountMoves extends TraversalUp<number> {\n constructor(private metric: (move: Move) => number) {\n super();\n }\n\n public traverseAlg(alg: Alg): number {\n let r = 0;\n for (const unit of alg.units()) {\n r += this.traverseUnit(unit);\n }\n return r;\n }\n\n public traverseGrouping(grouping: Grouping): number {\n // const unit: Unit = Alg.fromString(\"SDf\");\n // console.log(unit);\n const alg: Alg = grouping.alg;\n return this.traverseAlg(alg) * Math.abs(grouping.amount);\n }\n\n public traverseMove(move: Move): number {\n return this.metric(move);\n }\n\n public traverseCommutator(commutator: Commutator): number {\n return (\n 2 * (this.traverseAlg(commutator.A) + this.traverseAlg(commutator.B))\n );\n }\n\n public traverseConjugate(conjugate: Conjugate): number {\n return 2 * this.traverseAlg(conjugate.A) + this.traverseAlg(conjugate.B);\n }\n\n // TODO: Remove spaces between repeated pauses (in traverseSequence)\n public traversePause(_pause: Pause): number {\n return 0;\n }\n\n public traverseNewline(_newLine: Newline): number {\n return 0;\n }\n\n // TODO: Enforce being followed by a newline (or the end of the alg)?\n public traverseLineComment(_comment: LineComment): number {\n return 0;\n }\n}\n\nfunction isCharUppercase(c: string): boolean {\n return \"A\" <= c && c <= \"Z\";\n}\n\n// TODO: Implement a puzzle-specific way to calculate this.\nfunction baseMetric(move: Move): number {\n const fam = move.family;\n if (\n (isCharUppercase(fam[0]) && fam[fam.length - 1] === \"v\") ||\n fam === \"x\" ||\n fam === \"y\" ||\n fam === \"z\" ||\n fam === \"T\"\n ) {\n return 0;\n } else {\n return 1;\n }\n}\n\nconst countMovesInstance = new CountMoves(baseMetric);\nexport const countMoves: (alg: Alg) => number =\n countMovesInstance.traverseAlg.bind(countMovesInstance);\n", "import {\n Alg,\n Commutator,\n Conjugate,\n Grouping,\n LineComment,\n Move,\n Newline,\n Pause,\n TraversalUp,\n} from \"../alg\";\n\n// TODO: Include Pause, include amounts\nclass CountAnimatedLeaves extends TraversalUp<number, number> {\n public traverseAlg(alg: Alg): number {\n let total = 0;\n for (const part of alg.units()) {\n total += this.traverseUnit(part);\n }\n return total;\n }\n\n public traverseGrouping(grouping: Grouping): number {\n return this.traverseAlg(grouping.alg) * Math.abs(grouping.amount);\n }\n\n public traverseMove(_move: Move): number {\n return 1;\n }\n\n public traverseCommutator(commutator: Commutator): number {\n return (\n 2 * (this.traverseAlg(commutator.A) + this.traverseAlg(commutator.B))\n );\n }\n\n public traverseConjugate(conjugate: Conjugate): number {\n return 2 * this.traverseAlg(conjugate.A) + this.traverseAlg(conjugate.B);\n }\n\n public traversePause(_pause: Pause): number {\n return 1;\n }\n\n public traverseNewline(_newline: Newline): number {\n return 0;\n }\n\n public traverseLineComment(_comment: LineComment): number {\n return 0;\n }\n}\n\nconst countAnimatedLeavesInstance = new CountAnimatedLeaves();\nexport const countAnimatedLeaves: (alg: Alg) => number =\n countAnimatedLeavesInstance.traverseAlg.bind(countAnimatedLeavesInstance);\n"],
5
- "mappings": ";;;;;AAiBA,+BAAyB,YAAoB;AAAA,EAC3C,YAAoB,QAAgC;AAClD;AADkB;AAAA;AAAA,EAIb,YAAY,KAAkB;AACnC,QAAI,IAAI;AACR,eAAW,QAAQ,IAAI,SAAS;AAC9B,WAAK,KAAK,aAAa;AAAA;AAEzB,WAAO;AAAA;AAAA,EAGF,iBAAiB,UAA4B;AAGlD,UAAM,MAAW,SAAS;AAC1B,WAAO,KAAK,YAAY,OAAO,KAAK,IAAI,SAAS;AAAA;AAAA,EAG5C,aAAa,MAAoB;AACtC,WAAO,KAAK,OAAO;AAAA;AAAA,EAGd,mBAAmB,YAAgC;AACxD,WACE,IAAK,MAAK,YAAY,WAAW,KAAK,KAAK,YAAY,WAAW;AAAA;AAAA,EAI/D,kBAAkB,WAA8B;AACrD,WAAO,IAAI,KAAK,YAAY,UAAU,KAAK,KAAK,YAAY,UAAU;AAAA;AAAA,EAIjE,cAAc,QAAuB;AAC1C,WAAO;AAAA;AAAA,EAGF,gBAAgB,UAA2B;AAChD,WAAO;AAAA;AAAA,EAIF,oBAAoB,UAA+B;AACxD,WAAO;AAAA;AAAA;AAIX,yBAAyB,GAAoB;AAC3C,SAAO,OAAO,KAAK,KAAK;AAAA;AAI1B,oBAAoB,MAAoB;AACtC,QAAM,MAAM,KAAK;AACjB,MACG,gBAAgB,IAAI,OAAO,IAAI,IAAI,SAAS,OAAO,OACpD,QAAQ,OACR,QAAQ,OACR,QAAQ,OACR,QAAQ,KACR;AACA,WAAO;AAAA,SACF;AACL,WAAO;AAAA;AAAA;AAIX,IAAM,qBAAqB,IAAI,WAAW;AACnC,IAAM,aACX,mBAAmB,YAAY,KAAK;;;AC3EtC,wCAAkC,YAA4B;AAAA,EACrD,YAAY,KAAkB;AACnC,QAAI,QAAQ;AACZ,eAAW,QAAQ,IAAI,SAAS;AAC9B,eAAS,KAAK,aAAa;AAAA;AAE7B,WAAO;AAAA;AAAA,EAGF,iBAAiB,UAA4B;AAClD,WAAO,KAAK,YAAY,SAAS,OAAO,KAAK,IAAI,SAAS;AAAA;AAAA,EAGrD,aAAa,OAAqB;AACvC,WAAO;AAAA;AAAA,EAGF,mBAAmB,YAAgC;AACxD,WACE,IAAK,MAAK,YAAY,WAAW,KAAK,KAAK,YAAY,WAAW;AAAA;AAAA,EAI/D,kBAAkB,WAA8B;AACrD,WAAO,IAAI,KAAK,YAAY,UAAU,KAAK,KAAK,YAAY,UAAU;AAAA;AAAA,EAGjE,cAAc,QAAuB;AAC1C,WAAO;AAAA;AAAA,EAGF,gBAAgB,UAA2B;AAChD,WAAO;AAAA;AAAA,EAGF,oBAAoB,UAA+B;AACxD,WAAO;AAAA;AAAA;AAIX,IAAM,8BAA8B,IAAI;AACjC,IAAM,sBACX,4BAA4B,YAAY,KAAK;",
6
- "names": []
7
- }