Text carries geometric structure. This repo proves it.
Three lightweight VAEs project text embeddings from different encoders into geometric patch space — and a pretrained geometric analyzer reads the text-derived patches
more clearly
than actual images. The geometric differentiation is encoder-agnostic: it lives in the language itself.
The Hypothesis
If FLUX-generated images produce measurably differentiated geometric signatures across categories (lighting vs. jewelry vs. pose), and those images were
generated from text prompts
, then the text embeddings should contain enough structural information to produce the same geometric differentiation — without ever seeing an image.
Each VAE has identical architecture:
encoder (text_dim → 1024 → 1024) → μ,σ (256d bottleneck) → decoder (256 → 1024 → 1024 → 2048) → reshape (8, 16, 16)
. Trained to reconstruct identical-scale as the adapted FLUX VAE latents from the earlier Image VAE experiments. ~4.5M parameters each.
The geometric analyzer is a pretrained
SuperpositionPatchClassifier
from
AbstractPhil/grid-geometric-multishape
(epoch 200), frozen during evaluation. It extracts gate vectors (64×17 explicit geometric properties) and patch features (64×256 learned representations) from any (8, 16, 16) input.
All three text paths produce 2.5–3.5× stronger geometric differentiation than the image path.
All three encoders converge to ±5% of each other.
Per-Category Discriminability (patch_feat)
Category
Image
T5
BERT
Beatrix
character_with_lighting
+0.051
+0.145
+0.093
+0.069
action_scene
+0.020
+0.123
+0.126
+0.060
character_with_jewelry
+0.048
+0.072
+0.107
+0.121
character_with_expression
+0.041
+0.092
+0.066
+0.088
character_in_scene
+0.014
+0.081
+0.062
+0.089
character_full_outfit
+0.025
+0.080
+0.088
+0.054
character_with_pose
+0.001
+0.007
-0.008
+0.007
Category ranking is preserved across all paths. Lighting and jewelry always differentiate well; pose never does. The geometric hierarchy is stable.
Key Findings
Text-derived patches are geometrically cleaner than image-derived patches.
Language is already an abstraction — it carries structural intent without per-pixel noise. The geometric analyzer reads intent more clearly than observation.
The bridge is encoder-agnostic.
Three architecturally different encoders (encoder-decoder T5, bidirectional BERT, categorical nomic_bert) produce the same discriminability through a 256d bottleneck. The geometric structure is in the text, not the encoder.
Categorical pretraining doesn't help overall.
Beatrix, trained on 2B+ samples with explicit
<lighting>
,
<jewelry>
,
<pose>
tokens, matches generic BERT/T5 within ±5%. It wins on fine-grained object categories (jewelry +0.121 vs BERT +0.107) but loses on scene-level properties (lighting +0.069 vs T5 +0.145).
The 256d bottleneck is the normalizer.
It strips encoder-specific representational choices and preserves only the geometric signal that all encoders agree on.
from model import TextVAE # or BertVAE, BeatrixVAE# Load trained VAE
vae = TextVAE(text_dim=512) # 768 for BERT/Beatrix
ckpt = torch.load("best_model.pt")
vae.load_state_dict(ckpt["model_state_dict"])
# Text → geometric patches
text_embedding = your_encoder(prompt) # (B, 512/768)
patches = vae.generate_latent(text_embedding) # (B, 8, 16, 16)# Feed to geometric analyzer
geo_output = geometric_model(patches)
gates = geo_output["local_dim_logits"] # geometric properties
features = geo_output["patch_features"] # learned representations
Implications
Geometric structure is a shared language that text and images both speak natively. This repo demonstrates the decoder — a lightweight VAE that translates any text encoder's output into the geometric alphabet. The next step is using this bridge for conditionable geometric descriptors in diffusion processes: text descriptions that steer generation through geometric constraints rather than CLIP alignment.
geovae-proto huggingface.co is an AI model on huggingface.co that provides geovae-proto's model effect (), which can be used instantly with this AbstractPhil geovae-proto model. huggingface.co supports a free trial of the geovae-proto model, and also provides paid use of the geovae-proto. Support call geovae-proto model through api, including Node.js, Python, http.
geovae-proto huggingface.co is an online trial and call api platform, which integrates geovae-proto's modeling effects, including api services, and provides a free online trial of geovae-proto, you can try geovae-proto online for free by clicking the link below.
AbstractPhil geovae-proto online free url in huggingface.co:
geovae-proto is an open source model from GitHub that offers a free installation service, and any user can find geovae-proto on GitHub to install. At the same time, huggingface.co provides the effect of geovae-proto install, users can directly use geovae-proto installed effect in huggingface.co for debugging and trial. It also supports api for free installation.