@datamoc/mw_games 0.12.0 → 0.14.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/CHANGELOG.md +124 -0
- package/README.md +5 -1
- package/dist/board/Classics.d.ts.map +1 -1
- package/dist/board/Classics.js +3 -2
- package/dist/board/Classics.js.map +1 -1
- package/dist/board/FogOfWar.d.ts.map +1 -1
- package/dist/board/FogOfWar.js +5 -2
- package/dist/board/FogOfWar.js.map +1 -1
- package/dist/board/HexSkirmish.d.ts.map +1 -1
- package/dist/board/HexSkirmish.js +2 -1
- package/dist/board/HexSkirmish.js.map +1 -1
- package/dist/core/DialogueText.d.ts +47 -0
- package/dist/core/DialogueText.d.ts.map +1 -0
- package/dist/core/DialogueText.js +43 -0
- package/dist/core/DialogueText.js.map +1 -0
- package/dist/core/Grid.d.ts +64 -0
- package/dist/core/Grid.d.ts.map +1 -0
- package/dist/core/Grid.js +76 -0
- package/dist/core/Grid.js.map +1 -0
- package/dist/core/Twee.d.ts +67 -0
- package/dist/core/Twee.d.ts.map +1 -0
- package/dist/core/Twee.js +140 -0
- package/dist/core/Twee.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -1
- package/dist/mw_games.global.js +108 -107
- package/dist/roguelike/Level.d.ts.map +1 -1
- package/dist/roguelike/Level.js +5 -4
- package/dist/roguelike/Level.js.map +1 -1
- package/dist/rpg/EventRunner.d.ts +20 -0
- package/dist/rpg/EventRunner.d.ts.map +1 -1
- package/dist/rpg/EventRunner.js +52 -11
- package/dist/rpg/EventRunner.js.map +1 -1
- package/dist/rpg/dialogue-text.d.ts +81 -0
- package/dist/rpg/dialogue-text.d.ts.map +1 -0
- package/dist/rpg/dialogue-text.js +88 -0
- package/dist/rpg/dialogue-text.js.map +1 -0
- package/dist/rpg/index.d.ts +4 -1
- package/dist/rpg/index.d.ts.map +1 -1
- package/dist/rpg/index.js +2 -0
- package/dist/rpg/index.js.map +1 -1
- package/dist/rpg/twee-events.d.ts +48 -0
- package/dist/rpg/twee-events.d.ts.map +1 -0
- package/dist/rpg/twee-events.js +35 -0
- package/dist/rpg/twee-events.js.map +1 -0
- package/dist/two-d/Game.d.ts +24 -0
- package/dist/two-d/Game.d.ts.map +1 -1
- package/dist/two-d/Game.js +42 -1
- package/dist/two-d/Game.js.map +1 -1
- package/dist/two-d/ResolutionFit.d.ts +28 -0
- package/dist/two-d/ResolutionFit.d.ts.map +1 -0
- package/dist/two-d/ResolutionFit.js +39 -0
- package/dist/two-d/ResolutionFit.js.map +1 -0
- package/dist/two-d/stage/dialogue-text.d.ts +81 -0
- package/dist/two-d/stage/dialogue-text.d.ts.map +1 -0
- package/dist/two-d/stage/dialogue-text.js +95 -0
- package/dist/two-d/stage/dialogue-text.js.map +1 -0
- package/dist/two-d/stage/index.d.ts +1 -0
- package/dist/two-d/stage/index.d.ts.map +1 -1
- package/dist/two-d/stage/index.js +1 -0
- package/dist/two-d/stage/index.js.map +1 -1
- package/dist/two-d/stage/twee.d.ts +7 -25
- package/dist/two-d/stage/twee.d.ts.map +1 -1
- package/dist/two-d/stage/twee.js +10 -162
- package/dist/two-d/stage/twee.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -1
- package/tools/classic-html.mjs +1 -1
- package/tools/compress-dist.d.mts +18 -0
- package/tools/compress-dist.mjs +5 -0
- package/tools/single-file.d.mts +16 -0
- package/tools/single-file.mjs +8 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded-grid indexing: the row-major cell arithmetic and bounds check that every tile, board
|
|
3
|
+
* and hex module ends up writing for itself.
|
|
4
|
+
*
|
|
5
|
+
* Free functions rather than a `Grid` class, deliberately. Every caller already holds a width
|
|
6
|
+
* and height (a level, a board, a skirmish state), and several sit in loops hot enough that
|
|
7
|
+
* allocating a wrapper per call would be the wrong trade. `mwg/roguelike`'s `Level` keeps its
|
|
8
|
+
* own `index`/`inside`/`x`/`y` as one-line forwards to these, so its public shape is unchanged.
|
|
9
|
+
*
|
|
10
|
+
* Out-of-bounds policy is not part of this module either: `cellIndex` does the arithmetic and
|
|
11
|
+
* nothing else, so a loop that has already proved its coordinates pays nothing, while a module
|
|
12
|
+
* that wants to fail loudly (`board/Classics` throws) or to report `-1`
|
|
13
|
+
* (`board/FogOfWar` does) keeps that decision in its own method. `cellInside` is the shared
|
|
14
|
+
* check for callers that have not already proved it.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { cellInside, cellIndex, cellX, cellY, cellKey, cellFromKey } from '@datamoc/mw_games/core';
|
|
19
|
+
*
|
|
20
|
+
* // a 4x3 board, row-major: y * width + x
|
|
21
|
+
* cellInside(4, 3, 3, 2); // true, the far corner
|
|
22
|
+
* cellInside(4, 3, 4, 0); // false, one past the right edge
|
|
23
|
+
* cellIndex(4, 2, 1); // 6, the cell's slot in a flat array
|
|
24
|
+
* cellX(4, 6); // 2, back from that index
|
|
25
|
+
* cellY(4, 6); // 1
|
|
26
|
+
*
|
|
27
|
+
* const seen = new Set([cellKey(2, 1)]); // '2,1', for a Map or a Set
|
|
28
|
+
* cellFromKey('2,1'); // { x: 2, y: 1 }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* True when `(x, y)` is inside a `width` x `height` grid.
|
|
33
|
+
*
|
|
34
|
+
* Both edges are inclusive of `0` and exclusive of `width`/`height`, so a cell exists if and
|
|
35
|
+
* only if `0 <= x < width` and `0 <= y < height`.
|
|
36
|
+
*/
|
|
37
|
+
export function cellInside(width, height, x, y) {
|
|
38
|
+
return x >= 0 && y >= 0 && x < width && y < height;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The row-major index of `(x, y)`: its position in a flat `width * height` array.
|
|
42
|
+
*
|
|
43
|
+
* Deliberately unchecked. Call `cellInside` when the coordinates are not already known to be
|
|
44
|
+
* valid; an out-of-range `x` otherwise lands on a neighbouring row rather than failing, and a
|
|
45
|
+
* negative one on the row before it.
|
|
46
|
+
*/
|
|
47
|
+
export function cellIndex(width, x, y) {
|
|
48
|
+
return y * width + x;
|
|
49
|
+
}
|
|
50
|
+
/** The `x` coordinate of a row-major `index` (`cellIndex`'s inverse). */
|
|
51
|
+
export function cellX(width, index) {
|
|
52
|
+
return index % width;
|
|
53
|
+
}
|
|
54
|
+
/** The `y` coordinate of a row-major `index` (`cellIndex`'s inverse). */
|
|
55
|
+
export function cellY(width, index) {
|
|
56
|
+
return Math.floor(index / width);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A stable string key naming one cell, for `Map`/`Set` membership.
|
|
60
|
+
*
|
|
61
|
+
* `'x,y'` is the spelling consumers reach for anyway (the Wesnoth port keys its own `Map`s by
|
|
62
|
+
* hand with it); taking it from the framework means a key written by one system is understood
|
|
63
|
+
* by the next, which a pair of numbers in a string is otherwise not guaranteed to be. Negative
|
|
64
|
+
* coordinates are included, since a grid view that scrolls can hand one out.
|
|
65
|
+
*/
|
|
66
|
+
export function cellKey(x, y) {
|
|
67
|
+
return `${x},${y}`;
|
|
68
|
+
}
|
|
69
|
+
/** The cell a `cellKey` names, or `null` when `key` is not one this module produced. */
|
|
70
|
+
export function cellFromKey(key) {
|
|
71
|
+
const match = /^(-?\d+),(-?\d+)$/.exec(key);
|
|
72
|
+
if (!match)
|
|
73
|
+
return null;
|
|
74
|
+
return { x: Number(match[1]), y: Number(match[2]) };
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../src/core/Grid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAc,EAAE,CAAS,EAAE,CAAS;IAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,CAAS,EAAE,CAAS;IAC5D,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,KAAa;IACjD,OAAO,KAAK,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,KAAa;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AACpB,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Twee-notation parsing engine behind both `two-d/stage.importTwee` and
|
|
3
|
+
* `rpg.importTwee` - the passage/link parsing lives here once, in `core` (already the home
|
|
4
|
+
* of `parseCSV`, another generic text-format parser other modules build their own typed
|
|
5
|
+
* result around), so a bug fix or a format extension lands in one place instead of two
|
|
6
|
+
* silently-drifting copies. `TweeCommand`/`TweeChoice` are structurally compatible with both
|
|
7
|
+
* `two-d/stage`'s `StoryScript`/`StageChoice` and `rpg`'s `EventStoryScript`/`EventChoice` -
|
|
8
|
+
* each module's own `importTwee` wrapper only names its own return type, with no per-field
|
|
9
|
+
* conversion needed.
|
|
10
|
+
*
|
|
11
|
+
* Only structure is imported: each passage's text lines become `say` commands and its
|
|
12
|
+
* `[[links]]` become one closing `ask` whose choices jump (`[[text]]`, `[[text->target]]`
|
|
13
|
+
* and `[[target<-text]]`) - the last text line doubles as the question, since a choice box
|
|
14
|
+
* needs a prompt and repeating it works. No story-format macro language (Harlowe, SugarCube,
|
|
15
|
+
* Chapbook) is interpreted - body text reaches the game untouched, and a link carrying a
|
|
16
|
+
* setter throws instead of silently dropping the behaviour the setter described.
|
|
17
|
+
*
|
|
18
|
+
* ```twee
|
|
19
|
+
* :: Start
|
|
20
|
+
* You stand at a crossroads.
|
|
21
|
+
*
|
|
22
|
+
* [[Take the left path->Left]]
|
|
23
|
+
* [[Take the right path->Right]]
|
|
24
|
+
*
|
|
25
|
+
* :: Left
|
|
26
|
+
* The path ends at a wall.
|
|
27
|
+
* [[Go back->Start]]
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { parseTwee, type TweeStory } from '@datamoc/mw_games/core';
|
|
33
|
+
*
|
|
34
|
+
* const story: TweeStory = parseTwee(`:: Start
|
|
35
|
+
* Pick a door.
|
|
36
|
+
*
|
|
37
|
+
* [[Left->A]]
|
|
38
|
+
* [[Right->B]]
|
|
39
|
+
*
|
|
40
|
+
* :: A
|
|
41
|
+
* Treasure.
|
|
42
|
+
*
|
|
43
|
+
* :: B
|
|
44
|
+
* Nothing.
|
|
45
|
+
* `);
|
|
46
|
+
* console.log(story.start); // 'Start'
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export interface TweeChoice {
|
|
50
|
+
text: string;
|
|
51
|
+
goto?: string;
|
|
52
|
+
}
|
|
53
|
+
export type TweeCommand = {
|
|
54
|
+
say: string;
|
|
55
|
+
} | {
|
|
56
|
+
ask: string;
|
|
57
|
+
choices: TweeChoice[];
|
|
58
|
+
};
|
|
59
|
+
export interface TweeStory {
|
|
60
|
+
story: Record<string, TweeCommand[]>;
|
|
61
|
+
/** `StoryData`'s start passage when the file names one, else the first passage */
|
|
62
|
+
start: string;
|
|
63
|
+
/** the `StoryTitle` passage, when the file has one */
|
|
64
|
+
title?: string;
|
|
65
|
+
}
|
|
66
|
+
export declare function parseTwee(source: string): TweeStory;
|
|
67
|
+
//# sourceMappingURL=Twee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Twee.d.ts","sourceRoot":"","sources":["../../src/core/Twee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEnF,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACrC,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CA0CnD"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export function parseTwee(source) {
|
|
2
|
+
const passages = splitPassages(source);
|
|
3
|
+
if (passages.length === 0)
|
|
4
|
+
throw new Error('this twee source has no passages - passages start with ":: Name"');
|
|
5
|
+
const story = {};
|
|
6
|
+
let title;
|
|
7
|
+
let start;
|
|
8
|
+
for (const passage of passages) {
|
|
9
|
+
if (passage.name === 'StoryTitle') {
|
|
10
|
+
title = passage.body.trim() || undefined;
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
if (passage.name === 'StoryData') {
|
|
14
|
+
start = readStart(passage.body);
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (Object.prototype.hasOwnProperty.call(story, passage.name)) {
|
|
18
|
+
throw new Error(`this twee source defines "${passage.name}" twice`);
|
|
19
|
+
}
|
|
20
|
+
story[passage.name] = passageCommands(passage.name, passage.body);
|
|
21
|
+
}
|
|
22
|
+
const names = Object.keys(story);
|
|
23
|
+
if (names.length === 0)
|
|
24
|
+
throw new Error('this twee source has no story passages, only StoryTitle/StoryData');
|
|
25
|
+
if (start !== undefined && !Object.prototype.hasOwnProperty.call(story, start)) {
|
|
26
|
+
throw new Error(`StoryData starts at "${start}", which is not a passage in this file`);
|
|
27
|
+
}
|
|
28
|
+
for (const [name, commands] of Object.entries(story)) {
|
|
29
|
+
for (const command of commands) {
|
|
30
|
+
if ('ask' in command) {
|
|
31
|
+
for (const choice of command.choices) {
|
|
32
|
+
if (choice.goto !== undefined && !Object.prototype.hasOwnProperty.call(story, choice.goto)) {
|
|
33
|
+
throw new Error(`passage "${name}" links to "${choice.goto}", which is not a passage in this file`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { story, start: start ?? names[0], title };
|
|
40
|
+
}
|
|
41
|
+
/** cuts the source at every line starting with `::`, parsing headers into names */
|
|
42
|
+
function splitPassages(source) {
|
|
43
|
+
const out = [];
|
|
44
|
+
let name = null;
|
|
45
|
+
let body = [];
|
|
46
|
+
const flush = () => {
|
|
47
|
+
if (name !== null)
|
|
48
|
+
out.push({ name, body: body.join('\n') });
|
|
49
|
+
};
|
|
50
|
+
for (const line of source.split('\n')) {
|
|
51
|
+
if (line.startsWith('::')) {
|
|
52
|
+
flush();
|
|
53
|
+
name = parseHeader(line);
|
|
54
|
+
body = [];
|
|
55
|
+
}
|
|
56
|
+
else if (name !== null) {
|
|
57
|
+
body.push(line);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
flush();
|
|
61
|
+
return out;
|
|
62
|
+
}
|
|
63
|
+
/** `:: Name [tags] {"meta": true}` - only the name survives; tags and position are editor concerns */
|
|
64
|
+
function parseHeader(line) {
|
|
65
|
+
const rest = line.slice(2).trim();
|
|
66
|
+
const tagAt = rest.search(/[[{]/);
|
|
67
|
+
const name = (tagAt === -1 ? rest : rest.slice(0, tagAt)).trim();
|
|
68
|
+
if (!name)
|
|
69
|
+
throw new Error(`a twee passage header needs a name, got "${line}"`);
|
|
70
|
+
return name;
|
|
71
|
+
}
|
|
72
|
+
/** StoryData is JSON; only `start` matters to the runner, the rest is player furniture */
|
|
73
|
+
function readStart(body) {
|
|
74
|
+
let data;
|
|
75
|
+
try {
|
|
76
|
+
data = JSON.parse(body.trim());
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
throw new Error('StoryData must be JSON - check the braces');
|
|
80
|
+
}
|
|
81
|
+
if (typeof data !== 'object' || data === null || Array.isArray(data)) {
|
|
82
|
+
throw new Error('StoryData must be a JSON object');
|
|
83
|
+
}
|
|
84
|
+
const start = data.start;
|
|
85
|
+
if (start !== undefined && typeof start !== 'string') {
|
|
86
|
+
throw new Error('StoryData "start" must be a passage name');
|
|
87
|
+
}
|
|
88
|
+
return start;
|
|
89
|
+
}
|
|
90
|
+
/** text lines speak in order; the last one doubles as the prompt when links follow it */
|
|
91
|
+
function passageCommands(passage, body) {
|
|
92
|
+
const lines = [];
|
|
93
|
+
const choices = [];
|
|
94
|
+
for (const line of body.split('\n')) {
|
|
95
|
+
const text = extractLinks(line, choices, passage).replace(/\s+/g, ' ').trim();
|
|
96
|
+
if (text !== '')
|
|
97
|
+
lines.push(text);
|
|
98
|
+
}
|
|
99
|
+
if (choices.length === 0)
|
|
100
|
+
return lines.map((say) => ({ say }));
|
|
101
|
+
const prompt = lines.pop() ?? '';
|
|
102
|
+
return [...lines.map((say) => ({ say })), { ask: prompt, choices }];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Pulls `[[links]]` out of a line, leaving the surrounding text behind.
|
|
106
|
+
* Returns the line with the links removed.
|
|
107
|
+
*/
|
|
108
|
+
function extractLinks(line, choices, passage) {
|
|
109
|
+
let out = '';
|
|
110
|
+
let rest = line;
|
|
111
|
+
for (;;) {
|
|
112
|
+
const open = rest.indexOf('[[');
|
|
113
|
+
if (open === -1)
|
|
114
|
+
return out + rest;
|
|
115
|
+
const close = rest.indexOf(']]', open);
|
|
116
|
+
if (close === -1) {
|
|
117
|
+
throw new Error(`passage "${passage}" has a "[[" with no closing "]]" in "${line.trim()}"`);
|
|
118
|
+
}
|
|
119
|
+
out += rest.slice(0, open);
|
|
120
|
+
choices.push(parseLink(rest.slice(open + 2, close), passage));
|
|
121
|
+
rest = rest.slice(close + 2);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function parseLink(inner, passage) {
|
|
125
|
+
if (inner.includes('[') || inner.includes(']')) {
|
|
126
|
+
throw new Error(`passage "${passage}" links with a setter ("${inner.trim()}") - ` +
|
|
127
|
+
'story-format macros are not imported, so the link is refused rather than half-read');
|
|
128
|
+
}
|
|
129
|
+
const forward = inner.indexOf('->');
|
|
130
|
+
if (forward !== -1) {
|
|
131
|
+
return { text: inner.slice(0, forward).trim(), goto: inner.slice(forward + 2).trim() };
|
|
132
|
+
}
|
|
133
|
+
const backward = inner.indexOf('<-');
|
|
134
|
+
if (backward !== -1) {
|
|
135
|
+
return { text: inner.slice(backward + 2).trim(), goto: inner.slice(0, backward).trim() };
|
|
136
|
+
}
|
|
137
|
+
const target = inner.trim();
|
|
138
|
+
return { text: target, goto: target };
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=Twee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Twee.js","sourceRoot":"","sources":["../../src/core/Twee.ts"],"names":[],"mappings":"AA+DA,MAAM,UAAU,SAAS,CAAC,MAAc;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IAE/G,MAAM,KAAK,GAAkC,EAAE,CAAC;IAChD,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAyB,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACnC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;YACzC,SAAS;QACV,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,SAAS;QACV,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAC7G,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,wCAAwC,CAAC,CAAC;IACxF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBACtB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACtC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5F,MAAM,IAAI,KAAK,CACd,YAAY,IAAI,eAAe,MAAM,CAAC,IAAI,wCAAwC,CAClF,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AACnD,CAAC;AAOD,mFAAmF;AACnF,SAAS,aAAa,CAAC,MAAc;IACpC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,EAAE;QAClB,IAAI,IAAI,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,KAAK,EAAE,CAAC;YACR,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,GAAG,EAAE,CAAC;QACX,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,sGAAsG;AACtG,SAAS,WAAW,CAAC,IAAY;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,GAAG,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC;AACb,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAAC,IAAY;IAC9B,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACJ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAI,IAA4B,CAAC,KAAK,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,SAAS,eAAe,CAAC,OAAe,EAAE,IAAY;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,IAAI,IAAI,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,OAAqB,EAAE,OAAe;IACzE,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,SAAS,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,CAAC,CAAC;YAAE,OAAO,GAAG,GAAG,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,yCAAyC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;QACD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,OAAe;IAChD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACd,YAAY,OAAO,2BAA2B,KAAK,CAAC,IAAI,EAAE,OAAO;YAChE,oFAAoF,CACrF,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACxF,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -54,6 +54,7 @@ export { Spawner } from './Spawner.ts';
|
|
|
54
54
|
export type { Wave, SpawnerOptions } from './Spawner.ts';
|
|
55
55
|
export { hexNeighbors, hexDistance, hexLine, hexRange, hexToPixel, pixelToHex } from './Hex.ts';
|
|
56
56
|
export type { HexCoord } from './Hex.ts';
|
|
57
|
+
export { cellInside, cellIndex, cellX, cellY, cellKey, cellFromKey } from './Grid.ts';
|
|
57
58
|
export { motionDuration, prefersReducedMotion, reducedMotion, setReducedMotion, watchReducedMotion } from './Motion.ts';
|
|
58
59
|
export type { MotionIntent } from './Motion.ts';
|
|
59
60
|
export { Blob } from './Blob.ts';
|
|
@@ -72,5 +73,9 @@ export type { PresentationQueueOptions } from './Presentation.ts';
|
|
|
72
73
|
export { SyncGuard, stateChecksum } from './SyncGuard.ts';
|
|
73
74
|
export { parseCSV } from './Csv.ts';
|
|
74
75
|
export type { CsvOptions, CsvColumnType } from './Csv.ts';
|
|
76
|
+
export { parseDialogueLines } from './DialogueText.ts';
|
|
77
|
+
export type { DialogueLine } from './DialogueText.ts';
|
|
78
|
+
export { parseTwee } from './Twee.ts';
|
|
79
|
+
export type { TweeCommand, TweeChoice, TweeStory } from './Twee.ts';
|
|
75
80
|
export { clamp } from './Math.ts';
|
|
76
81
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -28,6 +28,7 @@ export { Session } from './Session.js';
|
|
|
28
28
|
export { FeedbackClient } from './Feedback.js';
|
|
29
29
|
export { Spawner } from './Spawner.js';
|
|
30
30
|
export { hexNeighbors, hexDistance, hexLine, hexRange, hexToPixel, pixelToHex } from './Hex.js';
|
|
31
|
+
export { cellInside, cellIndex, cellX, cellY, cellKey, cellFromKey } from './Grid.js';
|
|
31
32
|
export { motionDuration, prefersReducedMotion, reducedMotion, setReducedMotion, watchReducedMotion } from './Motion.js';
|
|
32
33
|
export { Blob } from './Blob.js';
|
|
33
34
|
export { Tweener, Easing } from './Tween.js';
|
|
@@ -38,5 +39,7 @@ export { EntityRegistry } from './Entity.js';
|
|
|
38
39
|
export { PresentationQueue } from './Presentation.js';
|
|
39
40
|
export { SyncGuard, stateChecksum } from './SyncGuard.js';
|
|
40
41
|
export { parseCSV } from './Csv.js';
|
|
42
|
+
export { parseDialogueLines } from './DialogueText.js';
|
|
43
|
+
export { parseTwee } from './Twee.js';
|
|
41
44
|
export { clamp } from './Math.js';
|
|
42
45
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQ3D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEzG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|