Personal research project · Digital Humanities · Beta · Last reviewed: April 2026

Eideia

Every word leaves a trace

A computational art project that transforms literary prose into deterministic visual fields, mapping the linguistic, rhythmic and semantic structure of any text into a unique, reproducible image.

Virginia Woolf: The Waves, analyzed and visualized by EIDEIA

Virginia Woolf: The Waves · EIDEIA visualization

The project

A long curiosity about the shape of language

During my studies in Natural Language Processing, I became fascinated by a question that most analysis pipelines never ask: not what does a text say, but how does it move? What is the rhythm of Beckett's fragments? The weight of Faulkner's endless sentences? The warmth that runs through Morante's syntax?

EIDEIA (from the Greek εἴδεα, meaning forms or appearances) is my attempt to answer that question visually. Every passage of prose, fed into the system, produces a flow-field portrait: a deterministic image that encodes its linguistic and semantic signature into a visual field. Same text, always the same image. Different text, different world.

This is not a word cloud. It is not a sentiment chart. It is a visual system with a precise analytical vocabulary, one that emerged from studying how stylometrics, lexical density analysis, and semantic scoring can be combined with generative rendering to produce something that is both scientifically grounded and aesthetically distinct.

The system

Two layers of analysis,
one visual output

EIDEIA processes each text through two independent analytical layers before translating the results into a visual parameter vector that drives the rendering engine.

INPUT Any prose passage txt / plain ANALYTICAL LAYER Sentence length μ, σ² Punctuation profile Lexical density Word length dist. Syllabic complexity Paragraph rhythm Common word ratio local · instant SEMANTIC LAYER Interiority Tension Abstraction Warmth Fragmentation Register Archaism scored 0 → 1 PARAMETER VECTOR stroke reach turbulence color weights mark density composition noise seed OUTPUT Flow field portrait 4000 × 4000 px deterministic Same text → same hash → same seed → same image. Always.
Interiority

Measures the degree to which the text turns inward: first-person voice, interior monologue markers, and self-referential syntax. High interiority pulls the composition centripetally; strokes spiral toward the center.

Tension

Derived from agitation markers, short abrupt sentences, and high lexical charge. Tension drives angular strokes, high contrast, and the frequency of spiral vortex elements.

Abstraction

A measure of conceptual distance from the concrete. High abstraction bends strokes toward geometric snap, where angles become deliberate and curves straighten into vectors.

Warmth

Semantic density of sensory, affective, and embodied language. Warmth determines the palette family and the weight of amber arc overlays in the composition.

Fragmentation

Syntactic discontinuity: short clauses, punctuation breaks, and incomplete structures. Each fragmentation event lifts the stroke mid-path, leaving visible gaps in the field.

Register

The formal/colloquial axis of the text's voice. High register produces fine orthogonal crosshatch overlays and increases stroke opacity/luminosity.

Archaism

Presence of archaic, elevated, or period-specific vocabulary. Archaism desaturates the entire palette and adds a sepia grain layer, a temporal patina on the image.

Sentence rhythm

Mean and variance of sentence length. Mean drives stroke reach; variance drives turbulence, the difference between Faulkner's single unbroken wave and Beckett's staccato knot.

Punctuation profile

A seven-way classification of mark density. Each punctuation type maps to a distinct visual node: periods become dots, dashes become horizontal cuts, ellipses become triple-beat pauses, question marks become cobalt hooks.

Reproducibility

Deterministic by design

Every image EIDEIA produces is procedurally fixed: the same input text will always produce the exact same image, across any machine, at any time. There is no randomness in the traditional sense.

The system hashes the input text into a 32-bit seed using FNV-1a. This seed initialises a mulberry32 pseudo-random number generator and a custom value noise field. Every stroke placement, every color decision, every weight variation derives deterministically from that single seed and the analytical parameter vector.

This is what makes the images collectible: they are not generated; they are revealed.

text → FNV-1a hash → seed
"Where now? Who now?…"
seed = 0x7f3a9c12
seed → mulberry32 PRNG
seed → value noise field
parameters × noise
→ stroke positions
→ color weights
→ flow angles
→ mark density
same input → same output
every time, everywhere
The process

From sentence to stroke

01

Text ingestion

Any prose passage is accepted: a paragraph, a page, a chapter. The system is language-agnostic for the analytical layer, though the semantic scoring is calibrated primarily on European literary traditions.

02

Structural analysis

The text is parsed for measurable linguistic properties: sentence length distributions, punctuation frequency, lexical density, word length variance, paragraph rhythm, syllabic complexity, and common-word ratio.

03

Semantic scoring

Seven semantic axes are scored on a 0–1 continuous scale using a lexical-heuristic model trained on literary vocabulary. Each score drives a distinct visual dimension: a color layer, a composition force, a stroke modifier.

04

Flow field rendering

A seeded value noise field governs the angle of every stroke. Up to 12,000 lines are drawn across 13 layered passes at 4000×4000px, each pass driven by a different parameter. The result is exported as a lossless PNG.

FAQ

Questions

What is EIDEIA exactly: art project or analytical tool?
Both, deliberately. EIDEIA began as a research question: can the structural and semantic properties of prose be encoded into a coherent visual grammar? It became an art project when the answers started producing images worth looking at. The analytical layer is rigorous; the visual output is expressive.
Why does the same text always produce the same image?
The rendering system is deterministic by design. The input text is hashed into a numeric seed, which initializes a pseudo-random number generator and a 2D value noise field. All stroke positions, angles, weights, and colors are derived from this seed. There is no stochastic element; the image is revealed by the text, not generated by chance.
Can I generate a visualization of my own text?
EIDEIA is currently in private beta. If you're interested in generating visualizations of your own literary texts, research corpus, or other prose, get in touch. I'm also exploring a limited series of signed prints from the canonical author gallery.
What does "procedural" mean in this context?
Procedural generation means the image is produced by executing a defined set of rules and algorithms rather than being drawn manually or chosen from a template. In EIDEIA, the "procedure" is the combination of the analytical pipeline and the rendering engine; the same procedure applied to different texts produces different images, and the same procedure applied to the same text always produces the same image.
How does EIDEIA differ from word clouds or sentiment analysis charts?
Word clouds map word frequency to size; they tell you what words appear, not how the text moves. Sentiment charts collapse a complex emotional range into a single positive/negative axis. EIDEIA operates in a different register: it builds a 14-dimensional parameter vector from structural and semantic analysis, then encodes each dimension into a specific visual property: composition, stroke weight, color, turbulence, continuity, geometry. The result is not a chart of the text; it is a portrait of it.
Is there a connection to digital humanities research?
Yes. EIDEIA draws on methods from computational stylistics (stylometrics), natural language processing, and data visualization, all active areas within digital humanities. The specific combination of flow-field rendering with linguistic analysis is, to my knowledge, novel. It sits at the intersection of information aesthetics and literary computing.