@logic-pad/core 0.26.0 → 0.26.1
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 +15 -0
- package/dist/src/data/solver/auto/autoSolver.js +11 -8
- package/dist/src/data/solver/backtrack/backtrackSolver.js +2 -0
- package/dist/src/data/solver/backtrack/backtrackWorker.js +4 -0
- package/dist/src/data/solver/backtrack/symbols/letter.js +2 -0
- package/dist/src/data/solver/cspuz/cspuzSolver.js +7 -0
- package/dist/src/data/solver/cspuz/jsonify.js +4 -0
- package/dist/src/data/symbols/symbols.gen.d.ts +1 -0
- package/dist/src/data/symbols/symbols.gen.js +1 -0
- package/dist/src/data/symbols/unsupportedSymbol.d.ts +23 -0
- package/dist/src/data/symbols/unsupportedSymbol.js +47 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +2 -1
- package/package.json +1 -1
|
@@ -3206,6 +3206,21 @@ declare global {
|
|
|
3206
3206
|
}): this;
|
|
3207
3207
|
}
|
|
3208
3208
|
export declare const allSymbols: Map<string, Symbol$1>;
|
|
3209
|
+
/**
|
|
3210
|
+
* A marker for symbols not supported by the current solver.
|
|
3211
|
+
* Solvers should count these symbols in the symbols per region rule but otherwise ignore them.
|
|
3212
|
+
*/
|
|
3213
|
+
export declare class UnsupportedSymbol extends Symbol$1 {
|
|
3214
|
+
readonly title = 'Unsupported Symbol';
|
|
3215
|
+
private static readonly CONFIGS;
|
|
3216
|
+
private static readonly EXAMPLE_GRID;
|
|
3217
|
+
get id(): string;
|
|
3218
|
+
get explanation(): string;
|
|
3219
|
+
get configs(): readonly AnyConfig[] | null;
|
|
3220
|
+
createExampleGrid(): GridData;
|
|
3221
|
+
validateSymbol(_grid: GridData, _solution: GridData | null): State;
|
|
3222
|
+
copyWith({ x, y }: { x?: number; y?: number }): this;
|
|
3223
|
+
}
|
|
3209
3224
|
export declare function aggregateState(
|
|
3210
3225
|
rules: readonly RuleState[],
|
|
3211
3226
|
grid: GridData,
|
|
@@ -2,13 +2,13 @@ import { Color, State } from '../../primitives.js';
|
|
|
2
2
|
import { instance as lyingSymbolInstance } from '../../rules/lyingSymbolRule.js';
|
|
3
3
|
import { instance as offByXInstance } from '../../rules/offByXRule.js';
|
|
4
4
|
import { instance as wrapAroundInstance } from '../../rules/wrapAroundRule.js';
|
|
5
|
-
import { instance as symbolsPerRegionInstance } from '../../rules/symbolsPerRegionRule.js';
|
|
6
5
|
import { instance as areaNumberInstance } from '../../symbols/areaNumberSymbol.js';
|
|
7
6
|
import { instance as letterInstance } from '../../symbols/letterSymbol.js';
|
|
8
7
|
import { allSolvers } from '../allSolvers.js';
|
|
9
8
|
import Solver from '../solver.js';
|
|
10
9
|
import UndercluedRule from '../../rules/undercluedRule.js';
|
|
11
10
|
import validateGrid from '../../validate.js';
|
|
11
|
+
import UnsupportedSymbol from '../../symbols/unsupportedSymbol.js';
|
|
12
12
|
export default class AutoSolver extends Solver {
|
|
13
13
|
id = 'auto';
|
|
14
14
|
author = 'various contributors';
|
|
@@ -18,7 +18,6 @@ export default class AutoSolver extends Solver {
|
|
|
18
18
|
offByXInstance.id,
|
|
19
19
|
lyingSymbolInstance.id,
|
|
20
20
|
wrapAroundInstance.id,
|
|
21
|
-
symbolsPerRegionInstance.id,
|
|
22
21
|
]);
|
|
23
22
|
isGridSupported(grid) {
|
|
24
23
|
for (const solver of allSolvers.values()) {
|
|
@@ -117,12 +116,16 @@ export default class AutoSolver extends Solver {
|
|
|
117
116
|
.withRules(rules => rules.filter(r => solver.isInstructionSupported(progressGrid, r)))
|
|
118
117
|
.withSymbols(symbols => {
|
|
119
118
|
for (const [id, symbolList] of symbols.entries()) {
|
|
120
|
-
symbols.set(id, symbolList.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
119
|
+
symbols.set(id, symbolList.map(symbol => {
|
|
120
|
+
// special handling: do not delete area number and letter symbols as they can be solved
|
|
121
|
+
// underclued even if the solver doesn't fully support them
|
|
122
|
+
if (symbol.id === areaNumberInstance.id ||
|
|
123
|
+
symbol.id === letterInstance.id)
|
|
124
|
+
return symbol;
|
|
125
|
+
if (solver.isInstructionSupported(progressGrid, symbol))
|
|
126
|
+
return symbol;
|
|
127
|
+
return new UnsupportedSymbol(symbol.x, symbol.y);
|
|
128
|
+
}));
|
|
126
129
|
}
|
|
127
130
|
return symbols;
|
|
128
131
|
})
|
|
@@ -15,6 +15,7 @@ import { instance as focusInstance } from '../../symbols/focusSymbol.js';
|
|
|
15
15
|
import { instance as myopiaInstance } from '../../symbols/myopiaSymbol.js';
|
|
16
16
|
import { instance as viewpointInstance } from '../../symbols/viewpointSymbol.js';
|
|
17
17
|
import { instance as connectAllInstance } from '../../rules/connectAllRule.js';
|
|
18
|
+
import { instance as unsupportedInstance } from '../../symbols/unsupportedSymbol.js';
|
|
18
19
|
import EventIteratingSolver from '../eventIteratingSolver.js';
|
|
19
20
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
20
21
|
('vite-apply-code-mod');
|
|
@@ -37,6 +38,7 @@ export default class BacktrackSolver extends EventIteratingSolver {
|
|
|
37
38
|
cellCountInstance.id,
|
|
38
39
|
sameShapeInstance.id,
|
|
39
40
|
uniqueShapeInstance.id,
|
|
41
|
+
unsupportedInstance.id,
|
|
40
42
|
];
|
|
41
43
|
id = 'backtrack';
|
|
42
44
|
author = 'ALaggyDev';
|
|
@@ -18,6 +18,7 @@ import { instance as minesweeperInstance, } from '../../symbols/minesweeperSymbo
|
|
|
18
18
|
import { instance as focusInstance, } from '../../symbols/focusSymbol.js';
|
|
19
19
|
import { instance as myopiaInstance, } from '../../symbols/myopiaSymbol.js';
|
|
20
20
|
import { instance as viewpointInstance, } from '../../symbols/viewpointSymbol.js';
|
|
21
|
+
import { instance as unsupportedInstance } from '../../symbols/unsupportedSymbol.js';
|
|
21
22
|
import { BTGridData, BTTile } from './data.js';
|
|
22
23
|
import BanPatternBTModule from './rules/banPattern.js';
|
|
23
24
|
import CellCountBTModule from './rules/cellCount.js';
|
|
@@ -79,6 +80,9 @@ function translateToBTGridData(grid) {
|
|
|
79
80
|
else if (id === letterInstance.id) {
|
|
80
81
|
continue;
|
|
81
82
|
}
|
|
83
|
+
else if (id === unsupportedInstance.id) {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
82
86
|
if (!module && symbol.necessaryForCompletion)
|
|
83
87
|
throw new Error('Symbol not supported.');
|
|
84
88
|
if (module)
|
|
@@ -26,6 +26,8 @@ export default class LetterBTModule extends BTModule {
|
|
|
26
26
|
const checkResult = checkSubtilePlacement(grid, symbol);
|
|
27
27
|
if (checkResult !== undefined)
|
|
28
28
|
return checkResult;
|
|
29
|
+
}
|
|
30
|
+
for (const symbol of this.letters[id]) {
|
|
29
31
|
const symbolX = Math.floor(symbol.x);
|
|
30
32
|
const symbolY = Math.floor(symbol.y);
|
|
31
33
|
if (grid.getTile(symbolX, symbolY) === BTTile.Empty)
|
|
@@ -14,6 +14,7 @@ import LotusSymbol, { instance as lotusInstance, } from '../../symbols/lotusSymb
|
|
|
14
14
|
import { instance as minesweeperInstance } from '../../symbols/minesweeperSymbol.js';
|
|
15
15
|
import { instance as viewpointInstance } from '../../symbols/viewpointSymbol.js';
|
|
16
16
|
import { instance as connectAllInstance } from '../../rules/connectAllRule.js';
|
|
17
|
+
import { instance as unsupportedInstance } from '../../symbols/unsupportedSymbol.js';
|
|
17
18
|
import EventIteratingSolver from '../eventIteratingSolver.js';
|
|
18
19
|
import GridData from '../../grid.js';
|
|
19
20
|
import { Color } from '../../primitives.js';
|
|
@@ -37,6 +38,7 @@ export default class CspuzSolver extends EventIteratingSolver {
|
|
|
37
38
|
offByXInstance.id,
|
|
38
39
|
undercluedInstance.id,
|
|
39
40
|
symbolsPerRegionInstance.id,
|
|
41
|
+
unsupportedInstance.id,
|
|
40
42
|
];
|
|
41
43
|
id = 'cspuz';
|
|
42
44
|
author = 'semiexp';
|
|
@@ -54,6 +56,11 @@ export default class CspuzSolver extends EventIteratingSolver {
|
|
|
54
56
|
if (grid.getTileCount(true, true, Color.Gray) > 0) {
|
|
55
57
|
return false;
|
|
56
58
|
}
|
|
59
|
+
// the solver doesn't count symbols correctly if some symbols are unsupported
|
|
60
|
+
if (grid.findSymbol(symbol => symbol.id === unsupportedInstance.id) &&
|
|
61
|
+
grid.findRule(rule => rule.id === symbolsPerRegionInstance.id)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
57
64
|
return true;
|
|
58
65
|
}
|
|
59
66
|
isInstructionSupported(grid, instruction) {
|
|
@@ -15,6 +15,7 @@ import { instance as letterInstance, } from '../../symbols/letterSymbol.js';
|
|
|
15
15
|
import { instance as lotusInstance, } from '../../symbols/lotusSymbol.js';
|
|
16
16
|
import { instance as minesweeperInstance, } from '../../symbols/minesweeperSymbol.js';
|
|
17
17
|
import { instance as viewpointInstance, } from '../../symbols/viewpointSymbol.js';
|
|
18
|
+
import { instance as unsupportedInstance } from '../../symbols/unsupportedSymbol.js';
|
|
18
19
|
import TileData from '../../tile.js';
|
|
19
20
|
function canonizeTiles(tileData) {
|
|
20
21
|
const ret = [];
|
|
@@ -180,6 +181,9 @@ export function gridToJson(grid) {
|
|
|
180
181
|
tiles,
|
|
181
182
|
});
|
|
182
183
|
}
|
|
184
|
+
else if (rule === unsupportedInstance.id) {
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
183
187
|
else if (symbols.some(s => s.necessaryForCompletion)) {
|
|
184
188
|
throw new Error(`Unknown symbol type: ${rule}`);
|
|
185
189
|
}
|
|
@@ -11,4 +11,5 @@ export { instance as LetterSymbol } from './letterSymbol.js';
|
|
|
11
11
|
export { instance as LotusSymbol } from './lotusSymbol.js';
|
|
12
12
|
export { instance as MinesweeperSymbol } from './minesweeperSymbol.js';
|
|
13
13
|
export { instance as MyopiaSymbol } from './myopiaSymbol.js';
|
|
14
|
+
export { instance as UnsupportedSymbol } from './unsupportedSymbol.js';
|
|
14
15
|
export { instance as ViewpointSymbol } from './viewpointSymbol.js';
|
|
@@ -15,4 +15,5 @@ export { instance as LetterSymbol } from './letterSymbol.js';
|
|
|
15
15
|
export { instance as LotusSymbol } from './lotusSymbol.js';
|
|
16
16
|
export { instance as MinesweeperSymbol } from './minesweeperSymbol.js';
|
|
17
17
|
export { instance as MyopiaSymbol } from './myopiaSymbol.js';
|
|
18
|
+
export { instance as UnsupportedSymbol } from './unsupportedSymbol.js';
|
|
18
19
|
export { instance as ViewpointSymbol } from './viewpointSymbol.js';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Symbol from './symbol.js';
|
|
2
|
+
import { AnyConfig } from '../config.js';
|
|
3
|
+
import GridData from '../grid.js';
|
|
4
|
+
import { State } from '../primitives.js';
|
|
5
|
+
/**
|
|
6
|
+
* A marker for symbols not supported by the current solver.
|
|
7
|
+
* Solvers should count these symbols in the symbols per region rule but otherwise ignore them.
|
|
8
|
+
*/
|
|
9
|
+
export default class UnsupportedSymbol extends Symbol {
|
|
10
|
+
readonly title = "Unsupported Symbol";
|
|
11
|
+
private static readonly CONFIGS;
|
|
12
|
+
private static readonly EXAMPLE_GRID;
|
|
13
|
+
get id(): string;
|
|
14
|
+
get explanation(): string;
|
|
15
|
+
get configs(): readonly AnyConfig[] | null;
|
|
16
|
+
createExampleGrid(): GridData;
|
|
17
|
+
validateSymbol(_grid: GridData, _solution: GridData | null): State;
|
|
18
|
+
copyWith({ x, y }: {
|
|
19
|
+
x?: number;
|
|
20
|
+
y?: number;
|
|
21
|
+
}): this;
|
|
22
|
+
}
|
|
23
|
+
export declare const instance: UnsupportedSymbol;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import Symbol from './symbol.js';
|
|
2
|
+
import { ConfigType } from '../config.js';
|
|
3
|
+
import GridData from '../grid.js';
|
|
4
|
+
import { State } from '../primitives.js';
|
|
5
|
+
/**
|
|
6
|
+
* A marker for symbols not supported by the current solver.
|
|
7
|
+
* Solvers should count these symbols in the symbols per region rule but otherwise ignore them.
|
|
8
|
+
*/
|
|
9
|
+
export default class UnsupportedSymbol extends Symbol {
|
|
10
|
+
title = 'Unsupported Symbol';
|
|
11
|
+
static CONFIGS = Object.freeze([
|
|
12
|
+
{
|
|
13
|
+
type: ConfigType.Number,
|
|
14
|
+
default: 0,
|
|
15
|
+
field: 'x',
|
|
16
|
+
description: 'X',
|
|
17
|
+
configurable: false,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
type: ConfigType.Number,
|
|
21
|
+
default: 0,
|
|
22
|
+
field: 'y',
|
|
23
|
+
description: 'Y',
|
|
24
|
+
configurable: false,
|
|
25
|
+
},
|
|
26
|
+
]);
|
|
27
|
+
static EXAMPLE_GRID = Object.freeze(GridData.create(['.']));
|
|
28
|
+
get id() {
|
|
29
|
+
return `unsupported`;
|
|
30
|
+
}
|
|
31
|
+
get explanation() {
|
|
32
|
+
return 'Unsupported symbol';
|
|
33
|
+
}
|
|
34
|
+
get configs() {
|
|
35
|
+
return UnsupportedSymbol.CONFIGS;
|
|
36
|
+
}
|
|
37
|
+
createExampleGrid() {
|
|
38
|
+
return UnsupportedSymbol.EXAMPLE_GRID;
|
|
39
|
+
}
|
|
40
|
+
validateSymbol(_grid, _solution) {
|
|
41
|
+
return State.Satisfied;
|
|
42
|
+
}
|
|
43
|
+
copyWith({ x, y }) {
|
|
44
|
+
return new UnsupportedSymbol(x ?? this.x, y ?? this.y);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const instance = new UnsupportedSymbol(0, 0);
|
package/dist/src/index.d.ts
CHANGED
|
@@ -100,9 +100,10 @@ import MinesweeperSymbol from './data/symbols/minesweeperSymbol.js';
|
|
|
100
100
|
import MyopiaSymbol from './data/symbols/myopiaSymbol.js';
|
|
101
101
|
import NumberSymbol from './data/symbols/numberSymbol.js';
|
|
102
102
|
import Symbol from './data/symbols/symbol.js';
|
|
103
|
+
import UnsupportedSymbol from './data/symbols/unsupportedSymbol.js';
|
|
103
104
|
import ViewpointSymbol from './data/symbols/viewpointSymbol.js';
|
|
104
105
|
import TileData from './data/tile.js';
|
|
105
106
|
import TileConnections from './data/tileConnections.js';
|
|
106
107
|
import validateGrid, { aggregateState, applyFinalOverrides } from './data/validate.js';
|
|
107
108
|
import { GridValidator } from './data/validateAsync.js';
|
|
108
|
-
export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolMerge, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ConnectZonesRule, ContainsShapeRule, CustomRule, DifferentCountPerZoneRule, ExactCountPerZoneRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, NoLoopsRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameCountPerZoneRule, 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, checkSubtilePlacement, 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, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, EveryLetterSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, HouseSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, GridValidator, };
|
|
109
|
+
export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolMerge, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ConnectZonesRule, ContainsShapeRule, CustomRule, DifferentCountPerZoneRule, ExactCountPerZoneRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, NoLoopsRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameCountPerZoneRule, 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, checkSubtilePlacement, 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, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, EveryLetterSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, HouseSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MyopiaSymbol, NumberSymbol, Symbol, UnsupportedSymbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, GridValidator, };
|
package/dist/src/index.js
CHANGED
|
@@ -103,9 +103,10 @@ import MinesweeperSymbol from './data/symbols/minesweeperSymbol.js';
|
|
|
103
103
|
import MyopiaSymbol from './data/symbols/myopiaSymbol.js';
|
|
104
104
|
import NumberSymbol from './data/symbols/numberSymbol.js';
|
|
105
105
|
import Symbol from './data/symbols/symbol.js';
|
|
106
|
+
import UnsupportedSymbol from './data/symbols/unsupportedSymbol.js';
|
|
106
107
|
import ViewpointSymbol from './data/symbols/viewpointSymbol.js';
|
|
107
108
|
import TileData from './data/tile.js';
|
|
108
109
|
import TileConnections from './data/tileConnections.js';
|
|
109
110
|
import validateGrid, { aggregateState, applyFinalOverrides } from './data/validate.js';
|
|
110
111
|
import { GridValidator } from './data/validateAsync.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, handlesSymbolMerge, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ConnectZonesRule, ContainsShapeRule, CustomRule, DifferentCountPerZoneRule, ExactCountPerZoneRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, NoLoopsRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameCountPerZoneRule, 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, checkSubtilePlacement, 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, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, EveryLetterSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, HouseSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, GridValidator, };
|
|
112
|
+
export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolMerge, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ConnectZonesRule, ContainsShapeRule, CustomRule, DifferentCountPerZoneRule, ExactCountPerZoneRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, NoLoopsRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameCountPerZoneRule, 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, checkSubtilePlacement, 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, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, EveryLetterSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, HouseSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MyopiaSymbol, NumberSymbol, Symbol, UnsupportedSymbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, GridValidator, };
|