cubing 0.59.2 → 0.60.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 (36) hide show
  1. package/dist/lib/cubing/{KPattern-DEaZMwD9.d.ts → PuzzleLoader-ApHCdGgn.d.ts} +94 -91
  2. package/dist/lib/cubing/alg/index.d.ts +3 -2
  3. package/dist/lib/cubing/bluetooth/index.d.ts +6 -5
  4. package/dist/lib/cubing/bluetooth/index.js.map +2 -2
  5. package/dist/lib/cubing/{bluetooth-puzzle-CweI5h6j.d.ts → bluetooth-puzzle-CN0X1-Rm.d.ts} +1 -1
  6. package/dist/lib/cubing/chunks/{chunk-UD4LT3FY.js → chunk-BUZPONAW.js} +1 -1
  7. package/dist/lib/cubing/chunks/chunk-BUZPONAW.js.map +7 -0
  8. package/dist/lib/cubing/chunks/{chunk-V7MAXDP4.js → chunk-PVOSBZRD.js} +2 -2
  9. package/dist/lib/cubing/chunks/chunk-PVOSBZRD.js.map +7 -0
  10. package/dist/lib/cubing/chunks/{chunk-2HSEQ2FC.js → chunk-UWBMBZER.js} +1 -1
  11. package/dist/lib/cubing/chunks/{inside-NS3PIQ5Z.js → inside-7R2QE4L7.js} +3 -3
  12. package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-GNM5XEZR.js → search-dynamic-solve-4x4x4-YZ3W3BZR.js} +2 -2
  13. package/dist/lib/cubing/chunks/search-worker-entry.js +1 -1
  14. package/dist/lib/cubing/chunks/{twisty-dynamic-3d-SIRF3JVR.js → twisty-dynamic-3d-LPZQIDD2.js} +2 -2
  15. package/dist/lib/cubing/chunks/{twisty-dynamic-3d-SIRF3JVR.js.map → twisty-dynamic-3d-LPZQIDD2.js.map} +2 -2
  16. package/dist/lib/cubing/{index-B28YEQVF.d.ts → index-BFw0u55q.d.ts} +1 -1
  17. package/dist/lib/cubing/kpuzzle/index.d.ts +2 -1
  18. package/dist/lib/cubing/notation/index.d.ts +3 -2
  19. package/dist/lib/cubing/notation/index.js +1 -1
  20. package/dist/lib/cubing/protocol/index.d.ts +2 -1
  21. package/dist/lib/cubing/puzzle-geometry/index.d.ts +3 -2
  22. package/dist/lib/cubing/puzzles/index.d.ts +2 -1
  23. package/dist/lib/cubing/scramble/index.d.ts +3 -2
  24. package/dist/lib/cubing/scramble/index.js +1 -1
  25. package/dist/lib/cubing/search/index.d.ts +3 -2
  26. package/dist/lib/cubing/search/index.js +1 -1
  27. package/dist/lib/cubing/stream/index.d.ts +3 -2
  28. package/dist/lib/cubing/twisty/index.d.ts +18 -17
  29. package/dist/lib/cubing/twisty/index.js +40 -22
  30. package/dist/lib/cubing/twisty/index.js.map +2 -2
  31. package/package.json +3 -2
  32. package/dist/lib/cubing/chunks/chunk-UD4LT3FY.js.map +0 -7
  33. package/dist/lib/cubing/chunks/chunk-V7MAXDP4.js.map +0 -7
  34. /package/dist/lib/cubing/chunks/{chunk-2HSEQ2FC.js.map → chunk-UWBMBZER.js.map} +0 -0
  35. /package/dist/lib/cubing/chunks/{inside-NS3PIQ5Z.js.map → inside-7R2QE4L7.js.map} +0 -0
  36. /package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-GNM5XEZR.js.map → search-dynamic-solve-4x4x4-YZ3W3BZR.js.map} +0 -0
@@ -1,3 +1,4 @@
1
+ import { Tagged } from 'type-fest';
1
2
  import { Texture, Object3D, Raycaster, PerspectiveCamera, Scene, WebGLRenderer } from 'three/src/Three.js';
