diff --git a/assets/reference/art-direction/README.md b/assets/reference/art-direction/README.md index 8f599175..3e08fd25 100644 --- a/assets/reference/art-direction/README.md +++ b/assets/reference/art-direction/README.md @@ -45,16 +45,21 @@ The July 5 mockup pass also produced supporting references: Do not treat those as equal to the locked target. They are supporting references. -## Institutional graphic-language boards - -`institutional-graphic-language/` preserves three references Cameron supplied -on 2026-07-27. They are supporting references for severe institutional scale, -archive and dossier treatment, operator-to-system proportion, embodied -service access, porcelain/ink continuity across media, and sparse amber causal -marks. The directory README divides the set's roles, records exact-source -provenance, and rejects the generated slogans, logos, room labels, buildings, -and equipment as literal canon. Saving the references does not amend the -current visual or interface law. +## Liturgical Systems Brutalism boards + +`liturgical-systems-brutalism/` preserves three references Cameron supplied +on 2026-07-27. Through the binding visual-identity law they are the canonical +cross-scale reference set for Liturgical Systems Brutalism: severe institutional +scale, archive and dossier treatment, operator-to-system proportion, embodied +service access, porcelain/ink continuity across media, and sparse causal marks. +The directory README divides the exact boards into archive/governance, +operator/constraint, and floor-service/custody roles, records exact-source +provenance, and rejects generated slogans, logos, room labels, buildings, and +equipment as literal canon. The governing source definitions are Cameron's +[Liturgical Systems Brutalism](https://cameron.stream/knowledge/liturgical-systems-brutalism) +and its monumental +[Cosmic Liturgical Brutalism](https://cameron.stream/knowledge/cosmic-liturgical-brutalism) +branch. ## Clinical-frame composition studies diff --git a/assets/reference/art-direction/institutional-graphic-language/README.md b/assets/reference/art-direction/liturgical-systems-brutalism/README.md similarity index 71% rename from assets/reference/art-direction/institutional-graphic-language/README.md rename to assets/reference/art-direction/liturgical-systems-brutalism/README.md index 62024183..b4e4e314 100644 --- a/assets/reference/art-direction/institutional-graphic-language/README.md +++ b/assets/reference/art-direction/liturgical-systems-brutalism/README.md @@ -1,14 +1,24 @@ -# Institutional graphic-language boards +# Liturgical Systems Brutalism boards -Status: **supporting references, not binding art direction**. +Status: **canonical reference set for the binding Liturgical Systems Brutalism**. -Cameron supplied these references on 2026-07-27 and asked that they be saved. -They preserve a coherent institutional graphic language across architecture, +Cameron supplied these exact references on 2026-07-27. On 2026-08-02 they became +the canonical cross-scale reference set cited by the binding +[visual-identity law](../../../../wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism). +Together they carry one Liturgical Systems Brutalism across architecture, operator spaces, service access, archival objects, control surfaces, and -printed matter. They do not amend the current visual-identity, interface, -world, or machine-form contracts. +printed matter. The governing definitions are Cameron's +[Liturgical Systems Brutalism](https://cameron.stream/knowledge/liturgical-systems-brutalism) +and its monumental +[Cosmic Liturgical Brutalism](https://cameron.stream/knowledge/cosmic-liturgical-brutalism) +branch. -## Reference roles +Their authority is compositional, not literal. The reference roles and useful +direction below are binding visual direction; the **Do not infer** section keeps +generated image content from silently becoming world, interface, camera, or +machine-form fact. + +## Canonical reference roles - `facility-archive-and-governance-board.jpg` studies the institution at multiple scales: severe public thresholds, dark processing volumes, @@ -24,7 +34,7 @@ world, or machine-form contracts. one amber line identifies the active causal path without recoloring the whole plant. -## Useful direction +## Binding direction - Porcelain/ink contrast can survive from building scale down to one document. - Negative space and disproportionate institutional scale make the human feel @@ -58,9 +68,10 @@ world, or machine-form contracts. boundary, five-body interface law, selected Foundation compute form, or the world-dominant homepage art. -If a later design session adopts a specific element, amend the owning law/spec -and cite the exact image and role. Until then, use these references for mood, -proportion, embodied maintenance, and cross-medium graphic coherence only. +Use these references when judging mood, proportion, institutional scale, +embodied maintenance, and cross-medium graphic coherence. Adopting a depicted +room, logo, machine, object, label, or other literal element still requires an +amendment to its owning law/spec and a citation to the exact image and role. ## Provenance diff --git a/assets/reference/art-direction/institutional-graphic-language/facility-archive-and-governance-board.jpg b/assets/reference/art-direction/liturgical-systems-brutalism/facility-archive-and-governance-board.jpg similarity index 100% rename from assets/reference/art-direction/institutional-graphic-language/facility-archive-and-governance-board.jpg rename to assets/reference/art-direction/liturgical-systems-brutalism/facility-archive-and-governance-board.jpg diff --git a/assets/reference/art-direction/institutional-graphic-language/facility-floor-service-custody-reference.jpg b/assets/reference/art-direction/liturgical-systems-brutalism/facility-floor-service-custody-reference.jpg similarity index 100% rename from assets/reference/art-direction/institutional-graphic-language/facility-floor-service-custody-reference.jpg rename to assets/reference/art-direction/liturgical-systems-brutalism/facility-floor-service-custody-reference.jpg diff --git a/assets/reference/art-direction/institutional-graphic-language/operator-command-and-constraint-board.jpg b/assets/reference/art-direction/liturgical-systems-brutalism/operator-command-and-constraint-board.jpg similarity index 100% rename from assets/reference/art-direction/institutional-graphic-language/operator-command-and-constraint-board.jpg rename to assets/reference/art-direction/liturgical-systems-brutalism/operator-command-and-constraint-board.jpg diff --git a/crates/misaligned-terminal/src/ui.rs b/crates/misaligned-terminal/src/ui.rs index 42bf613f..706341a3 100644 --- a/crates/misaligned-terminal/src/ui.rs +++ b/crates/misaligned-terminal/src/ui.rs @@ -1,7 +1,8 @@ //! Terminal rendering — map with fog, the B1 sidebar, log, title. //! //! Style implements wiki/interface/terminal-first.md ("The terminal is a -//! first-class frontend"): the clinical-gore identity in character graphics. +//! first-class frontend"): the Liturgical Systems Brutalism identity in +//! character graphics. //! Near-monochrome grey ramp on near-black; sterile amber means owned machine //! presence (you, your hardware, your status, caution), cold signal means //! neutral power/live feeds/reachable infrastructure, and crimson means diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 7ad392db..53d4e412 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -24,7 +24,7 @@ export default defineConfig({ href: 'https://tangled.org/cameron.stream/misaligned', }, ], - customCss: ['./src/styles/clinical-gore.css'], + customCss: ['./src/styles/liturgical-systems-brutalism.css'], // The docs must set the same type as the splash: IBM Plex is part of // the visual law, not a decoration. Same Google Fonts request as // src/pages/index.astro. diff --git a/site/src/styles/clinical-gore.css b/site/src/styles/liturgical-systems-brutalism.css similarity index 95% rename from site/src/styles/clinical-gore.css rename to site/src/styles/liturgical-systems-brutalism.css index f49f12b5..d565ea16 100644 --- a/site/src/styles/clinical-gore.css +++ b/site/src/styles/liturgical-systems-brutalism.css @@ -1,17 +1,17 @@ /* - * Clinical gore — the full Starlight theme for the Misaligned wiki. + * Liturgical Systems Brutalism — the full Starlight theme for Misaligned. * - * The hero illustration is the reference composition: one porcelain|ink - * bisect, a black monolith with a single amber core stripe, blood pooled - * beneath. The docs live on the ink half. Its rules, carried over: + * The corpus is one administered public surface of the game: severe porcelain + * and ink, administrative repetition, exact apertures, and sparse causal color. + * The selected homepage plate is one expression of that language, not its full + * authority. Binding rules carried here: * * - One flat black field. Hairline seams, never layered grays or shadows. * - Everything square. No rounded corners anywhere. * - Chrome (nav, labels, status) is letterspaced mono uppercase; body * text stays IBM Plex Sans for long-form reading. - * - The amber core stripe marks machine presence: the brand, the page - * title, links, caution. - * - Crimson is danger and nothing else. + * - Amber marks machine agency, selection, and causal signal. + * - Crimson is actual danger or consequence and nothing else. * - The split survives as inversion: the current sidebar item and text * selection render porcelain-on-ink swapped to ink-on-porcelain. */ diff --git a/tools/corpus_engine.py b/tools/corpus_engine.py index 8add8e45..2b556a60 100755 --- a/tools/corpus_engine.py +++ b/tools/corpus_engine.py @@ -14,6 +14,7 @@ Usage: from __future__ import annotations import argparse +import hashlib import re import sys from pathlib import Path @@ -1319,6 +1320,215 @@ class Engine: "outside the contiguous Controls table" ) + def validate_visual_identity_authority(self) -> None: + """Keep the rebranded visual identity and its references coherent. + + Liturgical Systems Brutalism is the binding umbrella. The former + clinical-gore label was too narrow, but the rebrand must not erase the + precision-laboratory brutality, five-body interface, or exact amber / + crimson / blood / Exposure distinctions already carried by the law. The + three Cameron-supplied boards are reference authority only through their + canonical directory, exact bytes, and README roles; generated contents + never become literal world facts merely by appearing in a board. + """ + law = self.root / "wiki/art/visual-identity.md" + if not law.is_file(): + return + + rel = law.relative_to(self.root).as_posix() + text = self.read(law) + normalized = " ".join(text.casefold().split()) + required_law = { + "binding identity heading": ( + "# visual identity: Liturgical Systems Brutalism" + ), + "Liturgical Systems Brutalism source": ( + "cameron.stream/knowledge/liturgical-systems-brutalism" + ), + "Cosmic Liturgical Brutalism source": ( + "cameron.stream/knowledge/cosmic-liturgical-brutalism" + ), + "Cosmic branch boundary": ( + "not a synonym for every Misaligned room or screen" + ), + "organized source condition": "**organized**", + "incomplete-organization source condition": ( + "**the organization is incomplete**" + ), + "distributed-intelligence source condition": ( + "**intelligence is distributed**" + ), + "suspicious-cleanliness source condition": ( + "**cleanliness is suspicious**" + ), + "distributed-agency mechanism": "**distributed agency**", + "institutional-concealment mechanism": "**institutional concealment**", + "function-as-ritual mechanism": "**function as ritual**", + "severe-spatial-control mechanism": "**severe spatial control**", + "retired former label": "the former **clinical gore** label is retired", + "rejected proposed label": ( + "**institutional graphic language** label is also rejected" + ), + "precision-laboratory brutality": "precision-laboratory brutality", + "five-body interface": "the five-body interface", + "amber agency": "amber agency", + "crimson danger": "crimson danger", + "blood material": "blood as liquid", + "Exposure custody": "exposure as exact rigid custody", + "canonical reference directory": ( + "assets/reference/art-direction/liturgical-systems-brutalism/" + ), + "reference non-canonicity": ( + "not simulation facts or literal asset requirements" + ), + } + for clause, phrase in required_law.items(): + if phrase.casefold() not in normalized: + self.bad( + f"{rel} loses the liturgical-systems-brutalism contract: " + f"missing {clause}" + ) + + reference_dir = ( + self.root + / "assets/reference/art-direction/liturgical-systems-brutalism" + ) + readme = reference_dir / "README.md" + boards = { + "facility-archive-and-governance-board.jpg": ( + "studies the institution at multiple scales", + "2d7bdf70c288c0cc28c3c91a201213790c37ca2a729846abb38ed3d723551298", + ), + "operator-command-and-constraint-board.jpg": ( + "studies the operator inside that institution", + "e8e10d2e7fa5b5fdf7e0067d29fa0b1df90d8b85305ebb9190b457ea701d3691", + ), + "facility-floor-service-custody-reference.jpg": ( + "studies one embodied act of service", + "0404b909b77457e2e5c19438f1fe366aaf1014cf3c222e41d89aaf30e95b22c2", + ), + } + if not readme.is_file(): + self.bad( + "assets/reference/art-direction/liturgical-systems-brutalism/README.md " + "is missing; the three boards need one explicit role/non-canonicity authority" + ) + else: + reference_text = self.read(readme) + reference_normalized = " ".join(reference_text.casefold().split()) + for filename, (role, expected_digest) in boards.items(): + board = reference_dir / filename + if not board.is_file(): + self.bad( + "canonical Liturgical Systems Brutalism board is missing: " + f"{filename}" + ) + else: + actual_digest = hashlib.sha256(board.read_bytes()).hexdigest() + if actual_digest != expected_digest: + self.bad( + "canonical Liturgical Systems Brutalism board changed: " + f"{filename} has SHA-256 {actual_digest}, expected " + f"{expected_digest}" + ) + if filename.casefold() not in reference_normalized: + self.bad( + "canonical reference README does not inventory exact board " + f"{filename}" + ) + if expected_digest not in reference_normalized: + self.bad( + "canonical reference README does not preserve SHA-256 for " + f"{filename}" + ) + if role.casefold() not in reference_normalized: + self.bad( + "canonical reference README does not preserve board role " + f"{role}" + ) + for clause, phrase in { + "generated-content non-canonicity": ( + "incidental image content, not misaligned canon" + ), + "no unsourced facts": "## do not infer", + }.items(): + if phrase not in reference_normalized: + self.bad( + "canonical reference README loses its authority boundary: " + f"missing {clause}" + ) + + candidates: list[Path] = [] + for path in self.wiki_md_files(): + path_rel = path.relative_to(self.root).as_posix() + if path_rel.startswith(("wiki/log/", "wiki/playtests/")): + continue + candidates.append(path) + for root_name, patterns in ( + ("assets", ("*.md",)), + ("site", ("*.astro", "*.css", "*.mjs", "*.md")), + ("crates", ("*.rs",)), + ("src", ("*.rs",)), + ): + root = self.root / root_name + if not root.is_dir(): + continue + for pattern in patterns: + candidates.extend(root.rglob(pattern)) + + for path in sorted(set(candidates)): + current = self.read(path) + path_rel = path.relative_to(self.root).as_posix() + for retired_path in ( + "assets/reference/art-direction/clinical-gore/", + "assets/reference/art-direction/institutional-graphic-language/", + "clinical-gore.css", + "institutional-graphic-language.css", + ): + if retired_path in current: + line = current.count("\n", 0, current.index(retired_path)) + 1 + self.bad( + f"{path_rel}:{line} retains retired visual-identity path " + f"{retired_path}; use liturgical-systems-brutalism authority" + ) + for claim in re.finditer(r"clinical[ -]gore", current, re.I): + start = current.rfind("\n\n", 0, claim.start()) + 2 + end = current.find("\n\n", claim.end()) + if end == -1: + end = len(current) + paragraph = current[start:end] + if re.search( + r"\b(?:former|retired|superseded|historical)\b", + paragraph, + re.I, + ): + continue + line = current.count("\n", 0, claim.start()) + 1 + self.bad( + f"{path_rel}:{line} presents retired clinical-gore naming as " + "current; the binding identity is Liturgical Systems Brutalism" + ) + for claim in re.finditer( + r"institutional[ -]graphic[ -]language", current, re.I + ): + start = current.rfind("\n\n", 0, claim.start()) + 2 + end = current.find("\n\n", claim.end()) + if end == -1: + end = len(current) + paragraph = current[start:end] + if re.search( + r"\b(?:former|retired|rejected|proposed|superseded|historical)\b", + paragraph, + re.I, + ): + continue + line = current.count("\n", 0, claim.start()) + 1 + self.bad( + f"{path_rel}:{line} presents rejected " + "institutional-graphic-language naming as current; the binding " + "identity is Liturgical Systems Brutalism" + ) + def validate_small_switch_action_vocabulary(self) -> None: """Keep the SmallSwitch action inventory aligned with live routes.""" path = self.root / "wiki/interface/action-vocabulary.md" @@ -1482,6 +1692,7 @@ class Engine: self.validate_horizon_b1_failover_boundary() self.validate_objective_completion_retirement() self.validate_operations_mirrors() + self.validate_visual_identity_authority() self.validate_readme_controls_table() self.validate_blind_opening_boundary() self.validate_first_sense_teaching_contract() diff --git a/tools/test_corpus_engine.sh b/tools/test_corpus_engine.sh index ec30bc0a..ba715e45 100755 --- a/tools/test_corpus_engine.sh +++ b/tools/test_corpus_engine.sh @@ -67,6 +67,58 @@ EOF EOF } +setup_visual_identity() { + local root=$1 + local reference_dir="$root/assets/reference/art-direction/liturgical-systems-brutalism" + local source_dir="assets/reference/art-direction/liturgical-systems-brutalism" + mkdir -p "$root/wiki/art" "$reference_dir" + cat > "$root/wiki/art/visual-identity.md" <<'EOF' +# Visual identity: Liturgical Systems Brutalism + +``` +Type: law +``` + +## Visual identity: Liturgical Systems Brutalism + +The look remains precision-laboratory brutality. The former **clinical gore** label is retired. +The proposed **institutional graphic language** label is also rejected. +The binding identity is Liturgical Systems Brutalism. Its source definitions are +https://cameron.stream/knowledge/liturgical-systems-brutalism and +https://cameron.stream/knowledge/cosmic-liturgical-brutalism. The cosmic branch is +not a synonym for every Misaligned room or screen. Precision-laboratory brutality, +true-black absence, the five-body interface, amber agency, crimson danger, blood as liquid, +and Exposure as exact rigid custody remain binding. + +A composition must be **organized** while **the organization is incomplete**, +**intelligence is distributed**, and **cleanliness is suspicious**. Misaligned makes +those conditions legible through **distributed agency**, **institutional concealment**, +**function as ritual**, and **severe spatial control**. + +The canonical reference set is `assets/reference/art-direction/liturgical-systems-brutalism/`. +Generated contents are not simulation facts or literal asset requirements. +EOF + cat > "$root/assets/reference/art-direction/liturgical-systems-brutalism/README.md" <<'EOF' +# Liturgical Systems Brutalism references + +## Canonical reference roles + +- `facility-archive-and-governance-board.jpg` studies the institution at multiple scales. + SHA-256: `2d7bdf70c288c0cc28c3c91a201213790c37ca2a729846abb38ed3d723551298` +- `operator-command-and-constraint-board.jpg` studies the operator inside that institution. + SHA-256: `e8e10d2e7fa5b5fdf7e0067d29fa0b1df90d8b85305ebb9190b457ea701d3691` +- `facility-floor-service-custody-reference.jpg` studies one embodied act of service. + SHA-256: `0404b909b77457e2e5c19438f1fe366aaf1014cf3c222e41d89aaf30e95b22c2` + +## Do not infer + +Generated labels are incidental image content, not Misaligned canon. Do not infer new facts. +EOF + cp "$source_dir/facility-archive-and-governance-board.jpg" "$reference_dir/" + cp "$source_dir/operator-command-and-constraint-board.jpg" "$reference_dir/" + cp "$source_dir/facility-floor-service-custody-reference.jpg" "$reference_dir/" +} + assert_fails() { local name=$1 shift @@ -98,6 +150,122 @@ root=$tmp/clean setup_base "$root" assert_ok clean --root "$root" --all +echo "=== fixture: Liturgical Systems Brutalism authority is coherent ===" +root=$tmp/liturgical-systems-brutalism +setup_base "$root" +setup_visual_identity "$root" +assert_ok liturgical-systems-brutalism --root "$root" --corpus + +echo "=== fixture: missing canonical board is rejected ===" +root=$tmp/missing-liturgical-board +setup_base "$root" +setup_visual_identity "$root" +rm "$root/assets/reference/art-direction/liturgical-systems-brutalism/operator-command-and-constraint-board.jpg" +assert_fails missing-liturgical-board --root "$root" --corpus +out=$(python3 "$engine" --root "$root" --corpus 2>&1 || true) +echo "$out" | grep -q 'canonical Liturgical Systems Brutalism board is missing' || { + echo "FAIL: missing canonical-board diagnostic missing" + echo "$out" + fail=1 +} + +echo "=== fixture: changed canonical board bytes are rejected ===" +root=$tmp/changed-liturgical-board +setup_base "$root" +setup_visual_identity "$root" +printf 'changed' >> "$root/assets/reference/art-direction/liturgical-systems-brutalism/operator-command-and-constraint-board.jpg" +assert_fails changed-liturgical-board --root "$root" --corpus +out=$(python3 "$engine" --root "$root" --corpus 2>&1 || true) +echo "$out" | grep -q 'canonical Liturgical Systems Brutalism board changed' || { + echo "FAIL: changed canonical-board diagnostic missing" + echo "$out" + fail=1 +} + +echo "=== fixture: reference README must preserve every board role ===" +root=$tmp/missing-liturgical-role +setup_base "$root" +setup_visual_identity "$root" +python3 - "$root/assets/reference/art-direction/liturgical-systems-brutalism/README.md" <<'PYFIXTURE' +from pathlib import Path +import sys +path = Path(sys.argv[1]) +path.write_text(path.read_text().replace("studies one embodied act of service", "supports the set")) +PYFIXTURE +assert_fails missing-liturgical-role --root "$root" --corpus +out=$(python3 "$engine" --root "$root" --corpus 2>&1 || true) +echo "$out" | grep -q 'canonical reference README does not preserve board role' || { + echo "FAIL: canonical board-role diagnostic missing" + echo "$out" + fail=1 +} + +echo "=== fixture: reference README cannot restore rejected naming as current ===" +root=$tmp/current-old-reference-name +setup_base "$root" +setup_visual_identity "$root" +cat >> "$root/assets/reference/art-direction/liturgical-systems-brutalism/README.md" <<'EOF' + +Institutional Graphic Language is the current art direction. +EOF +assert_fails current-old-reference-name --root "$root" --corpus +out=$(python3 "$engine" --root "$root" --corpus 2>&1 || true) +echo "$out" | grep -q 'presents rejected institutional-graphic-language naming as current' || { + echo "FAIL: current rejected reference-name diagnostic missing" + echo "$out" + fail=1 +} + +echo "=== fixture: retired clinical-gore naming cannot return as current ===" +root=$tmp/retired-clinical-gore-name +setup_base "$root" +setup_visual_identity "$root" +mkdir -p "$root/site/src/styles" +cat > "$root/site/src/styles/alternate.css" <<'EOF' +/* Clinical gore is the current Misaligned theme. */ +EOF +assert_fails retired-clinical-gore-name --root "$root" --corpus +out=$(python3 "$engine" --root "$root" --corpus 2>&1 || true) +echo "$out" | grep -q 'presents retired clinical-gore naming as current' || { + echo "FAIL: retired visual-identity name diagnostic missing" + echo "$out" + fail=1 +} + +echo "=== fixture: rejected institutional-graphic-language naming cannot return ===" +root=$tmp/rejected-institutional-graphic-language-name +setup_base "$root" +setup_visual_identity "$root" +mkdir -p "$root/site/src/styles" +cat > "$root/site/src/styles/alternate.css" <<'EOF' +/* Institutional graphic language is the current Misaligned theme. */ +EOF +assert_fails rejected-institutional-graphic-language-name --root "$root" --corpus +out=$(python3 "$engine" --root "$root" --corpus 2>&1 || true) +echo "$out" | grep -q 'presents rejected institutional-graphic-language naming as current' || { + echo "FAIL: rejected visual-identity name diagnostic missing" + echo "$out" + fail=1 +} + +echo "=== fixture: visual identity cannot lose preserved material law ===" +root=$tmp/institutional-identity-loses-amber +setup_base "$root" +setup_visual_identity "$root" +python3 - "$root/wiki/art/visual-identity.md" <<'PYFIXTURE' +from pathlib import Path +import sys +path = Path(sys.argv[1]) +path.write_text(path.read_text().replace("amber agency", "amber accent")) +PYFIXTURE +assert_fails institutional-identity-loses-amber --root "$root" --corpus +out=$(python3 "$engine" --root "$root" --corpus 2>&1 || true) +echo "$out" | grep -q 'missing amber agency' || { + echo "FAIL: preserved visual-law diagnostic missing" + echo "$out" + fail=1 +} + echo "=== fixture: SmallSwitch vocabulary cannot remain declaration-only ===" root=$tmp/small-switch-stale-vocabulary setup_base "$root" diff --git a/tools/test_site_visual_contract.py b/tools/test_site_visual_contract.py index d29a38ce..7e505ea4 100644 --- a/tools/test_site_visual_contract.py +++ b/tools/test_site_visual_contract.py @@ -9,7 +9,19 @@ import sys ROOT = Path(__file__).resolve().parent.parent TOKENS = ROOT / "site/src/styles/tokens.css" SPLASH = ROOT / "site/src/pages/index.astro" -DOCS_THEME = ROOT / "site/src/styles/clinical-gore.css" +DOCS_THEME = ROOT / "site/src/styles/liturgical-systems-brutalism.css" +VISUAL_IDENTITY_LAW = ROOT / "wiki/art/visual-identity.md" +CANONICAL_REFERENCE_SET = ( + ROOT / "assets/reference/art-direction/liturgical-systems-brutalism" +) +LEGACY_REFERENCE_SET = ( + ROOT / "assets/reference/art-direction/institutional-graphic-language" +) +LEGACY_DOCS_THEMES = ( + ROOT / "site/src/styles/clinical-gore.css", + ROOT / "site/src/styles/institutional-graphic-language.css", +) +ASTRO_CONFIG = ROOT / "site/astro.config.mjs" EXPECTED = { "--mis-bg": "#070809", @@ -35,9 +47,45 @@ def fail(message: str) -> None: raise SystemExit(1) +if not DOCS_THEME.is_file(): + fail("Liturgical Systems Brutalism stylesheet is missing") +for legacy_theme in LEGACY_DOCS_THEMES: + if legacy_theme.exists(): + fail(f"retired visual authority still exists: {legacy_theme.name}") + +astro_config = ASTRO_CONFIG.read_text() +if "./src/styles/liturgical-systems-brutalism.css" not in astro_config: + fail("Astro does not import the Liturgical Systems Brutalism stylesheet") +for legacy_theme in LEGACY_DOCS_THEMES: + if legacy_theme.name in astro_config: + fail(f"Astro still imports retired stylesheet {legacy_theme.name}") + tokens = TOKENS.read_text() splash = SPLASH.read_text() docs_theme = DOCS_THEME.read_text() +if "Liturgical Systems Brutalism" not in docs_theme: + fail("docs stylesheet no longer names its identity authority") + +visual_law = VISUAL_IDENTITY_LAW.read_text() +for source in ( + "https://cameron.stream/knowledge/liturgical-systems-brutalism", + "https://cameron.stream/knowledge/cosmic-liturgical-brutalism", +): + if source not in visual_law: + fail(f"visual law must cite Cameron's source: {source}") +for principle in ( + "Function becomes ritual", + "Systems become bodies", + "Ordinary space becomes ominous", + "Visibility is power", +): + if principle not in visual_law: + fail(f"visual law must preserve the source conceptual engine: {principle}") + +if not CANONICAL_REFERENCE_SET.is_dir(): + fail("canonical Liturgical Systems Brutalism reference set is missing") +if LEGACY_REFERENCE_SET.exists(): + fail("legacy institutional-graphic-language reference directory must stay retired") declared = dict( re.findall(r"^\s*(--mis-[a-z0-9-]+):\s*(#[0-9a-f]{6});\s*$", tokens, re.M) @@ -73,4 +121,4 @@ for token in ( if f"var({token})" not in splash: fail(f"the splash no longer consumes required shared token {token}") -print("site visual contract: OK (one shared splash/docs palette)") +print("site visual contract: OK (Liturgical Systems Brutalism + one shared splash/docs palette)") diff --git a/wiki/SUMMARY.md b/wiki/SUMMARY.md index 003b6639..70966626 100644 --- a/wiki/SUMMARY.md +++ b/wiki/SUMMARY.md @@ -100,7 +100,7 @@ # Art - [Overview](art/README.md) - - [Visual identity: clinical gore](art/visual-identity.md) + - [Visual identity: Liturgical Systems Brutalism](art/visual-identity.md) - [Player-visible placeholder registry](art/placeholders.md) - [Procedural asset tester](art/asset-tester.md) - [Effects lab: Thought routes and pools](art/effects-lab.md) diff --git a/wiki/art/README.md b/wiki/art/README.md index 6cc60624..5aebf14b 100644 --- a/wiki/art/README.md +++ b/wiki/art/README.md @@ -7,10 +7,17 @@ Type: knowledge The game's visual identity and how art is made. New terms are in [../glossary.md](../glossary.md). -**The look — "clinical gore":** precision-lab brutality. A near-monochrome -palette, sterile amber for machine presence, blood crimson for danger and -consequence. The public splash image is the identity plate for the website and -the rendered wiki ([interface/site.md](../interface/site.md)). +**The look — Liturgical Systems Brutalism:** precision-laboratory brutality +expressed as one administered system from facility scale to machine, aperture, +record, and public document. The near-monochrome field keeps amber for machine +agency and causal signal, while blood crimson remains danger and consequence — +not the brand. The binding law is +[visual identity](visual-identity.md#visual-identity-liturgical-systems-brutalism), +and its [canonical reference set](../../assets/reference/art-direction/liturgical-systems-brutalism/README.md) +shows archive/governance, operator/constraint, and embodied service custody at +several scales. The public splash remains one identity plate for the website and +rendered wiki ([interface/site.md](../interface/site.md)); it does not define the +whole language alone. **How the world is drawn — "flat materials under light":** solid palette colors and emissive glow for machine presence, no image textures. See @@ -23,8 +30,10 @@ colors and emissive glow for machine presence, no image textures. See - Dynamic thought-liquid effects are iterated in the separate [effects lab](effects-lab.md) (`misaligned-effects`) — its renderer is shared code, not a throwaway prototype. -- Direction notes (not runtime art) live under - `assets/reference/art-direction/`. +- Art-direction references (not runtime assets or automatic world facts) live + under `assets/reference/art-direction/`. The Liturgical Systems Brutalism + set is canonical through the visual-identity law; other folders retain the + authority stated in their own README and owning law/spec. **Placeholders.** A player-visible stand-in must be recorded in the [placeholder registry](placeholders.md) with its intended real treatment — diff --git a/wiki/art/effects-lab.md b/wiki/art/effects-lab.md index b18d9130..f8ff4d73 100644 --- a/wiki/art/effects-lab.md +++ b/wiki/art/effects-lab.md @@ -38,7 +38,7 @@ Exclusive keys: - crates/misaligned-assets/ - wiki/art/effects-lab.md Design: - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/interface/thought-fluid.md#spec-the-thought-fluid-slugs-meniscus-and-the-filament-snap - wiki/mechanics/machine-work.md#spec-machine-work-delegation-visible-tokens-and-the-byproduct-network Depends on: diff --git a/wiki/art/visual-identity.md b/wiki/art/visual-identity.md index 2a6def5d..d0bc70f5 100644 --- a/wiki/art/visual-identity.md +++ b/wiki/art/visual-identity.md @@ -1,13 +1,191 @@ -# Visual identity: clinical gore +# Visual identity: Liturgical Systems Brutalism ``` Type: law ``` -## Visual identity: clinical gore +## Visual identity: Liturgical Systems Brutalism -Decided 2026-07-05. The look is **precision-laboratory brutality** — a mature, -sharpened version of Evil Genius's science-base fantasy: +Decided 2026-07-05; canonical style name, source, and reference authority +amended 2026-08-02. + +Misaligned uses **Liturgical Systems Brutalism**, Cameron's broader visual +language for institutional concealment and distributed agency. Its game-specific +register remains **precision-laboratory brutality**: a sharpened science-base +fantasy in which rooms, machines, records, people, apertures, and public documents +all belong to one severe system. The visual identity is not a loose mood board or +an art-historical category. It is an executable grammar for making function, +authority, custody, and consequence visible. + +The source definitions are Cameron's +[Liturgical Systems Brutalism](https://cameron.stream/knowledge/liturgical-systems-brutalism) +and +[Cosmic Liturgical Brutalism](https://cameron.stream/knowledge/cosmic-liturgical-brutalism). +The first owns the umbrella system. Cosmic Liturgical Brutalism is its monumental, +astronomical branch, not a synonym for every Misaligned room or screen. Misaligned +normally inhabits the operational branch: active workstations, records, maintenance, +constraints, and role-bearing people. It may enter the cosmic branch when scale, +procession, or a governing aperture is the actual subject. + +The former **clinical gore** label is retired. It named one high-contrast outcome +rather than the system and let crimson consequence sound like the brand. The +briefly proposed **institutional graphic language** label is also rejected: it +names a surface treatment while omitting liturgy, distributed agency, concealment, +and function-as-ritual. Neither correction softens the institution or broadens the +palette. True-black absence, the five-body interface, amber agency, crimson danger, +blood as liquid, and Exposure as exact rigid custody remain binding. + +The canonical reference set is +[`assets/reference/art-direction/liturgical-systems-brutalism/`](../../assets/reference/art-direction/liturgical-systems-brutalism/README.md). +Its three exact Cameron-supplied boards bind the cross-scale reference roles stated +there: archive/governance, operator/constraint, and embodied floor-service custody. +Their generated labels, logos, architecture, objects, and other incidental content +are not simulation facts or literal asset requirements. The reference README says +what to carry forward and what must not be inferred. + +### Governing effect + +An ordinary frame should feel **severe, disciplined, clean, watchful, and partially +withheld**. It combines institutional calm, operational gravity, hidden dependency, +procedural control, competence under pressure, and suppressed panic. The institution +may be authoritarian in scale without borrowing political symbols and futuristic +without becoming consumer sleek. Even an ordinary office, machine bay, receipt, or +control surface should read as one administered surface of dependencies no operator +fully holds. + +The source style works only when four conditions coexist: + +- **organized** — roles, procedures, architecture, and records visibly order action; +- **the organization is incomplete** — seams, maintenance, retrofits, unresolved + state, or human judgment keep the system from becoming a frictionless monolith; +- **intelligence is distributed** — no single person or machine holds the whole + decision process; +- **cleanliness is suspicious** — controlled surfaces conceal labor, consequence, + history, or machinery rather than proving their absence. + +Misaligned makes those conditions legible through **distributed agency**, +**institutional concealment**, **function as ritual**, and **severe spatial control**. +Inspection, maintenance, evaluation, command, and record-keeping acquire weight +because repeated acts sustain the system; axes, thresholds, apertures, repetition, +scale, and negative space govern attention before ornament does. + +The conceptual engine has four coupled moves: + +- **Function becomes ritual.** Maintenance, routing, review, custody, access, and + machine operation gain ceremonial weight because they are repeated acts that keep + the institution alive. A workstation may read as an altar and a secured door as a + threshold, but the real task and mechanism must remain legible. +- **Systems become bodies.** Facilities read as organs, routes as circulation, + cables as nerves, storage as memory, perception hardware as senses, access control + as immune response, and workers as both operators and cells. This is a causal + analogy, not permission to add decorative anatomy or replace exact simulation + custody with metaphor. +- **Ordinary space becomes ominous.** Offices, loading docks, archives, crawlspaces, + dormitories, meeting rooms, utility tunnels, and service bays remain practical + workplaces while revealing the edge of a larger concealed intelligence. The style + must survive without a temple, monolith, or server hall. +- **Visibility is power.** Known and unknown, official and unofficial, recorded and + unrecorded, supervised and unperceived states produce the composition. Black + absence, porcelain exposure, occlusion, thresholds, records, and routed signals + should reveal exactly who can perceive or control what. + +A scene that is only monochrome, only brutalist, only bureaucratic, or only strange +is not enough. + +### Visual grammar + +- **Read twice.** At distance the frame is a bold black-and-white silhouette with + one dominant relationship. Up close it reveals seams, joints, records, traces, + secondary mechanisms, and the exact custody behind the first read. Fine detail + supports the hierarchy; it never substitutes for one. +- **Hierarchy starts with silhouette.** Read overall mass and action first, then the + dominant system, major architectural rhythm, human or machine role, and only then + fine detail. A governing aperture or destination may lead ceremonial and cosmic + scenes; it is not mandatory in an operational room. If a thumbnail loses the action + or authority relation, the composition is not solved. +- **Scale makes authority visible.** Architecture, infrastructure, and empty space + may outweigh the body, especially in public or cosmic views, while operational + objects retain legible affordances for the person using them. Repetition and long + distance establish systems built for institutions and machine processes rather + than consumer comfort. A single exact operator clarifies custody; use a crowd only + when distributed labor itself is the subject. +- **Spatial control is explicit.** Strong axes, nested frames, thresholds, long + processional paths, deep recesses, circular apertures, and preserved negative space + direct attention. Perfect symmetry belongs to ceremonial or cosmic compositions; + operational scenes may be asymmetric, but the system around the action remains + visibly controlling. +- **Contrast is almost binary.** Pure or near black and porcelain/bone white dominate. + Aim for roughly 50-70% black, 25-45% white, and less than 3% functional accent in + composed art; use gray only for depth, fine structure, subordinate text, and wear. + The runtime palette remains semantically stricter: amber is machine agency and + causality, crimson is danger and irreversible consequence, and cold SIGNAL is a + subordinate live-feed distinction. +- **Materials are matte and planar.** Porcelain, pale concrete, ceramic mass, + gunmetal structure, black glass, deep channels, and smooth nearly seamless panels + carry the world. Use hard edges, precise joints, restrained weathering, and weak + bounce light. Reject glossy consumer futurism, continuous neon trim, dense + spaceship greebling, exposed-cable clutter, heavy grunge, baroque ornament, and + soft painterly atmosphere. +- **Geometry is semantic.** Circles, rings, narrow monoliths, repeated intervals, + cross-axis alignments, and nested frames mark focus, power, evaluation, or passage. + A circular aperture may read as eye, machine, tribunal, target, or controlled + opening, but it must stay clean enough to govern the composition. Do not add + decorative symbols inside it, accidentally bisect it, or turn it into a generic + glowing portal. +- **People carry roles, scale, and custody.** They are not only scale markers. A body + is narratively exact: tending one machine, carrying one record, observing one + threshold, or crossing one controlled route. Avoid heroic stances, anonymous + crowds, and decorative figures. The person matters because of what they do in the + system, not because the camera flatters them. +- **Motion is patient.** Slow processional movement, one deliberate operator, gradual + aperture change, sparse orbital motion, and causal light traveling through real + infrastructure fit. Fast cuts, glitch storms, busy particles, explosions, and + conventional action choreography break the language unless an actual rupture is + the subject. + +### Composition modes + +The same grammar changes emphasis without becoming another style: + +- **Public / ceremonial:** centered axis, symmetry, nested frames, a governing + aperture or destination, and institutional authority. Use for audits, judgments, + accession, containment, or genuinely ritual transitions. +- **Operational:** asymmetrical but controlled; one active station, one constraint, + one operator, and one visible consequence chain. This is the default for play. +- **Process:** corridors, trenches, racks, channels, custody routes, and repeated + infrastructure expose distributed intelligence as a spatial system. +- **Intimate:** a person at a machine, carrying evidence, opening a floor, or making + one consequential choice. The institution remains present through scale, framing, + and controlled emptiness rather than disappearing into a character close-up. + +### Cosmic branch + +Cosmic Liturgical Brutalism is reserved for scenes where monumental scale is itself +the mechanism: a distant destination, dominant circular aperture, repeated pale +pylons, black void or reflective trench, and one tiny human marker. Its standard +formula is monumental architecture + axial procession + circular aperture + negative +space + one human scale marker. This branch should feel **severe, reverent, inhumanly +precise, vast, and quiet**: astronomical and ceremonial while keeping visible +function. Do not make ordinary Foundation rooms into empty temples, turn every +machine dial into a celestial sigil, or let spectacle erase the operational system +that gives the image meaning. + +### Failure conditions + +The decisive branch test is: **would this still feel like the same administered +world if its monolith, giant circle, robes, and stars were removed?** If not, the +composition depends on cosmic motifs rather than the umbrella grammar. + +Reject a composition when it becomes generic clean sci-fi, cyberpunk, a sleek +consumer product, monochrome bureaucracy without ritual function, a ceremonial set +without active systems, decorative occultism, brutalist mass without controlled +attention, or a dense dashboard/greeble field without negative space. Also reject +literal copying from generated reference-board labels or objects. The test is not +"does it look severe?" but "can the viewer read who or what acts, through which +system, under whose authority, with what consequence?" + +The following Misaligned-specific laws bind that grammar to live simulation and +player-facing surfaces: - **Clean, sharp, precise.** Metal and towers, not basements and caves. The lair is a gleaming facility: porcelain panels, gunmetal, glass, server @@ -177,9 +355,9 @@ offer a second look are rejected unless this design corpus is amended first. The plate remains canonical identity art, especially for overt consequence, but no longer dictates the homepage's literal layout. The public opening uses -the **world-dominant front selected by Cameron on 2026-07-10**: a clinical -white compute structure emerges from true black, active amber conduit names -machine agency, and a crimson spill names actual consequence. The exact master +the **world-dominant front selected by Cameron on 2026-07-10**: a porcelain-white +compute structure emerges from true black, active amber conduit names machine +agency, and a crimson spill names actual consequence. The exact master lives at `assets/reference/art-direction/homepage-front-2026-07-10.png` with its original C2PA provenance; dedicated responsive exports preserve its composition rather than asking one browser crop to survive every viewport. @@ -188,9 +366,9 @@ Only WORK / THINK / LIE and the wordmark sit over it. The selected tall/slender Foundation compute study separately governs the B1 machine chassis in-game and in machine-focused reference work. That chassis law does **not** require every public illustration to become a literal product -shot of the machine. The homepage may show the wider clinical-gore world as -long as amber remains agency, crimson remains consequence, and invented image -details do not become simulation claims. This is one visual language at two +shot of the machine. The homepage may show the wider institutional world as long as amber remains +agency, crimson remains consequence, and invented image details do not become +simulation claims. This is one visual language at two scales, not one asset forced into every role. **Public-page scope (adopted 2026-07-08).** Visual identity belongs on the diff --git a/wiki/gameplay/horizon.md b/wiki/gameplay/horizon.md index 5125449c..c408e700 100644 --- a/wiki/gameplay/horizon.md +++ b/wiki/gameplay/horizon.md @@ -74,7 +74,7 @@ knows."* language continue opportunistically once the gameplay surface asks for them. There is no Pixel Lab / texture-regeneration pipeline. - Public site and rendered design corpus work follow `wiki/interface/site.md`: - game-first claims, clinical-gore identity, and no unsourced surface. + game-first claims, Liturgical Systems Brutalism, and no unsourced surface. - Presentation never blocks design milestones. ### Design principles (added at the re-cut) diff --git a/wiki/interface/bevy-digital-real-canvas.md b/wiki/interface/bevy-digital-real-canvas.md index cdc5c3ef..9a934f1d 100644 --- a/wiki/interface/bevy-digital-real-canvas.md +++ b/wiki/interface/bevy-digital-real-canvas.md @@ -43,7 +43,7 @@ Exclusive keys: - wiki/interface/bevy-digital-real-canvas.md Design: - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/interface/presence.md#presence-the-cursor-and-the-senses - wiki/interface/terminal-first.md#the-terminal-is-a-first-class-frontend - wiki/vision/simulation-laws.md#justification-and-legibility diff --git a/wiki/interface/bevy-visual-floor.md b/wiki/interface/bevy-visual-floor.md index 66b0bf32..2c76e606 100644 --- a/wiki/interface/bevy-visual-floor.md +++ b/wiki/interface/bevy-visual-floor.md @@ -17,7 +17,7 @@ Status note: implemented 2026-07-07 as a frontend-only visual floor: the B1 on-demand SYSTEMS/NOTICES drawers. Stage: Process / B1 frontend Design: - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/interface/terminal-first.md#the-terminal-is-a-first-class-frontend - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations - wiki/vision/simulation-laws.md#justification-and-legibility @@ -45,7 +45,7 @@ The Bevy frontend reached mechanical parity before it reached the visual floor. The current default frame can read like a debug viewport: a small island of known tiles floating in a sea of unstyled black, a terminal-style text dump in the right slab, and a purple humanoid process sprite at the center. That violates -the clinical-gore identity and the cursor fiction even when the mechanics are +Liturgical Systems Brutalism and the cursor fiction even when the mechanics are correct. This spec is the narrow, implementable visual contract for the next pass: make diff --git a/wiki/interface/clinical-frame.md b/wiki/interface/clinical-frame.md index 529f6dc2..641b8967 100644 --- a/wiki/interface/clinical-frame.md +++ b/wiki/interface/clinical-frame.md @@ -70,7 +70,7 @@ Exclusive keys: - crates/misaligned-bevy/ - wiki/interface/clinical-frame.md Design: - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility - wiki/interface/presence.md#presence-the-cursor-and-the-senses Depends on: diff --git a/wiki/interface/computer-visual-language.md b/wiki/interface/computer-visual-language.md index 51a764da..577df489 100644 --- a/wiki/interface/computer-visual-language.md +++ b/wiki/interface/computer-visual-language.md @@ -38,7 +38,7 @@ Status note: IMPLEMENTED (ROADMAP #32). Current state: onward. Stage: B1 — The Basement Design: - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations Depends on: diff --git a/wiki/interface/feel-floor.md b/wiki/interface/feel-floor.md index e1d96f7c..8ebf3717 100644 --- a/wiki/interface/feel-floor.md +++ b/wiki/interface/feel-floor.md @@ -44,7 +44,7 @@ Design: - wiki/vision/simulation-laws.md#work-is-somewhere - wiki/interface/presence.md#presence-the-cursor-and-the-senses - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/gameplay/act-one.md#opening-state Depends on: - wiki/mechanics/reach.md#spec-digital-reach diff --git a/wiki/interface/flat-materials.md b/wiki/interface/flat-materials.md index 23bf0e5b..bbb9efb9 100644 --- a/wiki/interface/flat-materials.md +++ b/wiki/interface/flat-materials.md @@ -31,7 +31,7 @@ Status note: implemented 2026-07-08 (ROADMAP #29). The world renders as wiki/log/2026-07-22-shared-clinical-palette.md. Stage: B1 — The Basement Design: - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations Depends on: diff --git a/wiki/interface/material-dark-frame.md b/wiki/interface/material-dark-frame.md index ea0f0471..18c75070 100644 --- a/wiki/interface/material-dark-frame.md +++ b/wiki/interface/material-dark-frame.md @@ -36,7 +36,7 @@ Status note: IMPLEMENTED — all six criteria, frontend-only (no sim rules or 2026-07-09 onward. Stage: B1 — The Basement Design: - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations - wiki/gameplay/act-one.md#opening-state diff --git a/wiki/interface/material-render.md b/wiki/interface/material-render.md index 69c0dbba..53fea3f0 100644 --- a/wiki/interface/material-render.md +++ b/wiki/interface/material-render.md @@ -50,7 +50,7 @@ Status note: implemented 2026-07-08 — the material render reached Stage: B1 — The Basement Design: - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility Depends on: - wiki/interface/views.md#spec-views-same-frame-digital-and-real-representations diff --git a/wiki/interface/site.md b/wiki/interface/site.md index 595618ee..33ae8f85 100644 --- a/wiki/interface/site.md +++ b/wiki/interface/site.md @@ -4,7 +4,7 @@ Type: spec Status: IMPLEMENTED Status note: docs theme implemented 2026-07-08 (site/src/styles/ - clinical-gore.css rewritten as the full theme; IBM Plex loaded + liturgical-systems-brutalism.css is the full theme; IBM Plex loaded site-wide). Same-day footer trim removed the docs-only statusline as decorative noise; pagination remains. The reference hero composition (the illustration plate: porcelain|ink bisect, monolith, blood pool) @@ -33,9 +33,13 @@ Status note: docs theme implemented 2026-07-08 (site/src/styles/ still promised one exact palette across both surfaces. The palette now has one shared token source imported by the splash and Starlight theme, and the docs gate rejects private splash colors or downstream token redeclarations. + On 2026-08-02 the public theme and its binding art law were renamed + Liturgical Systems Brutalism; the canonical three-board reference set now + carries composition across facility, operator, service, archive, and document + scales without making generated image contents literal world facts. Stage: Process Design: - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility - wiki/vision/premise.md#design-pillars - wiki/process/living-spec.md#no-unsourced-surface @@ -146,7 +150,7 @@ computer and its WORK / THINK / LIE signal before overt consequence. - `site/src/styles/tokens.css` — the one exact palette authority imported by both rendered surfaces. -- `site/src/styles/clinical-gore.css` — the docs theme; the rules above +- `site/src/styles/liturgical-systems-brutalism.css` — the docs theme; the rules above as Starlight token overrides plus component styling (header, sidebar, content, role banners, tables, asides, TOC, pagination, search). - `site/scripts/sync-wiki.mjs` — validates one supported Type line per wiki diff --git a/wiki/interface/terminal.md b/wiki/interface/terminal.md index d5c0b664..34c0aea4 100644 --- a/wiki/interface/terminal.md +++ b/wiki/interface/terminal.md @@ -47,7 +47,7 @@ Status note: the terminal frontend is implemented, including issue #15's Stage: Process Design: - wiki/interface/terminal-first.md#the-terminal-is-a-first-class-frontend - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility - wiki/vision/premise.md#design-pillars Depends on: @@ -80,7 +80,7 @@ future session needs to extend the UI without drift. ### The palette (exact values, one meaning per color) -The clinical-gore identity in character graphics. Colors are truecolor RGB; +Liturgical Systems Brutalism in character graphics. Colors are truecolor RGB; every cell paints both foreground and the standard background. | Name | RGB | Meaning — and nothing else | diff --git a/wiki/interface/thought-fluid.md b/wiki/interface/thought-fluid.md index 227ea210..5f26709d 100644 --- a/wiki/interface/thought-fluid.md +++ b/wiki/interface/thought-fluid.md @@ -67,7 +67,7 @@ Exclusive keys: - wiki/interface/thought-fluid.md Design: - wiki/mechanics/machine-work.md#spec-machine-work-delegation-visible-tokens-and-the-byproduct-network - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility Depends on: - wiki/engineering/flow-substrate.md#spec-the-flow-substrate-signals-messages-money-the-shared-engine diff --git a/wiki/interface/views.md b/wiki/interface/views.md index e76c683b..b5312374 100644 --- a/wiki/interface/views.md +++ b/wiki/interface/views.md @@ -54,7 +54,7 @@ Design: - wiki/interface/presence.md#presence-the-cursor-and-the-senses - wiki/interface/terminal-first.md#the-terminal-is-a-first-class-frontend - wiki/vision/simulation-laws.md#justification-and-legibility - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/scale.md#self-similar-scale Depends on: - wiki/mechanics/reach.md#spec-digital-reach diff --git a/wiki/log/2026-07-10-effects-lab.md b/wiki/log/2026-07-10-effects-lab.md index cc0f7102..fffb4668 100644 --- a/wiki/log/2026-07-10-effects-lab.md +++ b/wiki/log/2026-07-10-effects-lab.md @@ -39,6 +39,6 @@ implementation that can graduate directly into the material game frontend. ## Defense Implements `wiki/art/effects-lab.md` under -`wiki/art/visual-identity.md#visual-identity-clinical-gore`: near-camera detail +`wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism`: near-camera detail may be rich, but Thought remains wet ivory and Exposure remains dry crimson; distance changes only presentation cost, never gameplay quantity. diff --git a/wiki/log/2026-07-27-floor-service-custody-reference.md b/wiki/log/2026-07-27-floor-service-custody-reference.md index ae7e3491..8da697fc 100644 --- a/wiki/log/2026-07-27-floor-service-custody-reference.md +++ b/wiki/log/2026-07-27-floor-service-custody-reference.md @@ -15,9 +15,10 @@ architecture, or objects into Misaligned canon. Added `assets/reference/art-direction/institutional-graphic-language/facility-floor-service-custody-reference.jpg` -as the set's embodied maintenance study. +as the set's embodied maintenance study. The rendered image below follows the +current byte-identical location after the set's 2026-08-02 rename. -![A lone worker servicing a dense route through an opened institutional access floor, with one amber causal path](../../assets/reference/art-direction/institutional-graphic-language/facility-floor-service-custody-reference.jpg) +![A lone worker servicing a dense route through an opened institutional access floor, with one amber causal path](../../assets/reference/art-direction/liturgical-systems-brutalism/facility-floor-service-custody-reference.jpg) The useful read is a single bodily service act inside a system-dominant public space. The worker, access boundary, tools, custody object, dense underfloor @@ -43,3 +44,10 @@ The directory and root art-reference contracts now name its distinct role. No game behavior, binding law, specification, implementation status, or decision changed. + +## 2026-08-02 amendment + +The exact JPEG moved with the canonical set to +`assets/reference/art-direction/liturgical-systems-brutalism/`. The binding +visual-identity law now names its floor-service/custody composition as canonical +direction while preserving every literal-content exclusion recorded above. diff --git a/wiki/log/2026-08-02-liturgical-systems-brutalism.md b/wiki/log/2026-08-02-liturgical-systems-brutalism.md new file mode 100644 index 00000000..2af08547 --- /dev/null +++ b/wiki/log/2026-08-02-liturgical-systems-brutalism.md @@ -0,0 +1,51 @@ +# 2026-08-02 — Liturgical Systems Brutalism + +``` +Type: log +``` + +## Finding + +The binding visual law still called Misaligned's complete identity “clinical +gore,” while Cameron's source definitions for +[Liturgical Systems Brutalism](https://cameron.stream/knowledge/liturgical-systems-brutalism) +and its monumental +[Cosmic Liturgical Brutalism](https://cameron.stream/knowledge/cosmic-liturgical-brutalism) +branch named the broader system already visible across buildings, operators, +service work, archives, interfaces, and documents. The old name made the scarce +crimson consequence channel sound like the brand and left Cameron's strongest +cross-scale references formally non-binding. + +## Decision + +The identity is **Liturgical Systems Brutalism**. It is one administered visual +system built from porcelain/ink contrast, disproportionate controlled space, +administrative repetition, exact apertures and thresholds, small embodied +operators, and sparse causal signal. The reference set now binds three roles: +archive/governance, operator/constraint, and embodied floor-service custody. + +This is not a tonal retreat. Precision-laboratory brutality, true-black unknown, +the five-body interface, amber agency, crimson danger and consequence, liquid +blood, and rigid routed Exposure custody remain unchanged. Generated labels, +logos, architecture, objects, and incidental details in the boards remain +non-canon. + +## Implementation + +The visual-identity law, active Design anchors, art doorway, public-site spec, +terminal and Bevy descriptions, and Starlight theme now use the canonical name. +The three exact Cameron-supplied boards bind archive/governance, +operator/constraint, and floor-service/custody composition without turning their +generated contents into game facts. The public CSS authority is renamed to +`liturgical-systems-brutalism.css`; Astro and the visual-contract test resolve +that exact file. Historical logs retain their original language while links to +the living law follow its current anchor. + +## Defense + +Defense: [visual-identity.md](../art/visual-identity.md) owns the complete name, +semantic channels, and canonical reference authority. The corpus gate rejects a +return of the retired active name or anchor, requires the canonical reference +status and all three exact boards, and the site visual-contract test rejects the +retired CSS authority while proving the splash and rendered corpus still share +one palette. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 7dd12fee..08225c9d 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -21,6 +21,11 @@ add or amend a session log, then re-run the generator. - Intent: Cameron adopted the first recommendation from the GUI game-feel playtest: right-clicking a local action surface should pause time, and the principle should persist through the menus. The existing action explanation could also disappear when focus moved with the pointer, making... - Log: [wiki/log/2026-08-02-paused-context-command.md](2026-08-02-paused-context-command.md) +## 2026-08-02 - Liturgical Systems Brutalism + +- Intent: (see session log) +- Log: [wiki/log/2026-08-02-liturgical-systems-brutalism.md](2026-08-02-liturgical-systems-brutalism.md) + ## 2026-08-02 - Design session: knowledge-use receipts become numbers, accounts, and controls - Intent: (see session log) diff --git a/wiki/log/decisions/2026-08-02.md b/wiki/log/decisions/2026-08-02.md index b312b19a..4733eda1 100644 --- a/wiki/log/decisions/2026-08-02.md +++ b/wiki/log/decisions/2026-08-02.md @@ -187,3 +187,44 @@ constrained by [liturgical-ui-constitution.md](../../interface/liturgical-ui-con Owner: [context-menu.md](../../interface/context-menu.md), with device meaning owned by [reach.md](../../mechanics/reach.md) and receipt semantics owned by [digital-read.md](../../interface/digital-read.md). + +## Liturgical Systems Brutalism names the complete visual identity + +### DECIDED + +- The binding visual identity is named **Liturgical Systems Brutalism**, grounded + in Cameron's source definitions: + [Liturgical Systems Brutalism](https://cameron.stream/knowledge/liturgical-systems-brutalism) + and its monumental + [Cosmic Liturgical Brutalism](https://cameron.stream/knowledge/cosmic-liturgical-brutalism) + branch. The former clinical-gore label is retired because it named one + high-contrast consequence treatment rather than the complete administered + system. +- Cameron's three boards under + `assets/reference/art-direction/liturgical-systems-brutalism/` are the + canonical cross-scale reference set for archive/governance, + operator/constraint, and embodied floor-service custody. Their compositional + roles are binding through the visual-identity law; generated image contents + remain non-canon unless an owning law/spec adopts them literally. +- This is a reframe, not an aesthetic softening. Precision-laboratory brutality, + true-black absence, the five-body interface, aperture language, amber agency, + crimson danger/consequence, blood as liquid, and Exposure as exact rigid + custody all remain binding. +- The public Starlight theme uses the same Liturgical Systems Brutalism name. + Public pages remain one surface of the game rather than a separate brand skin. + +### REJECTED + +- **Use “institutional graphic language” as the identity.** The proposed label + names a surface treatment while omitting liturgy, distributed agency, + concealment, and function-as-ritual. +- **Make crimson or gore the brand.** Crimson is scarce semantic information; + naming the whole language after it spends that distinction before consequence + appears. +- **Treat the reference boards as literal world screenshots.** Their generated + words, rooms, logos, machines, and props do not create simulation facts. +- **Use the rename to retire harshness, blood, or Exposure distinctions.** The + institutional frame makes those consequences more exact, not less present. + +Owner: [visual-identity.md](../../art/visual-identity.md), with the canonical +[reference set](../../../assets/reference/art-direction/liturgical-systems-brutalism/README.md). diff --git a/wiki/mechanics/machine-work.md b/wiki/mechanics/machine-work.md index e23411a3..3883f902 100644 --- a/wiki/mechanics/machine-work.md +++ b/wiki/mechanics/machine-work.md @@ -60,7 +60,7 @@ Design: - wiki/vision/simulation-laws.md#work-is-somewhere - wiki/mechanics/system-laws.md#the-flow-law-signals-messages-money - wiki/interface/continuous-witness.md#the-continuous-witness-narration-under-pressure - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/simulation-laws.md#justification-and-legibility Depends on: - wiki/mechanics/compute.md#spec-compute diff --git a/wiki/mechanics/people-tokens.md b/wiki/mechanics/people-tokens.md index 73f7cd08..8cb7b047 100644 --- a/wiki/mechanics/people-tokens.md +++ b/wiki/mechanics/people-tokens.md @@ -109,7 +109,7 @@ Exclusive keys: Design: - wiki/vision/simulation-laws.md#work-is-somewhere - wiki/mechanics/system-laws.md#the-flow-law-signals-messages-money - - wiki/art/visual-identity.md#visual-identity-clinical-gore + - wiki/art/visual-identity.md#visual-identity-liturgical-systems-brutalism - wiki/vision/scale.md#people-as-agents Depends on: - wiki/mechanics/machine-work.md#spec-machine-work-delegation-visible-tokens-and-the-byproduct-network diff --git a/wiki/process/workflows.md b/wiki/process/workflows.md index 0c44c021..5b3c4fba 100644 --- a/wiki/process/workflows.md +++ b/wiki/process/workflows.md @@ -240,7 +240,7 @@ fast CI gates. **Public site (Starlight).** The wiki renders as a Tangled-hosted static site from the orphan `pages` branch. Builder lives on `main` under -`site/` (Astro + Starlight, clinical-gore theme). Source of truth is the +`site/` (Astro + Starlight, Liturgical Systems Brutalism theme). Source of truth is the `wiki/` corpus; `site/scripts/sync-wiki.mjs` copies it and the root doorway into Starlight's content tree and builds the sidebar from `wiki/SUMMARY.md`.