asciify-engine 4.0.0 → 4.1.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.
@@ -2,13 +2,13 @@
2
2
  name: asciify-engine
3
3
  description: Build and tune browser ASCII images, video, GIFs, text, and interactive heroes with asciify-engine. Use for media conversion, character and color choices, hover integration, layered HTML typography, scroll-synced video, and rendering performance in apps using this package.
4
4
  metadata:
5
- tested-engine: "4.0.0"
5
+ tested-engine: "4.1.0"
6
6
  updated: "2026-09-09"
7
7
  ---
8
8
 
9
9
  # Asciify Engine
10
10
 
11
- Use the published `asciify-engine` npm package for browser canvas rendering. Tested against **4.0.0**. Check the application's installed version and its public types before using newer options; a local checkout can contain unpublished changes.
11
+ Use the published `asciify-engine` npm package for browser canvas rendering. Tested against **4.1.0**. Check the application's installed version and its public types before using newer options; a local checkout can contain unpublished changes.
12
12
 
13
13
  - Agent entry: https://asciify.org/skill (redirects to this Markdown document).
14
14
  - Playground: https://asciify.org/editor
@@ -83,7 +83,7 @@ const letters = [...new Set('ASCIIFY'.toUpperCase().replace(/[^A-Z]/g, ''))].joi
83
83
  const charset = ` .:-=+${letters}#%@`;
84
84
  ```
85
85
 
86
- Preview it: letter glyph densities differ, so arbitrary words are not automatically an evenly ordered ramp. Keep the leading space and the light/dense symbols. Use `CHARSETS.standard`, `dense`, `blocks`, or `braille` when they better suit the subject.
86
+ Preview it: letter glyph densities differ, so arbitrary words are not automatically an evenly ordered ramp. Keep the leading space and the light/dense symbols. Use the curated `CHARACTER_SETS.standard.chars`, `detailed.chars`, `blocks.chars`, or `braille.chars` from `/core` when appropriate.
87
87
 
88
88
  ## Engine effects versus studio effects
89
89
 
@@ -136,6 +136,6 @@ Version 1.3.0 adds text-shaped charcoal cutouts (`textMask`), peripheral scanlin
136
136
 
137
137
  For optional wallpaper/backdrops, alternate renderers, palettes, masks, saved looks, text fonts, or deterministic MP4/GIF export, read [references/studio-workspace.md](references/studio-workspace.md). The new `/studio` API is separate from `/hover` and `AsciiOptions`; do not replace an existing hero pipeline just to add a backdrop. Use version 1.4.0 or newer for these APIs after verifying the installed package.
138
138
 
139
- ## Standard catalogs in 2.0
139
+ ## Current catalogs (4.1)
140
140
 
141
- `CHARSETS` and `ART_STYLE_PRESETS` no longer include `emoji`, `musical` or `starfield`. Do not recommend or generate those names. For character selection in a Studio integration, use `STUDIO_CHARACTER_SETS` from `asciify-engine/studio` and assign an entry's `chars` to `settings.charset`. These ramps apply to the `ascii` style; other styles define their own marks. Custom Unicode strings remain supported. Read the upgrade reference when migrating 1.x preset names. The site now opens its primary workspace at `/editor`; `/editor/classic` preserves earlier workflows. Keep the engine imports modular: new editor defaults do not require importing Studio into an existing hero.
141
+ Legacy `CHARSETS`, `ART_STYLE_PRESETS`, `CHARSET_SEQUENCES`, `LIVING_STYLE_PRESETS` and their key types are removed. Do not import them or generate old names such as Katakana, Binary, Waves or Smoke. Use the 15 `STUDIO_STYLES` for render-style selectors and `/studio` rendering. For ASCII-only character ramps use `CHARACTER_SETS` from `/core` or `STUDIO_CHARACTER_SETS` from `/studio`; custom Unicode and user-provided frame arrays remain supported. Core `artStyle` only accepts `classic`; use explicit options instead of preset shortcuts. Despite the requested 4.1.0 version number, migrating these removed APIs is a breaking change.
@@ -105,7 +105,7 @@ Do not promise a 120 FPS minimum on every mobile device or arbitrary character c
105
105
 
106
106
  ### Hero character catalog
107
107
 
108
- Hero → Customize → Character set exposes every preset from the published engine `CHARSETS` catalog, plus the Asciify brand set. Selecting a set clears a custom-letter override; Apply letters modifies only the selected set, and Reset set restores it. Selection works while paused or with reduced motion. The hero remains gray; these are character ramps, not the playground’s Halftone/Dither rendering modes. Prism at 95% with 35% edge softness is the default hero finish: red/cyan separation with short soft shoulders at the perimeter, a clear center, and no blur on HTML text or controls. The same Prism shader is used by the playground and optional engine hover surface.
108
+ Hero → Customize → Characters uses the same 15 render-style tiles as the editor, with six primary styles and nine under More render styles. Custom letters are available under ASCII. Alternate styles use the published Studio renderer and share the hero's video; they are not aliases for old alphabets. Default ASCII retains its GPU hover and Prism finish. Selecting styles works while paused or with reduced motion.
109
109
 
110
110
  The default Trail radius is now `0.45` in the hero, playground preset and optional engine mount. This widens the nominal fluid impulse by about 51% versus `0.2`, while preserving the same strength, bounded flow field. Pass `radius: 0.2` explicitly for the previous narrower reach. Other hover presets keep their existing sizes.
111
111
 
@@ -30,7 +30,7 @@ After updating, read the installed SKILL.md and its linked references, confirm i
30
30
 
31
31
  ## 2.0 catalog migration
32
32
 
33
- 2.0.0 removes the `emoji`, `musical`, and `starfield` keys from `CHARSETS`, `ArtStyle`, and `ART_STYLE_PRESETS`. Before upgrading, search application settings and saved presets for those names. Use `classic` plus a custom `charset` to retain an application-owned alphabet, or use `circles`, `braille`, or `geometric` for structural alternatives. The existing cosmic sequence now uses sparse marks/circles/shadows, and angular uses geometry/shards/blocks. Other core options and renderers retain their behavior. Do not pass retired keys or tell users that custom Unicode has been removed.
33
+ 2.0.0 removes the `emoji`, `musical`, and `starfield` keys from `CHARSETS`, `ArtStyle`, and `ART_STYLE_PRESETS`. Before upgrading, search application settings and saved presets for those names. For current releases, use a custom `charset` or a current StudioStyle. The existing cosmic sequence now uses sparse marks/circles/shadows, and angular uses geometry/shards/blocks. Other core options and renderers retain their behavior. Do not pass retired keys or tell users that custom Unicode has been removed.
34
34
 
35
35
  The curated `STUDIO_CHARACTER_SETS` export is available from `/studio` in 2.0.0. Its values contain `label` and `chars`; assign `chars` to Studio settings only for `style: 'ascii'`. The primary editor at `/editor` uses Studio; earlier webcam and classic-editor workflows remain at `/editor/classic`.
36
36
 
@@ -48,4 +48,9 @@ Use one motion owner: `animationStyle` for core, `motion` for `/hover`, or `moti
48
48
 
