@logic-pad/core 0.12.6 → 0.13.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.
@@ -1987,6 +1987,11 @@ declare global {
1987
1987
  decompress(input: string): Promise<string>;
1988
1988
  }
1989
1989
  export declare const Compressor: MasterCompressor;
1990
+ export declare class ChecksumCompressor extends CompressorBase {
1991
+ get id(): string;
1992
+ compress(input: string): Promise<string>;
1993
+ decompress(_input: string): Promise<string>;
1994
+ }
1990
1995
  export declare abstract class StreamCompressor extends CompressorBase {
1991
1996
  protected abstract get algorithm(): CompressionFormat;
1992
1997
  compress(input: string): Promise<string>;
@@ -2029,8 +2034,22 @@ declare global {
2029
2034
  abstract stringifyPuzzle(puzzle: Puzzle): string;
2030
2035
  abstract parsePuzzle(input: string): Puzzle;
2031
2036
  }
2037
+ export declare const OFFSETS: {
2038
+ x: number;
2039
+ y: number;
2040
+ }[];
2041
+ export declare const orientationChars: {
2042
+ up: string;
2043
+ 'up-right': string;
2044
+ right: string;
2045
+ 'down-right': string;
2046
+ down: string;
2047
+ 'down-left': string;
2048
+ left: string;
2049
+ 'up-left': string;
2050
+ };
2032
2051
  export declare class SerializerV0 extends SerializerBase {
2033
- readonly version = 0;
2052
+ readonly version: number;
2034
2053
  stringifyTile(tile: TileData): string;
2035
2054
  parseTile(str: string): TileData;
2036
2055
  stringifyControlLine(line: ControlLine): string;
@@ -2062,6 +2081,29 @@ declare global {
2062
2081
  stringifyPuzzle(puzzle: Puzzle): string;
2063
2082
  parsePuzzle(input: string): Puzzle;
2064
2083
  }
2084
+ export declare class SerializerChecksum extends SerializerV0 {
2085
+ readonly version: number;
2086
+ parseTile(_str: string): TileData;
2087
+ stringifyControlLine(line: ControlLine): string;
2088
+ parseControlLine(_str: string): ControlLine;
2089
+ parseConfig(
2090
+ _configs: readonly AnyConfig[],
2091
+ _entry: string
2092
+ ): [string, unknown];
2093
+ parseRule(_str: string): Rule;
2094
+ parseSymbol(_str: string): Symbol$1;
2095
+ parseConnections(_input: string): GridConnections;
2096
+ stringifyZones(zones: GridZones): string;
2097
+ parseZones(_input: string): GridZones;
2098
+ parseTiles(_input: string): TileData[][];
2099
+ stringifyRules(rules: readonly Rule[]): string;
2100
+ parseRules(_input: string): Rule[];
2101
+ stringifySymbols(symbols: ReadonlyMap<string, readonly Symbol$1[]>): string;
2102
+ parseSymbols(_input: string): Map<string, Symbol$1[]>;
2103
+ parseGrid(_input: string): GridData;
2104
+ parseGridWithSolution(_input: string): PuzzleData;
2105
+ parsePuzzle(_input: string): Puzzle;
2106
+ }
2065
2107
  /**
2066
2108
  * Base class that all solvers must extend.
2067
2109
  */
@@ -0,0 +1,6 @@
1
+ import CompressorBase from './compressorBase.js';
2
+ export default class ChecksumCompressor extends CompressorBase {
3
+ get id(): string;
4
+ compress(input: string): Promise<string>;
5
+ decompress(_input: string): Promise<string>;
6
+ }
@@ -0,0 +1,21 @@
1
+ import SerializerChecksum from '../serializer_checksum.js';
2
+ import CompressorBase from './compressorBase.js';
3
+ const checksumSerializer = new SerializerChecksum();
4
+ const encoder = new TextEncoder();
5
+ export default class ChecksumCompressor extends CompressorBase {
6
+ get id() {
7
+ return `cs${checksumSerializer.version}`;
8
+ }
9
+ async compress(input) {
10
+ const data = encoder.encode(input);
11
+ const hashBuffer = await crypto.subtle.digest('SHA-256', data);
12
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
13
+ const hashHex = hashArray
14
+ .map(b => b.toString(16).padStart(2, '0'))
15
+ .join('');
16
+ return hashHex;
17
+ }
18
+ decompress(_input) {
19
+ throw new Error('Checksum decompression is not supported');
20
+ }
21
+ }
@@ -0,0 +1,30 @@
1
+ import GridData from '../grid.js';
2
+ import GridConnections from '../gridConnections.js';
3
+ import Rule from '../rules/rule.js';
4
+ import TileData from '../tile.js';
5
+ import Symbol from '../symbols/symbol.js';
6
+ import { AnyConfig } from '../config.js';
7
+ import { Puzzle, PuzzleData } from '../puzzle.js';
8
+ import { ControlLine } from '../rules/musicControlLine.js';
9
+ import GridZones from '../gridZones.js';
10
+ import SerializerV0 from './serializer_v0.js';
11
+ export default class SerializerChecksum extends SerializerV0 {
12
+ readonly version: number;
13
+ parseTile(_str: string): TileData;
14
+ stringifyControlLine(line: ControlLine): string;
15
+ parseControlLine(_str: string): ControlLine;
16
+ parseConfig(_configs: readonly AnyConfig[], _entry: string): [string, unknown];
17
+ parseRule(_str: string): Rule;
18
+ parseSymbol(_str: string): Symbol;
19
+ parseConnections(_input: string): GridConnections;
20
+ stringifyZones(zones: GridZones): string;
21
+ parseZones(_input: string): GridZones;
22
+ parseTiles(_input: string): TileData[][];
23
+ stringifyRules(rules: readonly Rule[]): string;
24
+ parseRules(_input: string): Rule[];
25
+ stringifySymbols(symbols: ReadonlyMap<string, readonly Symbol[]>): string;
26
+ parseSymbols(_input: string): Map<string, Symbol[]>;
27
+ parseGrid(_input: string): GridData;
28
+ parseGridWithSolution(_input: string): PuzzleData;
29
+ parsePuzzle(_input: string): Puzzle;
30
+ }
@@ -0,0 +1,76 @@
1
+ import SerializerV0 from './serializer_v0.js';
2
+ export default class SerializerChecksum extends SerializerV0 {
3
+ constructor() {
4
+ super(...arguments);
5
+ Object.defineProperty(this, "version", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: 1
10
+ });
11
+ }
12
+ parseTile(_str) {
13
+ throw new Error('Checksum serializer does not support parsing');
14
+ }
15
+ stringifyControlLine(line) {
16
+ const result = [];
17
+ result.push(`c${line.column}`);
18
+ result.push(`r${line.rows.map(row => `n${row.note ?? ''}`).join(',')}`);
19
+ return result.join('|');
20
+ }
21
+ parseControlLine(_str) {
22
+ throw new Error('Checksum serializer does not support parsing');
23
+ }
24
+ parseConfig(_configs, _entry) {
25
+ throw new Error('Checksum serializer does not support parsing');
26
+ }
27
+ parseRule(_str) {
28
+ throw new Error('Checksum serializer does not support parsing');
29
+ }
30
+ parseSymbol(_str) {
31
+ throw new Error('Checksum serializer does not support parsing');
32
+ }
33
+ parseConnections(_input) {
34
+ throw new Error('Checksum serializer does not support parsing');
35
+ }
36
+ stringifyZones(zones) {
37
+ return `Z${zones.edges
38
+ .map(edge => `${edge.x1}_${edge.y1}_${edge.x2 - edge.x1}_${edge.y2 - edge.y1}`)
39
+ .sort()
40
+ .join(':')}`;
41
+ }
42
+ parseZones(_input) {
43
+ throw new Error('Checksum serializer does not support parsing');
44
+ }
45
+ parseTiles(_input) {
46
+ throw new Error('Checksum serializer does not support parsing');
47
+ }
48
+ stringifyRules(rules) {
49
+ return `R${rules
50
+ .map(rule => this.stringifyRule(rule))
51
+ .sort()
52
+ .join(':')}`;
53
+ }
54
+ parseRules(_input) {
55
+ throw new Error('Checksum serializer does not support parsing');
56
+ }
57
+ stringifySymbols(symbols) {
58
+ return `S${Array.from(symbols.values())
59
+ .flat()
60
+ .map(symbol => this.stringifySymbol(symbol))
61
+ .sort()
62
+ .join(':')}`;
63
+ }
64
+ parseSymbols(_input) {
65
+ throw new Error('Checksum serializer does not support parsing');
66
+ }
67
+ parseGrid(_input) {
68
+ throw new Error('Checksum serializer does not support parsing');
69
+ }
70
+ parseGridWithSolution(_input) {
71
+ throw new Error('Checksum serializer does not support parsing');
72
+ }
73
+ parsePuzzle(_input) {
74
+ throw new Error('Checksum serializer does not support parsing');
75
+ }
76
+ }
@@ -9,8 +9,22 @@ import SerializerBase from './serializerBase.js';
9
9
  import { Puzzle, PuzzleData } from '../puzzle.js';
10
10
  import { ControlLine } from '../rules/musicControlLine.js';
11
11
  import GridZones from '../gridZones.js';
12
+ export declare const OFFSETS: {
13
+ x: number;
14
+ y: number;
15
+ }[];
16
+ export declare const orientationChars: {
17
+ up: string;
18
+ "up-right": string;
19
+ right: string;
20
+ "down-right": string;
21
+ down: string;
22
+ "down-left": string;
23
+ left: string;
24
+ "up-left": string;
25
+ };
12
26
  export default class SerializerV0 extends SerializerBase {
13
- readonly version = 0;
27
+ readonly version: number;
14
28
  stringifyTile(tile: TileData): string;
15
29
  parseTile(str: string): TileData;
16
30
  stringifyControlLine(line: ControlLine): string;
@@ -9,13 +9,13 @@ import { allSymbols } from '../symbols/index.js';
9
9
  import SerializerBase from './serializerBase.js';
10
10
  import { ControlLine, Row } from '../rules/musicControlLine.js';
11
11
  import GridZones from '../gridZones.js';
12
- const OFFSETS = [
12
+ export const OFFSETS = [
13
13
  { x: 0, y: -1 },
14
14
  { x: -1, y: 0 },
15
15
  { x: 1, y: 0 },
16
16
  { x: 0, y: 1 },
17
17
  ];
18
- const orientationChars = {
18
+ export const orientationChars = {
19
19
  [Orientation.Up]: 'u',
20
20
  [Orientation.UpRight]: 'x',
21
21
  [Orientation.Right]: 'r',
@@ -89,8 +89,10 @@ class AutoSolver extends Solver {
89
89
  for await (const updatedGrid of solver.solve(progress, abortSignal)) {
90
90
  if (abortSignal?.aborted)
91
91
  return;
92
- if (!updatedGrid)
93
- return updatedGrid;
92
+ if (!updatedGrid) {
93
+ yield updatedGrid;
94
+ return;
95
+ }
94
96
  yield this.fillSolution(grid, updatedGrid);
95
97
  }
96
98
  }
@@ -44,6 +44,10 @@ onmessage = e => {
44
44
  const puzzleData = gridToJson(grid);
45
45
  const solverResult = solveLogicPad(puzzleData, isUnderclued);
46
46
  postSolution(grid, solverResult);
47
+ if (isUnderclued) {
48
+ postMessage(null);
49
+ return;
50
+ }
47
51
  // Make use of the underclued mode to determine solution uniqueness
48
52
  if (solverResult !== null && !('error' in solverResult) && !isUnderclued) {
49
53
  const undercluedResult = solveLogicPad(puzzleData, true);
package/dist/index.d.ts CHANGED
@@ -40,12 +40,14 @@ import UniqueShapeRule from './data/rules/uniqueShapeRule.js';
40
40
  import WrapAroundRule from './data/rules/wrapAroundRule.js';
41
41
  import { Serializer } from './data/serializer/allSerializers.js';
42
42
  import { Compressor } from './data/serializer/compressor/allCompressors.js';
43
+ import ChecksumCompressor from './data/serializer/compressor/checksumCompressor.js';
43
44
  import CompressorBase from './data/serializer/compressor/compressorBase.js';
44
45
  import DeflateCompressor from './data/serializer/compressor/deflateCompressor.js';
45
46
  import GzipCompressor from './data/serializer/compressor/gzipCompressor.js';
46
47
  import StreamCompressor from './data/serializer/compressor/streamCompressor.js';
47
48
  import SerializerBase from './data/serializer/serializerBase.js';
48
- import SerializerV0 from './data/serializer/serializer_v0.js';
49
+ import SerializerChecksum from './data/serializer/serializer_checksum.js';
50
+ import SerializerV0, { OFFSETS, orientationChars } from './data/serializer/serializer_v0.js';
49
51
  import { getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape } from './data/shapes.js';
50
52
  import { allSolvers } from './data/solver/allSolvers.js';
51
53
  import AutoSolver from './data/solver/auto/autoSolver.js';
@@ -108,4 +110,4 @@ import ViewpointSymbol from './data/symbols/viewpointSymbol.js';
108
110
  import TileData from './data/tile.js';
109
111
  import TileConnections from './data/tileConnections.js';
110
112
  import validateGrid, { aggregateState, applyFinalOverrides } from './data/validate.js';
111
- export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, Direction, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ContainsShapeRule, CustomRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameShapeRule, SymbolsPerRegionRule, UndercluedRule, UniqueShapeRule, WrapAroundRule, Serializer, Compressor, CompressorBase, DeflateCompressor, GzipCompressor, StreamCompressor, SerializerBase, SerializerV0, getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape, allSolvers, AutoSolver, BacktrackSolver, BTModule, BTGridData, BTTile, IntArray2D, colorToBTTile, createOneTileResult, getOppositeColor, BanPatternBTModule, CellCountBTModule, ConnectAllBTModule, RegionAreaBTModule, RegionShapeBTModule, SameShapeBTModule, SymbolsPerRegionBTModule, UniqueShapeBTModule, AreaNumberBTModule, DartBTModule, DirectionLinkerBTModule, FocusBTModule, GalaxyBTModule, LetterBTModule, LotusBTModule, MinesweeperBTModule, MyopiaBTModule, ViewpointBTModule, CspuzSolver, gridToJson, EventIteratingSolver, Solver, UniversalSolver, AreaNumberModule, CellCountModule, ConnectAllModule, DartModule, allZ3Modules, LetterModule, MyopiaModule, RegionAreaModule, ViewpointModule, Z3Module, convertDirection, Z3Solver, Z3SolverContext, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MultiEntrySymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, };
113
+ export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, Direction, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ContainsShapeRule, CustomRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameShapeRule, SymbolsPerRegionRule, UndercluedRule, UniqueShapeRule, WrapAroundRule, Serializer, Compressor, ChecksumCompressor, CompressorBase, DeflateCompressor, GzipCompressor, StreamCompressor, SerializerBase, SerializerChecksum, SerializerV0, OFFSETS, orientationChars, getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape, allSolvers, AutoSolver, BacktrackSolver, BTModule, BTGridData, BTTile, IntArray2D, colorToBTTile, createOneTileResult, getOppositeColor, BanPatternBTModule, CellCountBTModule, ConnectAllBTModule, RegionAreaBTModule, RegionShapeBTModule, SameShapeBTModule, SymbolsPerRegionBTModule, UniqueShapeBTModule, AreaNumberBTModule, DartBTModule, DirectionLinkerBTModule, FocusBTModule, GalaxyBTModule, LetterBTModule, LotusBTModule, MinesweeperBTModule, MyopiaBTModule, ViewpointBTModule, CspuzSolver, gridToJson, EventIteratingSolver, Solver, UniversalSolver, AreaNumberModule, CellCountModule, ConnectAllModule, DartModule, allZ3Modules, LetterModule, MyopiaModule, RegionAreaModule, ViewpointModule, Z3Module, convertDirection, Z3Solver, Z3SolverContext, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MultiEntrySymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, };
package/dist/index.js CHANGED
@@ -43,12 +43,14 @@ import UniqueShapeRule from './data/rules/uniqueShapeRule.js';
43
43
  import WrapAroundRule from './data/rules/wrapAroundRule.js';
44
44
  import { Serializer } from './data/serializer/allSerializers.js';
45
45
  import { Compressor } from './data/serializer/compressor/allCompressors.js';
46
+ import ChecksumCompressor from './data/serializer/compressor/checksumCompressor.js';
46
47
  import CompressorBase from './data/serializer/compressor/compressorBase.js';
47
48
  import DeflateCompressor from './data/serializer/compressor/deflateCompressor.js';
48
49
  import GzipCompressor from './data/serializer/compressor/gzipCompressor.js';
49
50
  import StreamCompressor from './data/serializer/compressor/streamCompressor.js';
50
51
  import SerializerBase from './data/serializer/serializerBase.js';
51
- import SerializerV0 from './data/serializer/serializer_v0.js';
52
+ import SerializerChecksum from './data/serializer/serializer_checksum.js';
53
+ import SerializerV0, { OFFSETS, orientationChars } from './data/serializer/serializer_v0.js';
52
54
  import { getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape } from './data/shapes.js';
53
55
  import { allSolvers } from './data/solver/allSolvers.js';
54
56
  import AutoSolver from './data/solver/auto/autoSolver.js';
@@ -111,4 +113,4 @@ import ViewpointSymbol from './data/symbols/viewpointSymbol.js';
111
113
  import TileData from './data/tile.js';
112
114
  import TileConnections from './data/tileConnections.js';
113
115
  import validateGrid, { aggregateState, applyFinalOverrides } from './data/validate.js';
114
- export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, Direction, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ContainsShapeRule, CustomRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameShapeRule, SymbolsPerRegionRule, UndercluedRule, UniqueShapeRule, WrapAroundRule, Serializer, Compressor, CompressorBase, DeflateCompressor, GzipCompressor, StreamCompressor, SerializerBase, SerializerV0, getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape, allSolvers, AutoSolver, BacktrackSolver, BTModule, BTGridData, BTTile, IntArray2D, colorToBTTile, createOneTileResult, getOppositeColor, BanPatternBTModule, CellCountBTModule, ConnectAllBTModule, RegionAreaBTModule, RegionShapeBTModule, SameShapeBTModule, SymbolsPerRegionBTModule, UniqueShapeBTModule, AreaNumberBTModule, DartBTModule, DirectionLinkerBTModule, FocusBTModule, GalaxyBTModule, LetterBTModule, LotusBTModule, MinesweeperBTModule, MyopiaBTModule, ViewpointBTModule, CspuzSolver, gridToJson, EventIteratingSolver, Solver, UniversalSolver, AreaNumberModule, CellCountModule, ConnectAllModule, DartModule, allZ3Modules, LetterModule, MyopiaModule, RegionAreaModule, ViewpointModule, Z3Module, convertDirection, Z3Solver, Z3SolverContext, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MultiEntrySymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, };
116
+ export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, Direction, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ContainsShapeRule, CustomRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameShapeRule, SymbolsPerRegionRule, UndercluedRule, UniqueShapeRule, WrapAroundRule, Serializer, Compressor, ChecksumCompressor, CompressorBase, DeflateCompressor, GzipCompressor, StreamCompressor, SerializerBase, SerializerChecksum, SerializerV0, OFFSETS, orientationChars, getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape, allSolvers, AutoSolver, BacktrackSolver, BTModule, BTGridData, BTTile, IntArray2D, colorToBTTile, createOneTileResult, getOppositeColor, BanPatternBTModule, CellCountBTModule, ConnectAllBTModule, RegionAreaBTModule, RegionShapeBTModule, SameShapeBTModule, SymbolsPerRegionBTModule, UniqueShapeBTModule, AreaNumberBTModule, DartBTModule, DirectionLinkerBTModule, FocusBTModule, GalaxyBTModule, LetterBTModule, LotusBTModule, MinesweeperBTModule, MyopiaBTModule, ViewpointBTModule, CspuzSolver, gridToJson, EventIteratingSolver, Solver, UniversalSolver, AreaNumberModule, CellCountModule, ConnectAllModule, DartModule, allZ3Modules, LetterModule, MyopiaModule, RegionAreaModule, ViewpointModule, Z3Module, convertDirection, Z3Solver, Z3SolverContext, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MultiEntrySymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logic-pad/core",
3
- "version": "0.12.6",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",