2
3
 
3
4
  type ExperimentalNotationType = "auto" | "LGN";
@@ -878,9 +879,28 @@ declare class KPuzzle {
878
879
  canConvertDefaultPatternToUniqueTransformation(): boolean;
879
880
  }
880
881
 
881
- type MillisecondTimestamp = number;
882
- type Duration = MillisecondTimestamp;
883
- type Timestamp = MillisecondTimestamp;
882
+ declare class KPattern {
883
+ readonly kpuzzle: KPuzzle;
884
+ readonly patternData: KPatternData;
885
+ constructor(kpuzzle: KPuzzle, patternData: KPatternData);
886
+ toJSON(): any;
887
+ static fromTransformation(transformation: KTransformation): KPattern;
888
+ /** @deprecated */
889
+ apply(source: KTransformationSource): KPattern;
890
+ applyTransformation(transformation: KTransformation): KPattern;
891
+ applyMove(move: Move | string): KPattern;
892
+ applyAlg(alg: Alg | string): KPattern;
893
+ isIdentical(other: KPattern): boolean;
894
+ /** @deprecated */
895
+ experimentalToTransformation(): KTransformation | null;
896
+ experimentalIsSolved(options: {
897
+ ignorePuzzleOrientation: boolean;
898
+ ignoreCenterOrientation: boolean;
899
+ }): boolean;
900
+ }
901
+
902
+ type MillisecondTimestamp = Tagged<DOMHighResTimeStamp, "MillisecondTimestamp">;
903
+ type MillisecondDuration = Tagged<number, "MillisecondDuration">;
884
904
  declare enum Direction {
885
905
  Forwards = 1,
886
906
  Paused = 0,
@@ -904,58 +924,6 @@ interface TimeRange {
904
924
  end: MillisecondTimestamp;
905
925
  }
906
926
 
907
- type AnimatedLeafAlgNode = Move | Pause;
908
-
909
- interface CurrentMove {
910
- move: Move;
911
- direction: Direction;
912
- fraction: number;
913
- startTimestamp: MillisecondTimestamp;
914
- endTimestamp: MillisecondTimestamp;
915
- }
916
- interface CurrentMoveInfo {
917
- patternIndex: number;
918
- currentMoves: CurrentMove[];
919
- movesFinishing: CurrentMove[];
920
- movesFinished: CurrentMove[];
921
- movesStarting: CurrentMove[];
922
- latestStart: number;
923
- earliestEnd: number;
924
- }
925
- interface AlgIndexer {
926
- getAnimLeaf(index: number): AnimatedLeafAlgNode | null;
927
- indexToMoveStartTimestamp(index: number): Timestamp;
928
- patternAtIndex(index: number, startPattern?: KPattern): KPattern;
929
- transformationAtIndex(index: number): KTransformation;
930
- numAnimatedLeaves(): number;
931
- timestampToIndex(timestamp: Timestamp): number;
932
- algDuration(): Duration;
933
- moveDuration(index: number): number;
934
- timestampToPosition?: (timestamp: Timestamp, startPattern?: KPattern) => PuzzlePosition;
935
- currentMoveInfo?: (timestamp: Timestamp) => CurrentMoveInfo;
936
- }
937
-
938
- type FaceletMeshStickeringMask = "regular" | "dim" | "oriented" | "experimentalOriented2" | "ignored" | "invisible" | "mystery";
939
- type FaceletStickeringMask = {
940
- mask: FaceletMeshStickeringMask;
941
- hintMask?: FaceletMeshStickeringMask;
942
- };
943
- type PieceStickeringMask = {
944
- facelets: (FaceletMeshStickeringMask | FaceletStickeringMask | null)[];
945
- };
946
- type OrbitStickeringMask = {
947
- pieces: (PieceStickeringMask | null)[];
948
- };
949
- type StickeringMask = {
950
- specialBehaviour?: "picture";
951
- name?: string;
952
- orbits: Record<string, OrbitStickeringMask>;
953
- };
954
-
955
- declare const experimentalStickerings: Record<string, {
956
- groups?: Partial<Record<PuzzleID, string>>;
957
- }>;
958
-
959
927
  interface UserVisibleError {
960
928
  errors: string[];
961
929
  }
@@ -969,10 +937,11 @@ type InputRecord = Record<string, any>;
969
937
  type InputProps<T extends InputRecord> = {
970
938
  [s in keyof T]: TwistyPropParent<T[s]>;
971
939
  };
940
+ type Generation = Tagged<number, "Generation">;
972
941
  interface SourceEventDetail<OutputType> {
973
942
  sourceProp: TwistyPropSource<OutputType, any>;
974
943
  value: Promise<OutputType>;
975
- generation: number;
944
+ generation: Generation;
976
945
  }
977
946
  type SourceEvent<T> = CustomEvent<SourceEventDetail<T>>;
978
947
  type PromiseOrValue<T> = T | Promise<T>;
@@ -1017,6 +986,70 @@ declare abstract class TwistyPropDerived<InputTypes extends InputRecord, OutputT
1017
986
  protected abstract derive(input: InputTypes): PromiseOrValue<OutputType>;
1018
987
  }
