@sealpixel/core 1.0.0-rc.12 → 1.0.0-rc.13

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/session.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Headless editor session. Owns the edit log (as `History`), the derived
3
3
  * document, and a renderer. Every state change schedules a debounced preview
4
- * render on the proxy; stale results are discarded by version.
4
+ * render on the working copy; stale results are discarded by version.
5
5
  */
6
6
  import type { RgbaBuffer } from '@sealpixel/wasm';
7
7
  import { type AssetResolver } from './assets.js';
@@ -27,8 +27,10 @@ export interface SessionOptions {
27
27
  renderer?: Renderer;
28
28
  /**
29
29
  * How much of the original stays in the browser. Default 16 megapixels and
30
- * 20e6 bytes. An image above `maxClientMegapixels` is not resident: the
31
- * preview works on a proxy, and `export` needs a server. An image above
30
+ * 50e6 bytes, enough for a camera JPEG of 60 megapixels. An image above
31
+ * `maxClientMegapixels` is not resident: the preview works on a working
32
+ * copy, and `export` fails with `NOT_RESIDENT`: the host renders the
33
+ * original elsewhere. An image above
32
34
  * `maxClientBytes` does not load at all (`TOO_LARGE`). The megapixel limit
33
35
  * reaches the renderer with every load, so a shared worker follows the
34
36
  * session that loads into it.
@@ -42,35 +44,12 @@ export interface SessionOptions {
42
44
  enabled?: boolean;
43
45
  };
44
46
  /**
45
- * Server rendering: `endpoint` accepts the `@sealpixel/server` contract. Used
46
- * by `requestServerRender`, by `download({ via: 'server' })`, and by the
47
- * `server` proxy strategy for images above the client limits.
47
+ * The preview image. The session always decodes the original in WebAssembly
48
+ * and downscales it itself. `maxSide` is the longest side for the default
49
+ * renderer. Default 2048. A `renderer` passed in uses its own setting.
48
50
  */
49
- server?: {
50
- endpoint: string;
51
- fetch?: typeof fetch;
52
- headers?: Record<string, string>;
53
- /**
54
- * Send the original to the endpoint's upload route instead of inside the
55
- * request once it is larger than this many bytes. Default 4_000_000.
56
- *
57
- * A request body has a ceiling that has nothing to do with the image: a
58
- * Lambda Function URL refuses anything over 6 MB, and an inline source
59
- * travels base64-encoded, a third larger again. Above that the original has
60
- * to reach the store another way.
61
- *
62
- * An endpoint without the route answers 404 and the original goes inline
63
- * after all, which is what happened before this existed. Set
64
- * `Number.POSITIVE_INFINITY` to never upload, or 0 to always.
65
- */
66
- uploadOver?: number;
67
- /** Defaults to `endpoint` with a trailing `/render` swapped for `/upload`, or `/upload` appended. */
68
- uploadEndpoint?: string;
69
- };
70
- /** How to obtain the preview for images above the client limits. Default `auto`. */
71
- proxy?: {
51
+ workingCopy?: {
72
52
  maxSide?: number;
73
- strategy?: 'auto' | 'wasm' | 'server';
74
53
  };
75
54
  /** Fonts and images referenced by the log. Defaults to the plugins' declarations with relative urls. */
76
55
  assets?: AssetResolver;
@@ -114,16 +93,14 @@ export interface ExportOptions {
114
93
  }
115
94
  export interface DownloadOptions extends Partial<ExportOptions> {
116
95
  filename?: string;
117
- /** `auto` renders locally when the image is resident, otherwise on the server. */
118
- via?: 'auto' | 'local' | 'server';
119
96
  }
120
97
  export interface EditorSession {
121
98
  readonly registry: Registry;
122
99
  /**
123
100
  * Loads an image, optionally resuming a saved state. On failure the session
124
- * stays on the previous image: the state, the renderer and the bytes for
125
- * server renders keep describing it. When a newer `load` starts before this
126
- * one finishes, this one rejects with `ABORTED` and the newer one wins.
101
+ * stays on the previous image: the state and the renderer keep describing
102
+ * it. When a newer `load` starts before this one finishes, this one rejects
103
+ * with `ABORTED` and the newer one wins.
127
104
  */
128
105
  load(source: LoadSource, options?: LoadOptions): Promise<SourceDescriptor>;
129
106
  dispatch(op: Operation): void;
@@ -155,7 +132,7 @@ export interface EditorSession {
155
132
  */
156
133
  setPreviewTransform(transform: ((log: EditLog) => EditLog) | null): void;
157
134
  /**
158
- * Renders a proxy-sized image from the current log, transformed, and returns
135
+ * Renders a working-copy-sized image from the current log, transformed, and returns
159
136
  * it without touching the stage, the state or the history. Tools use it to
160
137
  * show what an edit the user has not made yet would look like: the filter
161
138
  * tool renders its thumbnails from the log with the filter removed, so a
@@ -173,46 +150,19 @@ export interface EditorSession {
173
150
  id?: string;
174
151
  url?: string;
175
152
  }): Promise<AssetDeclaration>;
153
+ /**
154
+ * Renders the full resolution in the browser. Throws `NOT_RESIDENT` when the
155
+ * image is above `maxClientMegapixels`: the host then renders the original
156
+ * elsewhere, from the log that `getEditLog()` returns.
157
+ */
176
158
  export(options: ExportOptions): Promise<ExportResult>;
159
+ /** Exports like `export` and hands the file to `saveFile`. */
177
160
  download(options?: DownloadOptions): Promise<{
178
161
  filename: string;
179
- result: ExportResult | ServerRenderResult;
162
+ result: ExportResult;
180
163
  }>;
181
- /**
182
- * Renders on the server from the original bytes (inline) or a host-provided
183
- * source reference. With `destination: 's3'` the server stores the object and
184
- * returns its key and presigned url; otherwise the bytes come back.
185
- */
186
- requestServerRender(options: ServerRenderOptions): Promise<ServerRenderResult>;
187
164
  dispose(): void;
188
165
  }
189
- export interface ServerRenderOptions extends ExportOptions {
190
- /** Defaults to the loaded bytes sent inline. Hosts that uploaded the original pass its reference. */
191
- source?: {
192
- kind: 's3';
193
- bucket?: string;
194
- key: string;
195
- } | {
196
- kind: 'url';
197
- url: string;
198
- };
199
- destination?: 's3' | 'response';
200
- endpoint?: string;
201
- }
202
- export interface ServerRenderResult {
203
- /** Present for `destination: 'response'`. */
204
- bytes?: Uint8Array;
205
- /** Present for `destination: 's3'`. */
206
- url?: string | null;
207
- objectKey?: string;
208
- bucket?: string;
209
- hash: string;
210
- width: number;
211
- height: number;
212
- mimeType: OutputOptions['format'];
213
- cached: boolean;
214
- jobKey: string;
215
- }
216
166
  export declare function createEditorSession(options: SessionOptions): EditorSession;
217
167
  /** Default `saveFile`: an `<a download>` click, with the share sheet as a fallback on iOS Safari. */
218
168
  export declare function browserSaveFile(bytes: Uint8Array, filename: string, mimeType: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -2,7 +2,6 @@ import { webCryptoSha256, withAssets } from './assets.js';
2
2
  import { compile } from './compile.js';
3
3
  import { SealpixelError } from './errors.js';
4
4
  import * as hist from './history.js';
5
- import { readImageSize } from './image-size.js';
6
5
  import { InlineRenderer } from './inline-renderer.js';
7
6
  import { createRegistry } from './registry.js';
8
7
  const hashMismatch = () => new SealpixelError('SOURCE_MISMATCH', 'the saved edit log belongs to a different image (hash differs)');
@@ -15,16 +14,15 @@ const EXT = {
15
14
  export function createEditorSession(options) {
16
15
  const registry = createRegistry(options.plugins);
17
16
  const maxClientMegapixels = options.limits?.maxClientMegapixels ?? 16;
18
- const maxClientBytes = options.limits?.maxClientBytes ?? 20e6;
17
+ const maxClientBytes = options.limits?.maxClientBytes ?? 50e6;
19
18
  const renderer = options.renderer ??
20
19
  new InlineRenderer({
21
20
  plugins: options.plugins,
22
21
  maxClientMegapixels,
23
- proxyMaxSide: options.proxy?.maxSide ?? 2048,
22
+ workingCopyMaxSide: options.workingCopy?.maxSide ?? 2048,
24
23
  });
25
24
  // A renderer handed in by the host outlives this session: hosts reuse it across sessions.
26
25
  const ownsRenderer = options.renderer === undefined;
27
- const proxyStrategy = options.proxy?.strategy ?? 'auto';
28
26
  const debounceMs = options.preview?.debounceMs ?? 80;
29
27
  const previewEnabled = options.preview?.enabled ?? true;
30
28
  const listeners = new Set();
@@ -47,9 +45,9 @@ export function createEditorSession(options) {
47
45
  };
48
46
  let previewTransform = null;
49
47
  /**
50
- * The image that `state.source` describes and the renderer holds: its
51
- * original bytes for server renders, and its upload, so a proxy and a render
52
- * share one copy. Changes only together with `state.source`.
48
+ * The image that `state.source` describes and the renderer holds, with its
49
+ * original bytes to restore the renderer after a failed load. Changes only
50
+ * together with `state.source`.
53
51
  */
54
52
  let committed = null;
55
53
  /** Increments on every `load`. A load that sees a newer one gives up. */
@@ -119,12 +117,12 @@ export function createEditorSession(options) {
119
117
  const log = previewTransform ? previewTransform(base) : base;
120
118
  try {
121
119
  const [image, geometry, viewGeometry] = await Promise.all([
122
- withAssets(() => renderer.render({ log, target: 'proxy', signal: controller.signal }), resolver, (id, bytes) => renderer.putAsset(id, bytes)),
120
+ withAssets(() => renderer.render({ log, target: 'workingCopy', signal: controller.signal }), resolver, (id, bytes) => renderer.putAsset(id, bytes)),
123
121
  // Geometry always describes the real output, even when a preview
124
122
  // transform shows something else on the stage.
125
- renderer.geometry({ log: base, target: 'proxy' }),
123
+ renderer.geometry({ log: base, target: 'workingCopy' }),
126
124
  // The stage needs the geometry of what it shows to keep the view steady.
127
- previewTransform ? renderer.geometry({ log, target: 'proxy' }) : null,
125
+ previewTransform ? renderer.geometry({ log, target: 'workingCopy' }) : null,
128
126
  ]);
129
127
  if (disposed || controller.signal.aborted || version !== state.version) {
130
128
  // With previews disabled no later render clears `inflight`, so a stale
@@ -160,7 +158,7 @@ export function createEditorSession(options) {
160
158
  const log = transform(hist.current(state.history));
161
159
  return withAssets(() => renderer.render({
162
160
  log,
163
- target: 'proxy',
161
+ target: 'workingCopy',
164
162
  ...(options?.signal ? { signal: options.signal } : {}),
165
163
  }), resolver, (id, bytes) => renderer.putAsset(id, bytes));
166
164
  }
@@ -182,117 +180,12 @@ export function createEditorSession(options) {
182
180
  return { bytes: new Uint8Array(await source.arrayBuffer()), name };
183
181
  }
184
182
  /**
185
- * Decodes client-side when the image is within the limits or the strategy
186
- * says so; otherwise asks the server for a deterministic proxy.
183
+ * Decodes the original in WebAssembly. The renderer keeps the full image
184
+ * only within `maxClientMegapixels`; the preview always uses the working copy.
187
185
  */
188
- async function loadInto(bytes, id, upload) {
189
- const megapixels = estimateMegapixels(bytes);
190
- const useServer = proxyStrategy === 'server' ||
191
- (proxyStrategy === 'auto' &&
192
- megapixels !== null &&
193
- megapixels > maxClientMegapixels &&
194
- options.server !== undefined);
195
- if (useServer && options.server) {
196
- const source = await sourceFor(bytes, options.server.endpoint, upload);
197
- const res = await serverFetch({
198
- source,
199
- mode: 'proxy',
200
- proxyMaxSide: options.proxy?.maxSide ?? 2048,
201
- sourceId: id,
202
- // A named source has to be claimed by its hash; the bytes are right
203
- // here, so this costs nothing and an inline source ignores it.
204
- ...(source.kind === 's3' ? { sourceHash: await webCryptoSha256(bytes) } : {}),
205
- });
206
- const descriptor = JSON.parse(res.headers.get('x-sealpixel-descriptor') ?? '{}');
207
- const proxyPng = new Uint8Array(await res.arrayBuffer());
208
- return renderer.loadProxyEncoded(proxyPng, { ...descriptor, id });
209
- }
186
+ function loadInto(bytes, id) {
210
187
  return renderer.load(bytes, id, { maxClientMegapixels });
211
188
  }
212
- /**
213
- * Where the upload route lives, given the render endpoint. A trailing
214
- * `/render` becomes `/upload`, because a host that names one route usually
215
- * names the other beside it; anything else gets `/upload` appended, which is
216
- * what a bare function url needs.
217
- */
218
- function uploadEndpointFor(endpoint) {
219
- if (options.server?.uploadEndpoint)
220
- return options.server.uploadEndpoint;
221
- return endpoint.endsWith('/render')
222
- ? `${endpoint.slice(0, -'/render'.length)}/upload`
223
- : `${endpoint.replace(/\/$/, '')}/upload`;
224
- }
225
- /**
226
- * Puts the original in the endpoint's store and remembers the reference, so a
227
- * proxy request and the render that follows it upload once between them.
228
- *
229
- * Returns null when the endpoint has no upload route, which leaves the caller
230
- * to send the original inline as before. Any other failure throws: sending
231
- * megabytes inline after an upload failed only trades one error for a more
232
- * confusing one.
233
- */
234
- async function ensureUploaded(bytes, endpoint, upload) {
235
- if (upload.source)
236
- return upload.source;
237
- const doFetch = options.server?.fetch ?? fetch;
238
- let contentType = 'application/octet-stream';
239
- try {
240
- contentType = readImageSize(bytes).mimeType ?? contentType;
241
- }
242
- catch {
243
- // Unrecognised header: let the route decide whether it takes this.
244
- }
245
- const ticketRes = await doFetch(uploadEndpointFor(endpoint), {
246
- method: 'POST',
247
- headers: { 'content-type': 'application/json', ...(options.server?.headers ?? {}) },
248
- body: JSON.stringify({ contentType, bytes: bytes.byteLength }),
249
- });
250
- // No route here, or a store that cannot sign one.
251
- if (ticketRes.status === 404 || ticketRes.status === 501)
252
- return null;
253
- if (!ticketRes.ok) {
254
- const detail = (await ticketRes.json().catch(() => ({})));
255
- throw new SealpixelError(detail.error ?? 'SERVER_ERROR', String(detail.message ?? `upload ticket refused with HTTP ${ticketRes.status}`));
256
- }
257
- const ticket = (await ticketRes.json());
258
- const form = new FormData();
259
- // The file goes last. A presigned POST policy ignores anything after it.
260
- for (const [name, value] of Object.entries(ticket.fields))
261
- form.append(name, value);
262
- form.append('file', new Blob([bytes], { type: contentType }));
263
- const put = await doFetch(ticket.url, { method: 'POST', body: form });
264
- if (!put.ok)
265
- throw new SealpixelError('SERVER_ERROR', `the store refused the upload with HTTP ${put.status}`);
266
- upload.source = { kind: 's3', bucket: ticket.bucket, key: ticket.key };
267
- return upload.source;
268
- }
269
- /** The source for a server call: the uploaded reference when it is worth one, else inline. */
270
- async function sourceFor(bytes, endpoint, upload) {
271
- const over = options.server?.uploadOver ?? 4_000_000;
272
- if (bytes.byteLength > over) {
273
- const uploaded = await ensureUploaded(bytes, endpoint, upload);
274
- if (uploaded)
275
- return uploaded;
276
- }
277
- return { kind: 'inline', base64: toBase64(bytes) };
278
- }
279
- async function serverFetch(body, endpoint = options.server?.endpoint) {
280
- if (!endpoint)
281
- throw new SealpixelError('NOT_CONFIGURED', 'no server endpoint configured');
282
- const doFetch = options.server?.fetch ?? fetch;
283
- const res = await doFetch(endpoint, {
284
- method: 'POST',
285
- headers: { 'content-type': 'application/json', ...(options.server?.headers ?? {}) },
286
- body: JSON.stringify(body),
287
- });
288
- if (!res.ok) {
289
- const detail = (await res
290
- .json()
291
- .catch(() => ({ error: 'SERVER_ERROR', message: `HTTP ${res.status}` })));
292
- throw new SealpixelError(detail.error ?? 'SERVER_ERROR', String(detail.message ?? `HTTP ${res.status}`), detail.details);
293
- }
294
- return res;
295
- }
296
189
  function resolveSavedState(saved) {
297
190
  const wrapped = saved;
298
191
  const raw = wrapped && typeof wrapped === 'object' && 'log' in wrapped ? wrapped.log : saved;
@@ -316,7 +209,7 @@ export function createEditorSession(options) {
316
209
  if (!committed)
317
210
  return;
318
211
  try {
319
- await loadInto(committed.bytes, committed.id, committed.upload);
212
+ await loadInto(committed.bytes, committed.id);
320
213
  }
321
214
  catch {
322
215
  committed = null;
@@ -378,8 +271,7 @@ export function createEditorSession(options) {
378
271
  return await exclusive(async () => {
379
272
  if (superseded())
380
273
  throw supersededError();
381
- const upload = { source: null };
382
- const loaded = await loadInto(bytes, id, upload);
274
+ const loaded = await loadInto(bytes, id);
383
275
  // The renderer holds the new image now. Until the state commits to
384
276
  // it, any failure puts the renderer back on the committed image.
385
277
  try {
@@ -395,7 +287,7 @@ export function createEditorSession(options) {
395
287
  ops: [],
396
288
  });
397
289
  const document = compile(hist.current(history), registry);
398
- committed = { bytes, id, upload };
290
+ committed = { bytes, id };
399
291
  set({
400
292
  status: 'ready',
401
293
  source: descriptor,
@@ -512,7 +404,7 @@ export function createEditorSession(options) {
512
404
  async export(exportOptions) {
513
405
  ensureReady();
514
406
  if (!state.resident) {
515
- throw new SealpixelError('NOT_RESIDENT', 'full-resolution pixels are not client-side; use requestServerRender');
407
+ throw new SealpixelError('NOT_RESIDENT', `the image is larger than maxClientMegapixels (${maxClientMegapixels}), so its full resolution is not in the browser; render the original outside the browser with the log from getEditLog()`);
516
408
  }
517
409
  const log = state.history.log;
518
410
  const upTo = exportOptions.upTo ?? state.history.index;
@@ -532,8 +424,6 @@ export function createEditorSession(options) {
532
424
  async download(downloadOptions = {}) {
533
425
  ensureReady();
534
426
  const output = downloadOptions.output ?? { format: 'image/png' };
535
- const via = downloadOptions.via ?? 'auto';
536
- const useServer = via === 'server' || (via === 'auto' && !state.resident);
537
427
  const exportOptions = {
538
428
  output,
539
429
  ...(downloadOptions.embedEditLog === undefined
@@ -542,67 +432,12 @@ export function createEditorSession(options) {
542
432
  ...(downloadOptions.upTo === undefined ? {} : { upTo: downloadOptions.upTo }),
543
433
  };
544
434
  const save = options.saveFile ?? browserSaveFile;
545
- if (useServer) {
546
- const result = await session.requestServerRender({
547
- ...exportOptions,
548
- destination: 'response',
549
- });
550
- const filename = downloadOptions.filename ??
551
- `${state.source?.id ?? 'image'}-${result.hash.slice(0, 8)}.${EXT[output.format]}`;
552
- await save(result.bytes, filename, result.mimeType);
553
- return { filename, result };
554
- }
555
435
  const result = await session.export(exportOptions);
556
436
  const filename = downloadOptions.filename ??
557
437
  `${state.source?.id ?? 'image'}-${result.hash.slice(0, 8)}.${EXT[output.format]}`;
558
438
  await save(result.bytes, filename, result.mimeType);
559
439
  return { filename, result };
560
440
  },
561
- async requestServerRender(renderOptions) {
562
- ensureReady();
563
- const endpoint = renderOptions.endpoint ?? options.server?.endpoint;
564
- if (!endpoint)
565
- throw new SealpixelError('NOT_CONFIGURED', 'no server endpoint configured');
566
- const source = renderOptions.source ??
567
- (committed ? await sourceFor(committed.bytes, endpoint, committed.upload) : null);
568
- if (!source)
569
- throw new SealpixelError('NO_SOURCE', 'original bytes are not available; pass a source reference');
570
- const destination = renderOptions.destination ?? 'response';
571
- const body = {
572
- source,
573
- editLog: state.history.log,
574
- output: renderOptions.output,
575
- upTo: renderOptions.upTo ?? state.history.index,
576
- ...(renderOptions.embedEditLog ? { embedEditLog: true } : {}),
577
- destination: { kind: destination },
578
- };
579
- const res = await serverFetch(body, endpoint);
580
- if (destination === 's3') {
581
- const job = (await res.json());
582
- return {
583
- url: job.url,
584
- objectKey: job.objectKey,
585
- bucket: job.bucket,
586
- hash: job.hash,
587
- width: job.width,
588
- height: job.height,
589
- mimeType: job.mimeType,
590
- cached: job.cached,
591
- jobKey: job.key,
592
- };
593
- }
594
- const bytes = new Uint8Array(await res.arrayBuffer());
595
- return {
596
- bytes,
597
- hash: res.headers.get('x-sealpixel-hash') ?? '',
598
- width: state.preview?.geometry.logicalOut.width ?? 0,
599
- height: state.preview?.geometry.logicalOut.height ?? 0,
600
- mimeType: res.headers.get('content-type') ??
601
- renderOptions.output.format,
602
- cached: res.headers.get('x-sealpixel-cached') === 'true',
603
- jobKey: res.headers.get('x-sealpixel-job') ?? '',
604
- };
605
- },
606
441
  dispose() {
607
442
  disposed = true;
608
443
  if (timer)
@@ -648,21 +483,4 @@ export async function browserSaveFile(bytes, filename, mimeType) {
648
483
  setTimeout(() => URL.revokeObjectURL(url), 10_000);
649
484
  }
650
485
  }
651
- function estimateMegapixels(bytes) {
652
- try {
653
- const { width, height } = readImageSize(bytes);
654
- return (width * height) / 1e6;
655
- }
656
- catch {
657
- return null;
658
- }
659
- }
660
- function toBase64(bytes) {
661
- if (typeof Buffer !== 'undefined')
662
- return Buffer.from(bytes).toString('base64');
663
- let bin = '';
664
- for (let i = 0; i < bytes.length; i += 0x8000)
665
- bin += String.fromCharCode(...bytes.subarray(i, i + 0x8000));
666
- return btoa(bin);
667
- }
668
486
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -80,7 +80,7 @@ export interface RenderOptions {
80
80
  output: OutputOptions;
81
81
  /**
82
82
  * `truth` (default) requires the buffer to have the logical source
83
- * dimensions. `preview` accepts a proxy and scales lengths accordingly.
83
+ * dimensions. `preview` accepts a working copy and scales lengths accordingly.
84
84
  */
85
85
  mode?: 'truth' | 'preview';
86
86
  /** Render only `ops[0..upTo)`. Defaults to all ops. */
@@ -17,12 +17,12 @@ export type WorkerRequest = {
17
17
  options?: RendererLoadOptions;
18
18
  } | {
19
19
  id: number;
20
- type: 'loadProxy';
21
- proxy: RgbaBuffer;
20
+ type: 'loadWorkingCopy';
21
+ workingCopy: RgbaBuffer;
22
22
  descriptor: SourceDescriptor;
23
23
  } | {
24
24
  id: number;
25
- type: 'loadProxyEncoded';
25
+ type: 'loadWorkingCopyEncoded';
26
26
  bytes: Uint8Array;
27
27
  descriptor: SourceDescriptor;
28
28
  } | {
@@ -37,7 +37,7 @@ export type WorkerRequest = {
37
37
  id: number;
38
38
  type: 'geometry';
39
39
  log: RenderRequest['log'];
40
- target: 'proxy' | 'full';
40
+ target: 'workingCopy' | 'full';
41
41
  upTo?: number;
42
42
  } | {
43
43
  id: number;
@@ -71,8 +71,8 @@ export type ResultOf = {
71
71
  plugins: Record<string, number>;
72
72
  };
73
73
  load: LoadedSource;
74
- loadProxy: LoadedSource;
75
- loadProxyEncoded: LoadedSource;
74
+ loadWorkingCopy: LoadedSource;
75
+ loadWorkingCopyEncoded: LoadedSource;
76
76
  render: RgbaBuffer;
77
77
  export: ExportResult;
78
78
  geometry: Geometry;