@next_term/core 0.0.1-next.8 → 0.0.1-next.9
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/README.md +76 -0
- package/dist/buffer.d.ts +2 -2
- package/dist/buffer.d.ts.map +1 -1
- package/dist/buffer.js +9 -5
- package/dist/buffer.js.map +1 -1
- package/dist/cell-grid.d.ts +1 -1
- package/dist/cell-grid.d.ts.map +1 -1
- package/dist/cell-grid.js +18 -6
- package/dist/cell-grid.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# @next_term/core
|
|
2
|
+
|
|
3
|
+
Low-level terminal core: cell grid, VT parser, and buffer management. This package has no DOM dependencies and can run in any JavaScript environment (browser, Node, worker).
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @next_term/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
Most users should use `@next_term/react` or `@next_term/web` instead. This package is for building custom terminal implementations or working directly with the VT parser.
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { BufferSet, VTParser, CellGrid, DEFAULT_THEME } from "@next_term/core";
|
|
17
|
+
|
|
18
|
+
// Create a buffer set (normal + alternate screen)
|
|
19
|
+
const bufferSet = new BufferSet(80, 24, 1000); // cols, rows, scrollback
|
|
20
|
+
|
|
21
|
+
// Create a VT parser
|
|
22
|
+
const parser = new VTParser(bufferSet);
|
|
23
|
+
|
|
24
|
+
// Parse terminal data
|
|
25
|
+
parser.write(new Uint8Array([0x1b, 0x5b, 0x31, 0x6d])); // ESC[1m (bold)
|
|
26
|
+
parser.write(new TextEncoder().encode("Hello, world!\r\n"));
|
|
27
|
+
|
|
28
|
+
// Read cell data
|
|
29
|
+
const grid = bufferSet.active.grid;
|
|
30
|
+
const codepoint = grid.getCodepoint(0, 0); // 'H' = 72
|
|
31
|
+
const fgIndex = grid.getFgIndex(0, 0); // foreground color index
|
|
32
|
+
const attrs = grid.getAttrs(0, 0); // bold, italic, underline, etc.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Cell Format
|
|
36
|
+
|
|
37
|
+
Each cell is packed into 2 x Uint32 (8 bytes):
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Word 0: [0-20] codepoint (21 bits — full Unicode)
|
|
41
|
+
[21] fg-is-RGB flag
|
|
42
|
+
[22] bg-is-RGB flag
|
|
43
|
+
[23-30] fg color index (0-255)
|
|
44
|
+
[31] reserved
|
|
45
|
+
|
|
46
|
+
Word 1: [0-7] bg color index (0-255)
|
|
47
|
+
[8] bold
|
|
48
|
+
[9] italic
|
|
49
|
+
[10] underline
|
|
50
|
+
[11] strikethrough
|
|
51
|
+
[12-13] underline style
|
|
52
|
+
[14] inverse
|
|
53
|
+
[15] wide character flag
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## SharedArrayBuffer
|
|
57
|
+
|
|
58
|
+
When `SharedArrayBuffer` is available (requires cross-origin isolation), `CellGrid` automatically uses shared memory. This enables zero-copy sharing between the main thread and Web Workers.
|
|
59
|
+
|
|
60
|
+
Dirty row tracking uses `Int32Array` with `Atomics` (not `Uint8Array` -- Atomics requires >= 32-bit typed arrays).
|
|
61
|
+
|
|
62
|
+
## Exports
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
export { CellGrid, CELL_SIZE, DEFAULT_CELL_W0, DEFAULT_CELL_W1 } from "@next_term/core";
|
|
66
|
+
export { BufferSet } from "@next_term/core";
|
|
67
|
+
export { VTParser } from "@next_term/core";
|
|
68
|
+
export { DEFAULT_THEME } from "@next_term/core";
|
|
69
|
+
export { extractText, normalizeSelection } from "@next_term/core";
|
|
70
|
+
|
|
71
|
+
export type { Theme, CursorState, TerminalOptions, SelectionRange } from "@next_term/core";
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## License
|
|
75
|
+
|
|
76
|
+
MIT
|
package/dist/buffer.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare class Buffer {
|
|
|
12
12
|
/** Custom tab stops (column indices). */
|
|
13
13
|
tabStops: Set<number>;
|
|
14
14
|
private savedCursor;
|
|
15
|
-
constructor(cols: number, rows: number);
|
|
15
|
+
constructor(cols: number, rows: number, existingGrid?: CellGrid);
|
|
16
16
|
private resetTabStops;
|
|
17
17
|
nextTabStop(col: number): number;
|
|
18
18
|
prevTabStop(col: number): number;
|
|
@@ -34,7 +34,7 @@ export declare class BufferSet {
|
|
|
34
34
|
/** Scrollback lines for the normal buffer (array of Uint32Array). */
|
|
35
35
|
scrollback: Uint32Array[];
|
|
36
36
|
readonly maxScrollback: number;
|
|
37
|
-
constructor(cols: number, rows: number, maxScrollback?: number);
|
|
37
|
+
constructor(cols: number, rows: number, maxScrollback?: number, sharedBuffer?: SharedArrayBuffer, sharedAltBuffer?: SharedArrayBuffer);
|
|
38
38
|
get isAlternate(): boolean;
|
|
39
39
|
activateAlternate(): void;
|
|
40
40
|
activateNormal(): void;
|
package/dist/buffer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,MAAM;aAcC,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;IAd9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGtB,OAAO,CAAC,WAAW,CAA4B;gBAG7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,MAAM;aAcC,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;IAd9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGtB,OAAO,CAAC,WAAW,CAA4B;gBAG7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAC5B,YAAY,CAAC,EAAE,QAAQ;IAUzB,OAAO,CAAC,aAAa;IAOrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOhC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOhC,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,IAAI;IAMrB,+CAA+C;IAC/C,QAAQ,IAAI,IAAI;IAmBhB;;OAEG;IACH,UAAU,IAAI,IAAI;CAkBnB;AAED,qBAAa,SAAS;aAUF,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;IAV9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IAEf,qEAAqE;IACrE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAGb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAC5B,aAAa,SAAO,EACpB,YAAY,CAAC,EAAE,iBAAiB,EAChC,eAAe,CAAC,EAAE,iBAAiB;IAarC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,iBAAiB,IAAI,IAAI;IASzB,cAAc,IAAI,IAAI;IAKtB,2DAA2D;IAC3D,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAOvC,0FAA0F;IAC1F,mBAAmB,IAAI,IAAI;CAM5B"}
|
package/dist/buffer.js
CHANGED
|
@@ -12,10 +12,10 @@ export class Buffer {
|
|
|
12
12
|
tabStops;
|
|
13
13
|
// Saved cursor for DECSC / DECRC
|
|
14
14
|
savedCursor = null;
|
|
15
|
-
constructor(cols, rows) {
|
|
15
|
+
constructor(cols, rows, existingGrid) {
|
|
16
16
|
this.cols = cols;
|
|
17
17
|
this.rows = rows;
|
|
18
|
-
this.grid = new CellGrid(cols, rows);
|
|
18
|
+
this.grid = existingGrid ?? new CellGrid(cols, rows);
|
|
19
19
|
this.cursor = { row: 0, col: 0, visible: true, style: "block", wrapPending: false };
|
|
20
20
|
this.scrollTop = 0;
|
|
21
21
|
this.scrollBottom = rows - 1;
|
|
@@ -102,11 +102,15 @@ export class BufferSet {
|
|
|
102
102
|
/** Scrollback lines for the normal buffer (array of Uint32Array). */
|
|
103
103
|
scrollback;
|
|
104
104
|
maxScrollback;
|
|
105
|
-
constructor(cols, rows, maxScrollback = 5000) {
|
|
105
|
+
constructor(cols, rows, maxScrollback = 5000, sharedBuffer, sharedAltBuffer) {
|
|
106
106
|
this.cols = cols;
|
|
107
107
|
this.rows = rows;
|
|
108
|
-
this.normal =
|
|
109
|
-
|
|
108
|
+
this.normal = sharedBuffer
|
|
109
|
+
? new Buffer(cols, rows, new CellGrid(cols, rows, sharedBuffer))
|
|
110
|
+
: new Buffer(cols, rows);
|
|
111
|
+
this.alternate = sharedAltBuffer
|
|
112
|
+
? new Buffer(cols, rows, new CellGrid(cols, rows, sharedAltBuffer))
|
|
113
|
+
: new Buffer(cols, rows);
|
|
110
114
|
this.active = this.normal;
|
|
111
115
|
this.scrollback = [];
|
|
112
116
|
this.maxScrollback = maxScrollback;
|
package/dist/buffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,OAAO,MAAM;IAcC;IACA;IAdT,IAAI,CAAW;IACxB,MAAM,CAAc;IACpB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,iCAAiC;IAChB,QAAQ,GAAG,CAAC,CAAC;IAC9B,yCAAyC;IACzC,QAAQ,CAAc;IAEtB,iCAAiC;IACzB,WAAW,GAAuB,IAAI,CAAC;IAE/C,YACkB,IAAY,EACZ,IAAY;
|
|
1
|
+
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"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"}
|
package/dist/cell-grid.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export declare class CellGrid {
|
|
|
26
26
|
* instead of copying cell data, making full-screen scroll O(1).
|
|
27
27
|
*/
|
|
28
28
|
readonly rowOffsetData: Int32Array;
|
|
29
|
-
constructor(cols: number, rows: number);
|
|
29
|
+
constructor(cols: number, rows: number, existingBuffer?: SharedArrayBuffer);
|
|
30
30
|
/** Map logical row to physical row in the circular buffer. */
|
|
31
31
|
physicalRow(row: number): number;
|
|
32
32
|
/** Get the data array offset for the start of a logical row. */
|
package/dist/cell-grid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-grid.d.ts","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,mEAAmE;AACnE,eAAO,MAAM,eAAe,QAAmB,CAAC;AAChD,sDAAsD;AACtD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,qBAAa,QAAQ;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;gBAEvB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"cell-grid.d.ts","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"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"}
|
package/dist/cell-grid.js
CHANGED
|
@@ -35,18 +35,26 @@ export class CellGrid {
|
|
|
35
35
|
* instead of copying cell data, making full-screen scroll O(1).
|
|
36
36
|
*/
|
|
37
37
|
rowOffsetData;
|
|
38
|
-
constructor(cols, rows) {
|
|
38
|
+
constructor(cols, rows, existingBuffer) {
|
|
39
39
|
this.cols = cols;
|
|
40
40
|
this.rows = rows;
|
|
41
|
-
this.isShared = SAB_AVAILABLE;
|
|
42
41
|
const cellBytes = cols * rows * CELL_SIZE * 4;
|
|
43
42
|
const dirtyBytes = rows * 4; // Int32Array: 4 bytes per element
|
|
44
43
|
const rgbBytes = 512 * 4;
|
|
45
44
|
const cursorBytes = 4 * 4; // 4 x Int32: row, col, visible, style
|
|
46
45
|
const offsetBytes = 1 * 4; // 1 x Int32: row offset for circular buffer
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
if (existingBuffer) {
|
|
47
|
+
// Create views over an existing SharedArrayBuffer (used by workers
|
|
48
|
+
// to share the same memory as the main thread).
|
|
49
|
+
this.buffer = existingBuffer;
|
|
50
|
+
this.isShared = true;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const totalBytes = cellBytes + dirtyBytes + rgbBytes + cursorBytes + offsetBytes;
|
|
54
|
+
const BufferType = SAB_AVAILABLE ? SharedArrayBuffer : ArrayBuffer;
|
|
55
|
+
this.buffer = new BufferType(totalBytes);
|
|
56
|
+
this.isShared = SAB_AVAILABLE;
|
|
57
|
+
}
|
|
50
58
|
this.data = new Uint32Array(this.buffer, 0, cols * rows * CELL_SIZE);
|
|
51
59
|
this.dirtyRows = new Int32Array(this.buffer, cellBytes, rows);
|
|
52
60
|
this.rgbColors = new Uint32Array(this.buffer, cellBytes + dirtyBytes, 512);
|
|
@@ -58,7 +66,11 @@ export class CellGrid {
|
|
|
58
66
|
this._templateRow[c * CELL_SIZE] = DEFAULT_CELL_W0;
|
|
59
67
|
// [c * CELL_SIZE + 1] is already DEFAULT_CELL_W1 (0)
|
|
60
68
|
}
|
|
61
|
-
|
|
69
|
+
// Only clear when creating a fresh buffer — an existing buffer
|
|
70
|
+
// already contains valid data from the main thread.
|
|
71
|
+
if (!existingBuffer) {
|
|
72
|
+
this.clear();
|
|
73
|
+
}
|
|
62
74
|
}
|
|
63
75
|
/** Map logical row to physical row in the circular buffer. */
|
|
64
76
|
physicalRow(row) {
|
package/dist/cell-grid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-grid.js","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,MAAM,aAAa,GACjB,OAAO,iBAAiB,KAAK,WAAW;IACxC,CAAC,OAAO,mBAAmB,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5E,oCAAoC;AACpC,yFAAyF;AACzF,oFAAoF;AACpF,6EAA6E;AAE7E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,sBAAsB;AAElD,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,MAAc;IACvD,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,OAAO,QAAQ;IACV,IAAI,CAAS;IACb,IAAI,CAAS;IACb,IAAI,CAAc;IAClB,SAAS,CAAa;IACtB,SAAS,CAAc;IACf,MAAM,CAAkC;IAChD,QAAQ,CAAU;IACV,YAAY,CAAc;IAE3C;;;;OAIG;IACM,UAAU,CAAa;IAEhC;;;;OAIG;IACM,aAAa,CAAa;IAEnC,YAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;QAE9B,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,kCAAkC;QAC/D,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,sCAAsC;QACjE,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,4CAA4C;QACvE,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;QAEjF,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CACjC,IAAI,CAAC,MAAM,EACX,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,EAC/C,CAAC,CACF,CAAC;QAEF,+DAA+D;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,eAAe,CAAC;YACnD,qDAAqD;QACvD,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,8DAA8D;IAC9D,WAAW,CAAC,GAAW;QACrB,4DAA4D;QAC5D,4DAA4D;QAC5D,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,CAAC;IAED,gEAAgE;IAChE,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvD,CAAC;IAED,+DAA+D;IAC/D,QAAQ,CAAC,CAAC,GAAG,CAAC;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,mEAAmE;IACnE,UAAU,CAAC,CAAC,GAAG,CAAC;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,GAAW;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC;IACpE,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,GAAW;QACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,GAAW;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,GAAW;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5E,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,GAAW;QAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,GAAW;QAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,GAAW;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,GAAW;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,GAAW;QAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,GAAW;QACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,GAAW;QAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,GAAW;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,CACL,GAAW,EACX,GAAW,EACX,SAAiB,EACjB,OAAe,EACf,OAAe,EACf,KAAa,EACb,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK;QAEf,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,CAAC,SAAS,GAAG,QAAQ,CAAC;gBACtB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,cAAc,CAAC,IAAY,EAAE,EAAU;QACrC,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,8DAA8D;IAC9D,OAAO,CAAC,GAAW;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,oEAAoE;IACpE,QAAQ,CAAC,GAAW,EAAE,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACrC,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,6DAA6D;IAC7D,QAAQ,CAAC,GAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,uFAAuF;IACvF,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,6EAA6E;IAE7E,wDAAwD;IAChD,MAAM,CAAU,gBAAgB,GAA2B;QACjE,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;QACZ,GAAG,EAAE,CAAC;KACP,CAAC;IACM,MAAM,CAAU,oBAAoB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAU,CAAC;IAEtF;;OAEG;IACH,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,OAAgB,EAAE,KAAa;QACjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACrC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACrC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;gBAC/C,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO;aAClF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO;SACpE,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;;AAcH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IACpD,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACjD,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,QAAQ,GAAG,MAAM,CAAC;QAClB,QAAQ,GAAG,MAAM,CAAC;QAClB,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,IAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,MAAc;IAEd,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAE3B,IAAI,GAAG,KAAK,EAAE;YAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,GAAG,KAAK,EAAE;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE7D,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,CAAC;QAED,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"cell-grid.js","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"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"}
|