asciify-engine 4.15.0 → 4.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/kit.d.cts CHANGED
@@ -748,9 +748,7 @@ declare function toastStack(container: HTMLElement, options?: ToastStackOptions)
748
748
 
749
749
  type ThinkingState = 'thinking' | 'streaming' | 'done';
750
750
  interface ThinkingOptions extends KitOptions {
751
- /** Line-shaped bands of drifting dots shown while thinking. Default 3. */
752
- lines?: number;
753
- /** An element to write the status into: `Thinking…`, then `Thought for 2s`. */
751
+ /** The status element: `Thinking…` while a wave of rolling characters runs through it, then `Thought for 2s`. */
754
752
  label?: HTMLElement | null;
755
753
  /** The status texts. */
756
754
  labels?: {
@@ -759,23 +757,32 @@ interface ThinkingOptions extends KitOptions {
759
757
  };
760
758
  /** Start thinking at once. Default true; false waits for `think()`. */
761
759
  start?: boolean;
762
- /** Ms between one word and the next fading in. Default 38. */
760
+ /** Ms between one word of the answer and the next fading in. Default 38. */
763
761
  stagger?: number;
764
- /** A dotted rule under the finished answer. Default true. */
765
- rule?: boolean;
762
+ /** Ms one character of the label takes to roll through its glyphs and back. Default 520. */
763
+ roll?: number;
764
+ /** Ms between neighbouring characters as the wave runs across the label. Default 55. */
765
+ wave?: number;
766
+ /** Glyphs the label rolls through. Default `#%*+=-:`. */
767
+ glyphs?: string;
766
768
  /** Called on each state change; `seconds` is how long it thought, once known. For a status you render yourself. */
767
769
  onState?: (state: ThinkingState, seconds: number) => void;
770
+ /** @deprecated The dot bands were removed in 4.17; ignored. */
771
+ lines?: number;
772
+ /** @deprecated The dotted rule was removed in 4.17; ignored. */
773
+ rule?: boolean;
768
774
  }
769
775
  interface ThinkingHandle extends KitHandle<ThinkingOptions> {
770
776
  /** Clears the answer and thinks again, as for Regenerate. */
771
777
  think(): void;
772
- /** Writes the answer, word by word, as the dots give way. Pass a string or an async iterable of chunks. Resolves when it has settled. */
778
+ /** 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
779
  stream(text: string | AsyncIterable<string>): Promise<void>;
774
780
  readonly state: ThinkingState;
775
781
  }
776
782
  /**
777
- * The thinking state of an assistant reply: line-shaped bands of drifting dots while the model thinks, then the answer
778
- * fades in word by word as the dots give way, leaving a quiet dotted rule under it.
783
+ * The thinking state of an assistant reply. While the model thinks, a wave runs through the status label: each letter in
784
+ * turn rolls up through glyphs and lands back on itself, in the label's own font. When the answer starts, every letter rolls
785
+ * once more into `Thought for 2s`, and the answer fades in word by word.
779
786
  */
780
787
  declare function thinking(element: HTMLElement, options?: ThinkingOptions): ThinkingHandle;
781
788
 
@@ -790,6 +797,15 @@ interface StreamTextOptions extends KitOptions {
790
797
  onState?: (state: StreamState) => void;
791
798
  /** Reasoning lines `reasoning()` keeps in view above the reply; older ones scroll up and fade. Default 2. */
792
799
  reasoningLines?: number;
800
+ /**
801
+ * How characters land, set at creation. `flicker`: a glyph cell flickers, then resolves into the letter. `roll`: each
802
+ * character rolls up through glyphs in the text's own font and settles on the crisp letter, like the odometer. Default `flicker`.
803
+ */
804
+ transition?: 'flicker' | 'roll';
805
+ /** Ms one character rolls under `transition: 'roll'`; each next character starts `stagger` ms later. Default 300. */
806
+ roll?: number;
807
+ /** Glyphs a character rolls through. Default `#%*+=-:`. */
808
+ glyphs?: string;
793
809
  }
794
810
  interface StreamTextHandle extends KitHandle<StreamTextOptions> {
795
811
  /** Appends a token: its characters land as flickering glyph cells that resolve into letters, left to right. */
package/dist/kit.d.ts CHANGED
@@ -748,9 +748,7 @@ declare function toastStack(container: HTMLElement, options?: ToastStackOptions)
748
748
 
749
749
  type ThinkingState = 'thinking' | 'streaming' | 'done';
750
750
  interface ThinkingOptions extends KitOptions {
751
- /** Line-shaped bands of drifting dots shown while thinking. Default 3. */
752
- lines?: number;
753
- /** An element to write the status into: `Thinking…`, then `Thought for 2s`. */
751
+ /** The status element: `Thinking…` while a wave of rolling characters runs through it, then `Thought for 2s`. */
754
752
  label?: HTMLElement | null;
755
753
  /** The status texts. */
756
754
  labels?: {
@@ -759,23 +757,32 @@ interface ThinkingOptions extends KitOptions {
759
757
  };
760
758
  /** Start thinking at once. Default true; false waits for `think()`. */
761
759
  start?: boolean;
762
- /** Ms between one word and the next fading in. Default 38. */
760
+ /** Ms between one word of the answer and the next fading in. Default 38. */
763
761
  stagger?: number;
764
- /** A dotted rule under the finished answer. Default true. */
765
- rule?: boolean;
762
+ /** Ms one character of the label takes to roll through its glyphs and back. Default 520. */
763
+ roll?: number;
764
+ /** Ms between neighbouring characters as the wave runs across the label. Default 55. */
765
+ wave?: number;
766
+ /** Glyphs the label rolls through. Default `#%*+=-:`. */
767
+ glyphs?: string;
766
768
  /** Called on each state change; `seconds` is how long it thought, once known. For a status you render yourself. */
767
769
  onState?: (state: ThinkingState, seconds: number) => void;
770
+ /** @deprecated The dot bands were removed in 4.17; ignored. */
771
+ lines?: number;
772
+ /** @deprecated The dotted rule was removed in 4.17; ignored. */
773
+ rule?: boolean;
768
774
  }
769
775
  interface ThinkingHandle extends KitHandle<ThinkingOptions> {
770
776
  /** Clears the answer and thinks again, as for Regenerate. */
771
777
  think(): void;
772
- /** Writes the answer, word by word, as the dots give way. Pass a string or an async iterable of chunks. Resolves when it has settled. */
778
+ /** 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
779
  stream(text: string | AsyncIterable<string>): Promise<void>;
774
780
  readonly state: ThinkingState;
775
781
  }
776
782
  /**
777
- * The thinking state of an assistant reply: line-shaped bands of drifting dots while the model thinks, then the answer
778
- * fades in word by word as the dots give way, leaving a quiet dotted rule under it.
783
+ * The thinking state of an assistant reply. While the model thinks, a wave runs through the status label: each letter in
784
+ * turn rolls up through glyphs and lands back on itself, in the label's own font. When the answer starts, every letter rolls
785
+ * once more into `Thought for 2s`, and the answer fades in word by word.
779
786
  */
780
787
  declare function thinking(element: HTMLElement, options?: ThinkingOptions): ThinkingHandle;
781
788
 
@@ -790,6 +797,15 @@ interface StreamTextOptions extends KitOptions {
790
797
  onState?: (state: StreamState) => void;
791
798
  /** Reasoning lines `reasoning()` keeps in view above the reply; older ones scroll up and fade. Default 2. */
792
799
  reasoningLines?: number;
800
+ /**
801
+ * How characters land, set at creation. `flicker`: a glyph cell flickers, then resolves into the letter. `roll`: each
802
+ * character rolls up through glyphs in the text's own font and settles on the crisp letter, like the odometer. Default `flicker`.
803
+ */
804
+ transition?: 'flicker' | 'roll';
805
+ /** Ms one character rolls under `transition: 'roll'`; each next character starts `stagger` ms later. Default 300. */
806
+ roll?: number;
807
+ /** Glyphs a character rolls through. Default `#%*+=-:`. */
808
+ glyphs?: string;
793
809
  }
794
810
  interface StreamTextHandle extends KitHandle<StreamTextOptions> {
795
811
  /** Appends a token: its characters land as flickering glyph cells that resolve into letters, left to right. */