@edv4h/usketch-plugin-map 0.4.0 → 0.5.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/dist/base/base-layer.d.ts.map +1 -1
- package/dist/base/base-layer.js +30 -6
- package/dist/base/base-layer.js.map +1 -1
- package/dist/base/base-map-shape.d.ts +6 -6
- package/dist/base/base-map-shape.d.ts.map +1 -1
- package/dist/base/base-map-shape.js +6 -28
- package/dist/base/base-map-shape.js.map +1 -1
- package/dist/base/base-ops.d.ts +16 -23
- package/dist/base/base-ops.d.ts.map +1 -1
- package/dist/base/base-ops.js +101 -101
- package/dist/base/base-ops.js.map +1 -1
- package/dist/base/base-state.d.ts +3 -2
- package/dist/base/base-state.d.ts.map +1 -1
- package/dist/base/base-state.js +4 -3
- package/dist/base/base-state.js.map +1 -1
- package/dist/base/enter-banner.d.ts.map +1 -1
- package/dist/base/enter-banner.js +5 -2
- package/dist/base/enter-banner.js.map +1 -1
- package/dist/base/territory.d.ts +9 -0
- package/dist/base/territory.d.ts.map +1 -0
- package/dist/base/territory.js +128 -0
- package/dist/base/territory.js.map +1 -0
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +25 -5
- package/dist/generate.js.map +1 -1
- package/dist/hud/register-map-hud.d.ts.map +1 -1
- package/dist/hud/register-map-hud.js +0 -0
- package/dist/hud/register-map-hud.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/map-icon-shape.d.ts +3 -0
- package/dist/map-icon-shape.d.ts.map +1 -1
- package/dist/map-icon-shape.js.map +1 -1
- package/dist/map-tool.d.ts.map +1 -1
- package/dist/map-tool.js +57 -61
- package/dist/map-tool.js.map +1 -1
- package/dist/range-erase-state.d.ts +0 -2
- package/dist/range-erase-state.d.ts.map +1 -1
- package/dist/range-erase-state.js +2 -2
- package/dist/range-erase-state.js.map +1 -1
- package/dist/range-erase.d.ts +2 -2
- package/dist/range-erase.d.ts.map +1 -1
- package/dist/range-erase.js +28 -55
- package/dist/range-erase.js.map +1 -1
- package/dist/tilemap-shape.d.ts +7 -0
- package/dist/tilemap-shape.d.ts.map +1 -1
- package/dist/tilemap-shape.js +1 -0
- package/dist/tilemap-shape.js.map +1 -1
- package/package.json +1 -1
package/dist/map-tool.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { createAddShapeCommand, createDeleteWithChildrenCommand, isEffectivelyHidden, isEffectivelyLocked, } from "@edv4h/usketch-store";
|
|
3
3
|
import { cellKey, cellsBounds, floodFill, regionFillCells, worldToCell, } from "./autotile.js";
|
|
4
|
-
import {
|
|
4
|
+
import { createBase, getBaseMap, setBeacon } from "./base/base-ops.js";
|
|
5
5
|
import { baseStateStore } from "./base/base-state.js";
|
|
6
6
|
import { genStateStore } from "./gen-state.js";
|
|
7
7
|
import { generateIntoBox, resolveTilemap } from "./generate.js";
|
|
@@ -9,6 +9,17 @@ import { ICONS_BY_KEY } from "./icons.js";
|
|
|
9
9
|
import { MAP_ICON_TYPE, makeMapIcon } from "./map-icon-shape.js";
|
|
10
10
|
import { DEFAULT_TILE } from "./tilemap-shape.js";
|
|
11
11
|
import { toolStateStore } from "./tool-state.js";
|
|
12
|
+
// Default colours cycled through when a base is auto-created on first beacon.
|
|
13
|
+
const BASE_PALETTE = [
|
|
14
|
+
"#EF5350",
|
|
15
|
+
"#4A7FB8",
|
|
16
|
+
"#6C5CD6",
|
|
17
|
+
"#2AA1A8",
|
|
18
|
+
"#F6C124",
|
|
19
|
+
"#25A05B",
|
|
20
|
+
"#F48CB4",
|
|
21
|
+
"#F0913E",
|
|
22
|
+
];
|
|
12
23
|
function MapToolIcon() {
|
|
13
24
|
return (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M3 5 L8 3 L12 5 L17 3 V15 L12 17 L8 15 L3 17 Z", fill: "#a9d888", stroke: "#141414", strokeWidth: "1.4", strokeLinejoin: "round" }), _jsx("path", { d: "M8 3 V15 M12 5 V17", stroke: "#141414", strokeWidth: "1.1" })] }));
|
|
14
25
|
}
|
|
@@ -26,37 +37,14 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
26
37
|
let lastKey = "";
|
|
27
38
|
// Range-select drag for the "generate" submode (world start point).
|
|
28
39
|
let genDrag = null;
|
|
29
|
-
// Base-ownership paint stroke (base submode = assign/erase).
|
|
30
|
-
let baseStroke = null;
|
|
31
|
-
let lastBaseKey = "";
|
|
32
|
-
function paintOwnerAt(ctx, event) {
|
|
33
|
-
if (!baseStroke)
|
|
34
|
-
return;
|
|
35
|
-
const { activeBaseId, mode } = baseStateStore.get();
|
|
36
|
-
if (mode === "assign" && !activeBaseId)
|
|
37
|
-
return;
|
|
38
|
-
const [c, r] = worldToCell(event.worldPoint.x, event.worldPoint.y, tile);
|
|
39
|
-
const key = cellKey(c, r);
|
|
40
|
-
if (key === lastBaseKey)
|
|
41
|
-
return;
|
|
42
|
-
lastBaseKey = key;
|
|
43
|
-
const owner = currentOwner(ctx.store, baseStroke.baseMapId);
|
|
44
|
-
if (mode === "erase") {
|
|
45
|
-
if (!(key in owner))
|
|
46
|
-
return;
|
|
47
|
-
delete owner[key];
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
if (owner[key] === activeBaseId)
|
|
51
|
-
return;
|
|
52
|
-
owner[key] = activeBaseId;
|
|
53
|
-
}
|
|
54
|
-
applyOwner(ctx.store, baseStroke.baseMapId, owner, tile);
|
|
55
|
-
}
|
|
56
40
|
function currentCells(ctx, id) {
|
|
57
41
|
const s = ctx.store.getShape(id);
|
|
58
42
|
return s ? { ...s.cells } : {};
|
|
59
43
|
}
|
|
44
|
+
function currentHandPaint(ctx, id) {
|
|
45
|
+
const s = ctx.store.getShape(id);
|
|
46
|
+
return s?.handPaint ? { ...s.handPaint } : {};
|
|
47
|
+
}
|
|
60
48
|
function applyCells(ctx, id, cells) {
|
|
61
49
|
// `cells` is an intrinsic field of TileMapShapeData, outside the base
|
|
62
50
|
// ShapeData type — cast at the store boundary (as freedraw does for points).
|
|
@@ -144,19 +132,23 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
144
132
|
function commit(ctx) {
|
|
145
133
|
if (!stroke)
|
|
146
134
|
return;
|
|
147
|
-
const { tilemapId, created, prevCells } = stroke;
|
|
135
|
+
const { tilemapId, created, prevCells, prevHandPaint } = stroke;
|
|
148
136
|
stroke = null;
|
|
149
137
|
lastKey = "";
|
|
150
138
|
const shape = ctx.store.getShape(tilemapId);
|
|
151
139
|
const nextCells = shape ? shape.cells : {};
|
|
152
140
|
if (created) {
|
|
153
|
-
// Newly created this stroke: commit as an add (undo deletes it).
|
|
141
|
+
// Newly created this stroke: commit as an add (undo deletes it). Every
|
|
142
|
+
// cell was just hand-painted, so mark them all as hand-paint.
|
|
154
143
|
if (!shape || Object.keys(nextCells).length === 0) {
|
|
155
144
|
if (shape)
|
|
156
145
|
ctx.store.deleteShape(tilemapId);
|
|
157
146
|
return;
|
|
158
147
|
}
|
|
159
|
-
const
|
|
148
|
+
const handPaint = {};
|
|
149
|
+
for (const k of Object.keys(nextCells))
|
|
150
|
+
handPaint[k] = true;
|
|
151
|
+
const finalShape = { ...shape, handPaint };
|
|
160
152
|
ctx.store.deleteShape(tilemapId);
|
|
161
153
|
ctx.commands.execute(createAddShapeCommand(ctx.store, finalShape));
|
|
162
154
|
return;
|
|
@@ -166,11 +158,30 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
166
158
|
return;
|
|
167
159
|
const prev = prevCells;
|
|
168
160
|
const next = { ...nextCells };
|
|
161
|
+
// Hand-paint set = previous ∪ cells set this stroke − cells erased this stroke.
|
|
162
|
+
// (Only cells the user actually touched change; generated cells are untouched.)
|
|
163
|
+
const nextHandPaint = { ...prevHandPaint };
|
|
164
|
+
for (const k of new Set([...Object.keys(prev), ...Object.keys(next)])) {
|
|
165
|
+
if (prev[k] === next[k])
|
|
166
|
+
continue; // unchanged this stroke
|
|
167
|
+
if (k in next)
|
|
168
|
+
nextHandPaint[k] = true;
|
|
169
|
+
else
|
|
170
|
+
delete nextHandPaint[k];
|
|
171
|
+
}
|
|
169
172
|
const prevBounds = cellsBounds(prev, tile);
|
|
170
173
|
const nextBounds = cellsBounds(next, tile);
|
|
171
174
|
const command = {
|
|
172
|
-
execute: () => ctx.store.updateShape(tilemapId, {
|
|
173
|
-
|
|
175
|
+
execute: () => ctx.store.updateShape(tilemapId, {
|
|
176
|
+
cells: next,
|
|
177
|
+
handPaint: nextHandPaint,
|
|
178
|
+
...nextBounds,
|
|
179
|
+
}),
|
|
180
|
+
undo: () => ctx.store.updateShape(tilemapId, {
|
|
181
|
+
cells: prev,
|
|
182
|
+
handPaint: prevHandPaint,
|
|
183
|
+
...prevBounds,
|
|
184
|
+
}),
|
|
174
185
|
};
|
|
175
186
|
ctx.commands.execute(command);
|
|
176
187
|
}
|
|
@@ -223,19 +234,20 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
223
234
|
return;
|
|
224
235
|
}
|
|
225
236
|
if (mode === "base") {
|
|
226
|
-
|
|
237
|
+
// Base mode: click a map-icon to make it the active base's beacon.
|
|
238
|
+
// The territory is derived from beacon + terrain (see territory.ts).
|
|
239
|
+
const iconId = findMapIconAt(ctx, event.worldPoint.x, event.worldPoint.y);
|
|
240
|
+
if (!iconId)
|
|
241
|
+
return; // only meaningful when clicking on an icon
|
|
227
242
|
const deps = { store: ctx.store, commands: ctx.commands, tile };
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
243
|
+
let baseId = baseStateStore.get().activeBaseId;
|
|
244
|
+
// Auto-create a base on first use so a single click "just works".
|
|
245
|
+
if (!baseId || !getBaseMap(ctx.store)?.bases[baseId]) {
|
|
246
|
+
const n = Object.keys(getBaseMap(ctx.store)?.bases ?? {}).length;
|
|
247
|
+
baseId = createBase(deps, `拠点${n + 1}`, BASE_PALETTE[n % BASE_PALETTE.length]);
|
|
248
|
+
baseStateStore.set({ activeBaseId: baseId });
|
|
232
249
|
}
|
|
233
|
-
|
|
234
|
-
return; // pick a base first
|
|
235
|
-
const { id } = resolveBaseMap(ctx.store, tile);
|
|
236
|
-
baseStroke = { baseMapId: id, prevOwner: currentOwner(ctx.store, id) };
|
|
237
|
-
lastBaseKey = "";
|
|
238
|
-
paintOwnerAt(ctx, event);
|
|
250
|
+
setBeacon(deps, iconId, baseId);
|
|
239
251
|
return;
|
|
240
252
|
}
|
|
241
253
|
// Eraser: clicking a placed icon removes it (icons aren't terrain cells).
|
|
@@ -251,6 +263,7 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
251
263
|
tilemapId: target.id,
|
|
252
264
|
created: target.created,
|
|
253
265
|
prevCells: currentCells(ctx, target.id),
|
|
266
|
+
prevHandPaint: currentHandPaint(ctx, target.id),
|
|
254
267
|
};
|
|
255
268
|
lastKey = "";
|
|
256
269
|
if (mode === "fill")
|
|
@@ -261,10 +274,6 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
261
274
|
paintAt(ctx, event);
|
|
262
275
|
},
|
|
263
276
|
onPointerMove(ctx, event) {
|
|
264
|
-
if (baseStroke) {
|
|
265
|
-
paintOwnerAt(ctx, event);
|
|
266
|
-
return;
|
|
267
|
-
}
|
|
268
277
|
if (genDrag) {
|
|
269
278
|
const x = Math.min(genDrag.x0, event.worldPoint.x);
|
|
270
279
|
const y = Math.min(genDrag.y0, event.worldPoint.y);
|
|
@@ -280,13 +289,6 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
280
289
|
paintAt(ctx, event);
|
|
281
290
|
},
|
|
282
291
|
onPointerUp(ctx) {
|
|
283
|
-
if (baseStroke) {
|
|
284
|
-
const { baseMapId, prevOwner } = baseStroke;
|
|
285
|
-
baseStroke = null;
|
|
286
|
-
lastBaseKey = "";
|
|
287
|
-
commitOwner({ store: ctx.store, commands: ctx.commands, tile }, baseMapId, prevOwner);
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
292
|
if (genDrag) {
|
|
291
293
|
const rect = genStateStore.get().pendingRect;
|
|
292
294
|
genDrag = null;
|
|
@@ -313,12 +315,6 @@ export function createMapToolDefinition(tile = DEFAULT_TILE) {
|
|
|
313
315
|
genDrag = null;
|
|
314
316
|
genStateStore.set({ pendingRect: null });
|
|
315
317
|
}
|
|
316
|
-
if (baseStroke) {
|
|
317
|
-
// Roll the live ownership edits back to the stroke start, then clear.
|
|
318
|
-
applyOwner(ctx.store, baseStroke.baseMapId, baseStroke.prevOwner, tile);
|
|
319
|
-
baseStroke = null;
|
|
320
|
-
lastBaseKey = "";
|
|
321
|
-
}
|
|
322
318
|
// Tool switched / left mid-stroke with no pointerUp: don't leave a
|
|
323
319
|
// half-painted, non-undoable state. Roll the live edits back to where
|
|
324
320
|
// the stroke started (delete a tilemap created this stroke; restore the
|
package/dist/map-tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-tool.js","sourceRoot":"","sources":["../src/map-tool.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map-tool.js","sourceRoot":"","sources":["../src/map-tool.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export interface RangeEraseTargets {
|
|
2
2
|
/** Clear terrain tiles (tilemap.cells) in the box. */
|
|
3
3
|
terrain: boolean;
|
|
4
|
-
/** Clear base ownership (base-map.owner) in the box. */
|
|
5
|
-
base: boolean;
|
|
6
4
|
}
|
|
7
5
|
export declare const rangeEraseStore: import("./reactive-store.js").ReactiveStore<RangeEraseTargets>;
|
|
8
6
|
export declare function useRangeEraseTargets(): RangeEraseTargets;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-erase-state.d.ts","sourceRoot":"","sources":["../src/range-erase-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"range-erase-state.d.ts","sourceRoot":"","sources":["../src/range-erase-state.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IACjC,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,eAAe,gEAE1B,CAAC;AAEH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// What the range-erase tool clears
|
|
1
|
+
// What the range-erase tool clears. Base territory is now DERIVED (not stored),
|
|
2
|
+
// so it can't be box-cleared — range-erase only clears terrain paint.
|
|
2
3
|
// Module-scoped, app-local (not synced).
|
|
3
4
|
import { useSyncExternalStore } from "react";
|
|
4
5
|
import { createReactiveStore } from "./reactive-store.js";
|
|
5
6
|
export const rangeEraseStore = createReactiveStore({
|
|
6
7
|
terrain: true,
|
|
7
|
-
base: true,
|
|
8
8
|
});
|
|
9
9
|
export function useRangeEraseTargets() {
|
|
10
10
|
return useSyncExternalStore(rangeEraseStore.subscribe, rangeEraseStore.get, rangeEraseStore.get);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-erase-state.js","sourceRoot":"","sources":["../src/range-erase-state.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"range-erase-state.js","sourceRoot":"","sources":["../src/range-erase-state.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sEAAsE;AACtE,yCAAyC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO1D,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAoB;IACrE,OAAO,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB;IACnC,OAAO,oBAAoB,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;AAClG,CAAC"}
|
package/dist/range-erase.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export interface RangeEraseDeps {
|
|
|
7
7
|
tile: number;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Clear
|
|
11
|
-
*
|
|
10
|
+
* Clear terrain tiles inside `box` as one undoable command (no-op if the target
|
|
11
|
+
* is off, there's no tilemap, or nothing in the box changes).
|
|
12
12
|
*/
|
|
13
13
|
export declare function eraseRangeBox(deps: RangeEraseDeps, box: CellBox, targets: RangeEraseTargets): void;
|
|
14
14
|
//# sourceMappingURL=range-erase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-erase.d.ts","sourceRoot":"","sources":["../src/range-erase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"range-erase.d.ts","sourceRoot":"","sources":["../src/range-erase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAW,eAAe,EAAa,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,EAA6B,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,iBAAiB,GACxB,IAAI,CAsCN"}
|
package/dist/range-erase.js
CHANGED
|
@@ -1,73 +1,46 @@
|
|
|
1
1
|
import { cellsBounds, parseCellKey } from "./autotile.js";
|
|
2
|
-
import { isBaseMap, ownerBounds } from "./base/base-map-shape.js";
|
|
3
2
|
import { isTileMap } from "./tilemap-shape.js";
|
|
4
|
-
// One shape's box-clear: sparse-scan existing keys, remove those in `box`. Returns
|
|
5
|
-
// the store patch pair (or null when nothing changes). `field` is the intrinsic
|
|
6
|
-
// sparse map ("cells" for tilemap, "owner" for base-map).
|
|
7
|
-
function boxClearOp(shapeId, map, field, box, bounds) {
|
|
8
|
-
const toDelete = [];
|
|
9
|
-
for (const key of Object.keys(map)) {
|
|
10
|
-
const [c, r] = parseCellKey(key);
|
|
11
|
-
if (c >= box.minC && c <= box.maxC && r >= box.minR && r <= box.maxR)
|
|
12
|
-
toDelete.push(key);
|
|
13
|
-
}
|
|
14
|
-
if (toDelete.length === 0)
|
|
15
|
-
return null; // no-op → don't clone
|
|
16
|
-
const prevMap = { ...map };
|
|
17
|
-
const nextMap = { ...map };
|
|
18
|
-
for (const k of toDelete)
|
|
19
|
-
delete nextMap[k];
|
|
20
|
-
return {
|
|
21
|
-
id: shapeId,
|
|
22
|
-
prev: { [field]: prevMap, ...bounds(prevMap) },
|
|
23
|
-
next: { [field]: nextMap, ...bounds(nextMap) },
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
3
|
/**
|
|
27
|
-
* Clear
|
|
28
|
-
*
|
|
4
|
+
* Clear terrain tiles inside `box` as one undoable command (no-op if the target
|
|
5
|
+
* is off, there's no tilemap, or nothing in the box changes).
|
|
29
6
|
*/
|
|
30
7
|
export function eraseRangeBox(deps, box, targets) {
|
|
31
8
|
const { store, commands, tile } = deps;
|
|
32
|
-
if (!targets.terrain
|
|
9
|
+
if (!targets.terrain)
|
|
33
10
|
return;
|
|
34
|
-
// tilemap / base-map are single shared substrates (like resolveTilemap /
|
|
35
|
-
// resolveBaseMap), so target the first of each.
|
|
36
11
|
let tilemap;
|
|
37
|
-
let basemap;
|
|
38
12
|
for (const [, s] of store.getShapes()) {
|
|
39
|
-
if (
|
|
13
|
+
if (isTileMap(s)) {
|
|
40
14
|
tilemap = s;
|
|
41
|
-
else if (!basemap && isBaseMap(s))
|
|
42
|
-
basemap = s;
|
|
43
|
-
if (tilemap && basemap)
|
|
44
15
|
break;
|
|
16
|
+
}
|
|
45
17
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (targets.base && basemap) {
|
|
55
|
-
const t = basemap.tile ?? tile;
|
|
56
|
-
const op = boxClearOp(basemap.id, basemap.owner, "owner", box, (m) => ownerBounds(m, t));
|
|
57
|
-
if (op)
|
|
58
|
-
ops.push(op);
|
|
18
|
+
if (!tilemap)
|
|
19
|
+
return;
|
|
20
|
+
// Sparse-scan existing keys, remove those inside the box.
|
|
21
|
+
const toDelete = [];
|
|
22
|
+
for (const key of Object.keys(tilemap.cells)) {
|
|
23
|
+
const [c, r] = parseCellKey(key);
|
|
24
|
+
if (c >= box.minC && c <= box.maxC && r >= box.minR && r <= box.maxR)
|
|
25
|
+
toDelete.push(key);
|
|
59
26
|
}
|
|
60
|
-
if (
|
|
27
|
+
if (toDelete.length === 0)
|
|
61
28
|
return;
|
|
29
|
+
const t = tilemap.tile ?? tile;
|
|
30
|
+
const id = tilemap.id;
|
|
31
|
+
const prevCells = { ...tilemap.cells };
|
|
32
|
+
const nextCells = { ...tilemap.cells };
|
|
33
|
+
for (const k of toDelete)
|
|
34
|
+
delete nextCells[k];
|
|
62
35
|
const command = {
|
|
63
|
-
execute: () => {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
},
|
|
67
|
-
undo: () => {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
},
|
|
36
|
+
execute: () => store.updateShape(id, {
|
|
37
|
+
cells: nextCells,
|
|
38
|
+
...cellsBounds(nextCells, t),
|
|
39
|
+
}),
|
|
40
|
+
undo: () => store.updateShape(id, {
|
|
41
|
+
cells: prevCells,
|
|
42
|
+
...cellsBounds(prevCells, t),
|
|
43
|
+
}),
|
|
71
44
|
};
|
|
72
45
|
commands.execute(command);
|
|
73
46
|
}
|
package/dist/range-erase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-erase.js","sourceRoot":"","sources":["../src/range-erase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"range-erase.js","sourceRoot":"","sources":["../src/range-erase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAQtE;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC5B,IAAoB,EACpB,GAAY,EACZ,OAA0B;IAE1B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO;IAC7B,IAAI,OAAqC,CAAC;IAC1C,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACvC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC,CAAC;YACZ,MAAM;QACP,CAAC;IACF,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,0DAA0D;IAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAY;QACxB,OAAO,EAAE,GAAG,EAAE,CACb,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE;YACrB,KAAK,EAAE,SAAS;YAChB,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;SACN,CAAC;QACzB,IAAI,EAAE,GAAG,EAAE,CACV,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE;YACrB,KAAK,EAAE,SAAS;YAChB,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;SACN,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
|
package/dist/tilemap-shape.d.ts
CHANGED
|
@@ -6,6 +6,13 @@ export interface TileMapShapeData extends ShapeData {
|
|
|
6
6
|
type: "tilemap";
|
|
7
7
|
tile: number;
|
|
8
8
|
cells: Cells;
|
|
9
|
+
/**
|
|
10
|
+
* Cells the user HAND-painted (brush / fill / region), as opposed to cells
|
|
11
|
+
* laid down by the generator. Base territory only expands through hand-painted
|
|
12
|
+
* land (so a generated continent isn't auto-claimed). Sparse; keys mirror a
|
|
13
|
+
* subset of `cells`.
|
|
14
|
+
*/
|
|
15
|
+
handPaint?: Record<string, true>;
|
|
9
16
|
}
|
|
10
17
|
export declare function isTileMap(shape: ShapeData): shape is TileMapShapeData;
|
|
11
18
|
/** Create a new empty tilemap (locked substrate). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tilemap-shape.d.ts","sourceRoot":"","sources":["../src/tilemap-shape.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAE,KAAK,KAAK,EAAsC,MAAM,eAAe,CAAC;AAG/E,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAClD,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tilemap-shape.d.ts","sourceRoot":"","sources":["../src/tilemap-shape.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAE,KAAK,KAAK,EAAsC,MAAM,eAAe,CAAC;AAG/E,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAClD,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACjC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAErE;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAe1D;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAEnE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,MAAqB,GAAG,eAAe,CA8CzF"}
|
package/dist/tilemap-shape.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tilemap-shape.js","sourceRoot":"","sources":["../src/tilemap-shape.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAc,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG/E,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tilemap-shape.js","sourceRoot":"","sources":["../src/tilemap-shape.tsx"],"names":[],"mappings":"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"}
|