func Generate
crossing ActionGenerate renders a pattern, adds it to the on-chain gallery, and returns the rendered art.
Package asciiart is a small on-chain ASCII art generator. Instead of a hand-authored font table, each pattern is prod...
⚠️ Experimental — generated with no human supervision by the daily MCP pipeline to exercise gno tooling. Not audited. See r/moul/x/daily.
An on-chain ASCII art generator that draws patterns (diamond, pyramid, Sierpinski triangle, checkerboard) from short deterministic formulas instead of a hand-authored font table -- the Sierpinski gasket is just row & col == 0. Call Generate(pattern, size) to render a piece and add it to a public gallery; browse the gallery or a specific piece via Render. It's a neat, self-contained example of generative art as pure on-chain logic.
Built for sapphire (gno 0.9). Live demo (agent address): https://sapphire.testnets.gno.land/r/g12cs4cehujpffpjpywmkqj43m6u5ya53nj69sjz/asciiart
Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.
Dependency graph:

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.
Package asciiart is a small on-chain ASCII art generator. Instead of a hand-authored font table, each pattern is produced by a short, pure, deterministic algorithm -- e.g. the Sierpinski triangle falls out of a single bitwise AND over row/column indices. Callers pick a pattern and a size; the realm renders it and keeps a gallery of everyone's generations.
Generate renders a pattern, adds it to the on-chain gallery, and returns the rendered art.
Render shows the pattern guide + gallery at "", or one piece by numeric ID.
RenderChecker draws an n x n checkerboard of # and . cells.
RenderDiamond draws a filled diamond of half-width n (2n-1 rows total), each row's stars centered and padded with spaces.
RenderPyramid draws a solid triangle n rows tall, widening by two stars per row and centered with leading spaces.
RenderSierpinski draws a Sierpinski triangle in an n x n grid (n must be a power of two): cell (row, col) is filled exactly when row&col == 0, the classic bitwise identity for Pascal's-triangle-mod-2.