49
49
  Remove imports from `asciify-engine/backgrounds` and generator imports from the root package. Download the chosen `.js` template from https://asciify.org/backgrounds and change the import to `./wave.js` (or your selected file). The template exports `asciiBackground`; keep calling `destroy()` on unmount. It handles resizing, hidden/offscreen suspension, reduced motion, and cleanup. A selected template contains only that generator; backgrounds.js is the optional full collection. Application-owned source templates are separate from npm updates. Existing installations can stay on 3.x while migrating. Text and media rendering remain supported, including text backgrounds.
50
50
 
51
- Use `CHARACTER_SETS` from root or `/core` for the same eight choices as the editor's `STUDIO_CHARACTER_SETS`. This data-only import does not load Studio. Keep custom characters available separately; do not populate standard UI choices from the larger legacy `CHARSETS` object.
51
+ Use `CHARACTER_SETS` from root or `/core` for the same eight choices as the editor's `STUDIO_CHARACTER_SETS`. This data-only import does not load Studio. Keep custom characters available separately; do not import the removed `CHARSETS` object.
52
+
53
+
54
+ ## 4.1.0 — remove legacy catalogs
55
+
56
+ This requested minor version contains breaking API removals: `CHARSETS`, `ART_STYLE_PRESETS`, `CHARSET_SEQUENCES`, `LIVING_STYLE_PRESETS`, `CharsetKey`, `CharsetSequenceKey`, and `LivingStylePresetKey`. Search source, saved settings, generated snippets, and documentation before upgrading. Use `/studio`'s 15 `STUDIO_STYLES` for render styles; use `/core`'s curated `CHARACTER_SETS` for ASCII alphabets. Replace old shorthand `artStyle` names with actual Studio rendering or explicit core charset/renderMode/colorMode options. Core only accepts `artStyle: 'classic'`. Custom `charset` and `charsetFrames` remain supported. Fine-dither hover integration uses explicit `fineDither: true`, not the removed terminal preset.
@@ -1,71 +0,0 @@
1
- /** Curated ASCII ramps. Use custom text to supply a different alphabet. */
2
- declare const CHARACTER_SETS: {
3
- readonly standard: {
4
- readonly label: "Classic ASCII";
5
- readonly chars: " .:-=+*#%@";
6
- };
7
- readonly asciify: {
8
- readonly label: "Asciify";
9
- readonly chars: " .:-=+ASCIIFY#@";
10
- };
11
- readonly minimal: {
12
- readonly label: "Minimal";
13
- readonly chars: " .:+";
14
- };
15
- readonly detailed: {
16
- readonly label: "Detailed";
17
- readonly chars: " .,:;i1tfLCG08@";
18
- };
19
- readonly letters: {
20
- readonly label: "Letters";
21
- readonly chars: " .ilLCFTYASMW";
22
- };
23
- readonly technical: {
24
- readonly label: "Technical";
25
- readonly chars: " .:;>_/[{}]=+*#@$";
26
- };
27
- readonly blocks: {
28
- readonly label: "Tonal blocks";
29
- readonly chars: " ░▒▓█";
30
- };
31
- readonly braille: {
32
- readonly label: "Braille";
33
- readonly chars: " ⠁⠃⠇⡇⣇⣧⣷⣿";
34
- };
35
- };
36
- declare const STUDIO_CHARACTER_SETS: {
37
- readonly standard: {
38
- readonly label: "Classic ASCII";
39
- readonly chars: " .:-=+*#%@";
40
- };
41
- readonly asciify: {
42
- readonly label: "Asciify";
43
- readonly chars: " .:-=+ASCIIFY#@";
44
- };
45
- readonly minimal: {
46
- readonly label: "Minimal";
47
- readonly chars: " .:+";
48
- };
49
- readonly detailed: {
50
- readonly label: "Detailed";
51
- readonly chars: " .,:;i1tfLCG08@";
52
- };
53
- readonly letters: {
54
- readonly label: "Letters";
55
- readonly chars: " .ilLCFTYASMW";
56
- };
57
- readonly technical: {
58
- readonly label: "Technical";
59
- readonly chars: " .:;>_/[{}]=+*#@$";
60
- };
61
- readonly blocks: {
62
- readonly label: "Tonal blocks";
63
- readonly chars: " ░▒▓█";
64
- };
65
- readonly braille: {
66
- readonly label: "Braille";
67
- readonly chars: " ⠁⠃⠇⡇⣇⣧⣷⣿";
68
- };
69
- };
70
-
71
- export { CHARACTER_SETS as C, STUDIO_CHARACTER_SETS as S };
@@ -1,71 +0,0 @@
1
- /** Curated ASCII ramps. Use custom text to supply a different alphabet. */
2
- declare const CHARACTER_SETS: {
3
- readonly standard: {
4
- readonly label: "Classic ASCII";
5
- readonly chars: " .:-=+*#%@";
6
- };
7
- readonly asciify: {
8
- readonly label: "Asciify";
9
- readonly chars: " .:-=+ASCIIFY#@";
10
- };
11
- readonly minimal: {
12
- readonly label: "Minimal";
13
- readonly chars: " .:+";
14
- };
15
- readonly detailed: {
16
- readonly label: "Detailed";
17
- readonly chars: " .,:;i1tfLCG08@";
18
- };
19
- readonly letters: {
20
- readonly label: "Letters";
21
- readonly chars: " .ilLCFTYASMW";
22
- };
23
- readonly technical: {
24
- readonly label: "Technical";
25
- readonly chars: " .:;>_/[{}]=+*#@$";
26
- };
27
- readonly blocks: {
28
- readonly label: "Tonal blocks";
29
- readonly chars: " ░▒▓█";
30
- };
31
- readonly braille: {
32
- readonly label: "Braille";
33
- readonly chars: " ⠁⠃⠇⡇⣇⣧⣷⣿";
34
- };
35
- };
36
- declare const STUDIO_CHARACTER_SETS: {
37
- readonly standard: {
38
- readonly label: "Classic ASCII";
39
- readonly chars: " .:-=+*#%@";
40
- };
41
- readonly asciify: {
42
- readonly label: "Asciify";
43
- readonly chars: " .:-=+ASCIIFY#@";
44
- };
45
- readonly minimal: {
46
- readonly label: "Minimal";
47
- readonly chars: " .:+";
48
- };
49
- readonly detailed: {
50
- readonly label: "Detailed";
51
- readonly chars: " .,:;i1tfLCG08@";
52
- };
53
- readonly letters: {
54
- readonly label: "Letters";
55
- readonly chars: " .ilLCFTYASMW";
56
- };
57
- readonly technical: {
58
- readonly label: "Technical";
59
- readonly chars: " .:;>_/[{}]=+*#@$";
60
- };
61
- readonly blocks: {
62
- readonly label: "Tonal blocks";
63
- readonly chars: " ░▒▓█";
64
- };
65
- readonly braille: {
66
- readonly label: "Braille";
67
- readonly chars: " ⠁⠃⠇⡇⣇⣧⣷⣿";
68
- };
69
- };
70
-
71
- export { CHARACTER_SETS as C, STUDIO_CHARACTER_SETS as S };