@idle-screens/schema 3.15.0 → 3.16.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/FORMAT.md +111 -59
- package/dist/index.d.ts +152 -19
- package/dist/index.js +513 -134
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/saver-spec.schema.json +11 -7
package/dist/index.d.ts
CHANGED
|
@@ -150,8 +150,8 @@ interface BackgroundDrift {
|
|
|
150
150
|
/**
|
|
151
151
|
* A paint-level transform applied to a whole layer at draw time, about the
|
|
152
152
|
* viewport centre: translate by (`x`, `y`) in `min(w, h)` units, rotate by
|
|
153
|
-
* `rotate` degrees, scale by `scale` (× `scaleX` horizontally
|
|
154
|
-
* toward 0 reads as a turn about the vertical axis). Kept out of the
|
|
153
|
+
* `rotate` degrees, scale by `scale` (× `scaleX` horizontally, × `scaleY`
|
|
154
|
+
* vertically — `scaleX` toward 0 reads as a turn about the vertical axis). Kept out of the
|
|
155
155
|
* structural signature, so it glides under steering, a `timeline` key or a
|
|
156
156
|
* `morph` — a camera for timed pieces, a slow drift for ambient ones. Every
|
|
157
157
|
* field optional; an empty transform is the identity. **Native:** ignored ⇒
|
|
@@ -162,9 +162,15 @@ interface LayerTransform {
|
|
|
162
162
|
y?: number;
|
|
163
163
|
scale?: number;
|
|
164
164
|
scaleX?: number;
|
|
165
|
+
/**
|
|
166
|
+
* Extra vertical scale, × `scale` (default 1; ±8, negative flips upside
|
|
167
|
+
* down). With `scaleX` it squashes and stretches: wide-and-short on a
|
|
168
|
+
* landing, narrow-and-tall on take-off.
|
|
169
|
+
*/
|
|
170
|
+
scaleY?: number;
|
|
165
171
|
rotate?: number;
|
|
166
172
|
/**
|
|
167
|
-
* What `scale` / `scaleX` / `rotate` turn about. `'viewport'` (default) is
|
|
173
|
+
* What `scale` / `scaleX` / `scaleY` / `rotate` turn about. `'viewport'` (default) is
|
|
168
174
|
* the viewport centre — a camera move. `'anchor'` is the layer's own
|
|
169
175
|
* `position` point (with `dx`/`dy`; for a `list`/`table` layout, the block's
|
|
170
176
|
* anchor; without `position`, the centre of its `region`) — a slam word
|
|
@@ -252,7 +258,7 @@ interface LayerSpec {
|
|
|
252
258
|
y?: [number, number];
|
|
253
259
|
};
|
|
254
260
|
/**
|
|
255
|
-
* Sinusoidal opacity breathing. SAFETY: amp is capped (LIMITS.maxPulseAmp),
|
|
261
|
+
* Sinusoidal opacity breathing (`amp: 0` is none). SAFETY: amp is capped (LIMITS.maxPulseAmp),
|
|
256
262
|
* period has a floor (LIMITS.minPulsePeriod — max 2 Hz), and every entity gets
|
|
257
263
|
* its own seeded phase, so a layer can never strobe in unison. Effective alpha
|
|
258
264
|
* is clamped to 0..1.
|
|
@@ -578,7 +584,9 @@ type SpriteSpec = {
|
|
|
578
584
|
* n-gon of the seeded `radius` (circumradius), point up; `points` (3..24
|
|
579
585
|
* unit coordinates in −1..1, scaled by the radius) draws any facet — a
|
|
580
586
|
* Picasso shard, a Kandinsky triangle, a Mondrian plane. `soft` feathers
|
|
581
|
-
* the fill from the centre like a soft circle. Rotates with `spin`.
|
|
587
|
+
* the fill from the centre like a soft circle. Rotates with `spin`. A
|
|
588
|
+
* `points` polygon with `stroke`, `fill: false` or `gradient` draws as the
|
|
589
|
+
* closed path through its points (X711) — keyed points become line art.
|
|
582
590
|
*/
|
|
583
591
|
| {
|
|
584
592
|
kind: 'polygon';
|
|
@@ -684,6 +692,14 @@ interface TextNumber {
|
|
|
684
692
|
prefix?: string;
|
|
685
693
|
suffix?: string;
|
|
686
694
|
grouping?: boolean;
|
|
695
|
+
/**
|
|
696
|
+
* Zero-pad the integer part to at least this many digits (1..12, default
|
|
697
|
+
* 1): `minDigits: 4` paints 42 as `0042` — a fixed-width frame counter.
|
|
698
|
+
* Padding happens before grouping, as `Intl`'s `minimumIntegerDigits`
|
|
699
|
+
* does, so pair it with `grouping: false` unless you want `0,042`. The
|
|
700
|
+
* sign stays outside the padding (`-0042`). Paint, like the rest.
|
|
701
|
+
*/
|
|
702
|
+
minDigits?: number;
|
|
687
703
|
}
|
|
688
704
|
/**
|
|
689
705
|
* What a text layer is *for* — a declaration, not a pixel. `read` says the
|
|
@@ -958,6 +974,7 @@ declare const LIMITS: {
|
|
|
958
974
|
readonly maxPolygonSides: 12;
|
|
959
975
|
readonly maxShapePoints: 24;
|
|
960
976
|
readonly maxTextNumberDecimals: 6;
|
|
977
|
+
readonly maxTextNumberMinDigits: 12;
|
|
961
978
|
readonly maxTextAffix: 64;
|
|
962
979
|
readonly maxRevealRise: 1;
|
|
963
980
|
readonly maxRockAmp: 45;
|
|
@@ -1104,7 +1121,8 @@ interface PathGradientStop {
|
|
|
1104
1121
|
* An outline drawn along every subpath of a path polygon (open ones too).
|
|
1105
1122
|
* `width` is in unit-box units. `draw` paints only a stretch of it — see
|
|
1106
1123
|
* `StrokeDraw`: every subpath of the part counts as one pen line, in the
|
|
1107
|
-
* order the path draws them.
|
|
1124
|
+
* order the path draws them (or, with `draw.mode: 'each'`, each subpath
|
|
1125
|
+
* draws over the whole span at once).
|
|
1108
1126
|
*/
|
|
1109
1127
|
interface PathStroke {
|
|
1110
1128
|
color: string;
|
|
@@ -1125,6 +1143,15 @@ interface PathStroke {
|
|
|
1125
1143
|
interface StrokeDraw {
|
|
1126
1144
|
start?: number;
|
|
1127
1145
|
end?: number;
|
|
1146
|
+
/**
|
|
1147
|
+
* How a path stroke's subpaths share the span. `'run'` (default): one pen
|
|
1148
|
+
* run through every subpath in draw order — a signature, a contour.
|
|
1149
|
+
* `'each'`: every subpath is cut to the same `start`..`end` of its **own**
|
|
1150
|
+
* length, so they all draw at once — a burst, a tick dial, hatching. An
|
|
1151
|
+
* enum: a steer or key on it steps. No effect on a `stroke` sprite (one
|
|
1152
|
+
* line either way).
|
|
1153
|
+
*/
|
|
1154
|
+
mode?: 'run' | 'each';
|
|
1128
1155
|
}
|
|
1129
1156
|
/**
|
|
1130
1157
|
* One piece of a multi-colour path drawing (`polygon.parts`), drawn back to
|
|
@@ -1329,9 +1356,9 @@ declare function spriteVariants(sprite: SpriteSpec): number;
|
|
|
1329
1356
|
declare function buildEntities(layer: LayerSpec, rng: Rng, w: number, h: number, scale?: number, countScale?: number): Entity[];
|
|
1330
1357
|
/**
|
|
1331
1358
|
* The string a `textBlock` paints: its `text`, or with `number` the
|
|
1332
|
-
* counter's `prefix + value + suffix` — rounded to `decimals`,
|
|
1333
|
-
*
|
|
1334
|
-
* device draws the same digits.
|
|
1359
|
+
* counter's `prefix + value + suffix` — rounded to `decimals`, the integer
|
|
1360
|
+
* part zero-padded to `minDigits`, thousands grouped with commas unless
|
|
1361
|
+
* `grouping: false`. Locale-free, so every device draws the same digits.
|
|
1335
1362
|
*/
|
|
1336
1363
|
declare function textBlockText(s: {
|
|
1337
1364
|
text: string;
|
|
@@ -1897,6 +1924,32 @@ declare function describeScene(spec: SaverSpec, options?: {
|
|
|
1897
1924
|
times?: number[];
|
|
1898
1925
|
}): SceneDescription;
|
|
1899
1926
|
|
|
1927
|
+
/**
|
|
1928
|
+
* Analytic models of the paint-level layer fields — `transform` (with its
|
|
1929
|
+
* `origin`), `opacity`, and the `groups` a layer paints through — shared by
|
|
1930
|
+
* the renderer's maths, perception and the advisories. Internal, not
|
|
1931
|
+
* exported from the package. They mirror SpecInstance's draw-time canvas
|
|
1932
|
+
* transform: a member of a group is drawn through G·L, where L is the layer's
|
|
1933
|
+
* own transform (about its origin) and G the group's (about the viewport
|
|
1934
|
+
* centre), so a point p lands at G(L(p)).
|
|
1935
|
+
*/
|
|
1936
|
+
|
|
1937
|
+
/** The numeric fields of a `LayerTransform`, at their identity values. */
|
|
1938
|
+
declare const TRANSFORM_FIELDS: {
|
|
1939
|
+
readonly x: 0;
|
|
1940
|
+
readonly y: 0;
|
|
1941
|
+
readonly scale: 1;
|
|
1942
|
+
readonly scaleX: 1;
|
|
1943
|
+
readonly scaleY: 1;
|
|
1944
|
+
readonly rotate: 0;
|
|
1945
|
+
};
|
|
1946
|
+
type TransformField = keyof typeof TRANSFORM_FIELDS;
|
|
1947
|
+
/**
|
|
1948
|
+
* Every value each numeric transform field takes over some stretch of time,
|
|
1949
|
+
* as `[min, max]` — what a timeline that glides a transform sweeps through.
|
|
1950
|
+
*/
|
|
1951
|
+
type TransformRange = Record<TransformField, [number, number]>;
|
|
1952
|
+
|
|
1900
1953
|
interface PerceiveOptions {
|
|
1901
1954
|
viewport?: {
|
|
1902
1955
|
width: number;
|
|
@@ -1957,8 +2010,16 @@ declare function luminanceGrid(spec: SaverSpec, opts?: LuminanceGridOptions): Lu
|
|
|
1957
2010
|
* fixed — it moves, emits, links, trails, orbits or cycles its text — and so may reach
|
|
1958
2011
|
* any cell. Each entity is a disc about its position that holds its whole
|
|
1959
2012
|
* outline at its largest size under any rotation: generous, never short.
|
|
2013
|
+
*
|
|
2014
|
+
* `sweep` (by layer index) widens a layer to everywhere its own and its
|
|
2015
|
+
* group's transforms can carry it while they range over the given values —
|
|
2016
|
+
* a timeline that glides them (X681). Either side missing is held at the
|
|
2017
|
+
* spec's own transform.
|
|
1960
2018
|
*/
|
|
1961
|
-
declare function layerCellFootprints(spec: SaverSpec, opts?: LuminanceGridOptions
|
|
2019
|
+
declare function layerCellFootprints(spec: SaverSpec, opts?: LuminanceGridOptions, sweep?: ReadonlyMap<number, {
|
|
2020
|
+
layer?: TransformRange;
|
|
2021
|
+
group?: TransformRange;
|
|
2022
|
+
}>): Array<number[] | null>;
|
|
1962
2023
|
/**
|
|
1963
2024
|
* Encode a luminance grid as a braille "image": each output character is a 2×4
|
|
1964
2025
|
* pixel cell, ordered-dithered so mid-tones render as dot density. A grid of
|
|
@@ -2284,6 +2345,41 @@ interface TimelineFlashReport {
|
|
|
2284
2345
|
boundariesPerSecond?: number;
|
|
2285
2346
|
}
|
|
2286
2347
|
declare function timelineFlashReport(spec: SaverSpec): TimelineFlashReport;
|
|
2348
|
+
interface FlashSamplingForecast {
|
|
2349
|
+
/**
|
|
2350
|
+
* The check would run out of frames to resolve. {@link timelineFlashReport}
|
|
2351
|
+
* is then certain to fail: with `incomplete` at this `at` and
|
|
2352
|
+
* `boundariesPerSecond`, unless it finds a flash in the frames it does
|
|
2353
|
+
* resolve first. False means it is never `incomplete`, and its verdict
|
|
2354
|
+
* turns on the pixels.
|
|
2355
|
+
*/
|
|
2356
|
+
exhausted: boolean;
|
|
2357
|
+
/** With `exhausted`: start (scene ms, within the lap) of the window the budget runs out in; otherwise null. */
|
|
2358
|
+
at: number | null;
|
|
2359
|
+
/** With `exhausted`: paint-key changes in that window's busiest second. */
|
|
2360
|
+
boundariesPerSecond?: number;
|
|
2361
|
+
/** Frames the check resolves if it finds no flash: at most `budget`. */
|
|
2362
|
+
samples: number;
|
|
2363
|
+
/** Frames the whole walk would take with no budget (more than `budget` exactly when `exhausted`). */
|
|
2364
|
+
needed: number;
|
|
2365
|
+
/** The check's frame budget ({@link MAX_TOTAL_SAMPLES}). */
|
|
2366
|
+
budget: number;
|
|
2367
|
+
/**
|
|
2368
|
+
* The report {@link timelineFlashReport} returns if it finds no flash: the
|
|
2369
|
+
* pass, or the fail-closed `incomplete` one (its `flashesPerSecond` and
|
|
2370
|
+
* `flashingArea` are 0 here; the real report carries whatever it checked).
|
|
2371
|
+
*/
|
|
2372
|
+
report: TimelineFlashReport;
|
|
2373
|
+
}
|
|
2374
|
+
/**
|
|
2375
|
+
* {@link timelineFlashReport}'s sampling plan, with no frame resolved: the
|
|
2376
|
+
* same dense windows, per-cell pre-check and budgeted walk, so whether the
|
|
2377
|
+
* check will run out of budget is known for the cost of the arithmetic. A
|
|
2378
|
+
* caller that cannot afford the full check (it resolves up to
|
|
2379
|
+
* {@link MAX_TOTAL_SAMPLES} luminance grids) can refuse `exhausted` scenes
|
|
2380
|
+
* outright: publishing refuses them too.
|
|
2381
|
+
*/
|
|
2382
|
+
declare function flashSamplingForecast(spec: SaverSpec): FlashSamplingForecast;
|
|
2287
2383
|
|
|
2288
2384
|
/**
|
|
2289
2385
|
* The `field` background sampler — seeded, dependency-free value noise that
|
|
@@ -2661,17 +2757,48 @@ interface ScenePeriod {
|
|
|
2661
2757
|
period: number | null;
|
|
2662
2758
|
/** One line per part that sets or breaks the period, e.g. `layers[2] pulse: 4000 ms`. */
|
|
2663
2759
|
parts: string[];
|
|
2760
|
+
/** What drives each of `parts`, index for index: `pulse`, `grow`, `rock`, `spin`, `path`, `orbit`, `emit`, `cycle`, `caret`, `background`, `timeline`. */
|
|
2761
|
+
kinds: PeriodKind[];
|
|
2664
2762
|
/** Why it is null (empty otherwise). */
|
|
2665
2763
|
reasons: string[];
|
|
2666
2764
|
}
|
|
2667
|
-
|
|
2668
|
-
|
|
2765
|
+
type PeriodKind = 'timeline' | 'background' | 'pulse' | 'grow' | 'rock' | 'emit' | 'spin' | 'cycle' | 'caret' | 'path' | 'orbit';
|
|
2766
|
+
/**
|
|
2767
|
+
* Periodic parts that run on scene time and change smoothly, so a looping
|
|
2768
|
+
* timeline's wrap never makes them jump: they carry on through it. A lap
|
|
2769
|
+
* that does not divide their period still loops seamlessly on screen — only
|
|
2770
|
+
* an exact export of one lap would differ (F145, X725, X823).
|
|
2771
|
+
*/
|
|
2772
|
+
declare const SEAMLESS_PERIOD_KINDS: ReadonlySet<PeriodKind>;
|
|
2773
|
+
/**
|
|
2774
|
+
* The repeat period of `spec` — see the module comment. `skip` leaves out the
|
|
2775
|
+
* periodic parts of those kinds, as if they were static (the loop-seam
|
|
2776
|
+
* advisory passes `SEAMLESS_PERIOD_KINDS`).
|
|
2777
|
+
*/
|
|
2778
|
+
declare function scenePeriod(spec: SaverSpec, skip?: ReadonlySet<PeriodKind>): ScenePeriod;
|
|
2669
2779
|
/**
|
|
2670
2780
|
* The period of everything in the scene except its timeline — what a
|
|
2671
2781
|
* looping timeline's lap has to be a multiple of for one lap to loop
|
|
2672
2782
|
* seamlessly.
|
|
2673
2783
|
*/
|
|
2674
|
-
declare function periodWithoutTimeline(spec: SaverSpec): ScenePeriod;
|
|
2784
|
+
declare function periodWithoutTimeline(spec: SaverSpec, skip?: ReadonlySet<PeriodKind>): ScenePeriod;
|
|
2785
|
+
/**
|
|
2786
|
+
* How many-fold rotationally symmetric a sprite's drawing is about the point
|
|
2787
|
+
* `spin` turns it on: a spinning layer looks the same again after 360°/n,
|
|
2788
|
+
* so its spin repeats n times a lap (X709). `Infinity` for a circle or ring
|
|
2789
|
+
* (spin never shows); 1 when no symmetry is found, or the drawing has
|
|
2790
|
+
* something the check does not model (a gradient, a part-drawn stroke, a
|
|
2791
|
+
* stretched `span`, a soft fill off its pivot) — 1 is the old behaviour, a
|
|
2792
|
+
* period that is never too short.
|
|
2793
|
+
*
|
|
2794
|
+
* Regular `sides` n-gons are n-fold. For `points` and path drawings, each
|
|
2795
|
+
* paint (fill colour and rule, stroke colour and width, opacity) is checked
|
|
2796
|
+
* on its own: every vertex and segment midpoint of its outline, turned by
|
|
2797
|
+
* ±360°/n, must lie on that same paint's outline, to within 0.2 % of the
|
|
2798
|
+
* drawing's radius — sub-pixel, past the path flattener's own error. Draw
|
|
2799
|
+
* order between overlapping parts is not modelled.
|
|
2800
|
+
*/
|
|
2801
|
+
declare function spinSymmetry(sp: SpriteSpec): number;
|
|
2675
2802
|
|
|
2676
2803
|
/**
|
|
2677
2804
|
* Reproduces the hand-coded Fish Aquarium saver as pure DATA — the discriminating test
|
|
@@ -3088,13 +3215,15 @@ declare function trimPolyline(pts: Array<{
|
|
|
3088
3215
|
/**
|
|
3089
3216
|
* A part's subpaths cut to a `draw` span: the lines are one pen run in draw
|
|
3090
3217
|
* order (a closed ring counts its closing edge), so `end` sweeps through the
|
|
3091
|
-
* first subpath, then the next.
|
|
3092
|
-
*
|
|
3218
|
+
* first subpath, then the next. With `mode: 'each'` every line is cut to the
|
|
3219
|
+
* same fractions of its own length instead, so all of them draw at once. A
|
|
3220
|
+
* trimmed ring comes back open; untouched lines are returned as they were.
|
|
3221
|
+
* Memoised per (lines, span, mode).
|
|
3093
3222
|
*/
|
|
3094
3223
|
declare function trimLines(lines: Array<{
|
|
3095
3224
|
points: Array<[number, number]>;
|
|
3096
3225
|
closed: boolean;
|
|
3097
|
-
}>, a: number, b: number): Array<{
|
|
3226
|
+
}>, a: number, b: number, mode?: StrokeDraw['mode']): Array<{
|
|
3098
3227
|
points: Array<[number, number]>;
|
|
3099
3228
|
closed: boolean;
|
|
3100
3229
|
}>;
|
|
@@ -3134,7 +3263,11 @@ interface FlattenedPath {
|
|
|
3134
3263
|
*/
|
|
3135
3264
|
type PathFillRule = 'auto' | 'nonzero' | 'evenodd';
|
|
3136
3265
|
declare function flattenPath(d: string, rule?: PathFillRule): FlattenedPath;
|
|
3137
|
-
/**
|
|
3266
|
+
/**
|
|
3267
|
+
* A polygon drawn from SVG paths: one `path`, a multi-colour drawing of
|
|
3268
|
+
* `parts`, or a `points` polygon that carries path paint (see
|
|
3269
|
+
* `isPointsPath`).
|
|
3270
|
+
*/
|
|
3138
3271
|
declare function isPathPolygon(s: SpriteSpec): boolean;
|
|
3139
3272
|
/** One drawable piece of a path polygon, resolved: its outline, paint and part-space box. */
|
|
3140
3273
|
interface ResolvedPart {
|
|
@@ -3181,5 +3314,5 @@ declare function pathFrame(s: PolygonSprite, r: number, w: number, h: number): {
|
|
|
3181
3314
|
uniform: boolean;
|
|
3182
3315
|
};
|
|
3183
3316
|
|
|
3184
|
-
export { AQUARIUM_SPEC, AURORA_SPEC, COHESION_T, COMETS_SPEC, CONSTELLATION_SPEC, DASHBOARD_SPEC, DEFAULT_KEY_DUR, DITHER_ALPHA, DITHER_TILE, EXAMPLE_BY_ID, EXAMPLE_SEQUENCES, EXAMPLE_SPECS, FACETS_SPEC, FIELD_BUCKET_MS, FIELD_DRIFT_DEFAULT_AMOUNT, FIELD_RASTER_SHORT_SIDE, FIELD_RASTER_SHORT_SIDE_LOW, FINISH_ANIMATE_HZ, GRAIN_ALPHA, GRAIN_TILE, HAIKU_SPEC, LANTERNS_SPEC, LIMITS, LOBBY_TALK_SPEC, MATRIX_RAIN_SPEC, MAX_PATH_POINTS, MAX_SCENE_PERIOD, MOTION_FIELDS, MURMUR_SPEC, NOSTALGHIA_CANDLE_SPEC, ORRERY_SPEC, PHASE_DUET_SPEC, PINGS_SPEC, POLYGONS_SPEC, PROCESSION_SPEC, RAIN_SPEC, RELAY_BOARD_SPEC, SAKURA_SPEC, SCHEMA_EXAMPLES, SCHEMA_VERSION, SHARD_FALL_SPEC, SIGNAL_BOARD_SPEC, SNOWFALL_SPEC, SPARSE_NIGHT_SPEC, STEER_EASES, THERMAL_FIELD_SPEC, THREE_MOVEMENTS_SEQUENCE, TYPED_CUE_SPEC, WARP_MAX_SCALE, WARP_NEAR, WARP_TUNNEL_SPEC, WEB_WORK_SPEC, adviseSequence, adviseSpec, alphaAt, applyDeltasShared, applyDeltasToSpec, assertValidSequence, assertValidSpec, bayerMatrix, bayerTilePixels, bedRenderSeed, breakTextBlock, buildEntities, buriedAreaOf, canMorph, canWrapMorph, canonicalSpecPath, cohesionOf, compileSaver, compileSequence, createFinishPass, createSceneCanvas, describeScene, diffScenes, dominanceRanking, drawSpan, easeGlide, easeSmooth, emitEnvelope, emitWindow, entityScales, fieldAt, fieldOctaves, fieldRgb, fieldRgbAt, fieldSampleTime, finishStrength, flattenPath, grainOffset, grainTilePixels, graphemeClusters, hasHotSwapSequence, headingAt, hexToRgb255, ignoredPropertyPaths, isCombiningKana, isFullWidth, isPathPolygon, latticeHash, layerCellFootprints, layerCohesion, lerpPathD, lerpSpec, lerpValue, lifeAlphaAt, lifeStaggerAt, linkEdges, linkMaxDistPx, linkPairs, luminanceGrid, manifestFor, morphChainRoot, morphNothingMorphable, motionStats, nextKeyAfter, normalizeSeed, pathFrame, pathParts, perceiveScene, perceiveSequenceFrame, periodWithoutTimeline, pickScreenOp, positionAt, presentWithFinish, readSpecPath, renderBrailleMap, renderDensityMap, resolveSegment, resolveSpecPath, resolveTimelineAt, revealState, rgb255Luma, rotationAt, sceneColour, scenePeriod, seamCauseOf, seamsWorthWarning, segmentRenderSeed, segmentStart, sequenceSteerablePaths, sequenceSwapCompatible, sequenceWantsFinish, sizeAt, spriteIndexAt, spriteVariants, steerablePaths, strokeDrawnSamples, strokeLines, structuralSignature, textBlockAnchorOffset, textBlockText, textMetricsClassFor, textSprites, textStringsDiffer, textStringsOf, textWidthEm, timelineFlashReport, timelineLocalTime, timelineSampleTimes, timelineSampleTimesAfter, timelineTracks, trimLines, trimPolyline, validateSequence, validateSpec, validateSpecPaths, wipeMask, withoutTimeline };
|
|
3185
|
-
export type { BackgroundDrift, BackgroundSpec, BandSpec, CapabilityTier, CohesionRead, CycleSpec, DominanceEntry, Entity, FieldBackground, FieldDrift, FinishPass, FinishSpec, FlattenedPath, GlideEase, GradientStop, IdleSequence, LayerCohesion, LayerGroup, LayerMotionStats, LayerSnapshot, LayerSpec, LayerTransform, LinkEdge, LuminanceGrid, LuminanceGridOptions, MotionEase, MotionSpec, PathGradient, PathGradientStop, PathPart, PathStroke, PerceiveOptions, PerceiveSequenceOptions, Placed, ResolveOptions, ResolvedPart, ResolvedSegment, RevealState, SaverSpec, SceneColour, SceneDescription, SceneDiff, ScenePerception, ScenePeriod, SceneSnapshot, SchemaExample, ScreenOp, SequenceExample, SequenceFramePerception, SequenceMountContext, SequenceSaverInstance, SequenceSaverPlugin, SequenceSegment, SequenceTransition, SpecError, SpecMountContext, SpecWarning, SpriteSpec, SteerDelta, StrokeDraw, TextBlockAnchor, TextBlockLine, TextMetricsClass, TextNumber, TextRevealInput, TextRevealSpec, TextRole, TextSpriteInfo, Timeline, TimelineFlashReport, TimelineKey, ValidationResult, WanderOsc, WarningBox, WipeTransition };
|
|
3317
|
+
export { AQUARIUM_SPEC, AURORA_SPEC, COHESION_T, COMETS_SPEC, CONSTELLATION_SPEC, DASHBOARD_SPEC, DEFAULT_KEY_DUR, DITHER_ALPHA, DITHER_TILE, EXAMPLE_BY_ID, EXAMPLE_SEQUENCES, EXAMPLE_SPECS, FACETS_SPEC, FIELD_BUCKET_MS, FIELD_DRIFT_DEFAULT_AMOUNT, FIELD_RASTER_SHORT_SIDE, FIELD_RASTER_SHORT_SIDE_LOW, FINISH_ANIMATE_HZ, GRAIN_ALPHA, GRAIN_TILE, HAIKU_SPEC, LANTERNS_SPEC, LIMITS, LOBBY_TALK_SPEC, MATRIX_RAIN_SPEC, MAX_PATH_POINTS, MAX_SCENE_PERIOD, MOTION_FIELDS, MURMUR_SPEC, NOSTALGHIA_CANDLE_SPEC, ORRERY_SPEC, PHASE_DUET_SPEC, PINGS_SPEC, POLYGONS_SPEC, PROCESSION_SPEC, RAIN_SPEC, RELAY_BOARD_SPEC, SAKURA_SPEC, SCHEMA_EXAMPLES, SCHEMA_VERSION, SEAMLESS_PERIOD_KINDS, SHARD_FALL_SPEC, SIGNAL_BOARD_SPEC, SNOWFALL_SPEC, SPARSE_NIGHT_SPEC, STEER_EASES, THERMAL_FIELD_SPEC, THREE_MOVEMENTS_SEQUENCE, TYPED_CUE_SPEC, WARP_MAX_SCALE, WARP_NEAR, WARP_TUNNEL_SPEC, WEB_WORK_SPEC, adviseSequence, adviseSpec, alphaAt, applyDeltasShared, applyDeltasToSpec, assertValidSequence, assertValidSpec, bayerMatrix, bayerTilePixels, bedRenderSeed, breakTextBlock, buildEntities, buriedAreaOf, canMorph, canWrapMorph, canonicalSpecPath, cohesionOf, compileSaver, compileSequence, createFinishPass, createSceneCanvas, describeScene, diffScenes, dominanceRanking, drawSpan, easeGlide, easeSmooth, emitEnvelope, emitWindow, entityScales, fieldAt, fieldOctaves, fieldRgb, fieldRgbAt, fieldSampleTime, finishStrength, flashSamplingForecast, flattenPath, grainOffset, grainTilePixels, graphemeClusters, hasHotSwapSequence, headingAt, hexToRgb255, ignoredPropertyPaths, isCombiningKana, isFullWidth, isPathPolygon, latticeHash, layerCellFootprints, layerCohesion, lerpPathD, lerpSpec, lerpValue, lifeAlphaAt, lifeStaggerAt, linkEdges, linkMaxDistPx, linkPairs, luminanceGrid, manifestFor, morphChainRoot, morphNothingMorphable, motionStats, nextKeyAfter, normalizeSeed, pathFrame, pathParts, perceiveScene, perceiveSequenceFrame, periodWithoutTimeline, pickScreenOp, positionAt, presentWithFinish, readSpecPath, renderBrailleMap, renderDensityMap, resolveSegment, resolveSpecPath, resolveTimelineAt, revealState, rgb255Luma, rotationAt, sceneColour, scenePeriod, seamCauseOf, seamsWorthWarning, segmentRenderSeed, segmentStart, sequenceSteerablePaths, sequenceSwapCompatible, sequenceWantsFinish, sizeAt, spinSymmetry, spriteIndexAt, spriteVariants, steerablePaths, strokeDrawnSamples, strokeLines, structuralSignature, textBlockAnchorOffset, textBlockText, textMetricsClassFor, textSprites, textStringsDiffer, textStringsOf, textWidthEm, timelineFlashReport, timelineLocalTime, timelineSampleTimes, timelineSampleTimesAfter, timelineTracks, trimLines, trimPolyline, validateSequence, validateSpec, validateSpecPaths, wipeMask, withoutTimeline };
|
|
3318
|
+
export type { BackgroundDrift, BackgroundSpec, BandSpec, CapabilityTier, CohesionRead, CycleSpec, DominanceEntry, Entity, FieldBackground, FieldDrift, FinishPass, FinishSpec, FlashSamplingForecast, FlattenedPath, GlideEase, GradientStop, IdleSequence, LayerCohesion, LayerGroup, LayerMotionStats, LayerSnapshot, LayerSpec, LayerTransform, LinkEdge, LuminanceGrid, LuminanceGridOptions, MotionEase, MotionSpec, PathGradient, PathGradientStop, PathPart, PathStroke, PerceiveOptions, PerceiveSequenceOptions, PeriodKind, Placed, ResolveOptions, ResolvedPart, ResolvedSegment, RevealState, SaverSpec, SceneColour, SceneDescription, SceneDiff, ScenePerception, ScenePeriod, SceneSnapshot, SchemaExample, ScreenOp, SequenceExample, SequenceFramePerception, SequenceMountContext, SequenceSaverInstance, SequenceSaverPlugin, SequenceSegment, SequenceTransition, SpecError, SpecMountContext, SpecWarning, SpriteSpec, SteerDelta, StrokeDraw, TextBlockAnchor, TextBlockLine, TextMetricsClass, TextNumber, TextRevealInput, TextRevealSpec, TextRole, TextSpriteInfo, Timeline, TimelineFlashReport, TimelineKey, ValidationResult, WanderOsc, WarningBox, WipeTransition };
|