TECHNIQUES.md — Master Technique Registry
TECHNIQUES.md — Master Technique Registry
The canonical deduplicated list of all known/discovered techniques. Research sessions append here. Duplicates get merged, not re-added.
Categories
A. Fill & Texture
Techniques that determine what characters fill a glyph mask.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| F01 | Density ASCII | Map brightness → character density (@#%+-.) |
2 | done |
| F02 | Perlin Noise Fill | Noise field drives char selection inside mask | 4 | done |
| F03 | Cellular Automata Fill | Conway/GoL seeds inside glyph, freeze after N steps | 4 | done |
| F04 | Reaction-Diffusion | Gray-Scott inside glyph boundary | 5 | done |
| F05 | Fractal Fill | Mandelbrot/Julia escape time → char density | 4 | done |
| F06 | SDF Edge Fill | Distance from glyph edge → char selection (outline/glow) | 4 | done |
| F07 | Voronoi Fill | Voronoi cells inside glyph, cell borders as chars | 4 | done |
| F08 | Stipple Fill | Error-diffusion dithering (Floyd-Steinberg) inside mask | 3 | idea |
| F09 | Wave Interference | Two sine waves interfering inside mask | 4 | done |
| F10 | Truchet Tiles | Tiling patterns inside glyph using arc/diagonal chars | 5 | done |
| F11 | Shape-Vector Fill | 4-neighbor connectivity: \|/- at edges, density chars at interior — contour-following, pure Python |
4 | done |
Note: F11 is labelled “F07” in the gallery/demo (numbering predates this registry entry). F07 Voronoi Fill remains unimplemented.
B. Font Generation
Techniques for generating or importing new glyph sets.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| G01 | FIGlet Parser | Parse .flf format, unlock 400+ community fonts |
2 | done |
| G02 | TTF/PIL Rasterizer | System fonts → low-res ASCII via Pillow. Superseded by image pipeline (G09) for 4K; glyph-dict path retained for fill effects | 3 | done |
| G03 | Bitmap Spritesheet Import | .png pixel font → glyph dict |
3 | idea |
| G04 | SDF Font Generator | Letterforms as signed distance fields, rasterize to grid | 5 | idea |
| G05 | Bézier Font Generator | Letters as Bézier curves, rasterize at any resolution | 5 | idea |
| G06 | Braille Font | Unicode Braille patterns for ultra-high-res ASCII | 3 | idea |
| G07 | Half-block Font | Unicode half-block chars (▀▄) for 2x vertical resolution | 2 | idea |
| G08 | Quadrant Block Font | Unicode quadrant chars (▖▗▘▝) for 2x2 subpixel grid | 3 | idea |
| G09 | Image-to-ASCII Pipeline | Any PIL image → 6D zone char matching → (char, rgb) grid. Modules: core/char_db.py (promoted from shape_fill), core/image_sampler.py, core/image_pipeline.py. Supports text-as-image rendering (4K gallery) and arbitrary image/photo conversion. |
5 | done |
| G10 | Custom PUA Glyph Font | Unicode Private Use Area (U+E000–U+F8FF) + font patching (Terminal Glyph Patcher) to embed custom SVG glyphs — partial-fill blocks, diagonal sub-cell patterns, specialty symbols — usable in terminals running a patched font | 4 | idea |
| G11 | 3D Glyph Mesh Renderer | ttf2mesh (https://github.com/fetisov/ttf2mesh) tessellates TTF glyphs into 3D Delaunay meshes (.obj). Python numpy soft-rasterizer (Z-buffer, per-face lighting) renders mesh to PIL canvas → image_to_ascii_fast → 4K PNG. Enables true isometric/perspective/oblique 3D letterforms with correct occlusion and lighting — no PIL affine hacks. Gallery entries: iso, perspective, oblique, rotate45, lit-left, neon-emissive. | 5 | idea |
C. Spatial Effects
Geometric transformations applied to the full rasterized grid.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| S01 | Sine Wave Warp | Oscillate rows horizontally — flag/water effect | 2 | done |
| S02 | Perspective Tilt | Vanishing point projection — text receding to horizon | 3 | done |
| S03 | Isometric Extrusion | 3D isometric extrusion with face shading | 5 | done |
| S04 | Radial Distortion | Fisheye or pinch on whole text block | 3 | idea |
| S05 | Ripple/Moiré | Overlapping sine interference patterns | 3 | idea |
| S06 | Rotation | Arbitrary angle rotation of grid | 2 | idea |
| S07 | Mirror/Symmetry | Horizontal/vertical/radial symmetry modes | 1 | idea |
| S08 | Shear | Italic/oblique effect via grid shear | 2 | done |
| S09 | Barrel Distortion | Curved surface projection | 4 | idea |
| S10 | Vortex/Swirl | Rotational distortion increasing from center | 4 | idea |
D. Color & Lighting
Color systems beyond flat ANSI.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| C01 | Linear Gradient | Horizontal/vertical gradient across text block | 1 | done |
| C02 | Radial Gradient | Gradient radiating from center point | 2 | done |
| C03 | Per-Glyph Palette | Each letter gets its own color | 2 | done |
| C04 | Depth Color | Color driven by Z-depth (combine with 3D extrusion) | 3 | idea |
| C05 | Noise-Driven Color | Color field from Perlin noise, independent of shape | 4 | idea |
| C06 | Palette Import | Load palette from image or hex list | 2 | idea |
| C07 | True-Color ANSI | 24-bit RGB via \033[38;2;r;g;bm |
2 | done |
| C08 | Chromatic Aberration | RGB channels offset slightly | 5 | idea |
| C09 | Scanline Shading | Alternating bright/dim rows (CRT effect) | 3 | idea |
| C10 | Phosphor Glow | Green/amber CRT phosphor palette + bloom simulation | 4 | idea |
| C11 | Fill-Float Color | Infrastructure: per-cell float→RGB color mapping. fill_float_colorize(text, float_grid, palette) → str. Receives the fill’s raw float grid before char snapping; maps it through a named palette (FIRE, LAVA, SPECTRAL, BIO). Unlocks A08c, A10c, A_VOR1, A_F09b, X_TURING_BIO, X_FRACTAL_CLASSIC. | 2 | done |
| C12 | Bloom / Exterior Glow | Post-process: outward SDF from ink cells drives background-color (\033[48;2;r;g;bm) on surrounding space cells. BFS distance map from all ink cells; exponential falloff per cell. BLOOM_COLORS dict of named presets. Composable: pipe after any render output. Terminal-only: SVG/PNG exporters currently ignore background ANSI codes (bloom not visible in static exports). X_NEON_BLOOM is first consumer. |
5 | done |
| C13 | HDR Tone Mapping | Replace linear float→char mapping with named tone curves applied inside fill functions: reinhard (soft rolloff, shadow detail), aces (punchy mids, filmic highlights), blown_out (values above threshold → solid block chars, simulates overexposure). Parameter: tone_curve="linear"|"reinhard"|"aces"|"blown_out". ~15 lines; most visually impactful on flame/plasma fills. |
3 | done |
E. Animation
Frame-based terminal animation techniques.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| A01 | Typewriter | Characters appear sequentially | 1 | done |
| A02 | Scanline Reveal | Text builds top-to-bottom | 1 | done |
| A03 | Glitch | Random character corruption, snap back | 2 | done |
| A04 | Pulse | Brightness/color oscillation | 2 | done |
| A05 | Particle Dissolve | Characters drift/scatter on exit | 3 | done |
| A06 | Living Fill | Cellular automata animating inside glyph mask in real time | 5 | done |
| A07 | Matrix Rain | Characters falling through the glyph shape | 3 | idea |
| A08 | Flame Simulation | Heat-based upward particle drift inside glyphs | 4 | done |
| A08c | Flame Gradient + Sin-Wave Color | Variant of A08 — per-row fire palette (white→yellow→orange→red→dark red, hot at base) with a sin-wave phase offset per frame that makes the color boundary ripple vertically on a loop. No new deps: 256-color ANSI already in use. Post-processes render() output rows directly in the animation preset — same pattern as neon presets. One new FIRE_PALETTE list in color.py (~10 entries), one new flame_gradient_flicker() preset (~40 lines). |
3 | idea |
| A09 | Liquid Fill | Glyph fills up like liquid pouring in from bottom | 4 | idea |
| A10 | Plasma Wave | Animated plasma sin-field drives character density selection (not just color) inside glyph mask — classic demoscene formula applied to char choice; asciimatics has color-only plasma (no char selection, no glyph masking) — that is prior art to color component, not to this | 4 | done |
| A10c | Plasma Lava Lamp | A10 + C11: per-cell 24-bit color driven by same plasma float that drives char selection (high→white/yellow, mid→orange/red, low→deep violet). Both char and color shift simultaneously per frame on same field at different scales. Looks like a lava lamp. No new fill code — wire plasma float grid into C11. | 4 | done |
| A11 | Transporter Materialize | Star Trek transporter effect — particles scatter in bounding column then converge/coalesce into glyph shape; half-block subpixel resolution (▀▄█) for particle precision; brightness cascade per cell as it locks in; bidirectional (materialize + dematerialize); TOS/TNG/ENT/Kelvin era variants; fps configurable (24–60, effect decides) | 5 | done 2026-04-26 |
| A08d | Plasma-Modulated Flame | Cross-breed: plasma sin-field spatially modulates the per-cell cooling rate inside flame_fill. High plasma → low cooling (tall hot flame persists). Low plasma → high cooling (flame dies back). Animate by sweeping plasma t while regenerating flame — fire’s hot zones slowly rotate as plasma field evolves underneath it. Two independent physical processes coupled. Genuinely novel cross-breed. |
5 | done 2026-04-17 |
| A_VOR1 | Voronoi Stained Glass | Voronoi cracked preset + C11: each cell region gets its own palette color (cell_id % palette_size). Animate by rotating palette offset each frame — color “light” shifts through the panes while cell borders stay structurally fixed. Structural permanence + color motion is the key tension. | 4 | done |
| A_SLIME1 | Slime Mold Time-Lapse Animation | Physarum polycephalum agent simulation captured at increasing step counts — each frame shows network formation at a more mature stage: random walks → faint traces → preferred paths → stable vein network. Single-pass snapshot approach (runs sim once per glyph, captures at specified steps). With loop=True, produces formation+dissolution cycle. BIO palette + C12 bloom. | 4 | done 2026-04-26 |
| A_F09a | Wave Interference Animation | F09 wave_fill already accepts phase1/phase2 but they’re never swept. Animate by stepping both phases 0→2π per frame — moiré bands slide, interference fringes flow. The moire preset animated looks like a signal broadcast. ~20 lines, directly analogous to plasma_wave. |
3 | idea |
| A_F09b | Wave Chromatic Interference | F09 + C11: constructive peaks (intensity≈1.0) → one hue (e.g. cyan), destructive troughs (≈0.0) → complementary (red/orange), smooth interpolation between. Moire preset animated with color bands sliding = optical interference experiment. Simple once C11 exists. | 3 | idea |
| A_N09a | Turing Morphogenesis | Animate the process of Turing pattern formation: single-pass FHN sim captures U-grid at steps [50, 100, 200, 400, 800, 1500, 2500, 3500], play as frames with C11 BIO_PALETTE color. Letterforms grow a coat/skin pattern from noise. Turing 1952 morphogenesis visualized inside ASCII letterforms. | 5 | done 2026-04-15 |
| X_TURING_BIO | Turing Biological Coat Colors | FHN activator-inhibitor pattern (N09) + C11 BIO_PALETTE coloring. Same float grid drives both char density and biological green color. Palette-rotation animation: structurally fixed Turing pattern, color sweeps through bio spectrum. Spots or stripes preset. Scores: tension=4 emerge=4 distinct=5 wow=4 → 17/20. | 4 | done 2026-04-15 |
| X_NEON_BLOOM | Neon Bloom | C12 cross-breed: neon color (24-bit ANSI foreground) + C12 bloom (background ANSI). Bloom falloff breathes via sin(t) per frame — the halo glow expands and contracts. Axes: C07 (24-bit color) × C12 (bloom) × A (falloff animation). Terminal-only — SVG/PNG exporters ignore background ANSI. 60 frames @ 12fps, forward+reverse loop. Scores: tension=5 emerge=4 distinct=5 wow=5 → 19/20. | 5 | done |
| X_PLASMA_BLOOM | Plasma Chromatic Bloom | A10 plasma fill + C11 spectral colorization + C12 chromatic bloom. Key axis: plasma phase t drives the bloom halo color through the full visible spectrum (violet→indigo→cyan→green→orange) synchronized with the wave cycle. Interior chars colored spectrally from plasma float; exterior bloom hue shifts as t sweeps. Truly chromatic bloom — hue-shifting halos have no prior art in ASCII art tooling. Scores: tension=4 emerge=4 distinct=4 wow=4 → 16/20. 72 frames @ 12fps (36×2 loop). |
4 | done |
| A_ISO1 | Isometric Depth Breathe | S03 isometric + depth animation cross-breed. Sine-swept depth parameter: depth = max(1, base_depth + round(amplitude * sin(2π*i/n_frames))). Per-frame: render() then isometric_extrude(depth=computed_depth). Letters appear to breathe in 3D — extrusion grows and shrinks each cycle. Any fill for front face; depth face uses shade chars (▓▒░·). Seamless forward-reverse loop. Implemented as iso_depth_breathe() in presets.py. | 3 | done 2026-04-14 |
| A_BLOOM1 | Bloom Pulse | Animation: C12 bloom radius oscillates via sin(t) — the glow breathes in and out around letterforms. Combined with flame fill interior (tone-mapped ACES curve) and fire palette: a burning core with a pulsing light halo. The bloom radius, color saturation, and fill heat all independently driven. Implemented as bloom_pulse() in presets.py. |
5 | done |
| X_PLASMA_WARP | Plasma-Modulated Sine Warp | A10 plasma float grid → per-row sine_warp amplitude (S01). First FILL→SPATIAL param coupling in the project. Each row’s mean plasma intensity modulates the row’s warp amplitude — rows at plasma peaks swing hard, rows at troughs are nearly still. As plasma t sweeps, amplitude topology rotates: previously static rows suddenly swing. A10 (plasma float) × S01 (per-row amplitude) × C11 spectral × C12 bloom. Implemented as plasma_warp() in presets.py; amplitude_map param added to sine_warp(). Scores: tension=5 emerge=4 distinct=5 wow=4 → 18/20. 72 frames @ 12fps (36×2 loop). |
5 | done 2026-04-17 |
| X_FRACTAL_CLASSIC | Fractal Escape-Time Color | Mandelbrot escape-time float grid exposed via fractal_float_grid() companion. ESCAPE_PALETTE (deep-purple → blue → cyan → green → yellow → orange → bright) colorizes letterforms via C11 fill_float_colorize(). Palette offset sweeps per frame — fractal geometry fixed, color bands cycle continuously through letterforms. Pattern: mathematical structural permanence + color flow. 72 frames @ 12fps. Scores: tension=4 emerge=3 distinct=4 wow=4 → 15/20. |
4 | done 2026-04-18 |
| X_TURING_WARP | Turing Morphogenesis-Modulated Sine Warp | N09 Turing FHN activator float grid drives per-row sine_warp amplitude. Rows with heavy high-activator clusters warp dramatically; rows at inhibitor troughs are nearly still. Both color (C11 BIO_PALETTE) and amplitude topology are derived from the same static Turing float grid — letters appear to deform in the geometry of their own biological skin. Only the sine phase_offset sweeps per frame. New phase_offset param added to sine_warp() (backward-compatible). N09 (Turing float) × S01 (per-row amplitude) × C11 BIO_PALETTE × C12 green bloom. 72 frames @ 12fps (36×2 loop). Scores: tension=5 emerge=5 distinct=5 wow=5 → 20/20. |
5 | done 2026-04-19 |
| X_FLAME_ISO_BLOOM | Flame + Isometric + Bloom — Three-Axis Flagship | A08 Doom-fire fill + S03 isometric extrusion + C12 bloom. Front face: stochastic flame chars (re-seeded per frame) colored with C11 fire palette. Depth face (▓▒░·): ember float values (0.05-0.25) → orange-red ember coloring from fire palette. C12 bloom: fire-orange light bleeds into surrounding space. Three maximally different forces: thermal chaos × rigid geometry × light emission. The project’s long-planned 3D-fire flagship. flame_iso_bloom() in presets.py. 72 frames @ 12fps (36×2 loop). Scores: tension=5 emerge=5 distinct=5 wow=5 → 20/20. |
5 | done 2026-04-20 |
| X_NOISE_WARP | Perlin Noise Phase-Map Sine Warp | F02 Perlin noise float grid (static, seeded) drives per-row phase offset in sine_warp() (new phase_map param). Each row reaches its sine peak displacement at a different moment determined by its mean noise value. Global phase_offset sweeps 0→2π per frame to animate the warp. Key insight: amplitude_map (X_PLASMA_WARP, X_TURING_WARP) controls HOW FAR a row moves; phase_map controls WHEN it peaks — categorically different visual character: rippled-glass / crinkled-cellophane distortion. New infrastructure: noise_float_grid() companion + phase_map param on sine_warp(). noise_warp() preset in presets.py. C11 spectral color from same noise float; C12 cyan bloom. 72 frames @ 12fps (36×2 loop). Scores: tension=4 emerge=4 distinct=5 wow=3 → 16/20 (wow revised to 3 after CB6: moderate phase spread makes effect pleasingly subtle but less visually dramatic than 4). |
5 | done 2026-04-21 |
| X_PLASMA_NOISE_WARP | Plasma Amplitude × Noise Phase Sine Warp | Maximum FILL→SPATIAL coupling: two independent float fields on two independent params of sine_warp() simultaneously. Plasma (dynamic, per-frame-varying) → amplitude_map: rows swing different distances, topology rotates each frame. Noise (static, crystalline) → phase_map: rows peak at fixed timing offsets. Combined: each row differs in BOTH magnitude AND timing — neither parent alone produces this. Letters appear embedded in a flowing medium with anisotropic internal dynamics. C11 spectral color from plasma float (dynamic); C12 cyan bloom. plasma_noise_warp() in presets.py. 72 frames @ 12fps (36×2 loop). Scores: tension=5 emerge=5 distinct=5 wow=4 → 19/20. |
5 | done 2026-04-22 |
| X_ISO_NEON | Isometric Neon Glitch | S03 isometric extrusion × A03n neon glitch × C12 bloom. Front face: stable bright neon foreground color, letters read clearly. Depth face (▓▒░·): each char independently flickers between dim (60%), flicker-fringe (25%), or spark (15%) states — stochastic electrical discharge on the extrusion face. C12 bloom bleeds neon hue into surrounding space. Key tension: fixed front-face geometry × stochastic depth face. Each frame unique, letterforms permanently legible. iso_neon_glitch() in presets.py. 72 frames @ 12fps (36×2 loop). Scores: tension=4 emerge=4 distinct=4 wow=4 → 16/20. CB6 verdict: ✅ Meets bar — depth face flicker clearly reads as electrical discharge, front face stable neon is clean, bloom halo is crisp. The front/depth tension is visually legible and distinct from all other techniques in the gallery. | 4 | done 2026-04-26 |
| X_LIVING_COLOR | Living Color — GoL Age-Heat | A06 Conway GoL (living_fill) × C11 AGE_PALETTE coloring. Each alive cell accumulates a consecutive-alive age counter; age/max_age → [0.0, 1.0] → AGE_PALETTE (blue=newborn → cyan → green → amber → red=ancient). Dead interior cells rendered as dim dot chars with 0.0 float (cold-blue floor). What emerges: metabolic map of CA stability — transient cells flicker blue while rare stable still-lifes and blinkers burn red. The stable-structure distribution in a 7-row glyph Conway grid is bimodal: ~12 red stable cells + ~154 blue transients. C12 cyan bloom. living_color() in presets.py. AGE_PALETTE added to color.py and PALETTE_REGISTRY. 72 frames @ 10fps (144 with loop). Scores: tension=4 emerge=4 distinct=4 wow=3 → 15/20. CB6 verdict: ⚠️ Partial — CA converges quickly in small masks leaving a static bimodal color pattern; the stability structure is accurate and legible but less dynamically interesting than predicted. |
4 | done 2026-04-24 |
F. Output Targets
Rendering to non-terminal targets.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| O01 | HTML/CSS Export | <pre> with inline styles |
1 | done |
| O02 | SVG Export | Each char as positioned <text> element |
2 | done |
| O03 | PNG Export | PIL rasterization | 2 | done |
| O04 | GIF Export | Animated output | 3 | idea |
| O05 | ANSI File | .ans format for ANSI art viewers |
2 | idea |
| O06 | Markdown Export | Fenced code block output for docs/README embeds | 1 | idea |
I. Sound
Synchronized audio output — optional, gracefully degraded if unavailable.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| SO01 | Synthesized Sound Engine | Optional sounddevice+numpy audio layer; procedural tone generation synchronized to animation frames; gated import, silent fallback |
5 | idea |
| SO02 | Transporter Beam Audio | TNG/TOS transporter sound synthesized procedurally — frequency sweep + bandpass noise + reverb tail, synced to A11 materialize animation frames | 5 | idea |
| SO03 | Sound Asset Playback | WAV/OGG file playback via pygame.mixer for pre-recorded effects; asset pipeline for bundled sounds |
3 | idea |
L. Layout & Scale Infrastructure
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| L01 | measure() | Pure measurement function: returns (cols, rows) for a given text+font+gap without rendering. Accounts for iso depth, bloom radius, warp amplitude footprints. Foundation for all size-aware features. ~15 lines. | 1 | idea |
| L02 | RenderTarget | Display geometry descriptor: display_w/h, dpi, scaling → cell_size_px(), max_columns(), max_font_pt(), svg_font_size_px(), fit_font_pt(). Named presets: fhd/qhd/4k/5k/ultrawide. ~60 lines. | 1 | idea |
| L03 | fit_text() | Given target_cols, returns longest text prefix that fits + actual width. Accounts for spatial effect footprints. | 1 | idea |
| L04 | Gallery Profiles | Three render tiers: standard (14px SVG, 480px README), wide (28px, 800px), 4k (72px, 1600px). GalleryProfile dataclass + –profile flag on generate_gallery.py. | 1 | idea |
| L05 | CLI Size Flags | –measure (print col/row dims), –target WxH[@Sx] (compute max font pt), –fit N (truncate to N cols), –svg-font-size N. | 1 | idea |
| L06 | render_wrapped() | Word-wrap for ASCII art: break text across multiple 7-row bands. Requires measure() per word. Future feature — do not implement before L01-L03. | 2 | idea |
H. Pipeline & Composition
Architectural ideas — not a single technique but a way of combining them at a higher level.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| P01 | Multi-layer Compositor | Stack renders with blend modes (multiply/screen/overlay) — Photoshop layers for ASCII | 5 | idea |
| P02 | ASCII Video Pipeline | Any video file → per-frame zone-matched ASCII → ANSI sequence / GIF / re-encoded video. ffmpeg for ASCII. | 5 | idea |
| P03 | Live Input → ASCII | Real-time webcam / capture card → streaming zone-matched ASCII. ASCII photobooth or music visualizer. | 5 | idea |
| P04 | AI Creative Director | Brand brief or mood prompt → LLM art direction → image AI → zone-matched ASCII → color effects → gallery. End-to-end AI-driven ASCII creation. | 5 | idea |
| P05 | Full 3D Scene Renderer | Arbitrary 3D scene (camera, lights, mesh, texture) → raytraced / rasterized → F11 normal-mapped char selection. ASCII as a first-class 3D output format. Extends N07 + N11. | 5 | idea |
G. Novel / Experimental
Things that don’t fit elsewhere. The truly weird stuff.
| ID | Name | Description | Novelty | Status |
|---|---|---|---|---|
| N01 | Typographic Recursion | Glyphs made of smaller instances of the same text | 5 | done |
| N02 | Semantic Fill | Fill chars chosen for thematic meaning (e.g. “FIRE” filled with fire chars) | 5 | idea |
| N03 | Terrain Generation | Glyph fills driven by procedural heightmap (looks like topographic map) | 5 | idea |
| N04 | Fluid Simulation | Shallow water equations inside glyph mask | 5 | idea |
| N05 | Music-Reactive | ASCII art driven by audio FFT data | 5 | idea |
| N06 | L-System Growth | Lindenmayer system branching inside glyph | 5 | done |
| N07 | ASCII Raytracer | Full raytracer: camera, lights, mesh, BVH, shadows, reflections → char selected by surface normal (F11) + density by luminance. Terminal Quake. | 5 | idea |
| N08 | Strange Attractor | Lorenz/Rössler attractor projected into glyph mask | 5 | done |
| N09 | Turing Pattern | Reaction-diffusion yielding biological spot/stripe patterns | 5 | done |
| N10 | Slime Mold Simulation | Physarum polycephalum agent sim inside glyph | 5 | done |
| N11 | 3D Font Renderer → Normal-Mapped Fill | Extrude glyph outline to 3D mesh, software-rasterize, use surface normals to drive F11 char selection | 5 | idea |
| N12 | 3D Particle Volume Fill | Extend N11: extruded glyph 3D volume becomes a particle field — particles animate into the letter shape from scatter, with physics (gravity, attractors, turbulence); ASCII char encodes particle density/velocity; the text-fill particle mode as a terminal-native effect; natural extension of A11 transporter into a general particle-to-glyph animation system | 5 | idea |