MuNa/method/form-language-prompt-template.md
Bruno Postle 002509f358 Fix web-search framing in form-language grammar provenance
Both the Ecuador form-language run and the Harbor House validation run
used real web search, per Salingaros - so paper.md's "stricter,
source-checked mode... as well as the original's" wording asserted a
methodological contrast that didn't exist. Reframe as a shared
condition, and add the more defensible caveat that even with search
available, current LLM tooling likely synthesized both grammars from
textual search results rather than genuine visual analysis of images.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 23:15:54 +01:00

306 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Form-Language Prompt Template
*A reusable prompt for generating a project-specific architectural
form-language grammar module.*
## Provenance
This template is self-contained — everything needed to run it is in the
"Placeholders" and "The prompt" sections below. This section and "Usage
notes" are background only, safe to skip.
The template generalizes a two-step prompting process Nikos Salingaros
used to produce a form-language grammar for a National Museum of Ecuador
project (his initial exploratory prompt, then a follow-up narrowing
scope), collapsed here into a single one-shot prompt with placeholders for
region, climate, site, and building typology. That original worked
example and his raw two-step prompts are project-specific files from the
originating repository and aren't included with this template; §0§11 +
appendix below is this template's own self-sufficient output shape, not
dependent on that example.
The theoretical basis is Salingaros' *pattern language + form language =
adaptive design method*, set out in Chapter 11, "Two Languages for
Architecture," of his book *A Theory of Architecture* (2006; revised
2014): a pattern language alone cannot connect to built form without a
complementary form language of geometric/tectonic rules. This template
generates that second, complementary document. It is meant to be paired
with a pattern-language module such as Christopher Alexander, Sara
Ishikawa, and Murray Silverstein's *A Pattern Language* (1977), from which
a project-specific subset of patterns is typically curated.
## What this produces
A structured **grammar document**, not images and not a narrative — a
module meant to be handed, alongside a pattern-language module, a project
brief, and a spatial-chassis module, into a *later* prompt that asks an
LLM to write the experiential design narrative (see Section 4.2 of Postle,
B.; Salingaros, N.A. "LLM and Pattern Language Synthesis: A Hybrid Tool
for Human-Centered Architectural Design." *Buildings* 2025, 15, 2400).
Color and ornament are left as a menu of selectable registers/packages
rather than a single fixed choice, so that later narrative/image
generation can sample distinct combinations and a human can select among
them.
## Placeholders
Fill these in before sending the prompt. If a field is left as `(let the
model propose)`, say so explicitly rather than deleting the line — an
LLM asked to research and propose is different from one given no
instruction at all.
| Placeholder | Meaning | Ecuador worked example |
|---|---|---|
| `{TYPOLOGY}` | The building program/typology | a national museum |
| `{WIDE_REGION}` | The broad cultural/geographic region to draw form vocabulary from — narrow enough that its history is genuinely coherent (so the strata actually relate to one another), broad enough to give real stylistic range; usually a country or a historically-linked macro-region, not a continent | Ecuador (and neighboring Latin America for the "neighbor techniques" package) |
| `{FIXED_SITE}` | The specific city/site the climate script must be fixed to | Quito, Ecuadorian sierra |
| `{CLIMATE_SEED_FACTS}` | Known climate facts to ground the research (latitude, altitude, temperature range, rainfall pattern, sun/UV character, seasonality or lack of it) — prevents hallucinated climate data | ≈0.2° S / ≈2,850 m; 922 °C year-round; ~1,0001,250 mm/yr rain, two peaks; near-zenith sun, high UV; no seasons |
| `{HISTORICAL_STRATA}` | The historical/cultural strata to synthesize across, oldest to newest (or `(let the model propose)`). Not every region has an indigenous or pre-colonial stratum in the sense the Ecuador example does — for a region without one, list whatever historical building cultures it does have instead (e.g. vernacular farmhouse, Roman, medieval, renaissance, industrial-era) rather than forcing an indigenous/colonial framing onto it. Each stratum must name a **building culture** — an ordinary construction tradition recurring across many buildings — not a single celebrated or architect-authored structure: a region's industrial-era stratum, for instance, usually means its ordinary workshop-houses, mill housing, and tenement factories, where industrial and residential use routinely overlapped in the same buildings, not one landmark 20th-century showpiece | indigenous wooden/conical-roof structures; pre-Columbian stone monumental; early colonial wood/earth; later colonial baroque |
| `{SCALE_NOTES}` | Programmatic/scale notes that affect massing (approx. size, public vs. civic character, number of principal volumes) | ~25,000 m² minimum, high-visitation civic building |
| `{DOWNSTREAM_MODULES}` | What other prompt modules this will be combined with later (fixed boilerplate unless the project's pipeline differs) | brief constraints, spatial chassis |
## The prompt
Copy everything below the line, substitute the placeholders, and send it
to an LLM as a single message.
---
I need to develop an architectural form language for {TYPOLOGY} in
{FIXED_SITE}, drawing on the broader architectural traditions of
{WIDE_REGION}.
**Research and synthesize, don't copy.** Locate and study open-source
descriptions and images of traditional buildings and urban spaces across
{WIDE_REGION}, spanning its full historical range: {HISTORICAL_STRATA}.
Synthesize what you find into a design *grammar* — a vocabulary of
elements plus rules for how they combine — not a style to be reproduced.
No historical facade should be copied whole; decompose elements,
understand their climate and structural function, and recombine them.
Treat any images only as references for the grammar you derive, not as
material to reproduce or publish. You most likely cannot actually browse
the internet or verify images within this conversation — unless you have
a real, working search or browsing tool available, treat any specific
building, site, or tradition you name as drawn from your training-data
familiarity, not from verified research, and say so plainly rather than
presenting recollection as verified fact.
**Default to natural, traditional materials.** The vocabulary (§3) should
default to natural, traditional materials — stone, brick, timber, earth,
tile — drawn from {WIDE_REGION}'s own building cultures. Modern
structural materials (reinforced concrete, steel) belong in the
vocabulary only where {TYPOLOGY} genuinely cannot achieve its required
spans, loads, or heights without them, not as an independent aesthetic
stratum or a source of decorative expression in their own right. Where
they are included, express them honestly as structure — an honestly
exposed frame, not concrete dressed up to imitate a natural material, and
not hidden behind an applied natural-material skin either — and justify
each such element in §3 by the specific structural need, not by
stylistic preference.
**Fix the climate and site, but not the vocabulary.** The building itself
is fixed at {FIXED_SITE}: {CLIMATE_SEED_FACTS}. Derive from this a set of
climate facts and the mandatory design responses they imply (roof form,
eaves, plinth/ground relationship, thermal mass placement, courtyard
proportion, orientation, ventilation, water management, and — if the
climate truly has no seasons — an explicit rule against inventing
seasonal mechanisms). These climate rules are invariant: if a form drawn
from elsewhere in {WIDE_REGION} conflicts with them, reinterpret the form
until it complies rather than dropping the climate rule. The *vocabulary*,
by contrast, should still be drawn from the whole of {WIDE_REGION}, not
narrowed to the immediate site.
**Give special attention to color and ornament traditions** across
{WIDE_REGION} and its historical strata. Do not settle on a single color
or ornament choice for the project. Instead produce a menu: several
distinct, named color registers and several distinct, named ornament
systems, each historically grounded, each internally consistent, each
usable on its own. A later step will generate several project variants,
each committing to exactly one register and one ornament system, so a
human reviewer can compare a genuine spread of options — do not
pre-select a "best" one.
**This document is a prompt module, not an image request.** It will be
combined later with other modules — {DOWNSTREAM_MODULES} — inside a
further prompt that asks an LLM to write a verbal design narrative
(images, if any, come after that, generated from the narrative). Write
for that downstream reader: precise, structured, unambiguous, using
consistent short codes for anything a later step must reference (color
registers, ornament packages, individual vocabulary elements) so a batch
of generated projects stays traceable and comparable.
**Produce the grammar in this structure, in this order:**
0. **Role of this document** — state that it is one module of a larger
prompt (brief and spatial chassis supplied elsewhere), list what this
module supplies (climate script, form vocabulary, syntax, color
system, ornament system, variation protocol), and state the precedence
order when instructions conflict (brief/chassis govern program; the
climate script is invariant and always wins; syntax governs
composition; color/ornament are the free variables chosen per
project). State that every generated description must name its chosen
color register and ornament package(s) explicitly, and must use the
glossary terms (§11) exactly as defined. State explicitly that this
document describes a formal and tectonic *vocabulary* for descriptive
and illustrative use, not a structural, seismic, fire, or
building-code specification — literal historical materials and
assemblies it names (e.g. rammed earth, masonry vaulting) may need
re-engineering or reinterpretation with modern materials/methods to
be actually buildable and code-compliant, and that determination is a
separate engineering exercise outside this document's scope.
1. **Design thesis** — one paragraph stating the stratified-fusion logic:
how the historical strata you're drawing on relate to each other
vertically or conceptually (e.g. ground/ancient logic, body/mid-period
logic, roof/vernacular logic, ornament/late-period logic, or whatever
ordering genuinely fits {HISTORICAL_STRATA} and {WIDE_REGION} — do not
force Ecuador's bottom-to-top stratification onto a region where it
doesn't apply).
2. **Invariant climate script for {FIXED_SITE} (FIXED)** — a table of
climate facts and their design consequences, then a numbered list of
mandatory climate-response rules (roof, eaves/shading, ground
relationship, thermal mass, courtyard/opening proportion, orientation,
ventilation, water management, plus a rule forbidding invented
seasonal mechanisms if the climate has none).
3. **Form vocabulary (lexicon)** — elements grouped by tectonic family
(ground/platform, wall, roof/sky, threshold/in-between, interior, or
whatever families fit this typology), each tagged with its origin
stratum and region, each given a short reusable code. Each element
should be natural/traditional material by default; if any element
uses a modern structural material instead, tag it as such and state
the specific structural necessity that justifies it.
4. **Syntax — combination rules** — numbered, always-apply rules for how
the vocabulary combines: stratification/ordering logic, relationship
of program to void/courtyard/street, threshold gradation from public
to private, treatment of the roof or fifth facade if relevant, growth/
modularity logic, ornament concentration logic (dense at few episodes,
calm elsewhere), proportional habits.
5. **Color system — one register selected per project** — placement
rules that apply regardless of register (where saturation is allowed,
where fields must stay calm, how base/trim/roof are differentiated,
material honesty of the color), then several named, coded color
registers, each historically grounded in a specific place/tradition
within {WIDE_REGION}, each with a one-line mood description.
6. **Ornament system — selected per project** — placement rules that
apply regardless of package (zoning of ornament to base/threshold/
crown or equivalent, density gradient toward the principal entrance,
structural rather than applied ornament where possible, translation
not replica), then several named, coded ornament packages (geometric
and episodic/figurative), each grounded in a specific tradition within
{WIDE_REGION}. If any stratum in {HISTORICAL_STRATA} carries motifs
with sacred, ceremonial, or otherwise living cultural significance —
as distinct from motifs that are purely decorative or historical —
say so explicitly, and mark those motifs as needing consultation with
the communities they belong to before real-world use, rather than
folding them into the ornament menu as free decorative material. This
is about protecting living meaning, not a judgment on any tradition's
aesthetic value; skip this note where no stratum carries that kind of
significance.
7. **Composition procedure (for the describing LLM)** — a numbered
procedure for how a later prompt should use this module: restate the
chassis in grammar terms, apply the climate script as non-negotiable,
assign vocabulary by stratum, check the syntax rules, select one color
register and apply its placement rules, select ornament package(s) and
apply their placement rules, check against the negative constraints
(§10), then write the description per the template (§8).
8. **Output description template** — the fixed section order a later
narrative/description must follow (concept, site/massing, climate
compliance, structure/materials by element code, color application
naming the register, ornament placement naming the package(s), and a
short camera-ready visual summary with suggested viewpoints for a
downstream image-generation step).
9. **Variation protocol** — what stays invariant across a batch of
generated project variants (climate script, syntax, placement rules)
versus what varies (chassis × one color register × one ornament
package), any recommended register/package affinities, and a coverage
target so a batch spans the historical/regional spectrum rather than
converging on one look.
10. **Negative constraints** — a numbered list of forbidden moves,
derived directly from whatever climate rules and syntax rules you
proposed above (e.g. if you required pitched roofs, forbid flat
primary roofs here; if you required a plinth, forbid meeting grade
without one; always forbid mixing two color registers in one
project, more than one figurative ornament episode, evenly
distributed ornament, literal uncredited copying of a named
historical building, applying any motif flagged in §6 as
sacred/ceremonial without the noted consultation caveat, and using a
modern structural material where §3 recorded no genuine structural
necessity for it, or disguising one material as another instead of
expressing it honestly).
11. **Glossary** — every non-English or specialist term used above,
defined in one line, to be used verbatim (not paraphrased) by any
later prompt.
**Appendix — canonical precedents by stratum.** For each stratum in
{HISTORICAL_STRATA}, list two or three named real buildings, sites, or
artifact traditions from {WIDE_REGION} that anchor it, as reference
points — not to be copied, but so a later reader can verify the grammar
is genuinely grounded in something real. Each precedent should be
representative of that stratum's wider building culture, not the sole
reason the stratum exists — if a stratum can only be anchored by one
celebrated landmark with no supporting ordinary/vernacular examples, that
is a sign it isn't really a building culture (see the {HISTORICAL_STRATA}
placeholder note) and should be broadened, merged, or dropped rather than
listed as-is. For each precedent, note briefly whether it's a
well-documented example you're confident about or a plausible-but-unverified
recollection — don't present both with equal certainty.
Scale notes for the project this grammar will serve: {SCALE_NOTES}.
---
## Usage notes
- Aim for a comparable level of precision and traceability throughout: a
short, consistent code per element/rule/register/package (e.g. a
letter-plus-number scheme such as `G1`, `G2` for ground-family
elements, `W1`, `W2` for wall elements, `R#` for roof, `CR#` for color
registers, `OP#` for ornament packages — the exact letters don't
matter, only that every reusable item gets one and later prompts can
cite it unambiguously). Every rule and vocabulary element should be
traceable to a named stratum/tradition within {WIDE_REGION}, not
presented as free invention.
- The two-step process this template collapses into one shot was: an
open exploratory first pass, then a follow-up narrowing scope (fix
climate to the specific site, keep vocabulary regional, drop a single
color/ornament choice in favor of a menu, and reframe the output as a
prompt module rather than an image request). This template
front-loads that narrowing into one prompt; if the first response
still drifts (e.g. proposes a single color and ornament choice, or
narrows vocabulary to only the immediate site), send a follow-up
correcting just that point rather than re-running the whole prompt.
- Check the output for fidelity: any climate rule, vocabulary element, or
precedent that isn't grounded in something real for
{WIDE_REGION}/{FIXED_SITE} is a hallucination to catch and regenerate
away, the same way a pattern-language narrative generated downstream
should be checked against its selected pattern subset.
- Salingaros described his original prompt as asking the LLM to "locate
open-source images of traditional buildings" and synthesize from them,
and has confirmed the session used a real web-search-enabled LLM
configuration, not training-data recollection alone. Even so, treat
"synthesized from imagery" with some caution: current LLM tooling makes
it more likely the model synthesized primarily from textual search
results and descriptions of buildings than from genuine visual analysis
of downloaded images, whatever the prompt literally asked for. Treat the
Appendix precedents as text-grounded rather than confirmed
image-grounded, unless you've specifically verified that the model/tool
you're using performs real visual analysis of retrieved images and not
just text search.
- This document is a formal/tectonic vocabulary for description and
illustration, not a construction specification: literal historical
materials it names (rammed earth, adobe, stone vaulting) are
references, not proof the resulting building is code-buildable.
Seismic, fire, and code compliance are a separate engineering exercise
— worth stating plainly, since {FIXED_SITE} may be in a seismically
active region where this matters (Quito, this project's own case,
among them).