1019
988
 
989
+ interface AnimationTimelineLeaf {
990
+ animLeaf: AlgLeaf;
991
+ start: MillisecondTimestamp;
992
+ end: MillisecondTimestamp;
993
+ }
994
+ type AnimationTimelineLeaves = AnimationTimelineLeaf[];
995
+ declare class AnimationTimelineLeavesRequestProp extends SimpleTwistyPropSource<AnimationTimelineLeaf[] | null> {
996
+ getDefaultValue(): AnimationTimelineLeaf[] | null;
997
+ }
998
+
999
+ type AnimatedLeafAlgNode = Move | Pause;
1000
+
1001
+ interface CurrentMove {
1002
+ move: Move;
1003
+ direction: Direction;
1004
+ fraction: number;
1005
+ startTimestamp: MillisecondTimestamp;
1006
+ endTimestamp: MillisecondTimestamp;
1007
+ }
1008
+ interface CurrentMoveInfo {
1009
+ patternIndex: number;
1010
+ currentMoves: CurrentMove[];
1011
+ movesFinishing: CurrentMove[];
1012
+ movesFinished: CurrentMove[];
1013
+ movesStarting: CurrentMove[];
1014
+ latestStart: number;
1015
+ earliestEnd: number;
1016
+ }
1017
+ type LeafIndex = Tagged<number, "LeafIndex">;
1018
+ type LeafCount = Tagged<number, "LeafCount">;
1019
+ interface AlgIndexer {
1020
+ getAnimLeaf(index: LeafIndex): AnimatedLeafAlgNode | null;
1021
+ indexToMoveStartTimestamp(index: LeafIndex): MillisecondTimestamp;
1022
+ patternAtIndex(index: LeafIndex, startPattern?: KPattern): KPattern;
1023
+ transformationAtIndex(index: LeafIndex): KTransformation;
1024
+ numAnimatedLeaves(): LeafCount;
1025
+ timestampToIndex(timestamp: MillisecondTimestamp): LeafIndex;
1026
+ algDuration(): MillisecondDuration;
1027
+ moveDuration(index: LeafIndex): MillisecondDuration;
1028
+ timestampToPosition?: (timestamp: MillisecondTimestamp, startPattern?: KPattern) => PuzzlePosition;
1029
+ currentMoveInfo?: (timestamp: MillisecondTimestamp) => CurrentMoveInfo;
1030
+ }
1031
+
1032
+ type FaceletMeshStickeringMask = "regular" | "dim" | "oriented" | "experimentalOriented2" | "ignored" | "invisible" | "mystery";
1033
+ type FaceletStickeringMask = {
1034
+ mask: FaceletMeshStickeringMask;
1035
+ hintMask?: FaceletMeshStickeringMask;
1036
+ };
1037
+ type PieceStickeringMask = {
1038
+ facelets: (FaceletMeshStickeringMask | FaceletStickeringMask | null)[];
1039
+ };
1040
+ type OrbitStickeringMask = {
1041
+ pieces: (PieceStickeringMask | null)[];
1042
+ };
1043
+ type StickeringMask = {
1044
+ specialBehaviour?: "picture";
1045
+ name?: string;
1046
+ orbits: Record<string, OrbitStickeringMask>;
1047
+ };
1048
+
1049
+ declare const experimentalStickerings: Record<string, {
1050
+ groups?: Partial<Record<PuzzleID, string>>;
1051
+ }>;
1052
+
1020
1053
  declare const puzzleIDs: {
1021
1054
  "3x3x3": boolean;
1022
1055
  custom: boolean;
@@ -1172,21 +1205,11 @@ declare class AnchorTransformationProp extends TwistyPropDerived<AnchorTransform
1172
1205
  derive(inputs: AnchorTransformationPropInputs): KTransformation;
1173
1206
  }
