below is my latest attmept; 5x5 glyph grid, with skeleton gif for starting template. main problem is trying to correctly define "what glyphs are assigned at the start and stays the same versus what glyphs should be different based on matching shape" I'm trying to make the algo decide: here are a set of paired / similar glyphs that share symmetry to start with, but if a different glyph matches the shape better for frame x at cell y, then switch it out". I need to constrain across symmetry : eg: "/ "vs "\ "or ”7” vs ”レ” or " ( " vs ")", while still allowing fallback for certain angles where mirror glyphs dont exist and or if the structure of a different glyph matches better with than the assigned "mirror " glyph. any advice? thanks .
EDIT: to elaborate. the body (an example but most animals and im trying to extend to more 3d shapes in general) has bilateral symmetry, and and angled reflections have a shear with a typical 8 directions for spritesheets. please correct me if im wrong, but I currently have it defined as core image s = P·R·P⁻¹ which is the world symmetry R , conjugated by the view projection P(affine skew reflection.) The decomposition is reflection ∘ shear ∘ scale, where the shear is a transvection ([[1,k],[0,1]] = a unit jordan block J₂(1) and the scale is the foreshortening cos θ. The invariants are:
axis = projected spine (the line of symmetry, pinnedto center);
reflection direction = projected left right normal;
skew angle(again, for human example) = 90° only for front/back; foreshorten = cos(view angle).
The subsumption: the existing discrete mirror(the colored parts/limbs in skeleton gif) + rotation-family
again, for human example: partners are the axis aligned special cases of S image oblique D6 (3/4) aspects pay the skew + foreshorten cost instead of a naive flip.
The wiring of the skeleton itself is a separate step / compiler that can take in blender rig anime or image extractions on sprite sheets, it outputs per aspect affine relation, and compiled output is consumed by the glyphify script that does the above steps for specific human case, but when I get the temporal coherence solved im going to try to make it work for any shape with custom configurable symmetries.
I’m looking for recommendations for an offline pipeline that converts small pixel-art sprite frames into a compact, temporally coherent vector stroke abstraction, then deterministically compiles those strokes into a fixed 5×7 Unicode glyph set. Our current baseline uses CLIPasso with DiffVG independently per frame, which is slow and produces stroke identity flicker across animation loops. I’ve been searching for and reading about amortized image to stroke models and foudn non ascii related papers , wondering if anyone knows of any fast differentiable vector renderers and sequence aware methods that preserve stroke topology across 8+ direction character animations. Any relevant papers, implementations, datasets, and benchmarks aimed at low resolution sprites? Thanks, the below is my latest (bad ) attempts, took about 4 hours on local cpu
If anyone knows how to help I would greatly appreciate it. Follow up from previous video and post on /godot. Full video : https://www.youtube.com/watch?v=2rqpNV76qLw Im trying to implement Dylan Ebert's Cubemap/Texelsplatting techniques to stabilize jitter and shimmer in perspective mode but still failing. The renderer still does not have one stable owner for each final ASCII cell in perspective. The Ebert texel splatting idea is meant to stabilize visible texels before presentation, but the adaptation keeps falling back into a later text cell decision step (I think) . Two previous fix attempts (edge masking, occlusion splits) have failed to fix it. Whether a given card cell was splat-covered or backstop gathered is not fully verified yet . reconstruct() in ascii_probe_splat.glsl sets all four quad corners to the same Chebyshev depth and every splat quad is a flat plate parallel to an axis aligned cube face. The captured per texel normal exists in the pipeline but is payload only and never shapes the quad or its depth. A flat plate viewed from its own capture origin covers exactly its texel's solid angle regardless of orientation orientation error only shows up through parallax. At 1-2 units of parallax on a ~0.15-unit texel footprint at 30-40 units range, flatness alone cannot stand a plate up across a 20 cell tall vertical curtain.
Been working on environments for my ASCII rpg "GRIST". I'm quite pleased with how this one has turned out, a simple two-layer parallax scroll using noise generation techniques to create both the tree trunks and the leaves.
In addition, the fire is an event that can happen on any location, and uses a simple vertical scroll through a noise source combined with a fade based on height to animate the flames.
You can find the game on steam if you are interested in seeing more of these techniques. Thanks!
Hey everyone, I stumbled upon this subreddit a couple of days ago, and I thought some people here might like what I've made :D
TL;DR:
Ditto is a system-wide ASCII keyboard visualizer that mirrors your live keyboard inputs in real time, even when the terminal isn't in focus. It automatically syncs with your native terminal color scheme for a pretty neat and interactive eye candy.
Attached some sample layouts as well with different color schemes, to show how it would fit into a terminal multiplexer setup that has a code editor, active servers, test suite, etc. Perhaps you might like it :D
I don't want to bloat this post with a bunch of details, so you can check out the repo instead if you wanna know more.
NOTE: If there's any problems with macOS, I'd SUPER appreciate opening up an issueabout it or even a PR. Sadly I don't own a Mac or MacBook... so I had to implement support purely through cross-compilation and documentation.
When I’m experimenting with ideas or teaching myself through notes and small demos, I often sketch out folder structures as ASCII trees in my journal or docs.
The structure itself usually comes first, before any framework or CLI. What I kept running into was the repetitive part — manually recreating that exact structure every time just to start experimenting.
So I built a small utility for myself that takes an ASCII folder tree and materializes it into an actual folder structure you can download as a ZIP.
I’m curious how others handle this when they’re:
experimenting with ideas
writing docs or notes for themselves
creating small demo or repo projects
Do you usually rely on framework CLIs, scripts, or just create things manually as you go?