fleuron 0.3.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/client.d.ts +42 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +58 -1
- package/dist/client.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +23 -4
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/preview.d.ts +1 -1
- package/dist/preview.d.ts.map +1 -1
- package/dist/protocol.d.ts +47 -6
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wire.d.ts +1 -1
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +1 -1
- package/dist/wire.js.map +1 -1
- package/package.json +1 -1
- package/wasm/fleuron.d.ts +51 -2
- package/wasm/fleuron.js +94 -2
- package/wasm/fleuron_bg.wasm +0 -0
- package/wasm/fleuron_bg.wasm.d.ts +3 -0
package/dist/client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The host's side of the wall: send an edit, get a display structure, and
|
|
3
3
|
* never paint one the reader has already typed past.
|
|
4
4
|
*/
|
|
5
|
-
import { type Op, type Request, type Response, type Want } from './protocol.js';
|
|
5
|
+
import { type Folios, type NodeSource, type Op, type Request, type Response, type Want } from './protocol.js';
|
|
6
6
|
import { type LayoutOutput } from './wire.js';
|
|
7
7
|
/** How a request reaches the worker. */
|
|
8
8
|
export interface Transport {
|
|
@@ -83,6 +83,45 @@ export declare class Client {
|
|
|
83
83
|
* session's life.
|
|
84
84
|
*/
|
|
85
85
|
fontBytes(font: number): Promise<Uint8Array>;
|
|
86
|
+
/**
|
|
87
|
+
* The node one byte of one source was read into: the first step of
|
|
88
|
+
* a cursor's way onto a page, since the node it answers with is the
|
|
89
|
+
* one the display structure's runs name. `null` where nothing was
|
|
90
|
+
* read: a blank line between chapters, or a file the book has not
|
|
91
|
+
* read.
|
|
92
|
+
*
|
|
93
|
+
* A question rather than a render: nothing overtakes it. The answer
|
|
94
|
+
* is about the book as the worker holds it, so an edit still in
|
|
95
|
+
* flight is an edit this has not seen.
|
|
96
|
+
*/
|
|
97
|
+
nodeAt(source: string, byte: number): Promise<number | null>;
|
|
98
|
+
/**
|
|
99
|
+
* The source a node was read from, and the bytes of it: the way
|
|
100
|
+
* back, for a run under the pointer. `null` for a node the engine
|
|
101
|
+
* synthesized, or one from a tree the host built rather than
|
|
102
|
+
* parsed.
|
|
103
|
+
*/
|
|
104
|
+
sourceOf(node: number): Promise<NodeSource | null>;
|
|
105
|
+
/**
|
|
106
|
+
* Where each of these nodes' content is set: one answer per node,
|
|
107
|
+
* in the order asked about. `null` for a node the book does not
|
|
108
|
+
* hold, one the engine synthesized, or one whose content reaches
|
|
109
|
+
* no page.
|
|
110
|
+
*
|
|
111
|
+
* This is the direction a reflow invalidates. A new face
|
|
112
|
+
* repaginates the book, and a host that puts the reader back where
|
|
113
|
+
* they were, or turns to a chapter, or names the chapter on
|
|
114
|
+
* screen, asks where a node went. No page comes back with the
|
|
115
|
+
* answer.
|
|
116
|
+
*
|
|
117
|
+
* The answer names the folios to print and the pages to fetch,
|
|
118
|
+
* which a restarted page counter pulls apart: see {@link Folios}.
|
|
119
|
+
*
|
|
120
|
+
* A node covers itself and everything under it, so a heading
|
|
121
|
+
* answers with the page its own text is on, and a chapter with the
|
|
122
|
+
* pages it runs across.
|
|
123
|
+
*/
|
|
124
|
+
foliosOf(nodes: number[]): Promise<(Folios | null)[]>;
|
|
86
125
|
/** Applies inputs and asks for nothing back. */
|
|
87
126
|
apply(ops: Op[]): Promise<void>;
|
|
88
127
|
/**
|
|
@@ -97,6 +136,8 @@ export declare class Client {
|
|
|
97
136
|
* moves the generation such requests are answering against.
|
|
98
137
|
*/
|
|
99
138
|
render(ops: Op[], want: Want, range?: Range): Promise<Uint8Array | null>;
|
|
139
|
+
/** One question, and the JSON the worker answered it with. */
|
|
140
|
+
private ask;
|
|
100
141
|
private send;
|
|
101
142
|
}
|
|
102
143
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAEjE,wCAAwC;AACxC,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CACvD;AAED,qFAAqF;AACrF,eAAO,MAAM,UAAU,MAAO,CAAC;AAE/B,yEAAyE;AACzE,MAAM,WAAW,KAAK;IACpB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAC3E,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAkD;gBAEtD,SAAS,EAAE,SAAS;IAIhC,kEAAkE;IAClE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IASjC,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM;IAIhC;;;;OAIG;IACH,IAAI,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAG1E;IAED;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,GAAG,GAAE,EAAE,EAAO,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAK1E,8BAA8B;IACxB,SAAS,CAAC,GAAG,GAAE,EAAE,EAAO,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI3D;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQlD;;;;;;;;;;OAUG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIlE;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIxD;;;;;;;;;;;;;;;;;;OAkBG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAI3D,gDAAgD;IAC1C,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAgB9E,8DAA8D;YAChD,GAAG;IAejB,OAAO,CAAC,IAAI;CAwCb"}
|
package/dist/client.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The host's side of the wall: send an edit, get a display structure, and
|
|
3
3
|
* never paint one the reader has already typed past.
|
|
4
4
|
*/
|
|
5
|
-
import { isFailed, isRendered } from './protocol.js';
|
|
5
|
+
import { isFailed, isRendered, } from './protocol.js';
|
|
6
6
|
import { decodeDisplayList } from './wire.js';
|
|
7
7
|
/** A render that was overtaken: nothing came back, and nothing should be painted. */
|
|
8
8
|
export const SUPERSEDED = null;
|
|
@@ -89,6 +89,51 @@ export class Client {
|
|
|
89
89
|
}
|
|
90
90
|
return response.bytes;
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* The node one byte of one source was read into: the first step of
|
|
94
|
+
* a cursor's way onto a page, since the node it answers with is the
|
|
95
|
+
* one the display structure's runs name. `null` where nothing was
|
|
96
|
+
* read: a blank line between chapters, or a file the book has not
|
|
97
|
+
* read.
|
|
98
|
+
*
|
|
99
|
+
* A question rather than a render: nothing overtakes it. The answer
|
|
100
|
+
* is about the book as the worker holds it, so an edit still in
|
|
101
|
+
* flight is an edit this has not seen.
|
|
102
|
+
*/
|
|
103
|
+
async nodeAt(source, byte) {
|
|
104
|
+
return this.ask({ ops: [], want: 'node', source, byte });
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The source a node was read from, and the bytes of it: the way
|
|
108
|
+
* back, for a run under the pointer. `null` for a node the engine
|
|
109
|
+
* synthesized, or one from a tree the host built rather than
|
|
110
|
+
* parsed.
|
|
111
|
+
*/
|
|
112
|
+
async sourceOf(node) {
|
|
113
|
+
return this.ask({ ops: [], want: 'source', node });
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Where each of these nodes' content is set: one answer per node,
|
|
117
|
+
* in the order asked about. `null` for a node the book does not
|
|
118
|
+
* hold, one the engine synthesized, or one whose content reaches
|
|
119
|
+
* no page.
|
|
120
|
+
*
|
|
121
|
+
* This is the direction a reflow invalidates. A new face
|
|
122
|
+
* repaginates the book, and a host that puts the reader back where
|
|
123
|
+
* they were, or turns to a chapter, or names the chapter on
|
|
124
|
+
* screen, asks where a node went. No page comes back with the
|
|
125
|
+
* answer.
|
|
126
|
+
*
|
|
127
|
+
* The answer names the folios to print and the pages to fetch,
|
|
128
|
+
* which a restarted page counter pulls apart: see {@link Folios}.
|
|
129
|
+
*
|
|
130
|
+
* A node covers itself and everything under it, so a heading
|
|
131
|
+
* answers with the page its own text is on, and a chapter with the
|
|
132
|
+
* pages it runs across.
|
|
133
|
+
*/
|
|
134
|
+
async foliosOf(nodes) {
|
|
135
|
+
return this.ask({ ops: [], want: 'folios', nodes });
|
|
136
|
+
}
|
|
92
137
|
/** Applies inputs and asks for nothing back. */
|
|
93
138
|
async apply(ops) {
|
|
94
139
|
await this.send({ ops });
|
|
@@ -119,6 +164,14 @@ export class Client {
|
|
|
119
164
|
this.counters = response.stages;
|
|
120
165
|
return response.bytes;
|
|
121
166
|
}
|
|
167
|
+
/** One question, and the JSON the worker answered it with. */
|
|
168
|
+
async ask(what) {
|
|
169
|
+
const response = await this.send(what);
|
|
170
|
+
if (!isRendered(response)) {
|
|
171
|
+
throw new Error(`the engine answered no ${what.want}`);
|
|
172
|
+
}
|
|
173
|
+
return JSON.parse(new TextDecoder().decode(response.bytes));
|
|
174
|
+
}
|
|
122
175
|
send(what) {
|
|
123
176
|
this.id += 1;
|
|
124
177
|
const request = {
|
|
@@ -127,6 +180,10 @@ export class Client {
|
|
|
127
180
|
ops: what.ops,
|
|
128
181
|
...(what.want === undefined ? {} : { want: what.want }),
|
|
129
182
|
...(what.font === undefined ? {} : { font: what.font }),
|
|
183
|
+
...(what.source === undefined ? {} : { source: what.source }),
|
|
184
|
+
...(what.byte === undefined ? {} : { byte: what.byte }),
|
|
185
|
+
...(what.node === undefined ? {} : { node: what.node }),
|
|
186
|
+
...(what.nodes === undefined ? {} : { nodes: what.nodes }),
|
|
130
187
|
...(what.first === undefined ? {} : { first: what.first }),
|
|
131
188
|
...(what.count === undefined ? {} : { count: what.count }),
|
|
132
189
|
};
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAa,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE3D,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,kEAAkE;AAClE,MAAM,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;AAO1E;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/E;AAED,0DAA0D;AAC1D,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,OAAO;IAI5B,iEAAiE;IACjE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAK5C,qCAAqC;IACrC,IAAI,IAAI,IAAI;YAIE,KAAK;IAqBnB,OAAO,CAAC,GAAG;IAmCX,OAAO,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAa,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE3D,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,kEAAkE;AAClE,MAAM,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;AAO1E;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/E;AAED,0DAA0D;AAC1D,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,OAAO;IAI5B,iEAAiE;IACjE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAK5C,qCAAqC;IACrC,IAAI,IAAI,IAAI;YAIE,KAAK;IAqBnB,OAAO,CAAC,GAAG;IAmCX,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,KAAK;CAoDd"}
|
package/dist/engine.js
CHANGED
|
@@ -97,6 +97,12 @@ export class Engine {
|
|
|
97
97
|
return this.session.exportPdf();
|
|
98
98
|
case 'font':
|
|
99
99
|
return this.session.fontBytes(request.font ?? 0);
|
|
100
|
+
case 'node':
|
|
101
|
+
return answer(this.session.nodeAt(request.source ?? '', request.byte ?? 0) ?? null);
|
|
102
|
+
case 'source':
|
|
103
|
+
return answer(this.session.nodeSource(request.node ?? 0) ?? null);
|
|
104
|
+
case 'folios':
|
|
105
|
+
return answer(this.session.nodeFolios(new Uint32Array(request.nodes ?? [])));
|
|
100
106
|
default:
|
|
101
107
|
return this.session.preview(request.first, request.count);
|
|
102
108
|
}
|
|
@@ -146,12 +152,22 @@ export class Engine {
|
|
|
146
152
|
}
|
|
147
153
|
}
|
|
148
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* An answer to a question about the book, as the JSON bytes every
|
|
157
|
+
* reply carries. The module already wrote the JSON for a node's
|
|
158
|
+
* source; a node id is a number, and `null` is nothing read there.
|
|
159
|
+
*/
|
|
160
|
+
function answer(json) {
|
|
161
|
+
return new TextEncoder().encode(typeof json === 'string' ? json : JSON.stringify(json));
|
|
162
|
+
}
|
|
149
163
|
/**
|
|
150
164
|
* Whether a request is a question rather than a render: asking for a
|
|
151
|
-
* face's bytes,
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
165
|
+
* face's bytes, asking where a node was read from or what was read at
|
|
166
|
+
* a byte, asking which folios some nodes are set on, or asking which
|
|
167
|
+
* pages of the book as it stands (no `ops` of its own) fall in a
|
|
168
|
+
* range. None of them overtakes a render nor is overtaken by one, or
|
|
169
|
+
* by a sibling question, since none says what the last edit
|
|
170
|
+
* produced.
|
|
155
171
|
*
|
|
156
172
|
* A range alone does not make a question: an edit that also names a
|
|
157
173
|
* range, to fetch the one page it changed rather than the whole
|
|
@@ -160,6 +176,9 @@ export class Engine {
|
|
|
160
176
|
*/
|
|
161
177
|
function isQuestion(request) {
|
|
162
178
|
return (request.want === 'font' ||
|
|
179
|
+
request.want === 'node' ||
|
|
180
|
+
request.want === 'source' ||
|
|
181
|
+
request.want === 'folios' ||
|
|
163
182
|
(request.want === 'preview' &&
|
|
164
183
|
request.ops.length === 0 &&
|
|
165
184
|
request.first !== undefined &&
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export { Client, SUPERSEDED, type Transport } from './client.js';
|
|
14
14
|
export { Engine, createEngine, type EngineOptions, type Reply } from './engine.js';
|
|
15
|
-
export { isFailed, isRendered, styleOp, type Applied, type Failed, type Metadata, type Op, type Rendered, type Request, type Response, type Sheet, type Source, type Superseded, type Want, } from './protocol.js';
|
|
15
|
+
export { isFailed, isRendered, styleOp, type Applied, type Failed, type Folios, type Metadata, type NodeSource, type Op, type Rendered, type Request, type Response, type Sheet, type Source, type Superseded, type Want, } from './protocol.js';
|
|
16
16
|
export { Preview, type PreviewOptions } from './preview.js';
|
|
17
17
|
export { VERSION } from './version.js';
|
|
18
18
|
export { faceFamily, paintPage, type PaintOptions } from './svg.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,EAAE,EACP,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,IAAI,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,OAAO,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,IAAI,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,OAAO,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAkC,MAAM,aAAa,CAAC;AACnF,OAAO,EACL,QAAQ,EACR,UAAU,EACV,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAkC,MAAM,aAAa,CAAC;AACnF,OAAO,EACL,QAAQ,EACR,UAAU,EACV,OAAO,GAcR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAuB,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAqB,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,GAiBd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,QAAQ,EAAsC,MAAM,oBAAoB,CAAC"}
|
package/dist/preview.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export interface PreviewOptions {
|
|
|
27
27
|
*/
|
|
28
28
|
worker?: Worker;
|
|
29
29
|
/** Which markdown the sources are written in. */
|
|
30
|
-
dialect?: 'commonmark' | 'gfm' | 'obsidian';
|
|
30
|
+
dialect?: 'fleuron' | 'commonmark' | 'gfm' | 'obsidian';
|
|
31
31
|
/** The heading level a section begins at, or 0 for one per file. */
|
|
32
32
|
split?: number;
|
|
33
33
|
/** Points to CSS pixels. */
|
package/dist/preview.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,EAAE,EAEP,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,KAAK,EAAgB,YAAY,EAAQ,OAAO,EAAE,MAAM,WAAW,CAAC;AASlF,+BAA+B;AAC/B,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ export type Op =
|
|
|
51
51
|
/** Which markdown the sources are written in. */
|
|
52
52
|
| {
|
|
53
53
|
op: 'dialect';
|
|
54
|
-
dialect: 'commonmark' | 'gfm' | 'obsidian';
|
|
54
|
+
dialect: 'fleuron' | 'commonmark' | 'gfm' | 'obsidian';
|
|
55
55
|
}
|
|
56
56
|
/** Where a source's sections begin: a heading level, or 0 for a file per section. */
|
|
57
57
|
| {
|
|
@@ -99,14 +99,44 @@ export type Op =
|
|
|
99
99
|
op: 'style';
|
|
100
100
|
sheets: Sheet[];
|
|
101
101
|
};
|
|
102
|
+
/** Where one node of the book was read from. */
|
|
103
|
+
export interface NodeSource {
|
|
104
|
+
/** The source the node was read from, by the name the book calls it. */
|
|
105
|
+
source: string;
|
|
106
|
+
/** First byte of that source the node covers. */
|
|
107
|
+
start: number;
|
|
108
|
+
/** One past the last. */
|
|
109
|
+
end: number;
|
|
110
|
+
}
|
|
102
111
|
/**
|
|
103
|
-
*
|
|
104
|
-
* the
|
|
112
|
+
* Where one node's content is set: the folios it runs between, and
|
|
113
|
+
* the pages of the book those folios are.
|
|
105
114
|
*
|
|
106
|
-
*
|
|
115
|
+
* `first` and `last` are printed on the page, and are what a host
|
|
116
|
+
* puts on screen. `at` and `count` are where those pages fall in the
|
|
117
|
+
* book, and are what a host fetches them by. A page counter that
|
|
118
|
+
* restarts makes the two differ, so both are answered.
|
|
119
|
+
*/
|
|
120
|
+
export interface Folios {
|
|
121
|
+
/** The folio the node's content begins on. */
|
|
122
|
+
first: number;
|
|
123
|
+
/** The folio it ends on, the same number for a node that fits on one page. */
|
|
124
|
+
last: number;
|
|
125
|
+
/** Which page of the book that first folio is, counting from 0, as `Request.first` counts. */
|
|
126
|
+
at: number;
|
|
127
|
+
/** How many pages the content runs across: `{ first: at, count }` is a range over every one. */
|
|
128
|
+
count: number;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* What a request wants back, if anything: a display structure, a PDF,
|
|
132
|
+
* the file a face was registered from, the node one byte of a source
|
|
133
|
+
* was read into, the source one node was read from, or the folios
|
|
134
|
+
* some nodes are set on.
|
|
135
|
+
*
|
|
136
|
+
* The first two are renders and the rest are questions, which is
|
|
107
137
|
* what decides whether a later request may overtake it.
|
|
108
138
|
*/
|
|
109
|
-
export type Want = 'preview' | 'pdf' | 'font';
|
|
139
|
+
export type Want = 'preview' | 'pdf' | 'font' | 'node' | 'source' | 'folios';
|
|
110
140
|
/** An edit, a render, a question, or an edit and one of those. */
|
|
111
141
|
export interface Request {
|
|
112
142
|
/** Pairs the reply with the call. */
|
|
@@ -119,6 +149,14 @@ export interface Request {
|
|
|
119
149
|
want?: Want;
|
|
120
150
|
/** Which face `want: 'font'` is asking for. */
|
|
121
151
|
font?: number;
|
|
152
|
+
/** Which source, with `byte`, `want: 'node'` is asking about. */
|
|
153
|
+
source?: string;
|
|
154
|
+
/** Which byte of it. */
|
|
155
|
+
byte?: number;
|
|
156
|
+
/** Which node `want: 'source'` is asking about. */
|
|
157
|
+
node?: number;
|
|
158
|
+
/** Which nodes `want: 'folios'` is asking about. */
|
|
159
|
+
nodes?: number[];
|
|
122
160
|
/**
|
|
123
161
|
* With `count`, which pages of `want: 'preview'`'s answer to send:
|
|
124
162
|
* `first` pages counting from 0, `count` of them. Leaving either
|
|
@@ -133,7 +171,10 @@ export interface Request {
|
|
|
133
171
|
/** See {@link Request.first}. */
|
|
134
172
|
count?: number;
|
|
135
173
|
}
|
|
136
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* The bytes a request produced: a display structure, a PDF, a font
|
|
176
|
+
* file, or the JSON a question was answered with.
|
|
177
|
+
*/
|
|
137
178
|
export interface Rendered {
|
|
138
179
|
id: number;
|
|
139
180
|
generation: number;
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,iEAAiE;AACjE,MAAM,WAAW,MAAM;IACrB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0DAA0D;AAC1D,MAAM,WAAW,KAAK;IACpB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,qCAAqC;AACrC,MAAM,MAAM,EAAE;AACZ,mEAAmE;AACjE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE;AACnC;;;;GAIG;GACD;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE;AACjD,iDAAiD;GAC/C;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,GAAG,KAAK,GAAG,UAAU,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsLH,4CAA4C;AAC5C,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,OAAO,OAAO,IAAI,QAAQ,CAAC;AAC7B,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,QAAQ,CAAC,QAAkB;IACzC,OAAO,OAAO,IAAI,QAAQ,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,GAAqB;IAC3C,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAChG,CAAC"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/dist/wire.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* catches the day those two stop agreeing.
|
|
9
9
|
*/
|
|
10
10
|
/** The encoding this reader reads. */
|
|
11
|
-
export declare const WIRE_VERSION =
|
|
11
|
+
export declare const WIRE_VERSION = 10;
|
|
12
12
|
/** Which side of the spread a page falls on. */
|
|
13
13
|
export type Side = 'recto' | 'verso';
|
|
14
14
|
/** The features beyond the default set a run was shaped with. */
|
package/dist/wire.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sCAAsC;AACtC,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/wire.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* catches the day those two stop agreeing.
|
|
9
9
|
*/
|
|
10
10
|
/** The encoding this reader reads. */
|
|
11
|
-
export const WIRE_VERSION =
|
|
11
|
+
export const WIRE_VERSION = 10;
|
|
12
12
|
/** A buffer this reader will not read, and why. */
|
|
13
13
|
export class WireError extends Error {
|
|
14
14
|
constructor(message) {
|
package/dist/wire.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/wasm/fleuron.d.ts
CHANGED
|
@@ -55,6 +55,51 @@ export class Session {
|
|
|
55
55
|
* built-in sheet alone.
|
|
56
56
|
*/
|
|
57
57
|
constructor();
|
|
58
|
+
/**
|
|
59
|
+
* The node one byte of one source was read into: the innermost,
|
|
60
|
+
* so a byte of prose answers with the run it was typed into and
|
|
61
|
+
* a byte of markup answers with the construct it opens.
|
|
62
|
+
*
|
|
63
|
+
* This is the first step of a cursor's way onto a page: the
|
|
64
|
+
* node it answers with is the one the display structure's runs
|
|
65
|
+
* name. `undefined` where nothing was read: a blank line
|
|
66
|
+
* between chapters, a file the book has not read, a tree the
|
|
67
|
+
* host built rather than parsed.
|
|
68
|
+
*/
|
|
69
|
+
nodeAt(source: string, byte: number): number | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Where each of these nodes' content is set, as JSON: one
|
|
72
|
+
* answer per node, in the order asked about, each
|
|
73
|
+
* `{"first": 38, "last": 52, "at": 37, "count": 15}` or `null`.
|
|
74
|
+
*
|
|
75
|
+
* This is the direction a reflow invalidates. A new face
|
|
76
|
+
* repaginates the book, and a host that puts the reader back
|
|
77
|
+
* where they were, or turns to a chapter, or names the chapter
|
|
78
|
+
* on screen, asks where a node went. No page crosses to answer
|
|
79
|
+
* it.
|
|
80
|
+
*
|
|
81
|
+
* `first` and `last` are the folios, which is what a host puts
|
|
82
|
+
* on screen. `at` and `count` are where those pages fall in the
|
|
83
|
+
* book, counting from 0, which is what
|
|
84
|
+
* [`Session::preview`]'s own `first` and `count` take. A page
|
|
85
|
+
* counter that restarts makes the two differ.
|
|
86
|
+
*
|
|
87
|
+
* A node covers itself and everything under it, so a heading
|
|
88
|
+
* answers with the page its own text is on. `null` for a node
|
|
89
|
+
* the book does not hold, one the engine synthesized, or one
|
|
90
|
+
* whose content reaches no page.
|
|
91
|
+
*/
|
|
92
|
+
nodeFolios(nodes: Uint32Array): string;
|
|
93
|
+
/**
|
|
94
|
+
* The source a node was read from and the bytes of it, as JSON:
|
|
95
|
+
* `{"source": "chapter-01.md", "start": 812, "end": 1043}`.
|
|
96
|
+
*
|
|
97
|
+
* This is the way back: a run under the pointer names a node,
|
|
98
|
+
* and the node names a place in the manuscript. `undefined` for
|
|
99
|
+
* a node the engine synthesized, or one from a tree built
|
|
100
|
+
* rather than parsed.
|
|
101
|
+
*/
|
|
102
|
+
nodeSource(node: number): string | undefined;
|
|
58
103
|
/**
|
|
59
104
|
* The display structure, postcard-encoded, version first.
|
|
60
105
|
*
|
|
@@ -78,8 +123,9 @@ export class Session {
|
|
|
78
123
|
*/
|
|
79
124
|
setContent(json: string): void;
|
|
80
125
|
/**
|
|
81
|
-
* Which markdown the sources are written in: `
|
|
82
|
-
* `gfm` or `obsidian`.
|
|
126
|
+
* Which markdown the sources are written in: `fleuron`,
|
|
127
|
+
* `commonmark`, `gfm` or `obsidian`. `fleuron` is what a session
|
|
128
|
+
* reads until it is told otherwise.
|
|
83
129
|
*/
|
|
84
130
|
setDialect(dialect: string): void;
|
|
85
131
|
/**
|
|
@@ -187,6 +233,9 @@ export interface InitOutput {
|
|
|
187
233
|
readonly session_exportPdf: (a: number) => [number, number, number, number];
|
|
188
234
|
readonly session_fontBytes: (a: number, b: number) => [number, number, number, number];
|
|
189
235
|
readonly session_new: () => [number, number, number];
|
|
236
|
+
readonly session_nodeAt: (a: number, b: number, c: number, d: number) => number;
|
|
237
|
+
readonly session_nodeFolios: (a: number, b: number, c: number) => [number, number, number, number];
|
|
238
|
+
readonly session_nodeSource: (a: number, b: number) => [number, number];
|
|
190
239
|
readonly session_preview: (a: number, b: number, c: number) => [number, number, number, number];
|
|
191
240
|
readonly session_removeMarkdown: (a: number, b: number, c: number) => void;
|
|
192
241
|
readonly session_setContent: (a: number, b: number, c: number) => [number, number];
|
package/wasm/fleuron.js
CHANGED
|
@@ -114,6 +114,90 @@ export class Session {
|
|
|
114
114
|
SessionFinalization.register(this, this.__wbg_ptr, this);
|
|
115
115
|
return this;
|
|
116
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* The node one byte of one source was read into: the innermost,
|
|
119
|
+
* so a byte of prose answers with the run it was typed into and
|
|
120
|
+
* a byte of markup answers with the construct it opens.
|
|
121
|
+
*
|
|
122
|
+
* This is the first step of a cursor's way onto a page: the
|
|
123
|
+
* node it answers with is the one the display structure's runs
|
|
124
|
+
* name. `undefined` where nothing was read: a blank line
|
|
125
|
+
* between chapters, a file the book has not read, a tree the
|
|
126
|
+
* host built rather than parsed.
|
|
127
|
+
* @param {string} source
|
|
128
|
+
* @param {number} byte
|
|
129
|
+
* @returns {number | undefined}
|
|
130
|
+
*/
|
|
131
|
+
nodeAt(source, byte) {
|
|
132
|
+
const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
133
|
+
const len0 = WASM_VECTOR_LEN;
|
|
134
|
+
const ret = wasm.session_nodeAt(this.__wbg_ptr, ptr0, len0, byte);
|
|
135
|
+
return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Where each of these nodes' content is set, as JSON: one
|
|
139
|
+
* answer per node, in the order asked about, each
|
|
140
|
+
* `{"first": 38, "last": 52, "at": 37, "count": 15}` or `null`.
|
|
141
|
+
*
|
|
142
|
+
* This is the direction a reflow invalidates. A new face
|
|
143
|
+
* repaginates the book, and a host that puts the reader back
|
|
144
|
+
* where they were, or turns to a chapter, or names the chapter
|
|
145
|
+
* on screen, asks where a node went. No page crosses to answer
|
|
146
|
+
* it.
|
|
147
|
+
*
|
|
148
|
+
* `first` and `last` are the folios, which is what a host puts
|
|
149
|
+
* on screen. `at` and `count` are where those pages fall in the
|
|
150
|
+
* book, counting from 0, which is what
|
|
151
|
+
* [`Session::preview`]'s own `first` and `count` take. A page
|
|
152
|
+
* counter that restarts makes the two differ.
|
|
153
|
+
*
|
|
154
|
+
* A node covers itself and everything under it, so a heading
|
|
155
|
+
* answers with the page its own text is on. `null` for a node
|
|
156
|
+
* the book does not hold, one the engine synthesized, or one
|
|
157
|
+
* whose content reaches no page.
|
|
158
|
+
* @param {Uint32Array} nodes
|
|
159
|
+
* @returns {string}
|
|
160
|
+
*/
|
|
161
|
+
nodeFolios(nodes) {
|
|
162
|
+
let deferred3_0;
|
|
163
|
+
let deferred3_1;
|
|
164
|
+
try {
|
|
165
|
+
const ptr0 = passArray32ToWasm0(nodes, wasm.__wbindgen_malloc);
|
|
166
|
+
const len0 = WASM_VECTOR_LEN;
|
|
167
|
+
const ret = wasm.session_nodeFolios(this.__wbg_ptr, ptr0, len0);
|
|
168
|
+
var ptr2 = ret[0];
|
|
169
|
+
var len2 = ret[1];
|
|
170
|
+
if (ret[3]) {
|
|
171
|
+
ptr2 = 0; len2 = 0;
|
|
172
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
173
|
+
}
|
|
174
|
+
deferred3_0 = ptr2;
|
|
175
|
+
deferred3_1 = len2;
|
|
176
|
+
return getStringFromWasm0(ptr2, len2);
|
|
177
|
+
} finally {
|
|
178
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* The source a node was read from and the bytes of it, as JSON:
|
|
183
|
+
* `{"source": "chapter-01.md", "start": 812, "end": 1043}`.
|
|
184
|
+
*
|
|
185
|
+
* This is the way back: a run under the pointer names a node,
|
|
186
|
+
* and the node names a place in the manuscript. `undefined` for
|
|
187
|
+
* a node the engine synthesized, or one from a tree built
|
|
188
|
+
* rather than parsed.
|
|
189
|
+
* @param {number} node
|
|
190
|
+
* @returns {string | undefined}
|
|
191
|
+
*/
|
|
192
|
+
nodeSource(node) {
|
|
193
|
+
const ret = wasm.session_nodeSource(this.__wbg_ptr, node);
|
|
194
|
+
let v1;
|
|
195
|
+
if (ret[0] !== 0) {
|
|
196
|
+
v1 = getStringFromWasm0(ret[0], ret[1]);
|
|
197
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
198
|
+
}
|
|
199
|
+
return v1;
|
|
200
|
+
}
|
|
117
201
|
/**
|
|
118
202
|
* The display structure, postcard-encoded, version first.
|
|
119
203
|
*
|
|
@@ -161,8 +245,9 @@ export class Session {
|
|
|
161
245
|
}
|
|
162
246
|
}
|
|
163
247
|
/**
|
|
164
|
-
* Which markdown the sources are written in: `
|
|
165
|
-
* `gfm` or `obsidian`.
|
|
248
|
+
* Which markdown the sources are written in: `fleuron`,
|
|
249
|
+
* `commonmark`, `gfm` or `obsidian`. `fleuron` is what a session
|
|
250
|
+
* reads until it is told otherwise.
|
|
166
251
|
* @param {string} dialect
|
|
167
252
|
*/
|
|
168
253
|
setDialect(dialect) {
|
|
@@ -457,6 +542,13 @@ function isLikeNone(x) {
|
|
|
457
542
|
return x === undefined || x === null;
|
|
458
543
|
}
|
|
459
544
|
|
|
545
|
+
function passArray32ToWasm0(arg, malloc) {
|
|
546
|
+
const ptr = malloc(arg.length * 4, 4) >>> 0;
|
|
547
|
+
getUint32ArrayMemory0().set(arg, ptr / 4);
|
|
548
|
+
WASM_VECTOR_LEN = arg.length;
|
|
549
|
+
return ptr;
|
|
550
|
+
}
|
|
551
|
+
|
|
460
552
|
function passArray8ToWasm0(arg, malloc) {
|
|
461
553
|
const ptr = malloc(arg.length * 1, 1) >>> 0;
|
|
462
554
|
getUint8ArrayMemory0().set(arg, ptr / 1);
|
package/wasm/fleuron_bg.wasm
CHANGED
|
Binary file
|
|
@@ -9,6 +9,9 @@ export const session_addImage: (a: number, b: number, c: number, d: number, e: n
|
|
|
9
9
|
export const session_exportPdf: (a: number) => [number, number, number, number];
|
|
10
10
|
export const session_fontBytes: (a: number, b: number) => [number, number, number, number];
|
|
11
11
|
export const session_new: () => [number, number, number];
|
|
12
|
+
export const session_nodeAt: (a: number, b: number, c: number, d: number) => number;
|
|
13
|
+
export const session_nodeFolios: (a: number, b: number, c: number) => [number, number, number, number];
|
|
14
|
+
export const session_nodeSource: (a: number, b: number) => [number, number];
|
|
12
15
|
export const session_preview: (a: number, b: number, c: number) => [number, number, number, number];
|
|
13
16
|
export const session_removeMarkdown: (a: number, b: number, c: number) => void;
|
|
14
17
|
export const session_setContent: (a: number, b: number, c: number) => [number, number];
|