@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.
- package/assets/logic-core.global.d.ts +43 -1
- package/dist/data/serializer/compressor/checksumCompressor.d.ts +6 -0
- package/dist/data/serializer/compressor/checksumCompressor.js +21 -0
- package/dist/data/serializer/serializer_checksum.d.ts +30 -0
- package/dist/data/serializer/serializer_checksum.js +76 -0
- package/dist/data/serializer/serializer_v0.d.ts +15 -1
- package/dist/data/serializer/serializer_v0.js +2 -2
- package/dist/data/solver/auto/autoSolver.js +4 -2
- package/dist/data/solver/cspuz/cspuzWorker.js +4 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/package.json +1 -1
|
@@ -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
|
|
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,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
|
|
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
|
-
|
|
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
|
|
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
|
|
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, };
|