1174
1207
 
1175
- interface AnimationTimelineLeaf {
1176
- animLeaf: AlgLeaf;
1177
- start: number;
1178
- end: number;
1179
- }
1180
- type AnimationTimelineLeaves = AnimationTimelineLeaf[];
1181
- declare class AnimationTimelineLeavesRequestProp extends SimpleTwistyPropSource<AnimationTimelineLeaf[] | null> {
1182
- getDefaultValue(): AnimationTimelineLeaf[] | null;
1183
- }
1184
-
1185
1208
  interface CurrentLeavesSimplifiedPropInputs {
1186
1209
  currentMoveInfo: CurrentMoveInfo;
1187
1210
  }
1188
1211
  interface CurrentLeavesSimplified {
1189
- patternIndex: number;
1212
+ patternIndex: LeafIndex;
1190
1213
  movesFinishing: Move[];
1191
1214
  movesFinished: Move[];
1192
1215
  }
@@ -2118,7 +2141,7 @@ type Parsed<T extends Alg | AlgNode> = T & ParserIndexed;
2118
2141
 
2119
2142
  type AnimatedLeafAlgNodeInfo = {
2120
2143
  leaf: Parsed<AnimatedLeafAlgNode>;
2121
- idx: number;
2144
+ idx: LeafIndex;
2122
2145
  };
2123
2146
  type OrderedLeafTokens = AnimatedLeafAlgNodeInfo[];
2124
2147
 
@@ -2223,7 +2246,7 @@ declare global {
2223
2246
  }
2224
2247
 
2225
2248
  interface DataDown {
2226
- earliestMoveIndex: number;
2249
+ earliestMoveIndex: LeafIndex;
2227
2250
  twistyAlgViewer: TwistyAlgViewer;
2228
2251
  direction: IterationDirection;
2229
2252
  }
@@ -2264,7 +2287,7 @@ declare class TwistyAlgViewer extends HTMLElementShim {
2264
2287
  private setAlg;
2265
2288
  get twistyPlayer(): TwistyPlayer | null;
2266
2289
  set twistyPlayer(twistyPlayer: TwistyPlayer | null);
2267
- jumpToIndex(index: number, offsetIntoMove: boolean): Promise<void>;
2290
+ jumpToIndex(index: LeafIndex, offsetIntoMove: boolean): Promise<void>;
2268
2291
  protected attributeChangedCallback(attributeName: string, _oldValue: string, newValue: string): Promise<void>;
2269
2292
  static get observedAttributes(): string[];
2270
2293
  }
@@ -2319,24 +2342,4 @@ interface PuzzleLoader {
2319
2342
  algTransformData?: AlgTransformData;
2320
2343
  }
2321
2344
 
