asciify-engine 4.16.0 → 4.18.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/README.md +13 -0
- package/dist/{characters-BgG9AZQl.d.cts → characters-BgECi5Lf.d.cts} +2 -2
- package/dist/{characters-BgG9AZQl.d.ts → characters-BgECi5Lf.d.ts} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +1 -1
- package/dist/field.cjs +1 -1
- package/dist/field.d.cts +13 -4
- package/dist/field.d.ts +13 -4
- package/dist/field.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/kit.cjs +1 -1
- package/dist/kit.d.cts +163 -47
- package/dist/kit.d.ts +163 -47
- package/dist/kit.js +1 -1
- package/dist/studio.cjs +1 -1
- package/dist/studio.d.cts +1 -1
- package/dist/studio.d.ts +1 -1
- package/dist/studio.js +1 -1
- package/package.json +1 -1
- package/skills/asciify-engine/SKILL.md +7 -6
- package/skills/asciify-engine/references/applying-asciify.md +3 -3
- package/skills/asciify-engine/references/components.md +40 -44
- package/skills/asciify-engine/references/glyph-field.md +2 -1
- package/skills/asciify-engine/references/kit.md +46 -28
- package/skills/asciify-engine/references/looks.md +486 -0
package/dist/kit.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GlyphField, GlyphFieldOptions } from './field.cjs';
|
|
2
|
-
import { C as CHARACTER_SETS } from './characters-
|
|
2
|
+
import { C as CHARACTER_SETS } from './characters-BgECi5Lf.cjs';
|
|
3
3
|
|
|
4
4
|
/** Options every kit component takes. */
|
|
5
5
|
interface KitOptions {
|
|
@@ -270,30 +270,33 @@ declare function skeleton(element: HTMLElement, options?: SkeletonOptions): Skel
|
|
|
270
270
|
|
|
271
271
|
type PillTone = 'green' | 'amber' | 'red' | 'neutral' | 'new';
|
|
272
272
|
interface PillOptions extends KitOptions {
|
|
273
|
-
/** The tone of a pill without `data-tone`. `new` is a solid pill
|
|
273
|
+
/** The tone of a pill without `data-tone`. `new` is a solid pill led by a sparkle. Default `neutral`. */
|
|
274
274
|
tone?: PillTone;
|
|
275
|
-
/**
|
|
275
|
+
/**
|
|
276
|
+
* A live state: the indicator moves. Amber turns a half-filled dot like a spinner (syncing); any other tone breathes its dot.
|
|
277
|
+
* `data-live` on a pill wins. Default false. Neutral shows an open ring, and a pill turning red blinks its dot open twice.
|
|
278
|
+
*/
|
|
276
279
|
live?: boolean;
|
|
277
|
-
/** A
|
|
280
|
+
/** A one-cell glyph before the label, drawn over the pill's `[data-dot]` element (one is added when missing): a status dot, or a `new` pill's sparkle. Default true. */
|
|
278
281
|
indicator?: boolean;
|
|
279
|
-
/** A
|
|
282
|
+
/** A `new` pill's sparkle twinkles when the pointer enters it. Default true. */
|
|
280
283
|
sheen?: boolean;
|
|
281
284
|
/** Glyph hues to paint, as `[r, g, b]` 0–255, for the light and dark ground. */
|
|
282
285
|
tones?: Partial<Record<'light' | 'dark', Partial<Record<PillTone, [number, number, number]>>>>;
|
|
283
286
|
}
|
|
284
287
|
interface PillHandle extends KitHandle<PillOptions> {
|
|
285
|
-
/**
|
|
288
|
+
/** Twinkles the sparkle on one pill, or on every `new` pill. */
|
|
286
289
|
sheen(pill?: HTMLElement): void;
|
|
287
290
|
/** Sets a count pill (`data-count`) to `value`; only the changed digits roll. Without `pill`, the first count pill. */
|
|
288
291
|
count(value: number | string, pill?: HTMLElement): void;
|
|
289
292
|
/** Re-reads each pill's `data-tone` and `data-live`; tone changes ease over 240ms. `update()` does this too. */
|
|
290
293
|
refresh(): void;
|
|
291
294
|
}
|
|
292
|
-
/** Glyph hues painted into the source. The field normalises each hue and takes the glyph from its brightness. */
|
|
295
|
+
/** Glyph hues painted into the source. The field normalises each hue and takes the glyph from its brightness. `new` is the neutral sparkle. */
|
|
293
296
|
declare const PILL_TONES: Record<'light' | 'dark', Record<PillTone, [number, number, number]>>;
|
|
294
297
|
/**
|
|
295
|
-
* Pills and badges
|
|
296
|
-
* `new` pills and rolling digits on count pills. One element gets a field under its text; a list shares one field over their common
|
|
298
|
+
* Pills and badges whose characters stay inside them: a glyph dot in each status pill's tone that breathes while live, turns
|
|
299
|
+
* while syncing and blinks on failure, a sparkle on `new` pills and rolling digits on count pills. One element gets a field under its text; a list shares one field over their common
|
|
297
300
|
* container (one WebGL context for all), with each pill's labels lifted above it.
|
|
298
301
|
*/
|
|
299
302
|
declare function pill(target: HTMLElement | Iterable<HTMLElement>, options?: PillOptions): PillHandle;
|
|
@@ -303,7 +306,7 @@ interface TabsOptions extends KitOptions {
|
|
|
303
306
|
tabs?: string;
|
|
304
307
|
/** The tab shown first. Default: the one with `aria-selected="true"`, else 0. */
|
|
305
308
|
active?: number;
|
|
306
|
-
/** How long the indicator
|
|
309
|
+
/** How long the indicator glides to a new tab, in ms. Default 440. */
|
|
307
310
|
duration?: number;
|
|
308
311
|
/** How the kit shows panels named by `aria-controls`: `hidden` toggles the attribute, `attribute` toggles `data-active`, `none` leaves them. Default `hidden`. */
|
|
309
312
|
panels?: 'hidden' | 'attribute' | 'none';
|
|
@@ -313,11 +316,15 @@ interface TabsOptions extends KitOptions {
|
|
|
313
316
|
onChange?: (index: number, tab: HTMLElement) => void;
|
|
314
317
|
}
|
|
315
318
|
interface TabsHandle extends KitHandle<TabsOptions> {
|
|
316
|
-
/** Selects a tab; the indicator
|
|
319
|
+
/** Selects a tab; the indicator glides across to it. `focus` moves keyboard focus too. */
|
|
317
320
|
select(index: number, focus?: boolean): void;
|
|
318
321
|
readonly active: number;
|
|
319
322
|
}
|
|
320
|
-
/**
|
|
323
|
+
/**
|
|
324
|
+
* Segmented tabs with a gliding indicator. The pill itself is yours to style from `--tabs-x`, `--tabs-y`, `--tabs-w` and `--tabs-h`,
|
|
325
|
+
* which the kit sets on the tablist every frame, so its outline stays crisp; the field draws a row of characters along its foot
|
|
326
|
+
* that streaks dense toward the leading end in flight and settles into an even, tapered line as it lands.
|
|
327
|
+
*/
|
|
321
328
|
declare function tabs(tablist: HTMLElement, options?: TabsOptions): TabsHandle;
|
|
322
329
|
|
|
323
330
|
/** One update from an image provider. Either may be a Blob or a URL. */
|
|
@@ -521,6 +528,10 @@ interface CommandPaletteOptions extends KitOptions {
|
|
|
521
528
|
onRun?: (index: number, row: HTMLElement) => void;
|
|
522
529
|
/** Called after the palette opens or closes. */
|
|
523
530
|
onOpenChange?: (open: boolean) => void;
|
|
531
|
+
/** A highlight that glides behind the selected row. `false` when your rows style `aria-selected` themselves. Default true. */
|
|
532
|
+
highlight?: boolean;
|
|
533
|
+
/** Rows that carry the AI signature: a sweep of characters runs through their highlight while selected. Default `[data-ai]`. */
|
|
534
|
+
ai?: string;
|
|
524
535
|
}
|
|
525
536
|
interface CommandPaletteHandle extends KitHandle<CommandPaletteOptions> {
|
|
526
537
|
/** Condenses the palette out of the trigger. `focus` moves focus to the input (default true). */
|
|
@@ -528,7 +539,7 @@ interface CommandPaletteHandle extends KitHandle<CommandPaletteOptions> {
|
|
|
528
539
|
/** Dissolves the palette back into the trigger. */
|
|
529
540
|
close(): void;
|
|
530
541
|
toggle(): void;
|
|
531
|
-
/** Moves the selection; the
|
|
542
|
+
/** Moves the selection; the highlight glides to the row. */
|
|
532
543
|
select(index: number): void;
|
|
533
544
|
/** Runs a row as if it were clicked. */
|
|
534
545
|
run(index?: number): void;
|
|
@@ -536,8 +547,8 @@ interface CommandPaletteHandle extends KitHandle<CommandPaletteOptions> {
|
|
|
536
547
|
readonly selected: number;
|
|
537
548
|
}
|
|
538
549
|
/**
|
|
539
|
-
* A command palette that condenses out of its trigger in blocks of characters and dissolves back into it
|
|
540
|
-
* in
|
|
550
|
+
* A command palette that condenses out of its trigger in blocks of characters and dissolves back into it. A highlight glides
|
|
551
|
+
* between rows, rows that a search brings in resolve out of characters, and an AI row's highlight carries a sweep of characters.
|
|
541
552
|
*/
|
|
542
553
|
declare function commandPalette(panel: HTMLElement, options?: CommandPaletteOptions): CommandPaletteHandle;
|
|
543
554
|
|
|
@@ -602,15 +613,15 @@ declare function likeBurst(button: HTMLElement, options?: LikeBurstOptions): Lik
|
|
|
602
613
|
interface BlockChartOptions extends KitOptions {
|
|
603
614
|
/** The bars, left to right. */
|
|
604
615
|
values?: readonly number[];
|
|
605
|
-
/** A name per bar, read by screen readers and passed to `onHover`. */
|
|
616
|
+
/** A name per bar, read by screen readers and passed to `onHover`. `set()` matches old and new bars by label, so shared bars glide into place. */
|
|
606
617
|
labels?: readonly string[];
|
|
607
618
|
/** The value the top of the plot stands for. Default: the largest value plus 4%. */
|
|
608
619
|
max?: number;
|
|
609
|
-
/** How long
|
|
620
|
+
/** How long bars grow, glide and resize, in ms. Default 560. */
|
|
610
621
|
duration?: number;
|
|
611
622
|
/** Grow the bars in the first time the chart comes into view. `false` draws them in place at once, as in a view that is swapped in. Default true. */
|
|
612
623
|
intro?: boolean;
|
|
613
|
-
/** Ms between bars growing. Default 45 for up to 7 bars, else
|
|
624
|
+
/** Ms between bars growing. Default 45 for up to 7 bars, else 12. */
|
|
614
625
|
stagger?: number;
|
|
615
626
|
/** Formats values for the screen reader table. Default `toLocaleString()`. */
|
|
616
627
|
format?: (value: number) => string;
|
|
@@ -618,31 +629,31 @@ interface BlockChartOptions extends KitOptions {
|
|
|
618
629
|
onHover?: (index: number | null, value: number | null, label: string | null) => void;
|
|
619
630
|
}
|
|
620
631
|
interface BlockChartHandle extends KitHandle<BlockChartOptions> {
|
|
621
|
-
/** New values (and labels);
|
|
632
|
+
/** New values (and labels); bars with a matching label glide and resize, new ones grow in, dropped ones sink away. */
|
|
622
633
|
set(values: readonly number[], labels?: readonly string[]): void;
|
|
623
|
-
/** Lights one bar and
|
|
634
|
+
/** Lights one bar and fades the rest, or `null` for the resting emphasis on the last bar. */
|
|
624
635
|
highlight(index: number | null): void;
|
|
625
636
|
readonly active: number | null;
|
|
626
637
|
readonly values: readonly number[];
|
|
627
638
|
}
|
|
628
|
-
/** A bar chart drawn in columns of characters: bars grow in staggered, the last is
|
|
639
|
+
/** A bar chart drawn in columns of characters on a whole-cell grid: bars grow in staggered, the last is lit, hover lights one and fades the rest. */
|
|
629
640
|
declare function blockChart(element: HTMLElement, options?: BlockChartOptions): BlockChartHandle;
|
|
630
641
|
|
|
631
642
|
interface PageDissolveOptions extends KitOptions {
|
|
632
|
-
/** Where the
|
|
643
|
+
/** Where the wave starts: an element (such as the tab that was clicked) or a point in the container's CSS pixels. Default: top centre. */
|
|
633
644
|
origin?: HTMLElement | {
|
|
634
645
|
x: number;
|
|
635
646
|
y: number;
|
|
636
647
|
} | null;
|
|
637
|
-
/** Ms the old view takes to break up. Default
|
|
648
|
+
/** Ms the old view takes to break up from the origin outward. Default 300. */
|
|
638
649
|
dissolve?: number;
|
|
639
|
-
/** Ms the new view takes to condense. Default
|
|
650
|
+
/** Ms the new view takes to condense in behind it, from the same origin. Default 300. */
|
|
640
651
|
condense?: number;
|
|
641
652
|
}
|
|
642
653
|
interface PageDissolveHandle extends KitHandle<PageDissolveOptions> {
|
|
643
654
|
/**
|
|
644
|
-
* The view
|
|
645
|
-
*
|
|
655
|
+
* The crisp view hands over to its own characters, a wave from `origin` breaks it up, `render` swaps the content underneath and the
|
|
656
|
+
* new view condenses in behind the same wave, then hands back to crisp HTML. Swaps queue; each promise resolves once its view is crisp.
|
|
646
657
|
*/
|
|
647
658
|
swap(render: () => void | Promise<void>, origin?: HTMLElement | {
|
|
648
659
|
x: number;
|
|
@@ -650,7 +661,7 @@ interface PageDissolveHandle extends KitHandle<PageDissolveOptions> {
|
|
|
650
661
|
} | null): Promise<void>;
|
|
651
662
|
readonly busy: boolean;
|
|
652
663
|
}
|
|
653
|
-
/** A page or panel transition:
|
|
664
|
+
/** A page or panel transition: one wave of characters from where the user clicked carries the old view out and the next one in. */
|
|
654
665
|
declare function pageDissolve(container: HTMLElement, options?: PageDissolveOptions): PageDissolveHandle;
|
|
655
666
|
|
|
656
667
|
interface SwipeDeckOptions extends KitOptions {
|
|
@@ -727,13 +738,15 @@ interface ToastStackOptions extends KitOptions {
|
|
|
727
738
|
render?: (toast: Toast, id: number) => HTMLElement;
|
|
728
739
|
/** Accessible name of the list. Default `Notifications`. */
|
|
729
740
|
label?: string;
|
|
730
|
-
/**
|
|
741
|
+
/** @deprecated Ignored: toasts no longer draw anything round their edge at rest. */
|
|
731
742
|
glint?: boolean;
|
|
743
|
+
/** Drag a toast sideways to dismiss it; it breaks into characters that carry on the way it was thrown. Default true. */
|
|
744
|
+
swipe?: boolean;
|
|
732
745
|
}
|
|
733
746
|
interface ToastStackHandle extends KitHandle<ToastStackOptions> {
|
|
734
747
|
/** Adds a toast at the front, gathering out of scattered characters. Returns its id. */
|
|
735
748
|
push(toast: Toast): number;
|
|
736
|
-
/** Takes a toast out: it breaks into characters that drift
|
|
749
|
+
/** Takes a toast out: it breaks into characters that drift away while the stack closes up behind it. */
|
|
737
750
|
dismiss(id: number): void;
|
|
738
751
|
/** Dismisses every toast. */
|
|
739
752
|
clear(): void;
|
|
@@ -748,9 +761,7 @@ declare function toastStack(container: HTMLElement, options?: ToastStackOptions)
|
|
|
748
761
|
|
|
749
762
|
type ThinkingState = 'thinking' | 'streaming' | 'done';
|
|
750
763
|
interface ThinkingOptions extends KitOptions {
|
|
751
|
-
/**
|
|
752
|
-
lines?: number;
|
|
753
|
-
/** An element to write the status into: `Thinking…`, then `Thought for 2s`. */
|
|
764
|
+
/** The status element: `Thinking…` while a wave of rolling characters runs through it, then `Thought for 2s`. */
|
|
754
765
|
label?: HTMLElement | null;
|
|
755
766
|
/** The status texts. */
|
|
756
767
|
labels?: {
|
|
@@ -759,23 +770,32 @@ interface ThinkingOptions extends KitOptions {
|
|
|
759
770
|
};
|
|
760
771
|
/** Start thinking at once. Default true; false waits for `think()`. */
|
|
761
772
|
start?: boolean;
|
|
762
|
-
/** Ms between one word and the next fading in. Default 38. */
|
|
773
|
+
/** Ms between one word of the answer and the next fading in. Default 38. */
|
|
763
774
|
stagger?: number;
|
|
764
|
-
/**
|
|
765
|
-
|
|
775
|
+
/** Ms one character of the label takes to roll through its glyphs and back. Default 520. */
|
|
776
|
+
roll?: number;
|
|
777
|
+
/** Ms between neighbouring characters as the wave runs across the label. Default 55. */
|
|
778
|
+
wave?: number;
|
|
779
|
+
/** Glyphs the label rolls through. Default `#%*+=-:`. */
|
|
780
|
+
glyphs?: string;
|
|
766
781
|
/** Called on each state change; `seconds` is how long it thought, once known. For a status you render yourself. */
|
|
767
782
|
onState?: (state: ThinkingState, seconds: number) => void;
|
|
783
|
+
/** @deprecated The dot bands were removed in 4.17; ignored. */
|
|
784
|
+
lines?: number;
|
|
785
|
+
/** @deprecated The dotted rule was removed in 4.17; ignored. */
|
|
786
|
+
rule?: boolean;
|
|
768
787
|
}
|
|
769
788
|
interface ThinkingHandle extends KitHandle<ThinkingOptions> {
|
|
770
789
|
/** Clears the answer and thinks again, as for Regenerate. */
|
|
771
790
|
think(): void;
|
|
772
|
-
/** Writes the answer, word by word, as the
|
|
791
|
+
/** Writes the answer, word by word, as the label settles. Pass a string or an async iterable of chunks. Resolves when it has settled. */
|
|
773
792
|
stream(text: string | AsyncIterable<string>): Promise<void>;
|
|
774
793
|
readonly state: ThinkingState;
|
|
775
794
|
}
|
|
776
795
|
/**
|
|
777
|
-
* The thinking state of an assistant reply
|
|
778
|
-
*
|
|
796
|
+
* The thinking state of an assistant reply. While the model thinks, a wave runs through the status label: each letter in
|
|
797
|
+
* turn rolls up through glyphs and lands back on itself, in the label's own font. When the answer starts, every letter rolls
|
|
798
|
+
* once more into `Thought for 2s`, and the answer fades in word by word.
|
|
779
799
|
*/
|
|
780
800
|
declare function thinking(element: HTMLElement, options?: ThinkingOptions): ThinkingHandle;
|
|
781
801
|
|
|
@@ -857,7 +877,7 @@ interface AccordionOptions extends KitOptions {
|
|
|
857
877
|
images: (string | AccordionImage)[];
|
|
858
878
|
/** The panel open at first. Default 0. */
|
|
859
879
|
open?: number;
|
|
860
|
-
/** Ms a panel takes to open. Default
|
|
880
|
+
/** Ms a panel takes to settle open; the panels move on one critically damped spring, so a change mid-move carries its speed. Default 420. */
|
|
861
881
|
duration?: number;
|
|
862
882
|
/** Accessible name of the group. Default `Images`. */
|
|
863
883
|
label?: string;
|
|
@@ -870,7 +890,8 @@ interface AccordionHandle extends KitHandle<AccordionOptions> {
|
|
|
870
890
|
}
|
|
871
891
|
/**
|
|
872
892
|
* A strip of image panels: the open one shows its photo, the closed ones the same photos in characters. Pointing at,
|
|
873
|
-
* pressing or focusing a panel opens it, and
|
|
893
|
+
* pressing or focusing a panel opens it. Width, photo and caption all follow one spring per panel, so the characters and the photo
|
|
894
|
+
* cross over without a gap and a change of mind mid-move carries on smoothly.
|
|
874
895
|
*/
|
|
875
896
|
declare function accordion(element: HTMLElement, options: AccordionOptions): AccordionHandle;
|
|
876
897
|
|
|
@@ -888,7 +909,7 @@ interface DropzoneOptions extends KitOptions {
|
|
|
888
909
|
onError?: (message: string, file: File) => void;
|
|
889
910
|
/** Largest file accepted, in bytes. Default 10 MB. */
|
|
890
911
|
maxBytes?: number;
|
|
891
|
-
/** Ms the image takes to develop in characters. Default
|
|
912
|
+
/** Ms the image takes to develop in characters. Default 900. */
|
|
892
913
|
develop?: number;
|
|
893
914
|
/** File name for `download()`. Default `<name>-ascii.png`. */
|
|
894
915
|
filename?: string;
|
|
@@ -907,8 +928,8 @@ interface DropzoneHandle extends KitHandle<DropzoneOptions> {
|
|
|
907
928
|
readonly state: DropState;
|
|
908
929
|
}
|
|
909
930
|
/**
|
|
910
|
-
* An image dropzone whose border is a quiet ring of characters that
|
|
911
|
-
* A dropped image
|
|
931
|
+
* An image dropzone whose border is a quiet ring of characters that comes alive while a file is dragged over.
|
|
932
|
+
* A dropped image opens out from the drop point in characters, in its own colours. Any element inside with `data-dropzone="pick"`, `"clear"`
|
|
912
933
|
* or `"download"` is wired to that action. Without content of your own it adds a title, hint and Choose file button.
|
|
913
934
|
*/
|
|
914
935
|
declare function dropzone(element: HTMLElement, options?: DropzoneOptions): DropzoneHandle;
|
|
@@ -935,7 +956,7 @@ interface PullRefreshOptions extends KitOptions {
|
|
|
935
956
|
onRefresh: () => unknown;
|
|
936
957
|
/** The element that moves down with the pull. Default the first child. */
|
|
937
958
|
content?: HTMLElement | null;
|
|
938
|
-
/** Pull distance in px that triggers a refresh on release. Default
|
|
959
|
+
/** Pull distance in px that triggers a refresh on release. Default 64. */
|
|
939
960
|
threshold?: number;
|
|
940
961
|
/** What a screen reader hears. */
|
|
941
962
|
messages?: {
|
|
@@ -954,8 +975,8 @@ interface PullRefreshHandle extends KitHandle<PullRefreshOptions> {
|
|
|
954
975
|
readonly state: PullState;
|
|
955
976
|
}
|
|
956
977
|
/**
|
|
957
|
-
* Pull to refresh: dragging the content down at the top
|
|
958
|
-
*
|
|
978
|
+
* Pull to refresh: dragging the content down at the top draws a small ring of characters round in the gap, closing it at the
|
|
979
|
+
* threshold with a small pop. Let go past it and the ring opens into a spinning arc while `onRefresh` runs, then draws a check and springs back.
|
|
959
980
|
*/
|
|
960
981
|
declare function pullRefresh(element: HTMLElement, options: PullRefreshOptions): PullRefreshHandle;
|
|
961
982
|
|
|
@@ -1063,6 +1084,9 @@ declare const drift: BackgroundPreset;
|
|
|
1063
1084
|
/** The drifting ground drawn as dots, clear around your content. `cellSize` is the dot spacing. */
|
|
1064
1085
|
declare const halftone: BackgroundPreset;
|
|
1065
1086
|
|
|
1087
|
+
/** A fine dot grid that swells in slow rolling waves, quiet in the middle; dots rise under the pointer. `cellSize` is the dot spacing. */
|
|
1088
|
+
declare const swell: BackgroundPreset;
|
|
1089
|
+
|
|
1066
1090
|
/** A word becomes the background, drawn by the GPU with a soft wake. Set it with `text`; `look: { scene: 'orb' }` for the orb. */
|
|
1067
1091
|
declare const wordField: BackgroundPreset;
|
|
1068
1092
|
|
|
@@ -1159,10 +1183,102 @@ type TemplateDraw = (ctx: CanvasRenderingContext2D, width: number, height: numbe
|
|
|
1159
1183
|
*/
|
|
1160
1184
|
declare function mountCanvas(context: BackgroundContext, draw: TemplateDraw, warmFrames?: number): BackgroundRun | null;
|
|
1161
1185
|
|
|
1186
|
+
/**
|
|
1187
|
+
* The Studio's 24 render styles as the glyph field draws them: the glyph-like styles are ramps, the halftone is the dot mark,
|
|
1188
|
+
* and the tile and print styles are field marks of the same name.
|
|
1189
|
+
*/
|
|
1190
|
+
declare const KIT_STYLES: {
|
|
1191
|
+
readonly ascii: {
|
|
1192
|
+
readonly mark: "glyph";
|
|
1193
|
+
readonly charset: " .:-=+*#%@";
|
|
1194
|
+
};
|
|
1195
|
+
readonly blocks: {
|
|
1196
|
+
readonly mark: "glyph";
|
|
1197
|
+
readonly charset: " ░▒▓█";
|
|
1198
|
+
};
|
|
1199
|
+
readonly braille: {
|
|
1200
|
+
readonly mark: "glyph";
|
|
1201
|
+
readonly charset: " ⠁⠃⠇⡇⣇⣧⣷⣿";
|
|
1202
|
+
};
|
|
1203
|
+
readonly dots: {
|
|
1204
|
+
readonly mark: "dot";
|
|
1205
|
+
};
|
|
1206
|
+
readonly lines: {
|
|
1207
|
+
readonly mark: "glyph";
|
|
1208
|
+
readonly charset: " -═╪╬";
|
|
1209
|
+
};
|
|
1210
|
+
readonly cross: {
|
|
1211
|
+
readonly mark: "glyph";
|
|
1212
|
+
readonly charset: " ·+xX#";
|
|
1213
|
+
};
|
|
1214
|
+
readonly diagonal: {
|
|
1215
|
+
readonly mark: "glyph";
|
|
1216
|
+
readonly charset: " /╱╳";
|
|
1217
|
+
};
|
|
1218
|
+
readonly diamond: {
|
|
1219
|
+
readonly mark: "glyph";
|
|
1220
|
+
readonly charset: " ·◇◈◆";
|
|
1221
|
+
};
|
|
1222
|
+
readonly mixed: {
|
|
1223
|
+
readonly mark: "glyph";
|
|
1224
|
+
readonly charset: " .:+/◇#@";
|
|
1225
|
+
};
|
|
1226
|
+
readonly pixel: {
|
|
1227
|
+
readonly mark: "pixel";
|
|
1228
|
+
};
|
|
1229
|
+
readonly mosaic: {
|
|
1230
|
+
readonly mark: "mosaic";
|
|
1231
|
+
};
|
|
1232
|
+
readonly lego: {
|
|
1233
|
+
readonly mark: "lego";
|
|
1234
|
+
};
|
|
1235
|
+
readonly voxel: {
|
|
1236
|
+
readonly mark: "voxel";
|
|
1237
|
+
};
|
|
1238
|
+
readonly disco: {
|
|
1239
|
+
readonly mark: "disco";
|
|
1240
|
+
};
|
|
1241
|
+
readonly dither: {
|
|
1242
|
+
readonly mark: "dither";
|
|
1243
|
+
};
|
|
1244
|
+
readonly hex: {
|
|
1245
|
+
readonly mark: "hex";
|
|
1246
|
+
};
|
|
1247
|
+
readonly led: {
|
|
1248
|
+
readonly mark: "led";
|
|
1249
|
+
};
|
|
1250
|
+
readonly cmyk: {
|
|
1251
|
+
readonly mark: "cmyk";
|
|
1252
|
+
};
|
|
1253
|
+
readonly stipple: {
|
|
1254
|
+
readonly mark: "stipple";
|
|
1255
|
+
};
|
|
1256
|
+
readonly engraving: {
|
|
1257
|
+
readonly mark: "engraving";
|
|
1258
|
+
};
|
|
1259
|
+
readonly crosshatch: {
|
|
1260
|
+
readonly mark: "crosshatch";
|
|
1261
|
+
};
|
|
1262
|
+
readonly woodblock: {
|
|
1263
|
+
readonly mark: "woodblock";
|
|
1264
|
+
};
|
|
1265
|
+
readonly risograph: {
|
|
1266
|
+
readonly mark: "risograph";
|
|
1267
|
+
};
|
|
1268
|
+
readonly pointillism: {
|
|
1269
|
+
readonly mark: "pointillism";
|
|
1270
|
+
};
|
|
1271
|
+
};
|
|
1272
|
+
type KitStyle = keyof typeof KIT_STYLES;
|
|
1162
1273
|
/** The page-wide look `setGlobalLook` lays over every glyph field. */
|
|
1163
1274
|
interface GlobalLook {
|
|
1164
1275
|
/** Characters for every glyph field that keeps none of letters of its own. Empty keeps each field's own. */
|
|
1165
1276
|
charset?: string;
|
|
1277
|
+
/**
|
|
1278
|
+
* One of the Studio's render styles (`KIT_STYLES`): what every such field draws in each cell. A glyph-like style brings its
|
|
1279
|
+
* ramp, which `charset` overrides; a tile or print style changes the mark and keeps each field's own charset for its blanks.
|
|
1280
|
+
*/
|
|
1281
|
+
style?: KitStyle;
|
|
1166
1282
|
}
|
|
1167
1283
|
/** Re-skins every glyph field on the page at once; `null` gives each field its own characters back. */
|
|
1168
1284
|
declare function setGlobalLook(next: GlobalLook | null): void;
|
|
@@ -1176,4 +1292,4 @@ declare function subscribeGlobalLook(listener: (look: GlobalLook | null) => void
|
|
|
1176
1292
|
declare function setFieldBudget(n: number): void;
|
|
1177
1293
|
declare const getFieldBudget: () => number;
|
|
1178
1294
|
|
|
1179
|
-
export { type AccordionHandle, type AccordionImage, type AccordionOptions, type ArtPanelHandle, type ArtPanelOptions, type AsciiVideoHandle, type AsciiVideoOptions, BEAM_PALETTES, type BackgroundCharset, type BackgroundContext, type BackgroundCursor, type BackgroundHandle, type BackgroundOptions, type BackgroundPreset, type BackgroundRun, type BackgroundSettings, type BeamHandle, type BeamMode, type BeamOptions, type BeamPalette, type BlockChartHandle, type BlockChartOptions, type Box, type ButtonLoadingHandle, type ButtonLoadingOptions, type ButtonState, type CodeInputHandle, type CodeInputOptions, type CodeState, type CommandPaletteHandle, type CommandPaletteOptions, type CompareHandle, type CompareOptions, type DecodeHandle, type DecodeOptions, type DisintegrateOptions, type DropState, type DroppedImage, type DropzoneHandle, type DropzoneOptions, type FieldBackgroundHandle, type FieldBackgroundOptions, type FieldPreset, type GenerateState, type GlobalLook, type ImageGenerateHandle, type ImageGenerateOptions, type ImageStream, type ImageUpdate, type KitHandle, type KitOptions, type LikeBurstHandle, type LikeBurstOptions, type LikeMark, type OdometerHandle, type OdometerOptions, type OrbState, PILL_TONES, type PageDissolveHandle, type PageDissolveOptions, type PaintFrame, type PillHandle, type PillOptions, type PillTone, type PricingGlowHandle, type PricingGlowOptions, type PullRefreshHandle, type PullRefreshOptions, type PullState, type SkeletonBlock, type SkeletonHandle, type SkeletonOptions, type SlideToConfirmHandle, type SlideToConfirmOptions, type StatusOrbHandle, type StatusOrbOptions, type StreamState, type StreamTextHandle, type StreamTextOptions, type Surface, type SurfaceConfig, type SwipeDeckHandle, type SwipeDeckOptions, type TabsHandle, type TabsOptions, type TemplateDraw, type TemplateFrame, type ThinkingHandle, type ThinkingOptions, type ThinkingState, type Toast, type ToastStackHandle, type ToastStackOptions, VOICE_PALETTES, type VoiceOrbHandle, type VoiceOrbOptions, type VoicePalette, type VoiceState, type WordmarkHandle, type WordmarkOptions, accordion, artPanel, asciiVideo, aurora, background, backgroundCharset, beam, beamPalette, blockChart, buttonLoading, caustics, circuit, codeInput, commandPalette, compare, contour, decode, disintegrate, dna, drift, dropzone, dune, etch, facet, fieldBackground, fire, fluid, getFieldBudget, getGlobalLook, grid, halftone, imageGenerate, likeBurst, moire, morph, mountCanvas, mountSurface, noise, odometer, pageDissolve, pill, pricingGlow, pullRefresh, pulse, rain, resolveColor, setFieldBudget, setGlobalLook, silk, skeleton, slideToConfirm, stars, statusOrb, streamText, subscribeGlobalLook, swipeDeck, tabs, terrain, thinking, toastStack, veil, voiceOrb, voidWell, wave, weave, wordField, wordmark };
|
|
1295
|
+
export { type AccordionHandle, type AccordionImage, type AccordionOptions, type ArtPanelHandle, type ArtPanelOptions, type AsciiVideoHandle, type AsciiVideoOptions, BEAM_PALETTES, type BackgroundCharset, type BackgroundContext, type BackgroundCursor, type BackgroundHandle, type BackgroundOptions, type BackgroundPreset, type BackgroundRun, type BackgroundSettings, type BeamHandle, type BeamMode, type BeamOptions, type BeamPalette, type BlockChartHandle, type BlockChartOptions, type Box, type ButtonLoadingHandle, type ButtonLoadingOptions, type ButtonState, type CodeInputHandle, type CodeInputOptions, type CodeState, type CommandPaletteHandle, type CommandPaletteOptions, type CompareHandle, type CompareOptions, type DecodeHandle, type DecodeOptions, type DisintegrateOptions, type DropState, type DroppedImage, type DropzoneHandle, type DropzoneOptions, type FieldBackgroundHandle, type FieldBackgroundOptions, type FieldPreset, type GenerateState, type GlobalLook, type ImageGenerateHandle, type ImageGenerateOptions, type ImageStream, type ImageUpdate, KIT_STYLES, type KitHandle, type KitOptions, type KitStyle, type LikeBurstHandle, type LikeBurstOptions, type LikeMark, type OdometerHandle, type OdometerOptions, type OrbState, PILL_TONES, type PageDissolveHandle, type PageDissolveOptions, type PaintFrame, type PillHandle, type PillOptions, type PillTone, type PricingGlowHandle, type PricingGlowOptions, type PullRefreshHandle, type PullRefreshOptions, type PullState, type SkeletonBlock, type SkeletonHandle, type SkeletonOptions, type SlideToConfirmHandle, type SlideToConfirmOptions, type StatusOrbHandle, type StatusOrbOptions, type StreamState, type StreamTextHandle, type StreamTextOptions, type Surface, type SurfaceConfig, type SwipeDeckHandle, type SwipeDeckOptions, type TabsHandle, type TabsOptions, type TemplateDraw, type TemplateFrame, type ThinkingHandle, type ThinkingOptions, type ThinkingState, type Toast, type ToastStackHandle, type ToastStackOptions, VOICE_PALETTES, type VoiceOrbHandle, type VoiceOrbOptions, type VoicePalette, type VoiceState, type WordmarkHandle, type WordmarkOptions, accordion, artPanel, asciiVideo, aurora, background, backgroundCharset, beam, beamPalette, blockChart, buttonLoading, caustics, circuit, codeInput, commandPalette, compare, contour, decode, disintegrate, dna, drift, dropzone, dune, etch, facet, fieldBackground, fire, fluid, getFieldBudget, getGlobalLook, grid, halftone, imageGenerate, likeBurst, moire, morph, mountCanvas, mountSurface, noise, odometer, pageDissolve, pill, pricingGlow, pullRefresh, pulse, rain, resolveColor, setFieldBudget, setGlobalLook, silk, skeleton, slideToConfirm, stars, statusOrb, streamText, subscribeGlobalLook, swell, swipeDeck, tabs, terrain, thinking, toastStack, veil, voiceOrb, voidWell, wave, weave, wordField, wordmark };
|