@gmitch215/tinyimg 1.0.0 → 1.1.1

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/text.js ADDED
@@ -0,0 +1,307 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { Image, mimeFor } from './image.js';
54
+ import { readColor, readSource } from './types.js';
55
+ const ALIGN = { left: 0, center: 1, right: 2, justify: 3 };
56
+ const VALIGN = { top: 0, middle: 1, bottom: 2 };
57
+ const OVERFLOW = { clip: 0, ellipsis: 1 };
58
+ function writeStyle(module, style, channels) {
59
+ const at = module.alloc(module.exports.tiny_text_style_sizeof());
60
+ const view = module.view();
61
+ module.exports.tiny_text_style(at, style.size);
62
+ view.setFloat32(at + 4, style.tracking ?? 0, true);
63
+ view.setFloat32(at + 8, style.lineHeight ?? 1, true);
64
+ view.setFloat32(at + 12, style.stroke ?? 0, true);
65
+ view.setFloat32(at + 16, style.shadow?.x ?? 0, true);
66
+ view.setFloat32(at + 20, style.shadow?.y ?? 0, true);
67
+ view.setFloat32(at + 24, style.shadow?.blur ?? 0, true);
68
+ view.setUint8(at + 28, style.kerning === false ? 0 : 1);
69
+ const bytes = new Uint8Array(module.exports.memory.buffer);
70
+ bytes.set(readColor(style.strokeColor ?? [0, 0, 0, 255], 4), at + 29);
71
+ bytes.set(readColor(style.shadow?.color ?? [0, 0, 0, 255], 4), at + 33);
72
+ void channels;
73
+ return at;
74
+ }
75
+ function writeBox(module, box) {
76
+ const at = module.alloc(module.exports.tiny_text_box_sizeof());
77
+ const view = module.view();
78
+ view.setUint32(at, Math.max(0, Math.round(box?.width ?? 0)), true);
79
+ view.setUint32(at + 4, Math.max(0, Math.round(box?.height ?? 0)), true);
80
+ view.setUint32(at + 8, ALIGN[box?.align ?? 'left'], true);
81
+ view.setUint32(at + 12, VALIGN[box?.valign ?? 'top'], true);
82
+ view.setUint32(at + 16, OVERFLOW[box?.overflow ?? 'clip'], true);
83
+ return at;
84
+ }
85
+ function readLine(module, at) {
86
+ const view = module.view();
87
+ return {
88
+ at: view.getUint32(at, true),
89
+ length: view.getUint32(at + 4, true),
90
+ width: view.getFloat32(at + 8, true),
91
+ x: view.getFloat32(at + 12, true),
92
+ y: view.getFloat32(at + 16, true),
93
+ baseline: view.getFloat32(at + 20, true),
94
+ glyphs: view.getUint32(at + 24, true),
95
+ missing: view.getUint32(at + 28, true),
96
+ clipped: view.getUint8(at + 32) !== 0,
97
+ ellipsized: view.getUint8(at + 33) !== 0
98
+ };
99
+ }
100
+ export class Font {
101
+ #module;
102
+ #font;
103
+ #alive = true;
104
+ constructor(module, font) {
105
+ this.#module = module;
106
+ this.#font = font;
107
+ }
108
+ static load(module, id) {
109
+ const font = module.alloc(module.exports.tiny_font_sizeof());
110
+ const name = id === undefined ? 0 : module.writeString(id);
111
+ try {
112
+ module.check(module.exports.tiny_font_load(font, name), `load the font '${id ?? ''}'`);
113
+ }
114
+ catch (error) {
115
+ module.free(font);
116
+ throw error;
117
+ }
118
+ finally {
119
+ if (name !== 0)
120
+ module.free(name);
121
+ }
122
+ return new Font(module, font);
123
+ }
124
+ get pointer() {
125
+ if (!this.#alive)
126
+ throw new TypeError('the font has been disposed');
127
+ return this.#font;
128
+ }
129
+ has(codepoint) {
130
+ return this.#module.exports.tiny_font_has_glyph(this.pointer, codepoint) === 1;
131
+ }
132
+ dispose() {
133
+ if (!this.#alive)
134
+ return;
135
+ this.#module.exports.tiny_font_free(this.#font);
136
+ this.#module.free(this.#font);
137
+ this.#alive = false;
138
+ }
139
+ [Symbol.dispose]() {
140
+ this.dispose();
141
+ }
142
+ }
143
+ export async function og(module, options = {}) {
144
+ const width = Math.max(1, Math.round(options.width ?? 1200));
145
+ const height = Math.max(1, Math.round(options.height ?? 630));
146
+ const padding = Math.max(0, Math.round(options.padding ?? 64));
147
+ const titleSize = options.titleSize ?? Math.round(height / 10);
148
+ const subtitleSize = options.subtitleSize ?? Math.round(titleSize * 0.4);
149
+ const footerSize = options.footerSize ?? Math.round(titleSize * 0.25);
150
+ const color = readColor(options.color ?? '#ffffff', 4);
151
+ const muted = options.mutedColor === undefined ? color : readColor(options.mutedColor, 4);
152
+ const image = module.alloc(module.exports.tiny_image_sizeof());
153
+ const writer = module.alloc(module.exports.tiny_writer_sizeof());
154
+ let truncated = false;
155
+ let missing = 0;
156
+ try {
157
+ const env_1 = { stack: [], error: void 0, hasError: false };
158
+ try {
159
+ if (options.image) {
160
+ const env_2 = { stack: [], error: void 0, hasError: false };
161
+ try {
162
+ const base = __addDisposableResource(env_2, await Image.open(module, await readSource(options.image)), false);
163
+ base.autoOrient().fit(width, height, { fit: 'cover' });
164
+ const raw = await base.pixels();
165
+ module.check(module.exports.tiny_image_create(image, width, height, 4), 'create the card');
166
+ const target = new Uint8Array(module.exports.memory.buffer);
167
+ const at = module.exports.tiny_image_getdata(image);
168
+ if (raw.channels === 4) {
169
+ target.set(raw.pixels, at);
170
+ }
171
+ else {
172
+ for (let i = 0; i < raw.width * raw.height; i++) {
173
+ const from = i * raw.channels;
174
+ target[at + i * 4] = raw.pixels[from];
175
+ target[at + i * 4 + 1] = raw.pixels[from + (raw.channels > 2 ? 1 : 0)];
176
+ target[at + i * 4 + 2] = raw.pixels[from + (raw.channels > 2 ? 2 : 0)];
177
+ target[at + i * 4 + 3] = 255;
178
+ }
179
+ }
180
+ }
181
+ catch (e_1) {
182
+ env_2.error = e_1;
183
+ env_2.hasError = true;
184
+ }
185
+ finally {
186
+ __disposeResources(env_2);
187
+ }
188
+ }
189
+ else {
190
+ module.check(module.exports.tiny_image_create(image, width, height, 4), 'create the card');
191
+ if (options.background !== undefined) {
192
+ const fill = module.alloc(4);
193
+ new Uint8Array(module.exports.memory.buffer).set(readColor(options.background, 4), fill);
194
+ try {
195
+ module.check(module.exports.tiny_image_fill_rectangle(image, 0, 0, width, height, fill), 'fill the background');
196
+ }
197
+ finally {
198
+ module.free(fill);
199
+ }
200
+ }
201
+ }
202
+ const font = __addDisposableResource(env_1, Font.load(module, options.font), false);
203
+ const inner = width - 2 * padding;
204
+ const shadow = options.shadow ?? true;
205
+ const styleOf = (size) => ({
206
+ size,
207
+ lineHeight: 1.15,
208
+ ...(shadow
209
+ ? { shadow: { x: 0, y: Math.max(1, Math.round(size / 16)), blur: size / 12 } }
210
+ : {})
211
+ });
212
+ let cursor = padding;
213
+ if (options.title) {
214
+ cursor = drawBlock(module, image, font, options.title, padding, cursor, inner, Math.round(titleSize * 1.15 * 3), styleOf(titleSize), color, (line) => {
215
+ missing += line.missing;
216
+ if (line.ellipsized)
217
+ truncated = true;
218
+ });
219
+ cursor = Math.round(cursor + titleSize * 0.1);
220
+ }
221
+ if (options.subtitle) {
222
+ cursor = drawBlock(module, image, font, options.subtitle, padding, cursor, inner, Math.round(subtitleSize * 1.15 * 3), styleOf(subtitleSize), muted);
223
+ }
224
+ if (options.footer) {
225
+ drawBlock(module, image, font, options.footer, padding, height - padding - Math.round(footerSize * 1.4), inner, Math.round(footerSize * 1.4), styleOf(footerSize), muted);
226
+ }
227
+ const format = options.format ?? 'png';
228
+ const encode = options.encode ?? {};
229
+ module.check(module.exports.tiny_writer_init(writer, 0), 'prepare the encoder');
230
+ const opts = module.alloc(module.exports.tiny_encode_opts_sizeof());
231
+ const view = module.view();
232
+ view.setUint8(opts, encode.quality ?? 0);
233
+ view.setUint8(opts + 1, encode.lossless ? 1 : 0);
234
+ view.setUint8(opts + 2, encode.progressive ? 1 : 0);
235
+ view.setUint8(opts + 3, encode.stripMetadata ? 1 : 0);
236
+ view.setUint8(opts + 4, encode.effort === 'fast' ? 1 : 0);
237
+ view.setUint8(opts + 5, 0);
238
+ try {
239
+ module.check(module.exports.tiny_image_encode(image, module.formatId(format), opts, writer), 'encode the card');
240
+ const data = module.copyOut(module.exports.tiny_writer_data(writer), module.exports.tiny_writer_size(writer));
241
+ const contentType = mimeFor(format);
242
+ return {
243
+ data,
244
+ format,
245
+ contentType,
246
+ width,
247
+ height,
248
+ titleTruncated: truncated,
249
+ missingGlyphs: missing,
250
+ response: (headers) => {
251
+ const merged = new Headers(headers);
252
+ merged.set('content-type', contentType);
253
+ merged.set('content-length', String(data.byteLength));
254
+ return new Response(data, { headers: merged });
255
+ }
256
+ };
257
+ }
258
+ finally {
259
+ module.free(opts);
260
+ module.exports.tiny_writer_free(writer);
261
+ }
262
+ }
263
+ catch (e_2) {
264
+ env_1.error = e_2;
265
+ env_1.hasError = true;
266
+ }
267
+ finally {
268
+ __disposeResources(env_1);
269
+ }
270
+ }
271
+ finally {
272
+ module.exports.tiny_image_destroy(image);
273
+ module.free(image);
274
+ module.free(writer);
275
+ }
276
+ }
277
+ function drawBlock(module, image, font, content, x, y, width, height, style, color, each) {
278
+ const at = writeStyle(module, style, 4);
279
+ const box = writeBox(module, { width, height, overflow: 'ellipsis' });
280
+ const text = module.writeString(content);
281
+ const fill = module.alloc(4);
282
+ const lines = module.alloc(module.exports.tiny_text_line_sizeof() * 4);
283
+ const count = module.alloc(4);
284
+ try {
285
+ new Uint8Array(module.exports.memory.buffer).set(color, fill);
286
+ module.check(module.exports.tiny_image_draw_text_in(image, font.pointer, text, x, y, box, at, fill), 'draw the text');
287
+ module.check(module.exports.tiny_text_lines(font.pointer, text, box, at, lines, 4, count), 'measure the text');
288
+ const total = Math.min(module.view().getUint32(count, true), 4);
289
+ let bottom = y;
290
+ for (let i = 0; i < total; i++) {
291
+ const line = readLine(module, lines + i * module.exports.tiny_text_line_sizeof());
292
+ each?.(line);
293
+ if (!line.clipped)
294
+ bottom = y + line.y + style.size * (style.lineHeight ?? 1);
295
+ }
296
+ return Math.round(bottom + style.size * 0.4);
297
+ }
298
+ finally {
299
+ module.free(count);
300
+ module.free(lines);
301
+ module.free(fill);
302
+ module.free(text);
303
+ module.free(box);
304
+ module.free(at);
305
+ }
306
+ }
307
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/ts/text.ts"],"names":[],"mappings":"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"}
package/dist/tinyimg.wasm CHANGED
Binary file
@@ -26,6 +26,22 @@ export interface TransformResult {
26
26
  * discover, by serving the original or by asking for a request that passes through.
27
27
  */
28
28
  readonly flattened: boolean;
29
+ /**
30
+ * What the planner gave up to fit `budgetMs`, by name.
31
+ *
32
+ * Empty when no budget was given, when the request already fit, and on a pass-through, which
33
+ * costs a header read and never needs a lever. `'effort'` means the decode ran fast; `'filter'`
34
+ * means a filter left open went to nearest, and `'scale'` means the decoder was asked for a
35
+ * further reduction and the result is softer. Changing container is not degrading and is
36
+ * reported by {@link TransformResult.format} instead.
37
+ *
38
+ * `'compression'` is the one that costs bytes rather than fidelity: a lossless output's
39
+ * compressor was turned down because the encoder alone was over budget. It never appears when
40
+ * {@link TransformOptions.compression} named a level.
41
+ *
42
+ * The same lossy-outcome-you-may-want-to-refuse shape as {@link TransformResult.flattened}.
43
+ */
44
+ readonly degraded: readonly string[];
29
45
  /** The encoded bytes. */
30
46
  bytes(): Uint8Array<ArrayBuffer>;
31
47
  /** The bytes as a `Blob`, typed. */
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/ts/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA+B,MAAM,YAAY,CAAC;AAChE,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B,yBAAyB;IACzB,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,oCAAoC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC1C,kCAAkC;IAClC,OAAO,IAAI,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,gKAeD,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK,CA2CpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,SAAS,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAsC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,EAC9B,MAAM,SAA6B,GACjC,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAgND,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/ts/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAA+B,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,yBAAyB;IACzB,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,oCAAoC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC1C,kCAAkC;IAClC,OAAO,IAAI,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,gKAeD,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK,CA2CpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,SAAS,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAsG1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,EAC9B,MAAM,SAA6B,GACjC,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAuND,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC"}
package/dist/transform.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Image, mimeFor } from './image.js';
1
+ import { COMPRESSION, Image, mimeFor } from './image.js';
2
2
  import { readSource } from './types.js';
3
3
  const ORDER = [
4
4
  'crop',
@@ -70,9 +70,24 @@ export async function transform(module, source, options = {}) {
70
70
  return passed;
71
71
  const image = await Image.open(module, bytes);
72
72
  try {
73
+ image.autoOrient();
73
74
  apply(image, options);
74
- const decided = image.decide();
75
+ let decided = image.decide();
75
76
  const format = chooseFormat(module, image, options, decided);
77
+ let compression = options.compression;
78
+ if (options.budgetMs !== undefined) {
79
+ const priced = (level) => module.exports.tiny_encode_cost_at(FORMAT_ID[format], decided.output.width, decided.output.height, COMPRESSION.indexOf(level)) / 1000;
80
+ if (compression === undefined && priced('none') < priced('default')) {
81
+ for (const level of ['default', 'fast', 'none']) {
82
+ compression = level;
83
+ if (options.budgetMs - priced(level) > 0)
84
+ break;
85
+ }
86
+ }
87
+ const encodeMs = priced(compression ?? 'auto');
88
+ image.budget(Math.max(0.001, options.budgetMs - encodeMs));
89
+ decided = image.decide();
90
+ }
76
91
  const encode = {
77
92
  ...(options.quality === undefined ? {} : { quality: options.quality }),
78
93
  ...(options.lossless === undefined ? {} : { lossless: options.lossless }),
@@ -80,10 +95,16 @@ export async function transform(module, source, options = {}) {
80
95
  ...(options.metadata === undefined
81
96
  ? {}
82
97
  : { stripMetadata: options.metadata === 'none' }),
83
- ...(options.effort === undefined ? {} : { effort: options.effort })
98
+ ...(options.effort === undefined ? {} : { effort: options.effort }),
99
+ ...(compression === undefined ? {} : { compression })
84
100
  };
85
101
  const data = await image.bytes(format, encode);
86
- return result(data, format, decided.output.width, decided.output.height, image.sourceFrames > 1);
102
+ const gave_up = compression !== undefined &&
103
+ compression !== 'default' &&
104
+ options.compression === undefined
105
+ ? [...decided.degraded, 'compression']
106
+ : decided.degraded;
107
+ return result(data, format, decided.output.width, decided.output.height, image.sourceFrames > 1, gave_up);
87
108
  }
88
109
  finally {
89
110
  image.dispose();
@@ -146,18 +167,21 @@ async function passThrough(module, bytes, options) {
146
167
  const wanted = asked === 'auto' ? (module.has('webp') ? 'webp' : 'jpeg') : asked;
147
168
  if (wanted !== undefined && wanted !== info.format)
148
169
  return undefined;
170
+ const turned = info.orientation >= 5;
171
+ const shownWidth = turned ? info.height : info.width;
172
+ const shownHeight = turned ? info.width : info.height;
149
173
  const width = options.width;
150
174
  const height = options.height;
151
- if (width !== undefined && width < info.width)
175
+ if (width !== undefined && width < shownWidth)
152
176
  return undefined;
153
- if (height !== undefined && height < info.height)
177
+ if (height !== undefined && height < shownHeight)
154
178
  return undefined;
155
179
  if (width !== undefined && height !== undefined)
156
180
  return undefined;
157
181
  const view = bytes.buffer instanceof ArrayBuffer
158
182
  ? bytes
159
183
  : new Uint8Array(bytes);
160
- return result(view, info.format, info.width, info.height);
184
+ return result(view, info.format, shownWidth, shownHeight);
161
185
  }
162
186
  const FORMAT_ID = {
163
187
  png: 1,
@@ -191,7 +215,7 @@ function chooseFormat(module, image, options, decided) {
191
215
  }
192
216
  return source;
193
217
  }
194
- function result(data, format, width, height, flattened = false) {
218
+ function result(data, format, width, height, flattened = false, degraded = []) {
195
219
  const contentType = mimeFor(format);
196
220
  return {
197
221
  data,
@@ -200,6 +224,7 @@ function result(data, format, width, height, flattened = false) {
200
224
  width,
201
225
  height,
202
226
  flattened,
227
+ degraded,
203
228
  bytes: () => data,
204
229
  blob: () => new Blob([data], { type: contentType }),
205
230
  response: (headers) => {
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/ts/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAsB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAwD,MAAM,YAAY,CAAC;AA+C9F,MAAM,KAAK,GAAG;IACb,MAAM;IACN,eAAe;IACf,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,KAAK;IACL,OAAO;IACP,WAAW;IACX,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;CACG,CAAC;AAYX,MAAM,UAAU,KAAK,CAAC,KAAY,EAAE,OAAyB;IAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAE3F,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAGjD,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO;YAC3B,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACnE,CAAC,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACxD,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,SAAS;QAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAEnC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,OAAO,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,KAAK,CAAC;AACd,CAAC;AAuCD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,MAAqB,EACrB,MAAc,EACd,UAA4B,EAAE;IAI9B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEzD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE9C,IAAI,CAAC;QACJ,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAkB;YAC7B,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;gBACjC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACnE,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/C,OAAO,MAAM,CACZ,IAAI,EACJ,MAAM,EACN,OAAO,CAAC,MAAM,CAAC,KAAK,EACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EACrB,KAAK,CAAC,YAAY,GAAG,CAAC,CACtB,CAAC;IACH,CAAC;YAAS,CAAC;QACV,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;AACF,CAAC;AAuCD,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,MAAc,EACd,UAA4B,EAAE,EAC9B,MAAM,GAAG,0BAA0B;IAEnC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAClC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAIX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAChC,IAAI,EAAE;SACN,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAA6B,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,IAAI,GACT,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,CACd,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1D,CACD;YACF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElB,OAAO,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;AAC/D,CAAC;AAaD,MAAM,cAAc,GAAG;IACtB,MAAM;IACN,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,KAAK;IACL,OAAO;IACP,WAAW;IACX,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,YAAY;IACZ,SAAS;IACT,UAAU;IACV,aAAa;IACb,UAAU;IACV,KAAK;CACkD,CAAC;AAqBzD,KAAK,UAAU,WAAW,CACzB,MAAqB,EACrB,KAAiB,EACjB,OAAyB;IAEzB,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;IAClD,CAAC;IAED,IAAI,IAAI,CAAC;IAET,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QAER,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAErE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAChE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAGnE,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAGlE,MAAM,IAAI,GACT,KAAK,CAAC,MAAM,YAAY,WAAW;QAClC,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAGD,MAAM,SAAS,GAAgC;IAC9C,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACP,CAAC;AASF,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAA2D,CAAC;AAiB9F,SAAS,YAAY,CACpB,MAAqB,EACrB,KAAY,EACZ,OAAyB,EACzB,OAA0E;IAE1E,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzC,MAAM,IAAI,GAAG,CAAC,MAAmC,EAAE,EAAE,CACpD,OAAO,CAAC,UAAU;QAClB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE1E,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACtB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAE1B,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7C,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CACnC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CACxD,CAAC;QAGF,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,2DAA2D,CAAC,CAAC;IAClF,CAAC;IAGD,OAAO,MAAM,CAAC;AACf,CAAC;AAGD,SAAS,MAAM,CACd,IAA6B,EAC7B,MAAmB,EACnB,KAAa,EACb,MAAc,EACd,SAAS,GAAG,KAAK;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;QACN,IAAI;QACJ,MAAM;QACN,WAAW;QACX,KAAK;QACL,MAAM;QACN,SAAS;QACT,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;QACjB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACnD,QAAQ,EAAE,CAAC,OAAqB,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAEtD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACb,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAE7D,OAAO,QAAQ,WAAW,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,CAAC;KACD,CAAC;AACH,CAAC;AAED,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/ts/transform.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -112,11 +112,20 @@ export interface TransformOptions {
112
112
  budgetMs?: number;
113
113
  /** Quality for a lossy format, 1 through 100. */
114
114
  quality?: number;
115
+ /**
116
+ * How hard to compress a lossless stream, for PNG and deflate-compressed TIFF.
117
+ *
118
+ * Left unset, a `budgetMs` may turn it down to fit, which is the first lever it reaches:
119
+ * on a PNG output the encoder costs more than everything the planner controls, so softening
120
+ * the image to pay for the compressor would be the wrong trade. Naming a level here pins it,
121
+ * and the budget then degrades the plan instead.
122
+ */
123
+ compression?: 'auto' | 'none' | 'fast' | 'default' | 'best';
115
124
  /** Use a format's lossless mode where it has one. */
116
125
  lossless?: boolean;
117
126
  /** Write a progressive or interlaced stream. */
118
127
  progressive?: boolean;
119
- /** Whether to carry EXIF and other metadata into the output. Defaults to `keep`. */
128
+ /** Accepted for the encoders that write metadata. A transformation's output carries none. */
120
129
  metadata?: MetadataPolicy;
121
130
  }
122
131
  /** A rectangle in pixels. */
@@ -157,6 +166,13 @@ export interface ImageInfo {
157
166
  hasAlpha: boolean;
158
167
  /** Whether this is a progressive JPEG, which cannot stream a region. */
159
168
  progressive: boolean;
169
+ /**
170
+ * The EXIF orientation, 1 through 8, or 1 when there is none.
171
+ *
172
+ * Read from a JPEG header only; every other format reports 1. `width` and `height` are the
173
+ * stored extent, so a value of 5 through 8 means the image displays with them swapped.
174
+ */
175
+ orientation: number;
160
176
  }
161
177
  /** Decoded samples, with the extent they describe. */
162
178
  export interface RawImage {
@@ -215,6 +231,18 @@ export interface PlanDecision {
215
231
  * 0 when the source header could not be read.
216
232
  */
217
233
  estimateMs: number;
234
+ /**
235
+ * What the planner gave up to fit a budget, by name.
236
+ *
237
+ * Empty unless {@link Image.budget} was set and the estimate was over it. `'effort'` means the
238
+ * decode ran fast: a lossy decoder dropped its smoothing pass and an enlargement the caller
239
+ * left open stepped down a filter. `'filter'` means a filter left open went to nearest.
240
+ * `'scale'` means the decoder was asked for a further reduction, so the resample read fewer
241
+ * source samples than the output it produced and the result is softer.
242
+ *
243
+ * A caller who would rather fail than serve a softer image reads this and refuses.
244
+ */
245
+ degraded: string[];
218
246
  }
219
247
  /**
220
248
  * A failed call.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/ts/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/ts/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/ts/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/ts/types.ts"],"names":[],"mappings":"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"}