2322
- declare class KPattern {
2323
- readonly kpuzzle: KPuzzle;
2324
- readonly patternData: KPatternData;
2325
- constructor(kpuzzle: KPuzzle, patternData: KPatternData);
2326
- toJSON(): any;
2327
- static fromTransformation(transformation: KTransformation): KPattern;
2328
- /** @deprecated */
2329
- apply(source: KTransformationSource): KPattern;
2330
- applyTransformation(transformation: KTransformation): KPattern;
2331
- applyMove(move: Move | string): KPattern;
2332
- applyAlg(alg: Alg | string): KPattern;
2333
- isIdentical(other: KPattern): boolean;
2334
- /** @deprecated */
2335
- experimentalToTransformation(): KTransformation | null;
2336
- experimentalIsSolved(options: {
2337
- ignorePuzzleOrientation: boolean;
2338
- ignoreCenterOrientation: boolean;
2339
- }): boolean;
2340
- }
2341
-
2342
- export { Pause as $, type AlgLeaf as A, KTransformation as B, type MillisecondTimestamp as C, type Duration as D, type ExperimentalStickering as E, type BackViewLayout as F, backViewLayouts as G, TwistyAlgEditor as H, TwistyAlgViewer as I, type TwistyPlayerConfig as J, KPattern as K, TwistyPlayer as L, Move as M, NO_VALUE as N, TwizzleLink as O, Perm as P, Quat as Q, type AlgNode as R, type StickerDat as S, type Timestamp as T, type AppendOptions as U, type VisualizationFormat as V, Grouping as W, LineComment as X, Commutator as Y, Conjugate as Z, Newline as _, type PuzzleGeometryOptions as a, type KeyMapping as a0, type AlgBranch as a1, type GroupingModifications as a2, type MoveModifications as a3, type Parsed as a4, type ExperimentalNotationType as a5, type ExperimentalSerializationOptions as a6, type AppendCancelOptions as a7, type SimplifyOptions as a8, QuantumMove as a9, type KPatternData as aa, type KPatternOrbitData as ab, type KPuzzleDefinition as ac, type KTransformationData as ad, type KTransformationOrbitData as ae, type StickerDatAxis as b, type StickerDatFace as c, type StickerDatSticker as d, getPuzzleDescriptionString as e, getPuzzleGeometryByDesc as f, getPG3DNamedPuzzles as g, getPuzzleGeometryByName as h, PGNotation as i, PUZZLE_BASE_SHAPES as j, PUZZLE_CUT_TYPES as k, type PuzzleBaseShape as l, type PuzzleCutDescription as m, type PuzzleCutType as n, type PuzzleDescription as o, parseOptions as p, PuzzleGeometry as q, parsePuzzleDescription as r, Alg as s, type PuzzleLoader as t, type PuzzleID as u, KPuzzle as v, type StickeringMask as w, type PuzzleSpecificSimplifyOptions as x, type AlgTransformData as y, type AlgIndexer as z };
2345
+ export { Newline as $, type AlgLeaf as A, type MillisecondTimestamp as B, type LeafIndex as C, KTransformation as D, type ExperimentalStickering as E, type MillisecondDuration as F, type BackViewLayout as G, backViewLayouts as H, TwistyAlgViewer as I, type TwistyPlayerConfig as J, KPattern as K, type LeafCount as L, Move as M, NO_VALUE as N, TwistyPlayer as O, Perm as P, Quat as Q, TwizzleLink as R, type StickerDat as S, TwistyAlgEditor as T, type AlgNode as U, type VisualizationFormat as V, type AppendOptions as W, Grouping as X, LineComment as Y, Commutator as Z, Conjugate as _, type PuzzleGeometryOptions as a, Pause as a0, type KeyMapping as a1, type AlgBranch as a2, type GroupingModifications as a3, type MoveModifications as a4, type Parsed as a5, type ExperimentalNotationType as a6, type ExperimentalSerializationOptions as a7, type AppendCancelOptions as a8, type SimplifyOptions as a9, QuantumMove as aa, type KPatternData as ab, type KPatternOrbitData as ac, type KPuzzleDefinition as ad, type KTransformationData as ae, type KTransformationOrbitData as af, type StickerDatAxis as b, type StickerDatFace as c, type StickerDatSticker as d, getPuzzleDescriptionString as e, getPuzzleGeometryByDesc as f, getPG3DNamedPuzzles as g, getPuzzleGeometryByName as h, PGNotation as i, PUZZLE_BASE_SHAPES as j, PUZZLE_CUT_TYPES as k, type PuzzleBaseShape as l, type PuzzleCutDescription as m, type PuzzleCutType as n, type PuzzleDescription as o, parseOptions as p, PuzzleGeometry as q, parsePuzzleDescription as r, Alg as s, type PuzzleLoader as t, type PuzzleID as u, KPuzzle as v, type StickeringMask as w, type PuzzleSpecificSimplifyOptions as x, type AlgTransformData as y, type AlgIndexer as z };
@@ -1,5 +1,6 @@
1
- import { R as AlgNode, s as Alg, M as Move, U as AppendOptions, W as Grouping, X as LineComment, Y as Commutator, Z as Conjugate, _ as Newline, $ as Pause, a0 as KeyMapping, A as AlgLeaf } from '../KPattern-DEaZMwD9.js';
2
- export { a1 as AlgBranch, a7 as AppendCancelOptions, a5 as ExperimentalNotationType, a4 as ExperimentalParsed, a6 as ExperimentalSerializationOptions, a2 as GroupingModifications, a3 as MoveModifications, x as PuzzleSpecificSimplifyOptions, a9 as QuantumMove, a8 as SimplifyOptions } from '../KPattern-DEaZMwD9.js';
1
+ import { U as AlgNode, s as Alg, M as Move, W as AppendOptions, X as Grouping, Y as LineComment, Z as Commutator, _ as Conjugate, $ as Newline, a0 as Pause, a1 as KeyMapping, A as AlgLeaf } from '../PuzzleLoader-ApHCdGgn.js';
2
+ export { a2 as AlgBranch, a8 as AppendCancelOptions, a6 as ExperimentalNotationType, a5 as ExperimentalParsed, a7 as ExperimentalSerializationOptions, a3 as GroupingModifications, a4 as MoveModifications, x as PuzzleSpecificSimplifyOptions, aa as QuantumMove, a9 as SimplifyOptions } from '../PuzzleLoader-ApHCdGgn.js';
3
+ import 'type-fest';
3
4
  import 'three/src/Three.js';
4
5
 
5
6
  /** @deprecated */
@@ -1,6 +1,7 @@
1
- import { u as PuzzleID, t as PuzzleLoader, a0 as KeyMapping, K as KPattern, s as Alg, M as Move } from '../KPattern-DEaZMwD9.js';
2
- import { B as BluetoothPuzzle } from '../bluetooth-puzzle-CweI5h6j.js';
3
- export { A as MoveEvent, O as OrientationEvent } from '../bluetooth-puzzle-CweI5h6j.js';
1
+ import { u as PuzzleID, t as PuzzleLoader, a1 as KeyMapping, K as KPattern, s as Alg, M as Move, B as MillisecondTimestamp } from '../PuzzleLoader-ApHCdGgn.js';
2
+ import { B as BluetoothPuzzle } from '../bluetooth-puzzle-CN0X1-Rm.js';
3
+ export { A as MoveEvent, O as OrientationEvent } from '../bluetooth-puzzle-CN0X1-Rm.js';
4
+ import 'type-fest';
4
5
  import 'three/src/Three.js';
5
6
 
6
7
  declare function enableDebugLogging(enable: boolean): void;
@@ -142,8 +143,8 @@ declare class GanTimer extends EventTarget {
142
143
  poll(): Promise<void>;
143
144
  onDisconnect(): void;
144
145
  getTimeCharacteristic(): Promise<Uint8Array<ArrayBufferLike>>;
145
- getTime(): Promise<number>;
146
- decodeTimeMs(bytes: Uint8Array): number;
146
+ getTime(): Promise<MillisecondTimestamp>;
147
+ decodeTimeMs(bytes: Uint8Array): MillisecondTimestamp;
147
148
  startPolling(): void;
148
149
  stopPolling(): void;
149
150
  }