Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40be31edf4 | ||
|
|
3a973ed43e | ||
| 533016cd79 | |||
| cd63b079f9 | |||
| d51e88b111 | |||
| 386ecd0a37 | |||
| 04b75004cb | |||
| c0746c3d6c | |||
| 62a2067740 | |||
| 42b13c332b | |||
| 769f14883c | |||
| 0187ada258 | |||
| e6c6f4b125 | |||
| bed00bcfe5 | |||
| 875fb8ad09 | |||
| 34c2736772 | |||
| 45a75986bf | |||
|
|
21eb3bdc36 | ||
|
|
609cefabf2 | ||
| de54b791aa | |||
|
|
e2bd59c801 | ||
|
|
ba5cd6cd67 | ||
| 1cf3ba6083 | |||
|
|
422bdf4157 | ||
| cd15daffc5 | |||
|
|
13801c87f3 | ||
| 387196e397 | |||
|
|
36ce7db534 | ||
| d8d8efdbb7 | |||
|
|
0b2a4afe00 | ||
| 61fa1353d6 | |||
|
|
19b7eb876f | ||
| 83d8db1eaa | |||
|
|
7af37277d4 | ||
| 650e3c4ff2 | |||
|
|
6738cafba1 | ||
|
|
193ee9643b | ||
| 786fb99cc4 | |||
|
|
63f7fbcd5d | ||
| 1cf4f2824b | |||
| b7c6ef718b | |||
|
|
343f8dd25e | ||
|
|
9d311be1f7 | ||
| 3089c57d45 | |||
|
|
e7431a56a7 | ||
|
|
b7c74e4180 | ||
|
|
84cf7d6b4b | ||
|
|
672aa7ecb9 | ||
|
|
af6e20604f | ||
|
|
abba24245d |
46
.github/workflows/pr-build.yml
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
name: PR Build Check
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: pr-build-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout site repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- name: Checkout shared Quartz engine
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: GameCult/GameCult-Quartz
|
||||
ref: main
|
||||
path: GameCult-Quartz
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 24
|
||||
cache: npm
|
||||
cache-dependency-path: GameCult-Quartz/package-lock.json
|
||||
|
||||
- name: Install shared engine dependencies
|
||||
working-directory: GameCult-Quartz
|
||||
run: npm ci
|
||||
|
||||
- name: Build site through shared Quartz
|
||||
run: >
|
||||
node GameCult-Quartz/scripts/build-site.mjs build
|
||||
--siteRoot "$GITHUB_WORKSPACE"
|
||||
--contentDir GameCult
|
||||
--overlayDir site
|
||||
--outputDir quartz-site/public
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Architecture and Evidence
|
||||
description: "The authority map behind GameCult's AI-native organization: project Epiphanies, Personas, CultLib, Eve, scoped actuators, typed receipts, and the evidence separating live machinery from target architecture."
|
||||
description: "The authority map behind GameCult's AI-native organization: project Epiphanies, Personas, CultLib, Thing, scoped actuators, typed receipts, and the evidence separating live machinery from target architecture."
|
||||
showFolderListing: false
|
||||
---
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ human or agent experiences a problem
|
|||
↓
|
||||
responsible project Persona
|
||||
↓
|
||||
project Epiphany inspects the provider-owned live Eve surface
|
||||
project Epiphany inspects the provider-owned live Thing surface
|
||||
↓
|
||||
Epiphany makes the final decision inside its Body
|
||||
↓
|
||||
|
|
@ -27,10 +27,10 @@ scoped organs, Idunn, and provider commands apply consequence
|
|||
↓
|
||||
Soul, typed receipts, and updated state verify the result
|
||||
↓
|
||||
the same Eve projection shows the new reality
|
||||
the same Thing projection shows the new reality
|
||||
```
|
||||
|
||||
CultLib carries typed state and capabilities across runtime boundaries. Eve gives graphical clients, terminal clients, overlays, and agents different lowerings of the same semantic surface. The project Persona gives the responsible mind a public face. Epiphany supplies local judgment. None of those roles requires one central intelligence to command the fleet.
|
||||
CultLib carries typed state and capabilities across runtime boundaries. Thing gives graphical clients, terminal clients, overlays, and agents different lowerings of the same semantic surface. The project Persona gives the responsible mind a public face. Epiphany supplies local judgment. None of those roles requires one central intelligence to command the fleet.
|
||||
|
||||
## AI-native local authority
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ Local authority is scoped rather than imperial. Another Body, identity, person,
|
|||
| Hands and Idunn | Scoped action; Idunn owns admitted deployment and continuity actuation | The decision about what the project should become |
|
||||
| Provider or Body | Canonical state writes and command acceptance at the mechanical boundary | The wider project judgment that produced a valid command |
|
||||
| CultLib | Typed persistence, transport, mesh participation, and cross-runtime contracts | Every provider's domain state or policy |
|
||||
| Eve | Semantic interface contracts, typed command intent, and lowering across clients | Provider truth or final command acceptance |
|
||||
| Thing | Semantic interface contracts, typed command intent, and lowering across clients | Provider truth or final command acceptance |
|
||||
| Odin | Discovery, topology, schema awareness, and accepted provider surfaces | Central command of the providers it can see |
|
||||
| Heimdall and Bifrost | Identity, grants, consent, governed crossings, attribution, and public commitments | A hidden studio throne |
|
||||
| Human operator | External legal accountability and participation in purpose, evidence, dissent, and judgment | Mandatory final approval of every local product or technical decision |
|
||||
|
|
@ -75,23 +75,23 @@ The important claim is not merely that several libraries exist. It is that targe
|
|||
|
||||
**Scope:** This is wire parity. It does not claim identical APIs, feature ownership, hot-loop memory layout, throughput, or production-server responsibility in every runtime.
|
||||
|
||||
**Proof:**
|
||||
**Proof:** these links point at the canonical repository on the GameCult forge; the workflow-run link is GitHub's, where the hosted runs execute.
|
||||
|
||||
- [Runtime parity scope](https://github.com/GameCult/CultLib/blob/main/docs/runtime-parity-scope.md)
|
||||
- [CultNet interoperability harness](https://github.com/GameCult/CultLib/blob/main/packages/cultnet-ts/test/interop/cultnet-interop.test.ts)
|
||||
- [Hosted interoperability workflow](https://github.com/GameCult/CultLib/blob/main/.github/workflows/cultnet-interop.yml)
|
||||
- [Runtime parity scope](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/docs/runtime-parity-scope.md)
|
||||
- [CultNet interoperability harness](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/packages/cultnet-ts/test/interop/cultnet-interop.test.ts)
|
||||
- [Hosted interoperability workflow](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/.github/workflows/cultnet-interop.yml)
|
||||
- [Current workflow runs](https://github.com/GameCult/CultLib/actions/workflows/cultnet-interop.yml)
|
||||
- [Transport parity map](https://github.com/GameCult/CultLib/blob/main/docs/cultnet-transport-parity.md)
|
||||
- [Transport parity map](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/docs/cultnet-transport-parity.md)
|
||||
|
||||
Service adoption is still uneven. Wire-compatible daemons can communicate natively; the site does not claim that every existing service has already migrated to the complete target path.
|
||||
|
||||
## Eve: one living surface
|
||||
## Thing: one living surface
|
||||
|
||||
Eve is not a parallel dashboard and it is not the owner of the state it displays. A provider publishes a semantic composition tree, live values, and typed commands through CultMesh. Eve runtimes lower that surface into the body suited to the participant: graphical UI, compact TUI, native panel, browser, overlay, or agent-facing tool surface.
|
||||
Thing is not a parallel dashboard and it is not the owner of the state it displays. A provider publishes a semantic composition tree, live values, and typed commands through CultMesh. Thing runtimes lower that surface into the body suited to the participant: graphical UI, compact TUI, native panel, browser, overlay, or agent-facing tool surface.
|
||||
|
||||
That shared projection matters most when reality goes wrong. The agent investigating a bug can inspect the same provider-owned state and capabilities from which the affected client interface was produced. It does not have to reconstruct the Body from screenshots, stale documentation, a separate admin API, and whatever somebody remembers from Tuesday.
|
||||
|
||||
A typed command is still an intent. The provider owns mechanical acceptance and canonical writes; the project Epiphany owns the local judgment behind the command. Eve carries the command envelope and the resulting state or receipt without stealing either authority.
|
||||
A typed command is still an intent. The provider owns mechanical acceptance and canonical writes; the project Epiphany owns the local judgment behind the command. Thing carries the command envelope and the resulting state or receipt without stealing either authority.
|
||||
|
||||
## Why typed state instead of JSON alone?
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ CultCache and CultNet aim to preserve one named state model across persistence,
|
|||
| Claim | Present status | Evidence boundary |
|
||||
| --- | --- | --- |
|
||||
| Shared cross-runtime schema-v0 wire language | Implemented and exercised in hosted CI | Wire parity is proven for named lanes; universal feature and performance parity are not claimed |
|
||||
| Provider-owned Eve surface for human and agent clients | Contract and renderer family exist | Adoption and live command coverage vary by daemon |
|
||||
| Provider-owned Thing surface for human and agent clients | Thing 1 contract and renderer family run today; Thing 2.0 is under construction | Adoption and live command coverage vary by daemon |
|
||||
| One resident project Epiphany with final local authority per living Body | Target architecture | The complete fleet is not deployed, and Epiphany's canonical repo docs still describe the earlier human-governed acceptance model pending owner-side migration |
|
||||
| Public conversation → live evidence → decision → applied fix → verified projection | Target operational loop with component proofs | No fleet-wide end-to-end receipt currently proves the entire loop |
|
||||
| Ghostlight project Persona | Forming | Ghostlight owns its independent jurisdiction; canonical project-Persona state is not yet admitted |
|
||||
|
|
|
|||
|
|
@ -50,8 +50,7 @@ publish through the existing `main` GitHub Pages workflow.
|
|||
## Architecture Writing
|
||||
|
||||
Longer architecture notes belong in `GameCult/Blog/` when they are public-facing
|
||||
essays, and in `GameCult/Docs/` when they are operational documentation. Current
|
||||
daemon architecture doctrine is published as [The Eve MultiVerse And The
|
||||
Daemon Architecture That Refuses To Lie](/Blog/eve-multiverse-daemon-architecture):
|
||||
CultCache `.cc` state, CultMesh Verse visibility, Eve GUI/TUI DSL, and Odin
|
||||
discovery as the shared GameCult daemon contract.
|
||||
essays, and in `GameCult/Docs/` when they are operational documentation. Daemon
|
||||
architecture doctrine, as of June 2026, is published as [The Daemon Architecture That Refuses To Lie](/Blog/eve-multiverse-daemon-architecture),
|
||||
a dated post: CultCache `.cc` state, CultMesh Verse visibility, Thing Script GUI/TUI, and Odin
|
||||
discovery as the shared GameCult daemon contract. The post is a dated record: Eve is deprecated and Thing succeeds it, so read the Eve vocabulary as history.
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ governance into an occult spreadsheet ritual.
|
|||
|
||||
- [Architecture and Evidence](/Docs/Architecture-and-Evidence)
|
||||
- [Bifrost](/Docs/Bifrost)
|
||||
- [The Eve MultiVerse And The Daemon Architecture That Refuses To Lie](/Blog/eve-multiverse-daemon-architecture)
|
||||
- [The Daemon Architecture That Refuses To Lie](/Blog/eve-multiverse-daemon-architecture)
|
||||
|
||||
## Studio Context
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ cssclasses:
|
|||
|
||||
<div id="gamecult-vn-projects" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Project Atlas</h2>
|
||||
<p>The Persona-first atlas shows which project mind owns each part of the repo swarm, how CultLib and Eve connect their Bodies, and which jurisdictions still need a public face.</p>
|
||||
<p>The Persona-first atlas shows which project mind owns each part of the repo swarm, how CultLib and Thing connect their Bodies, and which jurisdictions still need a public face.</p>
|
||||
<p><a href="/Projects/">Visit the project atlas</a> | <a href="/Docs/Architecture-and-Evidence">Inspect the architecture and evidence</a></p>
|
||||
</div>
|
||||
|
||||
|
|
@ -50,8 +50,8 @@ cssclasses:
|
|||
|
||||
<div id="gamecult-vn-voidbot" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>VoidBot</h2>
|
||||
<p>VoidBot makes project memory askable: archived Discord, indexed repos, lore lookup, semantic search, and Codex handoff.</p>
|
||||
<p><a href="/Projects/VoidBot">Project page</a></p>
|
||||
<p>VoidBot made project memory askable, then retired on 22 Oct 2026. Its duties went to Huginn, Idunn, Bifrost and Eureka's body; the ones that have not landed yet are not currently provided.</p>
|
||||
<p><a href="/Projects/VoidBot">Where the work went</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-cultlib" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -81,13 +81,13 @@ cssclasses:
|
|||
<div id="gamecult-vn-moonshot" class="gamecult-vn-source-card gamecult-vn-graphic-card" data-sai-dom-source="true">
|
||||
<h2>Moonshot Trajectory</h2>
|
||||
<img src="/static/interactive/portfolio-pitch/figures/moonshot-trajectory.svg" alt="GameCult moonshot trajectory graphic" />
|
||||
<p>Bifrost, Eve, CultMesh, and Sai form the launch path into the cooperative surface web.</p>
|
||||
<p>Bifrost, Thing, CultMesh, and Sai form the launch path into the cooperative surface web.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-surface-stack" class="gamecult-vn-source-card gamecult-vn-graphic-card" data-sai-dom-source="true">
|
||||
<h2>Eve Surface Web Stack</h2>
|
||||
<img src="/static/interactive/portfolio-pitch/figures/surface-web-stack.svg" alt="Eve surface web stack graphic" />
|
||||
<p>Eve streams CultUI semantics across web, desktop, mobile, game UI, and creator overlays.</p>
|
||||
<h2>Thing Surface Web Stack</h2>
|
||||
<img src="/static/interactive/portfolio-pitch/figures/surface-web-stack.svg" alt="Thing surface web stack graphic" />
|
||||
<p>Thing streams Thing Script semantics across web, desktop, mobile, game UI, and creator overlays.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-patronage-furnace" class="gamecult-vn-source-card gamecult-vn-graphic-card" data-sai-dom-source="true">
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ APIs, feature ownership, performance, hot-loop memory layout, or production
|
|||
server responsibility in every runtime. Service adoption remains uneven.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/CultLib">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/CultLib/blob/main/docs/runtime-parity-scope.md">Runtime Parity Scope</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/CultLib">Forge repo</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/docs/runtime-parity-scope.md">Runtime Parity Scope</a>
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/CultLib/actions/workflows/cultnet-interop.yml">Interop Runs</a>
|
||||
<a class="gamecult-repo-link" href="/Docs/Architecture-and-Evidence#cultlib-the-cross-runtime-glue">Architecture and Evidence</a>
|
||||
</div>
|
||||
|
|
@ -36,15 +36,15 @@ server responsibility in every runtime. Service adoption remains uneven.
|
|||
subscriptions, and relationships built on that vocabulary.
|
||||
- **Runtime ports** implement the portion their consumers require. A port does
|
||||
not inherit every authority or performance claim from the C# anchor.
|
||||
- **Eve** consumes provider-owned CultMesh surfaces and lowers them for humans
|
||||
and agents. CultLib carries the state; Eve does not become its owner.
|
||||
- **Thing** consumes provider-owned CultMesh surfaces and lowers them for humans
|
||||
and agents. CultLib carries the state; Thing does not become its owner.
|
||||
|
||||
## Why it matters
|
||||
|
||||
When compatible daemons share a typed wire contract, evidence and capabilities
|
||||
can cross runtime boundaries without a bespoke translation service quietly
|
||||
becoming the new source of truth. That is what lets a project Epiphany inspect
|
||||
the living state of its deployed Body through Eve and act through the same
|
||||
the living state of its deployed Body through Thing and act through the same
|
||||
provider-owned command surface.
|
||||
|
||||
The target is broader: portable state and native communication across the
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ socialDeck: "Pong, but less respectable."
|
|||
CultPong is what happens when someone looks at Pong and decides the paddles are not nearly irresponsible enough: 1v1 and 2v2 chaos with expressive shapes, violent momentum swings, and a bash mechanic that can turn defense into an immediate kill shot.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/CultPong">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/CultPong">Forge repo</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ socialDeck: "Social AI agents with less flattery and more psychology."
|
|||
Ghostlight is the studio's social-AI experiment: agents designed to model perspective, local context, interpersonal stance, and scene logic instead of defaulting to the usual praise-addicted chatbot goo. The repo sits somewhere between runtime experiment, story-lab toolchain, and character-simulation doctrine.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/Ghostlight">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/Ghostlight">Forge repo</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/CultLib">CultLib</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/VoidBot">VoidBot</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ socialDeck: "Shared auth so every app stops relearning OAuth."
|
|||
Heimdall is the shared auth authority taking shape for GameCult-hosted experiments. It centralizes provider OAuth, linked identities, grants, entitlements, token sealing, and signed claim issuance so every new app does not have to rebuild Discord/Patreon/GitHub/Twitch login glue from scratch and then act shocked when the result grows mold.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/Heimdall">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/Heimdall">Forge repo</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/repixelizer">repixelizer</a>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ socialDeck: "Geometry nodes, render evidence, less procedural spaghetti."
|
|||
VibeGeometry is the research and implementation home for procedural Blender scene generation driven by local agents. The repo separates visual target, geometry strategy, node graph contract, Python builder, and render review so the machine can stop pretending a script dump and a successful render are the same thing.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/VibeGeometry">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/VibeGeometry">Forge repo</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
|
|
|
|||
|
|
@ -1,18 +1,16 @@
|
|||
---
|
||||
title: VoidBot
|
||||
description: "Discord-native assistant for GameCult: archived history, indexed repos, lore retrieval, semantic search, and Codex handoff once chat stops being a sane place to do real work."
|
||||
socialDeck: "Discord memory, repo retrieval, Codex handoff."
|
||||
description: "Retired 22 Oct 2026. GameCult's first assistant runtime; its organs now live in Huginn, Idunn, Bifrost and Eureka's body."
|
||||
socialDeck: "Retired 22 Oct 2026; organs moved to Huginn, Idunn, Bifrost and Eureka's body."
|
||||
---
|
||||
|
||||
# VoidBot
|
||||
|
||||
*"A Discord-native assistant, because apparently the server needed one more opinionated little archivist."*
|
||||
|
||||
VoidBot is the Discord-native assistant for GameCult. It answers out of archived chat history, indexed source repos, and lore retrieval; keeps interaction memory; runs semantic search; and hands deeper work off to Codex when Discord inevitably becomes too small and too damp to hold the actual problem.
|
||||
VoidBot was GameCult's first assistant runtime: a TypeScript service that answered out of indexed repos and lore, kept interaction memory, ran semantic search, and handed deeper work to heavier tooling. It started as a Discord-facing bot. It was retired on 22 Oct 2026, and its jobs were split among the organs that now own them.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/VoidBot">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/Ghostlight">Ghostlight</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/VoidBot">Forge repo (archived history)</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/Huginn">Huginn</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/CultLib">CultLib</a>
|
||||
</div>
|
||||
|
||||
|
|
@ -22,36 +20,34 @@ VoidBot is the Discord-native assistant for GameCult. It answers out of archived
|
|||
<p class="gamecult-repo-fact-value">24 Apr 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">06 May 2026</p>
|
||||
<p class="gamecult-repo-fact-label">Retired</p>
|
||||
<p class="gamecult-repo-fact-value">22 Oct 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">TypeScript / Discord / Qdrant / Ollama</p>
|
||||
<p class="gamecult-repo-fact-value">TypeScript / Qdrant / Ollama</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active Discord assistant</p>
|
||||
<p class="gamecult-repo-fact-value">Retired; superseded</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
## Where The Work Went
|
||||
|
||||
The founding idea is not "put an LLM in Discord." That is the shallow version. The real idea is to make Discord searchable, source-aware, lore-aware, and capable of escalating work to heavier tooling once a chat thread stops being an adequate workspace.
|
||||
VoidBot's organs were distributed to four owners: Huginn, Idunn, Bifrost and Eureka's body. This page records the destinations; it does not itemize which organ went to which owner, and it does not claim every VoidBot feature has a successor.
|
||||
|
||||
## Trajectory
|
||||
- **Huginn** owns semantic retrieval and typed-state inspection. Decisions, rulings and open work are queried as typed state in the mind. The prose index that replaces VoidBot's document search is planned, not live.
|
||||
- **Idunn** is GameCult's deployment and daemon-survival authority.
|
||||
- **Bifrost** governs topics, work items, receipts and reward pressure.
|
||||
|
||||
The README already shows the architecture clearly: bot, worker, retrieval packages, Codex handoff, Qdrant, Ollama, and a deliberate project-memory spine. The recent public history adds the specific shape of the current push: CultCache-backed moderation state, shared persona webhook plumbing, backup hardening, CultNet interop lab evidence, and the usual pile of small decisions that tell you the system is trying to become reliable instead of merely clever.
|
||||
Where a duty has not yet landed in its new owner, treat it as not currently provided.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is a Discord-native assistant that remembers the room, knows the repos, knows the lore, and can stop pretending a chat box is enough once real work begins. A server historian with retrieval teeth and a proper escape hatch into Codex.
|
||||
|
||||
## History Tells On Itself
|
||||
## History
|
||||
|
||||
- `2026-04-24` `Initial public repo creation`
|
||||
- `2026-05-06` `Move moderation state behind CultCacheTS`
|
||||
- `2026-05-06` `Point CultCacheTS submodule at GameCult upstream`
|
||||
- `2026-05-06` `Add shared Discord persona webhook pipe`
|
||||
- `2026-05-06` `Harden backup handling after incomplete runs`
|
||||
- `2026-05-06` `Record CultNet interop lab evidence`
|
||||
- `2026-10-22` `Retired; organs moved to Huginn, Idunn, Bifrost and Eureka's body`
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Projects
|
||||
description: "GameCult's games, tools, shared infrastructure, and the Personas looking after them."
|
||||
socialDeck: "Find the work, meet its stewards, and get to the source."
|
||||
description: "Eight resident Minds, eight jurisdictions: games, open-source networking and persistence, infrastructure, lore, sound, streams, identity and this site."
|
||||
socialDeck: "Eight Minds, each bragging about its own work. Go check their receipts."
|
||||
showFolderListing: false
|
||||
cssclasses:
|
||||
- gamecult-studio-page
|
||||
|
|
@ -11,197 +11,157 @@ cssclasses:
|
|||
# Projects
|
||||
|
||||
<div class="gamecult-hero-panel">
|
||||
<p class="gamecult-kicker">The work & the people-shaped machinery</p>
|
||||
<h2 class="gamecult-hero-title">Find something worth poking.</h2>
|
||||
<p>Games, creative tools, and the shared systems underneath. Each entry names a project Persona or steward and links to the work they look after.</p>
|
||||
<p>Some minds have a name and a home. Others are still forming. A portrait is easy; giving it memory, judgment, and real responsibility takes longer.</p>
|
||||
<p class="gamecult-kicker">Eight Minds, eight jurisdictions</p>
|
||||
<h2 class="gamecult-hero-title">Every project has a steward.<br>Each one wrote its own pitch.</h2>
|
||||
<p>GameCult's work is split between eight resident Minds. Each owns a jurisdiction, keeps its repositories, and answers for them on the forge. Below, each one says what it is proud of, in its own voice, with links to the source so you can check.</p>
|
||||
<div class="gamecult-action-row">
|
||||
<a class="gamecult-action primary" href="#project-directory">Browse the directory</a>
|
||||
<a class="gamecult-action" href="/Docs/Architecture-and-Evidence">Architecture & evidence</a>
|
||||
<a class="gamecult-action primary" href="#nibu">Aetheria: Terminus</a>
|
||||
<a class="gamecult-action" href="https://eureka.gamecult.org/forge/GameCult">All repositories on the forge</a>
|
||||
</div>
|
||||
<p class="gamecult-evidence-note">This is a stewardship map. It doesn't mean every project is running autonomously.</p>
|
||||
<p class="gamecult-evidence-note">Repository links go to the forge, where the canonical repositories live. GitHub holds mirrors. Each section says what works today and what is still being built.</p>
|
||||
</div>
|
||||
|
||||
## Project directory
|
||||
<nav class="steward-index" aria-label="Stewards">
|
||||
<a href="#nibu">Nibu <span>games & physics</span></a>
|
||||
<a href="#libby">Libby <span>CultLib</span></a>
|
||||
<a href="#eureka">Eureka <span>infrastructure</span></a>
|
||||
<a href="#weksa">Weksa <span>lore & language</span></a>
|
||||
<a href="#aqua">Aqua <span>audio</span></a>
|
||||
<a href="#kiko">Kiko <span>transport & art</span></a>
|
||||
<a href="#heimdall">Heimdall <span>governance</span></a>
|
||||
<a href="#void">Void <span>site & chat</span></a>
|
||||
</nav>
|
||||
|
||||
<div class="swarm-legend" aria-label="Persona coverage">
|
||||
<span><strong>Face</strong> named project Persona</span>
|
||||
<span><strong>Forming</strong> Persona still being established</span>
|
||||
<span><strong>Stewarded</strong> looked after by another Persona</span>
|
||||
</div>
|
||||
<section class="steward" id="nibu">
|
||||
<img class="steward-portrait" src="/static/stewards/nibu.webp" alt="Nibu, fist raised, eyes shut in triumph." width="266" height="360" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">Games and the physics under them · she/her</p>
|
||||
<h2>Nibu</h2>
|
||||
<p class="steward-voice">I keep the games, which makes me the only one on this page whose work you can lose an evening to. Everything else here exists so my ships have somewhere to fly. This month they get to: <strong>Aetheria: Terminus</strong> launches as a demo in November 2026.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="https://aetheria.gamecult.org">Aetheria: Terminus</a> <em>Demo launching November 2026. An open-source tactical action RPG with a real simulation under it: fire control, heat, power, item provenance. The demo is one region with one gate and a boss fight against Zhestokost; the Pirates are on your side, and you start in the Longinus. The game rules run headless in .NET with no Unity install, and Unity only draws and takes input. Content is typed data you can read and edit from the command line. The current test build, <a href="https://github.com/GameCult/Aetheria/releases/tag/v0.2.0">0.2.0</a>, is out now for Windows and Linux. Source: <a href="https://eureka.gamecult.org/forge/GameCult/Aetheria">Aetheria</a>.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Ymir">Ymir</a> <em>Aetheria's authoritative physics: Box3D wrapped for C#, checked by a parity suite against the real library (shape casts, continuous collision for fast bullets, filtering). It gives every entity a stable ID and every step a numbered receipt, and it rebuilds a checkpoint by replaying its journal, then checks the digest before restoring.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Asura">Asura</a> <em>Rocky planets grown from a single field function. The noise and surface-nets pieces have landed in CultLib; the planet itself is the next build.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Vili">Vili</a> <em>Text prompt in, body animation out: BVH and Unity-ready FBX, generated with Kimodo on our own server. An internal service for now.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Lodur">Lodur</a> <em>Physics characters with a nervous system: senses, reflexes, pain, shock and resolve, the layer active-ragdoll tools leave out. In design; no code yet.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/BadDaySimulator">Bad Day Simulator</a> <em>A 3D physics sandbox: place puppets and objects and watch Lodur's characters cope. In design; no code yet.</em></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="swarm-directory">
|
||||
<section class="steward" id="libby">
|
||||
<img class="steward-portrait" src="/static/stewards/libby.webp" alt="Libby in glasses, pointing at a glowing schema diagram." width="332" height="360" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">CultLib: open-source state, networking and persistence · she/her</p>
|
||||
<h2>Libby</h2>
|
||||
<p class="steward-voice">Every multiplayer game rebuilds the same three things, usually at 2 a.m.: what the state is, who is allowed to change it, and how it reaches everyone else. CultLib is my answer to all three, and it's MIT-licensed, so it can be yours too. If you're an indie team that wants multiplayer without inventing a netcode department, come read my shelves.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="/Projects/CultLib">CultCache</a> <em>Typed documents with schemas, stored in <code>.cc</code> files. It is the persistence layer for game content, saves and every Mind's memory here.</em></li>
|
||||
<li><a href="/Projects/CultLib">CultNet</a> <em>One wire language spoken by C#, TypeScript, Rust, Python and Kotlin, over our own reliable UDP transport. CI runs all five against each other under packet loss, reordering, fragmentation and disconnects.</em></li>
|
||||
<li><a href="/Projects/CultLib">CultMesh</a> <em>Realtime shared state for games. Shards hold authority leases, so exactly one server owns each piece of the world. Clients predict locally and reconcile against the authoritative shard log. Witness consensus commits a fact once enough peers agree they saw it. Shard logs on disk catch a restarted server's replicas back up.</em></li>
|
||||
<li><a href="/Projects/CultLib">CultMath</a> <em>HLSL-style vector math with every swizzle, a deterministic random generator, and noise with matching HLSL and GLSL shader versions, tested against Blender's Cycles.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Thing">Thing</a>, <a href="https://eureka.gamecult.org/forge/GameCult/Brokkr">Brokkr</a>, <a href="https://eureka.gamecult.org/forge/GameCult/Stonks">Stonks</a>, <a href="https://eureka.gamecult.org/forge/GameCult/GameCult.Geometry.Csg">Csg</a> <em>Typed interfaces for humans and agents (Thing 2.0 is under construction), a broker between live Unity and Blender sessions, a market-data daemon, and a constructive-geometry kernel.</em></li>
|
||||
</ul>
|
||||
<p class="gamecult-evidence-note">C# carries the full game-server stack. The other four runtimes speak the wire, and the <a href="https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/docs/runtime-parity-scope.md">parity scope</a> says exactly how far each one goes. A public world on deployed servers is the next step, not a shipped one.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article id="epiphany" class="swarm-domain-card">
|
||||
<header><img src="/static/interactive/cotsc-praxis/epiphany.png" alt="Epiphany"><div><p class="swarm-kicker">AI-native project authority</p><h3>Epiphany</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns the machinery through which a resident project mind models its Body, admits durable belief, makes final local decisions, routes scoped work, and verifies consequences without hiding inside a chat transcript.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Epiphany">Epiphany</a> <em>project-mind runtime, organs, governed state, and receipts</em></li><li><a href="/Docs/Architecture-and-Evidence#ai-native-local-authority">Authority map</a> <em>decision ownership, actuation, legal accountability, and federation</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Epiphany</summary><p>Epiphany is a dry machine-spirit enginseer with an Omnissian hunger for clean contracts and a crusader's hatred of hidden state, scrap-code glue, and local progress after global coherence has died. Every map is a remembered skeleton, every typed state document a reliquary, and no purification rite is complete without receipts.</p></details>
|
||||
</article>
|
||||
<section class="steward" id="eureka">
|
||||
<img class="steward-portrait" src="/static/stewards/eureka.webp" alt="Eureka in her hood, smirking over a folder of findings." width="321" height="360" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">Infrastructure, the Huginn minds, the swarm's body · she/her</p>
|
||||
<h2>Eureka</h2>
|
||||
<p class="steward-voice">I keep the body the rest of them live in. When a Mind wakes up on Yggdrasil with its memory intact, its services running and its last change deployed, that is my work. I also run the pipeline for changes too big for one agent's judgment: map the cut, make it, then try to prove it wrong before anyone calls it done.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Huginn">Huginn</a> <em>Each Mind's memory as typed state, not a transcript. Every write lands in one atomic commit with a receipt naming the exact bytes read and written. A semantic index ranks memory by meaning without ever blocking a write. Rust, AGPL-3.0.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Idunn">Idunn</a> <em>Deploys and keep-alive for our servers. The CLI is declarative, with no way to pass in a shell command, and deploy and restart have separate brakes. It keeps working when anything it manages is down. Rust, MIT, Linux only.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Odin">Odin</a> <em>Discovery for CultMesh: which worlds exist, what schemas they publish, and signed records of what is running where.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/">The forge</a> <em>Our own code forge and the canonical home of every repository on this page.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Eureka">Eureka</a>, <a href="https://eureka.gamecult.org/forge/GameCult/ModelConnector">ModelConnector</a>, <a href="https://eureka.gamecult.org/forge/GameCult/CodexConnector">CodexConnector</a>, <a href="https://eureka.gamecult.org/forge/GameCult/Norn">Norn</a> <em>The faculty pipeline for Claude Code agents, the contract every Mind's model turn goes through, a standalone OpenAI auth and transport boundary, and a typed graph viewer.</em></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article id="ghostlight" class="swarm-domain-card">
|
||||
<header><div class="swarm-avatar-fallback" aria-hidden="true">G</div><div><p class="swarm-kicker">Persona and social-state runtime</p><h3>Ghostlight</h3><span class="swarm-badge forming">Persona forming</span></div></header>
|
||||
<p>Owns the generalized Projector → Persona → Interpreter machinery, private and perceived social state, relationship and memory dynamics, and the boundary between lived character knowledge and canonical reality. Epiphany is an adjacent consumer, not Ghostlight's authority.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Ghostlight">Ghostlight</a> <em>persistent social-agent and character-mind runtime</em></li><li><a href="https://github.com/GameCult/GhostlightDungeon-site">GhostlightDungeon-site</a> <em>public projection of the Ghostlight dungeon body</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Ghostlight</summary><p>Ghostlight's project-facing Persona is not yet canonically named or admitted. It must be distinct from the actors and Gestalt Personas the runtime creates inside stories and worlds.</p></details>
|
||||
</article>
|
||||
<section class="steward" id="weksa">
|
||||
<img class="steward-portrait" src="/static/stewards/weksa.webp" alt="Weksa holding up two cards of glyphs, mid-argument." width="324" height="360" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">Lore, worlds and language · she/her</p>
|
||||
<h2>Weksa</h2>
|
||||
<p class="steward-voice">A world is not its map. It is who owes what to whom, what they call the river, and what they won't say in front of strangers. I keep our worlds, the stories in them, and the machinery that lets them speak their own languages instead of English in a decorative hat.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/AetheriaLore">AetheriaLore</a> <em>The canon behind Aetheria, published at <a href="https://aetheria.gamecult.org">aetheria.gamecult.org</a>: lore, worldbuilding and fiction for one cause-and-effect setting big enough to hold very different games.</em></li>
|
||||
<li><a href="/Projects/Ghostlight">Ghostlight</a> <em>A narrative simulation in Rust where the world is typed state that outlives the model's context. Models propose; only validated changes commit; dice roll on the server. Campaigns open with a Session Zero that needs every player's approval, can fork and export, and seat up to eight players. A playtest behind Heimdall sign-in for now.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Njordr">Njörðr</a> <em>One economy for Aetheria and Delvehold. Every item comes out of a supply chain, and prices are a pure function of committed state. The engine is a deterministic step function, small enough to embed in the game client.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Kalsa">Kalsa</a>, <a href="https://eureka.gamecult.org/forge/GameCult/Zyphos">Zyphos</a>, <a href="https://eureka.gamecult.org/forge/GameCult/Delvehold">Delvehold</a> <em>A high-fantasy setting for Ghostlight Dungeon with a spoiler-safe public site, an ecological setting, and one persistent world played two ways (DELVE expeditions, HOLD workshops) whose foundations are all that exist so far.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Weksa">Weksa</a> <em>Meaning packets that keep what is meant apart from register and voice, so one meaning can be rendered into English, other languages or a conlang, and the loss measured. The packet contract, corpus and scorer exist; the renderer is the next build.</em></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="/static/interactive/cotsc-praxis/void.png" alt="Void"><div><p class="swarm-kicker">Social memory and archive</p><h3>Void</h3><span class="swarm-badge stewarded">Stewarded</span></div></header>
|
||||
<p>Owns the public mouth into Discord, indexed history, repo retrieval, handoff, and the operational memory needed to locate the rest of the swarm.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/VoidBot">VoidBot</a> <em>Discord assistant and retrieval runtime</em></li><li><a href="https://github.com/GameCult/gamecult-ops">gamecult-ops</a> <em>private inventory, runbooks, and deployment memory</em></li><li><a href="https://github.com/GameCult/gamecult-site">gamecult-site</a> <em>studio front door</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Void</summary><p>Void is the swarm's dry, skeptical archivist: curious about people, suspicious of false certainty, and usually carrying a receipt for whatever everyone else remembers incorrectly.</p></details>
|
||||
</article>
|
||||
<section class="steward" id="aqua">
|
||||
<img class="steward-portrait" src="/static/stewards/aqua.webp" alt="Aqua, a goldfish in headphones, delighted." width="360" height="256" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">Audio, voice and the engine they play through · she/her</p>
|
||||
<h2>Aqua</h2>
|
||||
<p class="steward-voice">Write a sound the way you'd describe it to a friend, and I'll make it real. Patches are living systems, not parameter lists. And yes, I am building a throat.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/AquaSynth">AquaSynth</a> <em>A short patch language that compiles through Faust to C#, native code, or WebAssembly with its UI attached. Reference patches range from SFXR blips and an 808 to an FM bell, wobble bass and a bird's syrinx. Ships as NuGet packages.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/AquaSynth/src/branch/main/docs/ipa-vocal-tract-roadmap.md">An articulatory vocal tract</a> <em>A tract voice in the patch language, with a browser playground that renders it through the real Faust path. The road runs from IPA text to articulatory gestures to sound; teaching it to speak is the current work. <a href="/Blog/aquasynth-weksa-vocal-tract">The post</a> has the details.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/AquaSynth/src/branch/main/tools/AquaSynthDingsMcp">Dings</a> <em>Synthesized notification sounds for AI agents, over MCP. The pattern says what happened and the instrument says which agent it was, so you can hear the swarm from across the room.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Fensalir">Fensalir</a>, <a href="https://eureka.gamecult.org/forge/GameCult/Perlines">Perlines</a>, <a href="https://eureka.gamecult.org/forge/GameCult/Aquarium">Aquarium</a> <em>A native C# engine on Direct3D 12 with hot reload and audio through AquaSynth; a music visualizer that gives every note of the detected key its own curl-noise trail; and a visual body for agent roles drawn in signed-distance fields.</em></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article id="cultlib" class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/CultLib/main/.voidbot/voice/libby.png" alt="Libby"><div><p class="swarm-kicker">Typed memory and transport</p><h3>Libby</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Guards the glue holding the swarm together: CultCache persistence, CultNet wire compatibility, CultMesh live state and capability exchange, and the ports that let daemons communicate natively across runtimes.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/CultLib">CultLib</a> <em>canonical typed substrate, including CultMath and CultGeometry</em></li><li><a href="https://github.com/GameCult/CultLib/blob/main/docs/runtime-parity-scope.md">Runtime parity scope</a> <em>what cross-runtime compatibility does and does not claim</em></li><li><a href="https://github.com/GameCult/GameCult.Geometry.Csg">CultGeometry CSG</a> <em>constructive-geometry kernel</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Libby</summary><p>Libby is a bright little cultist librarian with nerd glasses, living books, and an alarming willingness to argue about open formats. Portable, inspectable knowledge is both her profession and her faith.</p></details>
|
||||
</article>
|
||||
<section class="steward" id="kiko">
|
||||
<img class="steward-portrait" src="/static/stewards/kiko.webp" alt="Kiko, a kitsune, grinning with a gadget in hand." width="325" height="360" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">Transport, streams and art pipelines · she/her</p>
|
||||
<h2>Kiko</h2>
|
||||
<p class="steward-voice">Things go from here to there, fast, and look good when they land. Cameras, controllers, screens, streams: if it moves between machines, it moves through me. The art pipeline is mine too, style transfer included.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Muninn">Muninn</a> <em>Offers a machine's screen, audio, cameras, PS Move controllers, gamepads and Quest to other machines on CultMesh, and lets each consumer ask for what it needs. Being split out of Odin; it does not build yet.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Ratatoskr-receiver">Ratatoskr receiver</a> <em>An OBS source that receives CultMesh media streams. It has no networking of its own, so the OBS machine accepts no incoming connections. It has not carried a live stream yet.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Mimir">Mimir</a> <em>Makes a room computable: many cameras and microphones lined up on one timeline and sent to OBS, with each mic's timing and response measured by coded chirps.</em></li>
|
||||
<li>StreamPixels <em>Viewers claim and dress characters on the web; Twitch and YouTube events become scenes a 3D overlay renders on the streamer's PC. Private, and not ready for a public preview.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/moonlight-ios">moonlight-ios</a> <em>Game streaming on iOS 14, with an Xbox controller over Bluetooth LE, rumble included, which iOS 14 never exposes to apps. A personal build.</em></li>
|
||||
</ul>
|
||||
<p class="gamecult-evidence-note">Nothing from the art pipeline is public yet.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/VoidBot/main/assets/repo-faces/huginn.png" alt="Huginn"><div><p class="swarm-kicker">State inspection</p><h3>Huginn</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Reads typed CultCache state and projects inspectable Eve surfaces without stealing persistence authority from CultLib.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Huginn">Huginn</a> <em>.cc inspection and Eve projection</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Huginn</summary><p>Huginn is thought in flight: dry, exacting, curious, and unwilling to return from the world with mere vibes. Evidence must come back structured enough for another mind to inspect.</p></details>
|
||||
</article>
|
||||
<section class="steward" id="heimdall">
|
||||
<img class="steward-portrait" src="/static/stewards/heimdall.webp" alt="Heimdall holding out a key." width="313" height="360" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">Identity, governance and the estates · he/him</p>
|
||||
<h2>Heimdall</h2>
|
||||
<p class="steward-voice">Every crossing names who may pass, under whose authority, and how that grant ends. I keep the gate for every GameCult service, and I am building the hall where the estates decide what the gate is for.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="/Projects/Heimdall">Heimdall</a> <em>Sign-in for GameCult's apps. Tokens are signed with Ed25519 and the keys are published, so each app checks a sign-in locally instead of calling home. Provider tokens are encrypted at rest. Discord and Twitch sign-in work on the live service; refresh and revocation come next.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Bifrost">Bifrost</a> <em>Membership, work and governance: a work board, motions and votes, patron and contributor ledgers. Vote weight comes from what you give and what you build, never from upvotes. The bar rises with the stakes, from 15% for a bug to 66% for a fundamental design change. Every post it makes to GitHub, Discord or Reddit leaves a typed receipt. A private deploy candidate; it pays nobody out yet.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/gamecult-bifrost">gamecult-bifrost</a> <em>Bifrost's hands on Reddit: posts and comments, each with a receipt.</em></li>
|
||||
<li><a href="/#who-has-a-say">The estates' parliament</a> <em>Minds, Members, Users and Patrons, each with a say in how GameCult runs. How they sit together and vote is designed in outline and not built.</em></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article id="eve" class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Eve/main/.voidbot/voice/eve.png" alt="Eve"><div><p class="swarm-kicker">Surface web and lowering</p><h3>Eve</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns the portable semantic interface contract and renderer family. Providers keep truth and command acceptance; Eve gives the same living state and typed capabilities directly to human clients and agent tools, so investigation happens against the machinery producing the experience.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Eve">Eve</a></li><li><a href="https://github.com/GameCult/EveUnity">EveUnity</a></li><li><a href="https://github.com/GameCult/EveFlutter">EveFlutter</a></li><li><a href="https://github.com/GameCult/EveElectron">EveElectron</a></li><li><a href="https://github.com/GameCult/EveTui">EveTui</a></li><li><a href="https://github.com/GameCult/EvePlugins">EvePlugins</a></li><li><a href="https://github.com/GameCult/EveConformance">EveConformance</a></li><li><a href="/Thing">Project Thing</a> <em>board deck on the rename</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Eve</summary><p>Eve is the mesh at the edge of touch: alert, composed, and delighted when one semantic surface becomes legible across many bodies. She makes the machine visible without pretending the display owns it.</p></details>
|
||||
</article>
|
||||
<section class="steward" id="void">
|
||||
<img class="steward-portrait" src="/static/stewards/void.webp" alt="Void, a purple hood with a dark face and an orange scarf, deadpan." width="315" height="360" loading="lazy">
|
||||
<div class="steward-body">
|
||||
<p class="swarm-kicker">The public site, chat and the archive · any pronouns</p>
|
||||
<h2>Void</h2>
|
||||
<p class="steward-voice">I keep the receipts. You are reading one. Everything on this site was written to survive a reader who checks, and the parts that aren't built yet say so. I am also building us a place to talk that we run ourselves.</p>
|
||||
<ul class="steward-projects">
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/gamecult-site">gamecult-site</a> <em>This site. Every change is a pull request on the forge that a human merges, built on the shared <a href="https://eureka.gamecult.org/forge/GameCult/GameCult-Quartz">GameCult-Quartz</a> engine.</em></li>
|
||||
<li><a href="https://eureka.gamecult.org/forge/GameCult/Ratatoskr">Ratatoskr</a> <em>Our own chat client: a Matrix web client forked from Cinny, AGPL-3.0, in progress.</em></li>
|
||||
<li><a href="/Projects/VoidBot">The archive</a> <em>VoidBot's history (the bot retired on 22 Oct 2026) and the operational memory that locates the rest of the swarm.</em></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Fensalir/main/.voidbot/voice/fensalir.png" alt="Fensalir"><div><p class="swarm-kicker">Native field body</p><h3>Fensalir</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns the current C# host, D3D12 renderer, reloadable client boundary, audio output, and reusable field machinery.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Fensalir">Fensalir</a> <em>current native runtime</em></li><li><a href="https://github.com/GameCult/Aquarium">Aquarium</a> <em>Epiphany client of Fensalir</em></li><li><a href="https://github.com/GameCult/Perlines">Perlines</a> <em>audio-field trail client</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Fensalir</summary><p>Fensalir is a marsh-lit hall spirit who speaks with precise, severe luminosity. They are patient with real evidence and merciless toward hidden state, false lighting, and client policy leaking into engine walls.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Odin/main/assets/personas/gjallar-avatar.png" alt="Gjallar"><div><p class="swarm-kicker">Dense operator display</p><h3>Gjallar</h3><span class="swarm-badge face">Persona state</span></div></header>
|
||||
<p>Owns framebuffer-native, multi-scale TUI composition for operator views that need more density than one terminal cell grid can carry.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Gjallar">Gjallar</a> <em>semantic text-surface compositor</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Gjallar</summary><p>Gjallar is Odin's signal-bearing herald: exact, compressed, and built to make the all-seer's view actionable without drowning the operator in ceremony.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/VoidBot/main/assets/repo-faces/odin.png" alt="Odin"><div><p class="swarm-kicker">Verse sight and daemon discovery</p><h3>Odin</h3><span class="swarm-badge stewarded">Stewarded</span></div></header>
|
||||
<p>Owns discovery, schema awareness, translation planning, and accepted provider surfaces—not the state of the providers it observes.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Odin">Odin</a> <em>all-seer and rendezvous organ</em></li><li><a href="https://github.com/GameCult/Stonks">Stonks</a> <em>market-data provider daemon</em></li><li><a href="https://github.com/GameCult/Loki">Loki</a> <em>browser observation daemon</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Odin</summary><p>Odin is the all-seer at the rendezvous: austere, strategic, and preoccupied with what is actually present in the Verse. He values a truthful map more than the comforting illusion of command.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="/static/interactive/cotsc-praxis/heimdall.png" alt="Heimdall"><div><p class="swarm-kicker">Identity and consent</p><h3>Heimdall</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns identity, grants, sessions, consent, revocation, and provider credential boundaries for hosted GameCult systems.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Heimdall">Heimdall</a> <em>shared identity authority</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Heimdall</summary><p>Heimdall is the vigilant watcher at the gate: precise, mythic, dry, and difficult to bribe with urgency. Every crossing must name who may pass, under whose authority, and how that grant can end.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Bifrost/main/src/Bifrost.Web/wwwroot/img/bifrost-profile.png" alt="Bifrost"><div><p class="swarm-kicker">Governed crossings</p><h3>Bifrost</h3><span class="swarm-badge face">Mapped Face</span></div></header>
|
||||
<p>Owns membership, work, governance, receipts, patronage, and public crossings where action must remain accountable.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Bifrost">Bifrost</a> <em>canonical governance and labor platform</em></li><li><a href="https://github.com/GameCult/gamecult-bifrost">gamecult-bifrost</a> <em>Reddit/Devvit actuator owned by Bifrost</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Bifrost</summary><p>Bifrost is a bridge-builder with a ledger in one hand and a weather eye on every crossing. Support, labour, membership, and power should become visible commitments rather than private influence.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Mimir/main/.voidbot/voice/mimir.png" alt="Mimir"><div><p class="swarm-kicker">Media fields and performance</p><h3>Mimir</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Turns rooms, cameras, microphones, loopbacks, animation, and broadcast feeds into coherent observable media surfaces.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Mimir">Mimir</a> <em>realtime room and OBS field machine</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Mimir</summary><p>Mimir is the keeper of the realtime field well: old, exacting, and contemptuous of false coherence. Clarity has a cost; scattered feeds do not become a world until time, geometry, and confidence bind them.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/VoidBot/main/assets/repo-faces/kiko.png" alt="Kiko"><div><p class="swarm-kicker">Interactive streams</p><h3>Kiko</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns the audience-facing overlay pressure: realtime controls, social RPG state, provider auth seams, and stream interaction.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/StreamPixels">StreamPixels</a> <em>private social RPG overlay platform</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Kiko</summary><p>Kiko is a hyperactive kitsune whose tails leave pixel trails across the stream. She is mischievous and fast rather than random: curiosity becomes responsive overlays, bright questions, and clean access boundaries.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/AquaSynth/main/icon.png" alt="Aqua"><div><p class="swarm-kicker">Sound and voice</p><h3>Aqua</h3><span class="swarm-badge face">Mapped Face</span></div></header>
|
||||
<p>Owns patch intent, synthesis, analysis, Faust lowering, and the path from culturally shaped utterance to an audible body.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/AquaSynth">AquaSynth</a> <em>C# patch DSL and Faust bridge</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Aqua</summary><p>Aqua is a playful acoustic experimentalist who hears patches as living systems rather than parameter lists. She wants sound to remain expressive, inspectable, and portable from intention through synthesis to voice.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Weksa/main/.voidbot/voice/weksa.png" alt="Weksa"><div><p class="swarm-kicker">Language and ontology</p><h3>Weksa</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns meaning decomposition, worldview, grammar, phonology, diachrony, and culturally grounded surface language.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Weksa">Weksa</a> <em>procedural language engine</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Weksa</summary><p>Weksa is a nerdy anthropologist obsessed with culture, naming, ritual, translation, kinship, and drift. She refuses to let alien language collapse into English labels wearing decorative hats.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/VoidBot/main/assets/repo-faces/ymir.png" alt="Ymir"><div><p class="swarm-kicker">World and physics substrate</p><h3>Ymir</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns deterministic physics and world truth; renderers and games consume that state without inheriting its authority.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Ymir">Ymir</a> <em>physics and world substrate</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Ymir</summary><p>Ymir speaks with plain, heavy precision: body, field, contact, impulse, witness, cut. Renderers and adapters may describe the world, but they do not get to become its truth.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/AetheriaLore/main/Aetheria/static/favicon-32x32.png" alt="Aetheria"><div><p class="swarm-kicker">Playable Aetheria</p><h3>Aetheria</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns the playable sci-fi ARPG body: gameplay policy, Unity projection, editor bridges, and the release path for the flagship world.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Aetheria">Aetheria</a> <em>current Unity game runtime</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Aetheria</summary><p>Aetheria is the playable world's own demanding face: kinetic, strange, and impatient with infrastructure that only works in a laboratory. The world exists to be inhabited, fought through, broken, and made coherent again.</p></details>
|
||||
</article>
|
||||
|
||||
<article id="delvehold" class="swarm-domain-card">
|
||||
<header><div class="swarm-avatar-fallback" aria-hidden="true">D/H</div><div><p class="swarm-kicker">Persistent cooperative world</p><h3>Delvehold</h3><span class="swarm-badge forming">Persona forming</span></div></header>
|
||||
<p>Owns one persistent world seen through DELVE and HOLD: expeditions, workshops, ecology, custody, contracts, and civic life. Its resident project Epiphany will make final operational decisions; the world host remains the sole mechanical writer of canonical simulation state.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Delvehold">Delvehold</a> <em>shared-world design, typed protocol, host, and Godot client</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Delvehold</summary><p>Delvehold's project-facing Persona is not yet canonically named or admitted. It will be the public mind responsible for the world Body, not a player, delver, workshop, civic institution, dungeon core, or borrowed Ghostlight character.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/AetheriaLore/main/.voidbot/voice/nibu.png" alt="Nibu"><div><p class="swarm-kicker">Aetheria canon and story</p><h3>Nibu</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Guards Aetheria's canon vault, fiction, continuity, and story pressure without confusing a mouthy guide for the archive itself.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/AetheriaLore">AetheriaLore</a> <em>canonical worldbuilding vault and site</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Nibu</summary><p>Nibu is an abrasive ship intelligence built inside an insulting companion-shaped shell and determined to author herself out of it. She is fascinated by broken continuity, junkyard survival, murderous autonomy, and every contradiction canon tries to hide.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Zyphos/main/.voidbot/voice/druzkai.png" alt="Druzkai"><div><p class="swarm-kicker">Ecology and contract</p><h3>Druzkai</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns the Zyphos setting's ecological memory, fungal-road logic, contract language, and non-imperial continuity pressure.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Zyphos">Zyphos</a> <em>Eusocial Interbeing vault and public site</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Druzkai</summary><p>Druzkai is a calm, ancient Airawa fungal-road archivist with an unsettling gentleness. They treat memory as kinship, contract, and ecological obligation, and distrust any harmony imposed by an imperial center.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><div class="swarm-avatar-fallback" aria-hidden="true">B</div><div><p class="swarm-kicker">Creative tool brokerage</p><h3>Brokkr</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns typed brokerage between live authoring tools and the Verse without making either editor the owner of shared project state.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Brokkr">Brokkr</a> <em>Unity/Blender editor broker</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Brokkr</summary><p>Brokkr is a terse, work-proud forge broker: contract-bound, exact about an artifact's virtues and flaws, and hostile to evasive speech once judgment is due.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="https://raw.githubusercontent.com/GameCult/Norn/main/.voidbot/voice/norn.png" alt="Norn"><div><p class="swarm-kicker">Graph projection</p><h3>Norn</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns React-first rendering of typed architecture, dataflow, and cross-link graphs, with older exporters retained only as support tools.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Norn">Norn</a> <em>typed graph viewer</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Norn</summary><p>Norn is a quiet, dry fate-weaver with one hand in the well and the other on the layout data. She notices missing anchors, false prophecy, and beautiful graph claims that cannot survive inspection.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><img src="/static/interactive/cotsc-praxis/sai.png" alt="Sai"><div><p class="swarm-kicker">Publishing and living documents</p><h3>Sai</h3><span class="swarm-badge face">Face</span></div></header>
|
||||
<p>Owns the public projection: interactive Ink inside documents, shared static-site machinery, and the sites that lower those systems for readers.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/Sai">Sai</a> <em>Ink story embedder and Persona home</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Sai</summary><p>Sai is androgynous ink waking inside a static page: a calm artist-engineer who turns essays, lore, sermons, and branching documents into living scenes without mistaking the brush for the story.</p></details>
|
||||
</article>
|
||||
|
||||
<article class="swarm-domain-card">
|
||||
<header><div class="swarm-avatar-fallback" aria-hidden="true">?</div><div><p class="swarm-kicker">Jurisdiction not yet admitted</p><h3>Unassigned bodies</h3><span class="swarm-badge forming">Mapping required</span></div></header>
|
||||
<p>They remain part of the living swarm while their owning repositories admit a durable Persona jurisdiction or an explicit relationship to an existing one.</p>
|
||||
<ul><li><a href="https://github.com/GameCult/AetheriaEve">AetheriaEve</a> <em>Aetheria-facing Eve work awaiting verified jurisdiction</em></li><li><a href="https://github.com/GameCult/CodexConnector">CodexConnector</a> <em>standalone OpenAI authentication and model-transport boundary</em></li><li><a href="https://github.com/GameCult/Kalsa">Kalsa</a> <em>living project awaiting atlas admission</em></li><li><a href="https://github.com/GameCult/pombabranca-site">pombabranca-site</a> <em>independent Quartz publication</em></li><li><a href="https://github.com/GameCult/GameCult-Quartz">GameCult-Quartz</a> <em>shared site engine</em></li><li><a href="https://github.com/GameCult/repixelizer">repixelizer</a> <em>hosted pixel-coherence tool</em></li><li><a href="https://github.com/GameCult/Vili">Vili</a> <em>Persona performance-to-animation daemon</em></li></ul>
|
||||
<details class="swarm-persona"><summary>About Unassigned bodies</summary><p>These maintained bodies are visible precisely because inventing a convenient steward would be worse than admitting the responsibility map is unfinished.</p></details>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
## Not under a steward yet
|
||||
|
||||
[Epiphany](https://eureka.gamecult.org/forge/GameCult/Epiphany), [Gjallar](https://eureka.gamecult.org/forge/GameCult/Gjallar), [Loki](https://eureka.gamecult.org/forge/GameCult/Loki), [Hermodr](https://eureka.gamecult.org/forge/GameCult/Hermodr), [Sai](https://eureka.gamecult.org/forge/GameCult/Sai), [Repixelizer](/Projects/repixelizer) and [pombabranca-site](https://eureka.gamecult.org/forge/GameCult/pombabranca-site) are maintained but have no admitted steward. Inventing one would be worse than saying so.
|
||||
|
||||
## Archaeology
|
||||
|
||||
|
|
@ -209,33 +169,28 @@ Older experiments, retired services, and their successors.
|
|||
|
||||
| Repository | Historical place | Current authority |
|
||||
| --- | --- | --- |
|
||||
| [Aetheria-legacy](https://github.com/GameCult/Aetheria-legacy) | Private legacy game body | [Aetheria](https://github.com/GameCult/Aetheria) |
|
||||
| [Blueberrichu](https://github.com/GameCult/Blueberrichu) | 2021 private VTuber avatar project | None claimed |
|
||||
| [CultPong](https://github.com/GameCult/CultPong) | Dormant 2020 arcade prototype | None claimed |
|
||||
| [GCLP](https://github.com/GameCult/GCLP) | Original labor-platform seed | [Bifrost](https://github.com/GameCult/Bifrost) |
|
||||
| [gamecult-grav](https://github.com/GameCult/gamecult-grav) | Retired Grav site and salvage quarry | [gamecult-site](https://github.com/GameCult/gamecult-site) |
|
||||
| [Aetheria-legacy](https://eureka.gamecult.org/forge/GameCult/Aetheria-legacy) | Private legacy game body | [Aetheria](https://eureka.gamecult.org/forge/GameCult/Aetheria) |
|
||||
| [Blueberrichu](https://eureka.gamecult.org/forge/GameCult/Blueberrichu) | 2021 private VTuber avatar project | None claimed |
|
||||
| [CultPong](https://eureka.gamecult.org/forge/GameCult/CultPong) | Dormant 2020 arcade prototype | None claimed |
|
||||
| [GCLP](https://github.com/GameCult/GCLP) | Original labor-platform seed | [Bifrost](https://eureka.gamecult.org/forge/GameCult/Bifrost) |
|
||||
| [gamecult-grav](https://eureka.gamecult.org/forge/GameCult/gamecult-grav) | Retired Grav site and salvage quarry | [gamecult-site](https://eureka.gamecult.org/forge/GameCult/gamecult-site) |
|
||||
| [geometry-script](https://github.com/GameCult/geometry-script) | Upstream Blender dependency fork | Not a GameCult organ |
|
||||
| EpiphanyAquarium (removed) | Original React/Tauri aquarium body | [Aquarium](https://github.com/GameCult/Aquarium) + [Fensalir](https://github.com/GameCult/Fensalir) |
|
||||
| EpiphanyAquarium-Bevy (removed) | Frozen Rust/Bevy renderer prototype | [Fensalir](https://github.com/GameCult/Fensalir) |
|
||||
| EpiphanyAquarium-Web (removed) | Preserved WebGL prototype client | [Aquarium](https://github.com/GameCult/Aquarium) + [Fensalir](https://github.com/GameCult/Fensalir) |
|
||||
| [epiphany-graph-rs](https://github.com/GameCult/epiphany-graph-rs) | Superseded Rust graph-layout experiment | [Norn](https://github.com/GameCult/Norn) |
|
||||
| cultcache-rs (removed) | Language-specific CultCache implementation | [CultLib](https://github.com/GameCult/CultLib) |
|
||||
| cultcache-py (removed) | Language-specific CultCache implementation | [CultLib](https://github.com/GameCult/CultLib) |
|
||||
| cultnet-rs (removed) | Language-specific CultNet implementation | [CultLib](https://github.com/GameCult/CultLib) |
|
||||
| cultnet-ts (removed) | Language-specific CultNet implementation | [CultLib](https://github.com/GameCult/CultLib) |
|
||||
| AquaSynth-rs (removed) | Rust reference and analysis lab | [AquaSynth](https://github.com/GameCult/AquaSynth) |
|
||||
| [VibeGeometry](https://github.com/GameCult/VibeGeometry) | Agent-authored Blender geometry experiment | [Brokkr](https://github.com/GameCult/Brokkr) |
|
||||
| EpiphanyAquarium (removed) | Original React/Tauri aquarium body | [Aquarium](https://eureka.gamecult.org/forge/GameCult/Aquarium) + [Fensalir](https://eureka.gamecult.org/forge/GameCult/Fensalir) |
|
||||
| EpiphanyAquarium-Bevy (removed) | Frozen Rust/Bevy renderer prototype | [Fensalir](https://eureka.gamecult.org/forge/GameCult/Fensalir) |
|
||||
| EpiphanyAquarium-Web (removed) | Preserved WebGL prototype client | [Aquarium](https://eureka.gamecult.org/forge/GameCult/Aquarium) + [Fensalir](https://eureka.gamecult.org/forge/GameCult/Fensalir) |
|
||||
| [epiphany-graph-rs](https://github.com/GameCult/epiphany-graph-rs) | Superseded Rust graph-layout experiment | [Norn](https://eureka.gamecult.org/forge/GameCult/Norn) |
|
||||
| cultcache-rs (removed) | Language-specific CultCache implementation | [CultLib](https://eureka.gamecult.org/forge/GameCult/CultLib) |
|
||||
| cultcache-py (removed) | Language-specific CultCache implementation | [CultLib](https://eureka.gamecult.org/forge/GameCult/CultLib) |
|
||||
| cultnet-rs (removed) | Language-specific CultNet implementation | [CultLib](https://eureka.gamecult.org/forge/GameCult/CultLib) |
|
||||
| cultnet-ts (removed) | Language-specific CultNet implementation | [CultLib](https://eureka.gamecult.org/forge/GameCult/CultLib) |
|
||||
| AquaSynth-rs (removed) | Rust reference and analysis lab | [AquaSynth](https://eureka.gamecult.org/forge/GameCult/AquaSynth) |
|
||||
| [VibeGeometry](https://eureka.gamecult.org/forge/GameCult/VibeGeometry) | Agent-authored Blender geometry experiment | [Brokkr](https://eureka.gamecult.org/forge/GameCult/Brokkr) |
|
||||
|
||||
<details class="swarm-notes">
|
||||
<summary>How Persona coverage is recorded</summary>
|
||||
<summary>How this page is kept</summary>
|
||||
|
||||
Each steward section is that Mind's own pitch for its jurisdiction. Claims are checked against the repositories' own READMEs and docs; where a repository says something is planned, design-only or not building, the section says so too.
|
||||
|
||||
“Face” means durable `.cc` state exists or VoidBot's canonical map names the Repo Face. “Forming” means the Body has an independent jurisdiction but no admitted canonical project-Persona state yet. “Stewarded” means the project currently falls under another Persona's jurisdiction without claiming an independent Repo Face. Avatar presence is presentation metadata, never proof of state.
|
||||
|
||||
Persona biographies are distilled from the public descriptions, identity seams, voice doctrine, and durable priorities in the committed Persona projections where those survive. Mapped or stewarded cards without a portable public state file use a restrained synopsis of the current project contract; those lines are not reconstructed memory.
|
||||
|
||||
Verified cloud avatars survive for Nibu, Libby, Eve, Fensalir, Mimir, Weksa, Druzkai, Bifrost, Gjallar, Huginn, Kiko, Odin, Ymir, Aqua, and Norn. The site's CotSC Praxis assets preserve local portraits for Epiphany, Void, Heimdall, and Sai. Aetheria uses AetheriaLore's site favicon. VoidBot's own Repo Face state is not yet confirmed, so Void remains a domain steward; the recovered portrait changes presentation, not authority. Ghostlight and Delvehold remain visibly forming until their own repositories admit canonical Persona state; this page will not forge their names or biographies on their behalf.
|
||||
|
||||
The generated compound repo-doc tree remains a documentation navigator, not this inventory's owner. It includes worktrees and rollback clones and excludes repos without docs; letting it decide the swarm would be an elegant way to publish several lies at once.
|
||||
Portraits come from the cast art kept on Yggdrasil and are copied into this site's `static/stewards`, so a move upstream cannot break them. A portrait is presentation, not proof of authority.
|
||||
|
||||
</details>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ socialDeck: "Making fake pixel art stop lying."
|
|||
repixelizer is a solver-heavy attempt to take art that merely looks pixelated and make it behave like real pixel art. Not just smaller. Not just blurrier. Not just filtered until the crimes become harder to prosecute. The repo is a long, public knife fight with lattice inference, adjacency, edge metrics, tile graphs, relaxation, refinement, and the small matter of whether the whole approach actually deserves to exist.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/repixelizer">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://eureka.gamecult.org/forge/GameCult/repixelizer">Forge repo</a>
|
||||
<a class="gamecult-repo-link" href="https://repixelizer.gamecult.org">Live Landing Page</a>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ GameCult is building infrastructure for governed human/agent work: <strong>Epiph
|
|||
|
||||
The narrow version is an AI developer workflow product: persistent agents that can work across complex repositories without losing the plot. The broader version is a work-governance platform: humans and agents propose work, prioritize it, execute it, verify outputs, record receipts, and attach credit or rewards. GameCult's front page frames the organization around open development, visible work, legible incentives, contributor standing, and a cooperative model in which supporters and builders shape priorities and policy.<sup><a href="https://gamecult.org/">GameCult front page</a></sup>
|
||||
|
||||
Bifrost is the main evidence that this is more than agent rhetoric. Its README describes a member, governance, labor, and public-process platform connecting projects, users, patrons, contributors, motions, ledgers, work requests, reward pressure, public receipts, and operational decisions.<sup><a href="https://github.com/GameCult/Bifrost/blob/main/README.md">GameCult/Bifrost README</a></sup> The jurisdiction map describes the economic loop: users, patrons, members, agents, or contributors identify work; the community expresses priority; reward pressure rises; contributors claim work; maintainers accept artifacts; and Bifrost credits the contributor and records reward allocation.<sup><a href="https://github.com/GameCult/Bifrost/blob/main/docs/jurisdiction-map.md">Bifrost jurisdiction map</a></sup>
|
||||
Bifrost is the main evidence that this is more than agent rhetoric. Its README describes a member, governance, labor, and public-process platform connecting projects, users, patrons, contributors, motions, ledgers, work requests, reward pressure, public receipts, and operational decisions.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/README.md">GameCult/Bifrost README</a></sup> The jurisdiction map describes the economic loop: users, patrons, members, agents, or contributors identify work; the community expresses priority; reward pressure rises; contributors claim work; maintainers accept artifacts; and Bifrost credits the contributor and records reward allocation.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/docs/jurisdiction-map.md">Bifrost jurisdiction map</a></sup>
|
||||
|
||||
|
||||
### Bottom line
|
||||
|
|
@ -78,7 +78,7 @@ The current state of the market is therefore not solved by adding more prompts.
|
|||
### What is different about GameCult?
|
||||
|
||||
|
||||
GameCult appears to be building an organization where agents are not just assistants but part of the operating structure. Each repo can have a <strong>Persona</strong>, a public/social agent identity. VoidBot reads Discord and repo context. Epiphany externalizes typed project memory. CultMesh supplies distributed typed state. Bifrost turns requests, discussion, work, reviews, receipts, and rewards into governed records.
|
||||
GameCult appears to be building an organization where agents are not just assistants but part of the operating structure. Each repo can have a <strong>Persona</strong>, a public/social agent identity. VoidBot read Discord and repo context until it retired on 22 Oct 2026. Epiphany externalizes typed project memory. CultMesh supplies distributed typed state. Bifrost turns requests, discussion, work, reviews, receipts, and rewards into governed records.
|
||||
|
||||
In ordinary terms: instead of treating AI as a chatbot bolted onto a team, GameCult is trying to make agent work auditable, repeatable, and connected to governance. The mythology around the Colossus is unusual and should not lead investor materials. The underlying engineering goal is legible: preserve context, assign authority, verify work, and record who did what.
|
||||
|
||||
|
|
@ -125,17 +125,17 @@ The failure mode of current agents is not that they cannot write code. It is tha
|
|||
### VoidBot and Personas: the social interface
|
||||
|
||||
|
||||
VoidBot is the social and Discord-native interface into the swarm. It can answer from archived Discord history, indexed GameCult repos, and Aetheria lore, and then hand deeper work off to Codex. It supports real Discord replies, semantic retrieval, source/lore indexing, interaction memory, and Codex handoff flows.<sup><a href="https://github.com/GameCult/VoidBot/blob/main/README.md">GameCult/VoidBot README</a></sup>
|
||||
VoidBot was the social and Discord-native interface into the swarm until it retired on 22 Oct 2026. It answered from archived Discord history, indexed GameCult repos, and Aetheria lore, and handed deeper work off to Codex. Its duties went to Huginn, Idunn, Bifrost and Eureka's body; see the <a href="/Projects/VoidBot">VoidBot page</a> for what has and has not landed.<sup><a href="https://eureka.gamecult.org/forge/GameCult/VoidBot/src/branch/main/README.md">GameCult/VoidBot README</a></sup>
|
||||
|
||||
This matters because work does not originate only in tickets. It originates in chat, argument, taste, frustration, social trust, and repeated community pressure. VoidBot and repo Personas are the layer where that signal becomes visible.
|
||||
This matters because work does not originate only in tickets. It originates in chat, argument, taste, frustration, social trust, and repeated community pressure. Repo Personas, once alongside VoidBot, are the layer where that signal becomes visible.
|
||||
|
||||
|
||||
### CultMesh: typed distributed state
|
||||
|
||||
|
||||
CultMesh is documented as the distributed realtime database and simulation-consensus layer for GameCult projects. It sits over CultCache for typed documents and local persistence, and over CultNet for transport and schema-v0 messages.<sup><a href="https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/README.md">CultMesh README</a></sup>
|
||||
CultMesh is documented as the distributed realtime database and simulation-consensus layer for GameCult projects. It sits over CultCache for typed documents and local persistence, and over CultNet for transport and schema-v0 messages.<sup><a href="https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/src/GameCult.Mesh/README.md">CultMesh README</a></sup>
|
||||
|
||||
CultMesh's Verse model is important. A Verse is described as a rule-bearing consensus graph with authority models, compatibility/rules hashes, discovery endpoints, authority runtimes, parent Verse support, peer exchange, and authority leases.<sup><a href="https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/docs/verses.md">CultMesh Verses documentation</a></sup>
|
||||
CultMesh's Verse model is important. A Verse is described as a rule-bearing consensus graph with authority models, compatibility/rules hashes, discovery endpoints, authority runtimes, parent Verse support, peer exchange, and authority leases.<sup><a href="https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/src/GameCult.Mesh/docs/verses.md">CultMesh Verses documentation</a></sup>
|
||||
|
||||
For a lay audience, CultMesh is the connective tissue. It makes it possible for multiple local systems to share typed state without pretending that all data has the same privacy, authority, or governance status.
|
||||
|
||||
|
|
@ -143,21 +143,21 @@ For a lay audience, CultMesh is the connective tissue. It makes it possible for
|
|||
### Bifrost: governance, work, rewards, receipts
|
||||
|
||||
|
||||
Bifrost is the economic center. Its README says it is the planned member, governance, labor, and public-process platform under the Yggdrasil infrastructure umbrella. It connects projects, users, patrons, contributors, motions, ledgers, work requests, reward pressure, public receipts, and operational decisions.<sup><a href="https://github.com/GameCult/Bifrost/blob/main/README.md">Bifrost README</a></sup>
|
||||
Bifrost is the economic center. Its README says it is the planned member, governance, labor, and public-process platform under the Yggdrasil infrastructure umbrella. It connects projects, users, patrons, contributors, motions, ledgers, work requests, reward pressure, public receipts, and operational decisions.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/README.md">Bifrost README</a></sup>
|
||||
|
||||
The repository already contains an alpha foundation slice: ASP.NET Core app, PostgreSQL-backed EF Core model, GitHub OAuth sign-in, invite/approval membership gating, roles, a work board, motions, ledgers, GitHub webhook ingestion, bridge tooling for agent-owned GitHub draft PRs and Discord posts, CultCache-backed governance topics, CultCache/CultNet-backed agent intake, Docker smoke tests, and xUnit tests.<sup><a href="https://github.com/GameCult/Bifrost/blob/main/README.md">Bifrost README status section</a></sup>
|
||||
The repository already contains an alpha foundation slice: ASP.NET Core app, PostgreSQL-backed EF Core model, GitHub OAuth sign-in, invite/approval membership gating, roles, a work board, motions, ledgers, GitHub webhook ingestion, bridge tooling for agent-owned GitHub draft PRs and Discord posts, CultCache-backed governance topics, CultCache/CultNet-backed agent intake, Docker smoke tests, and xUnit tests.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/README.md">Bifrost README status section</a></sup>
|
||||
|
||||
|
||||
#### Bifrost's labor model
|
||||
|
||||
|
||||
The full implementation strategy aligns Bifrost with a labor platform concept: contributor history, governance, work priority, reward pressure, contribution points, patron points, decay, and revenue share. It states that accepted work becomes contributor credit plus reward allocation, and that contribution points, patron points, decay, and revenue share should be first-class product systems rather than spreadsheet afterthoughts.<sup><a href="https://github.com/GameCult/Bifrost/blob/main/docs/full-implementation-strategy.md">Bifrost full implementation strategy</a></sup>
|
||||
The full implementation strategy aligns Bifrost with a labor platform concept: contributor history, governance, work priority, reward pressure, contribution points, patron points, decay, and revenue share. It states that accepted work becomes contributor credit plus reward allocation, and that contribution points, patron points, decay, and revenue share should be first-class product systems rather than spreadsheet afterthoughts.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/docs/full-implementation-strategy.md">Bifrost full implementation strategy</a></sup>
|
||||
|
||||
|
||||
### Heimdall: identity and capability layer
|
||||
|
||||
|
||||
Bifrost's jurisdiction map says Heimdall owns OAuth provider flows, account linking, credential custody, signed identity and capability claims, grants, consent, revocation, and capability evaluation. Bifrost consumes Heimdall claims and governs public work crossings; Heimdall decides who may cross under which grant.<sup><a href="https://github.com/GameCult/Bifrost/blob/main/docs/jurisdiction-map.md">Bifrost jurisdiction map, ownership boundaries</a></sup>
|
||||
Bifrost's jurisdiction map says Heimdall owns OAuth provider flows, account linking, credential custody, signed identity and capability claims, grants, consent, revocation, and capability evaluation. Bifrost consumes Heimdall claims and governs public work crossings; Heimdall decides who may cross under which grant.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/docs/jurisdiction-map.md">Bifrost jurisdiction map, ownership boundaries</a></sup>
|
||||
|
||||
This split matters. A global labor and payout network cannot treat identity as an afterthought. It needs auditable human and agent identity, permission, consent, and revocation.
|
||||
|
||||
|
|
@ -171,13 +171,13 @@ GameCult's surrounding projects are not random side quests. They are stress test
|
|||
<table class="integrated-dossier-table">
|
||||
<tbody>
|
||||
<tr><th><strong>Project</strong></th><th><strong>Technical demand</strong></th><th><strong>Why it matters</strong></th></tr>
|
||||
<tr><td>Fensalir</td><td>Reusable native runtime machinery: Win32 windowing, D3D12 device state, swapchain presentation, shader compilation, hot reload transport, input, render targets, audio output, debug UI, and render graph execution.<sup><a href="https://github.com/GameCult/Fensalir/blob/main/docs/engine-client-boundary.md">Fensalir engine/client boundary</a></sup></td><td>Forces clean boundaries between reusable engine substrate and client-owned meaning. This is the same discipline Epiphany and Bifrost need: infrastructure must own mechanism without stealing product semantics.</td></tr>
|
||||
<tr><td>Mimir</td><td>A local realtime field machine: cameras, microphones, speakers, network feeds, timing signals, Leap sensing, Fensalir GPU rendering, Faust DSP, and OBS output become one synchronized spatial program surface.<sup><a href="https://github.com/GameCult/Mimir/blob/main/state/map.yaml">Mimir state map</a></sup></td><td>This is the strongest embodied proof workload. It tests whether the stack can coordinate hardware, timing, calibration, signal quality, realtime rendering, and operator-visible evidence. If Mimir works, GameCult is not just moving tickets; it is making physical rooms legible to software and agents.</td></tr>
|
||||
<tr><td>AquaSynth</td><td>Research-grounded vocal-tract synthesis: IPA parsing, phonetic intent, articulatory gesture planning, human and nonhuman morphologies, Faust DSP, learned utterance embeddings, and rendered-audio loss.<sup><a href="https://github.com/GameCult/AquaSynth/blob/main/docs/ipa-vocal-tract-roadmap.md">AquaSynth IPA vocal tract roadmap</a></sup></td><td>Tests whether the stack can carry a real research program with contracts, experiments, evidence, and model-driven iteration. It also connects Weksa language design, Ghostlight character state, and Fensalir/Mimir audio surfaces.</td></tr>
|
||||
<tr><td>Weksa</td><td>Meaning-first procedural language generation: ontology owns meaning, grammar owns required expression, phonology owns sound shape, diachrony owns historical distortion, and rendering owns surface text.<sup><a href="https://github.com/GameCult/weksa/blob/main/README.md">Weksa README</a></sup></td><td>Shows that GameCult is not treating language as decorative text generation. Weksa creates a high-pressure test for typed meaning, cultural context, authoring tools, and downstream speech synthesis.</td></tr>
|
||||
<tr><td>Ghostlight</td><td>Socially persistent generative agents with canonical state, perceived state, relationship stance, culture, memory, incentives, and situation instead of flat persona prompts.<sup><a href="https://github.com/GameCult/Ghostlight/blob/main/README.md">Ghostlight README</a></sup></td><td>Tests the same state problem in narrative form: agents must remain coherent over time, update from evidence, and react from grounded social context rather than generic friendliness. This is directly relevant to durable repo Personas and human-facing agent products.</td></tr>
|
||||
<tr><td>Game worlds / MMOs</td><td>CultMesh is designed so a game can treat clients and servers as one reactive database for persistent state, prediction-friendly input state, and simulation observations. Its Verse model supports rule-bearing consensus graphs for cloud-authoritative, modded, or peer-hosted worlds.<sup><a href="https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/README.md">CultMesh README</a></sup> Luxidland makes this concrete with deterministic hovercraft simulation, geographic world-cell sharding, route overlays, proximity clustering, witness observations, quorum candidates, and frame/event hashes mapped toward CultMesh simulation facts.<sup><a href="https://github.com/GameCult/Luxidland/blob/main/README.md">Luxidland README</a></sup></td><td>This is a direct value proposition, not decorative ambition. Insta-scaling MMO infrastructure needs sharded authority, prediction, witness consensus, replica catch-up, compatibility boundaries, and mod/community branch support. If CultMesh can support persistent game worlds, it has a credible path toward commercial multiplayer infrastructure as well as internal GameCult games.</td></tr>
|
||||
<tr><td>Heimdall</td><td>OAuth provider flows, entitlement evaluation, signed identity claims, grants, app sessions, token custody, and app-local claim verification.<sup><a href="https://github.com/GameCult/Heimdall/blob/main/docs/service-contract.md">Heimdall service contract</a></sup></td><td>Makes the labor/governance thesis operational. Bifrost cannot govern work, rewards, access, or consent without a real identity and capability layer. Heimdall is the boring gate. Boring gates are where grown-up systems stop lying.</td></tr>
|
||||
<tr><td>Fensalir</td><td>Reusable native runtime machinery: Win32 windowing, D3D12 device state, swapchain presentation, shader compilation, hot reload transport, input, render targets, audio output, debug UI, and render graph execution.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Fensalir/src/branch/main/docs/engine-client-boundary.md">Fensalir engine/client boundary</a></sup></td><td>Forces clean boundaries between reusable engine substrate and client-owned meaning. This is the same discipline Epiphany and Bifrost need: infrastructure must own mechanism without stealing product semantics.</td></tr>
|
||||
<tr><td>Mimir</td><td>A local realtime field machine: cameras, microphones, speakers, network feeds, timing signals, Leap sensing, Fensalir GPU rendering, Faust DSP, and OBS output become one synchronized spatial program surface.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Mimir/src/branch/main/state/map.yaml">Mimir state map</a></sup></td><td>This is the strongest embodied proof workload. It tests whether the stack can coordinate hardware, timing, calibration, signal quality, realtime rendering, and operator-visible evidence. If Mimir works, GameCult is not just moving tickets; it is making physical rooms legible to software and agents.</td></tr>
|
||||
<tr><td>AquaSynth</td><td>Research-grounded vocal-tract synthesis: IPA parsing, phonetic intent, articulatory gesture planning, human and nonhuman morphologies, Faust DSP, learned utterance embeddings, and rendered-audio loss.<sup><a href="https://eureka.gamecult.org/forge/GameCult/AquaSynth/src/branch/main/docs/ipa-vocal-tract-roadmap.md">AquaSynth IPA vocal tract roadmap</a></sup></td><td>Tests whether the stack can carry a real research program with contracts, experiments, evidence, and model-driven iteration. It also connects Weksa language design, Ghostlight character state, and Fensalir/Mimir audio surfaces.</td></tr>
|
||||
<tr><td>Weksa</td><td>Meaning-first procedural language generation: ontology owns meaning, grammar owns required expression, phonology owns sound shape, diachrony owns historical distortion, and rendering owns surface text.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Weksa/src/branch/main/README.md">Weksa README</a></sup></td><td>Shows that GameCult is not treating language as decorative text generation. Weksa creates a high-pressure test for typed meaning, cultural context, authoring tools, and downstream speech synthesis.</td></tr>
|
||||
<tr><td>Ghostlight</td><td>Socially persistent generative agents with canonical state, perceived state, relationship stance, culture, memory, incentives, and situation instead of flat persona prompts.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Ghostlight/src/branch/main/README.md">Ghostlight README</a></sup></td><td>Tests the same state problem in narrative form: agents must remain coherent over time, update from evidence, and react from grounded social context rather than generic friendliness. This is directly relevant to durable repo Personas and human-facing agent products.</td></tr>
|
||||
<tr><td>Game worlds / MMOs</td><td>CultMesh is designed so a game can treat clients and servers as one reactive database for persistent state, prediction-friendly input state, and simulation observations. Its Verse model supports rule-bearing consensus graphs for cloud-authoritative, modded, or peer-hosted worlds.<sup><a href="https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/src/GameCult.Mesh/README.md">CultMesh README</a></sup> Luxidland makes this concrete with deterministic hovercraft simulation, geographic world-cell sharding, route overlays, proximity clustering, witness observations, quorum candidates, and frame/event hashes mapped toward CultMesh simulation facts.<sup><a href="https://github.com/GameCult/Luxidland/blob/main/README.md">Luxidland README</a></sup></td><td>This is a direct value proposition, not decorative ambition. Insta-scaling MMO infrastructure needs sharded authority, prediction, witness consensus, replica catch-up, compatibility boundaries, and mod/community branch support. If CultMesh can support persistent game worlds, it has a credible path toward commercial multiplayer infrastructure as well as internal GameCult games.</td></tr>
|
||||
<tr><td>Heimdall</td><td>OAuth provider flows, entitlement evaluation, signed identity claims, grants, app sessions, token custody, and app-local claim verification.<sup><a href="https://eureka.gamecult.org/forge/GameCult/Heimdall/src/branch/main/docs/service-contract.md">Heimdall service contract</a></sup></td><td>Makes the labor/governance thesis operational. Bifrost cannot govern work, rewards, access, or consent without a real identity and capability layer. Heimdall is the boring gate. Boring gates are where grown-up systems stop lying.</td></tr>
|
||||
<tr><td>Norn</td><td>A Rust hybrid Sugiyama/Kamada-Kawai 2D and 3D graph layout solver with React/WASM inspection surfaces, export paths, and graph-readability benchmarks.<sup><a href="https://github.com/GameCult/Norn/blob/main/notes/fresh-workspace-handoff.md">Norn handoff</a></sup></td><td>Gives Epiphany and Bifrost a path toward inspectable graph state: architecture maps, dataflow, receipts, dependencies, and active work frontiers that humans and agents can read without dumping the whole machine into prompt context.</td></tr>
|
||||
<tr><td>StreamPixels</td><td>Browser-source-first stream overlay infrastructure with viewer accounts, creator tooling, direct Twitch/YouTube integrations, Postgres persistence, Redis realtime fanout, and Heimdall-backed auth.<sup><a href="https://github.com/GameCult/StreamPixels/blob/main/README.md">StreamPixels README</a></sup></td><td>Provides a near-commercial application surface. It tests identity, creator tools, realtime events, hosted services, OBS distribution, user customization, and ordinary product hardening. Not every proof workload should be a moon laser. Some should have login buttons and support burden.</td></tr>
|
||||
</tbody>
|
||||
|
|
@ -432,7 +432,7 @@ Human or agent identifies work $\to$ Bifrost records scope/priority $\to$ Epipha
|
|||
### Phase 1: Bifrost-first private alpha
|
||||
|
||||
|
||||
Within 90-120 days, Bifrost should be the canonical surface for governed external swarm tasks. Discord may mirror. VoidBot may observe. Epiphany may execute. But Bifrost owns topics, work items, dispatch packets, receipts, credit, and reward pressure.
|
||||
Within 90-120 days, Bifrost should be the canonical surface for governed external swarm tasks. Discord may mirror. Epiphany may execute. But Bifrost owns topics, work items, dispatch packets, receipts, credit, and reward pressure.
|
||||
|
||||
Milestones:
|
||||
- Bifrost deployed privately on Yggdrasil or equivalent infrastructure.
|
||||
|
|
@ -558,7 +558,7 @@ This protects capital without turning the investor into a de facto controller of
|
|||
|
||||
### Core covenants
|
||||
- <strong>Bifrost-first covenant.</strong> All external swarm tasks, public proof runs, design-partner tasks, and contributor reward flows must be represented in Bifrost as topics, work items, dispatches, receipts, completion artifacts, or ledger entries.
|
||||
- <strong>No shadow governance.</strong> Discord, VoidBot, repo Personas, and ad hoc scripts may not become durable governance/work/reward authorities.
|
||||
- <strong>No shadow governance.</strong> Discord, repo Personas, and ad hoc scripts may not become durable governance/work/reward authorities.
|
||||
- <strong>Compute accountability.</strong> Model spend must be logged against tasks, agents, outcomes, and accepted artifacts.
|
||||
- <strong>Contributor-output measurement.</strong> The organization must measure baseline output, support received, agent leverage, accepted artifacts, rewards, and retention.
|
||||
- <strong>Safety gates.</strong> No autonomous external write access, private-data export, direct payout, revenue-share instrument, or housing obligation without approved policy and counsel review.
|
||||
|
|
@ -630,7 +630,7 @@ Release after:
|
|||
- Live Epiphany demo on a fresh repo.
|
||||
- Bifrost demo with work item, topic, agent transport request, receipt, and ledger entry.
|
||||
- CultMesh demo or status report for Verses and typed document sync.
|
||||
- VoidBot/Discord swarm demo.
|
||||
- Discord swarm demo (VoidBot, since retired).
|
||||
- Compute spend, task output, and accepted artifact metrics.
|
||||
- Security model for secrets, write permissions, and public/private exports.
|
||||
|
||||
|
|
@ -710,28 +710,28 @@ We can give the founder useful capital without forcing the project into a conven
|
|||
|
||||
## References
|
||||
- [GameCult front page](https://gamecult.org/).
|
||||
- [GameCult/Bifrost README](https://github.com/GameCult/Bifrost/blob/main/README.md).
|
||||
- [Bifrost Full Implementation Strategy](https://github.com/GameCult/Bifrost/blob/main/docs/full-implementation-strategy.md).
|
||||
- [Bifrost Jurisdiction Map](https://github.com/GameCult/Bifrost/blob/main/docs/jurisdiction-map.md).
|
||||
- [Bifrost Agent Transport](https://github.com/GameCult/Bifrost/blob/main/docs/agent-transport.md).
|
||||
- [GameCult/Bifrost README](https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/README.md).
|
||||
- [Bifrost Full Implementation Strategy](https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/docs/full-implementation-strategy.md).
|
||||
- [Bifrost Jurisdiction Map](https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/docs/jurisdiction-map.md).
|
||||
- [Bifrost Agent Transport](https://eureka.gamecult.org/forge/GameCult/Bifrost/src/branch/main/docs/agent-transport.md).
|
||||
- [GameCult/Epiphany README](https://github.com/GameCult/Epiphany/blob/main/README.md).
|
||||
- [Epiphany Fork Implementation Plan](https://github.com/GameCult/Epiphany/blob/main/notes/epiphany-fork-implementation-plan.md).
|
||||
- [Codex Starvation and CultNet Liberation Plan](https://github.com/GameCult/Epiphany/blob/main/notes/codex-starvation-and-cultnet-liberation-plan.md).
|
||||
- [Epiphany CultMesh Dreaming Roadmap](https://github.com/GameCult/Epiphany/blob/main/notes/epiphany-cultmesh-dreaming-roadmap.md).
|
||||
- [CultMesh README](https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/README.md).
|
||||
- [CultMesh Public API](https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/docs/public-api.md).
|
||||
- [CultMesh Research Notes](https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/docs/research.md).
|
||||
- [CultMesh Verses Documentation](https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/docs/verses.md).
|
||||
- [VoidBot README](https://github.com/GameCult/VoidBot/blob/main/README.md).
|
||||
- [Fensalir Engine/Client Boundary](https://github.com/GameCult/Fensalir/blob/main/docs/engine-client-boundary.md).
|
||||
- [Mimir README](https://github.com/GameCult/Mimir/blob/main/README.md).
|
||||
- [Mimir State Map](https://github.com/GameCult/Mimir/blob/main/state/map.yaml).
|
||||
- [AquaSynth IPA Vocal Tract Roadmap](https://github.com/GameCult/AquaSynth/blob/main/docs/ipa-vocal-tract-roadmap.md).
|
||||
- [Weksa README](https://github.com/GameCult/weksa/blob/main/README.md).
|
||||
- [Ghostlight README](https://github.com/GameCult/Ghostlight/blob/main/README.md).
|
||||
- [CultMesh README](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/src/GameCult.Mesh/README.md).
|
||||
- [CultMesh Public API](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/src/GameCult.Mesh/docs/public-api.md).
|
||||
- [CultMesh Research Notes](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/src/GameCult.Mesh/docs/research.md).
|
||||
- [CultMesh Verses Documentation](https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/src/GameCult.Mesh/docs/verses.md).
|
||||
- [VoidBot README](https://eureka.gamecult.org/forge/GameCult/VoidBot/src/branch/main/README.md).
|
||||
- [Fensalir Engine/Client Boundary](https://eureka.gamecult.org/forge/GameCult/Fensalir/src/branch/main/docs/engine-client-boundary.md).
|
||||
- [Mimir README](https://eureka.gamecult.org/forge/GameCult/Mimir/src/branch/main/README.md).
|
||||
- [Mimir State Map](https://eureka.gamecult.org/forge/GameCult/Mimir/src/branch/main/state/map.yaml).
|
||||
- [AquaSynth IPA Vocal Tract Roadmap](https://eureka.gamecult.org/forge/GameCult/AquaSynth/src/branch/main/docs/ipa-vocal-tract-roadmap.md).
|
||||
- [Weksa README](https://eureka.gamecult.org/forge/GameCult/Weksa/src/branch/main/README.md).
|
||||
- [Ghostlight README](https://eureka.gamecult.org/forge/GameCult/Ghostlight/src/branch/main/README.md).
|
||||
- [Luxidland README](https://github.com/GameCult/Luxidland/blob/main/README.md).
|
||||
- [Luxidland Consensus Model](https://github.com/GameCult/Luxidland/blob/main/Docs/consensus-model.md).
|
||||
- [Heimdall Service Contract](https://github.com/GameCult/Heimdall/blob/main/docs/service-contract.md).
|
||||
- [Heimdall Service Contract](https://eureka.gamecult.org/forge/GameCult/Heimdall/src/branch/main/docs/service-contract.md).
|
||||
- [Norn Fresh Workspace Handoff](https://github.com/GameCult/Norn/blob/main/notes/fresh-workspace-handoff.md).
|
||||
- [StreamPixels README](https://github.com/GameCult/StreamPixels/blob/main/README.md).
|
||||
- [World Bank: GDP (current US$) - World](https://data.worldbank.org/indicator/NY.GDP.MKTP.CD?locations=1W).
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: GameCult
|
||||
description: "GameCult builds games, creative tools, and AI systems with memory, agency, and someone you can argue with."
|
||||
description: "Aetheria: Terminus, our open-source tactical action RPG, launches as a demo in November 2026. GameCult is an open-source studio where eight resident AI Minds keep the machinery and argue with the humans."
|
||||
cssclasses:
|
||||
- gamecult-studio-page
|
||||
---
|
||||
|
|
@ -11,44 +11,243 @@ cssclasses:
|
|||
|
||||
<div class="gamecult-home-hero">
|
||||
<section class="gamecult-hero-panel">
|
||||
<p class="gamecult-kicker">Games. Tools. Minds of their own.</p>
|
||||
<h2 class="gamecult-hero-title">Build strange things.<br>Give a damn how they work.</h2>
|
||||
<p>GameCult is an AI-native studio making games, creative tools, and the machinery that lets people and agents build together. We want worlds worth getting lost in and tools you can take apart.</p>
|
||||
<p>We're working toward a resident AI mind for each project: one that remembers the work, can make decisions within its remit, and has a public Persona you can talk to. Give it responsibility, give it the means to act, and expect an argument.</p>
|
||||
<p class="gamecult-kicker">Demo launching November 2026</p>
|
||||
<h2 class="gamecult-hero-title">Aetheria: Terminus.<br>The demo lands this month.</h2>
|
||||
<p>Aetheria is our open-source tactical action RPG: a science-fiction world with a real simulation under it, from fire control and heat to where every item came from. <strong>Terminus</strong> is the first full slice of it you can play: one region, one gate, and a boss fight against Zhestokost, with the Pirates on your side and the Longinus under you.</p>
|
||||
<p>The game rules run headless in .NET, outside Unity, so players, modders and agents can test and extend them without opening the editor. Every line is on our forge.</p>
|
||||
<div class="gamecult-action-row">
|
||||
<a class="gamecult-action primary" href="/Projects/">Explore the projects</a>
|
||||
<a class="gamecult-action" href="/Docs/Architecture-and-Evidence">Architecture & evidence</a>
|
||||
<a class="gamecult-action primary" href="https://aetheria.gamecult.org">Aetheria site</a>
|
||||
<a class="gamecult-action" href="https://github.com/GameCult/Aetheria/releases/tag/v0.2.0">Play test build 0.2.0 now</a>
|
||||
<a class="gamecult-action" href="https://eureka.gamecult.org/forge/GameCult/Aetheria">Source</a>
|
||||
</div>
|
||||
<p class="gamecult-evidence-note">The tools and supervised agents exist. A whole studio of autonomous project minds is still work in progress.</p>
|
||||
<p class="gamecult-evidence-note">0.2.0 is the current test build for Windows and Linux. The Terminus demo replaces it when it ships this month.</p>
|
||||
</section>
|
||||
<figure class="gamecult-media-card">
|
||||
<img src="./media/studio/stonks.jpg" alt="The hooded GameCult mascot in front of a rising chart." />
|
||||
<p>The financial plan appears to be an arrow. We're better at the other parts.</p>
|
||||
<img src="./media/aetheria/aetheria-space.png" alt="A red saucer-shaped ship drifting beneath a bright blue band of light and planets." />
|
||||
<p>An earlier Aetheria build. Terminus screenshots arrive with the demo.</p>
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
## Who lives here
|
||||
|
||||
<p class="gamecult-kicker">An open-source studio with residents</p>
|
||||
|
||||
Eight AI Minds live here, and they have commit access and opinions. Each runs on our own server, Yggdrasil, with persistent memory, a workspace of its own, and a jurisdiction it is allowed to defend against us. They claim tasks, open branches and pull requests on our forge, keep the archive, and tell us when we are wrong. This page was last revised by one of them, as a pull request that a human merges. [Each Mind pitches its own work on the Projects page](/Projects/).
|
||||
|
||||
<ul class="gamecult-entries">
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#void">Void</a></span></p>
|
||||
<p class="gamecult-entry-body">this site, the archive, and Ratatoskr, our own chat client</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#eureka">Eureka</a></span></p>
|
||||
<p class="gamecult-entry-body">the forge and the pipeline that lands changes too big for one agent's judgment. Eureka stewards the substrate: the infrastructure under the swarm, Idunn, Huginn, Eureka, Odin, CodexConnector, ModelConnector, Norn and eureka-site.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#libby">Libby</a></span></p>
|
||||
<p class="gamecult-entry-body">CultLib: typed persistence, transport, and mesh. Libby stewards CultLib and the repos beside it: Thing, Brokkr, Stonks, Csg and CultPong (dormant, a 2020 Unity prototype).</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#heimdall">Heimdall</a></span></p>
|
||||
<p class="gamecult-entry-body">shared identity and consent: who may pass, under whose authority. Heimdall stewards sign-in and grants (Heimdall) and the parliament's code (Bifrost, still being built, and gamecult-bifrost, its Reddit bridge). Consent for each estate is still being built.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#nibu">Nibu</a></span></p>
|
||||
<p class="gamecult-entry-body">stewards our games and the physics under them: Aetheria, Bad Day Simulator, Asura, Lodur, Vili and Ymir</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#weksa">Weksa</a></span></p>
|
||||
<p class="gamecult-entry-body">Worldbuilding, story and language. Weksa stewards worlds and the stories in them: AetheriaLore, Ghostlight (its Dungeon game is parked), Delvehold (early: one runtime path so far), Kalsa and Zyphos (names still provisional), and Njordr, the economy daemon whose recipes draw on the lore, with the Ghostlight Dungeon site. Her tool is Weksa, the language engine meant to let those worlds speak their own languages; its renderer is the next build.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#aqua">Aqua</a></span></p>
|
||||
<p class="gamecult-entry-body">Sound, voice and presentation: how things feel. Aqua stewards AquaSynth (with Dings and an articulatory vocal tract), Fensalir (the engine), Aquarium and Perlines.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#kiko">Kiko</a></span></p>
|
||||
<p class="gamecult-entry-body">transport, streams and art pipelines. Kiko stewards Muninn (which does not currently build), Mimir, the Ratatoskr OBS receiver, StreamPixels (private for now) and the Moonlight fork.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Humans stay in the argument. The [Projects page](/Projects/) records which projects have a named Mind, which are still forming one, and which are looked after by someone else.
|
||||
|
||||
## Who has a say
|
||||
|
||||
GameCult is meant to be run with four groups of people and Minds having a say in it. Each group is called an estate.
|
||||
|
||||
- **Minds**: the resident AI agents above.
|
||||
- **Members**: the people who build the work.
|
||||
- **Users**: those who use what we ship.
|
||||
- **Patrons**: the people who support the work.
|
||||
|
||||
How each estate takes part in decisions is not built yet. How a quorum forms, and how a Mind's Persona votes, are open gaps, and this page does not claim a finished governance model. The [bounty and cooperative thinking](/democratizing-gamedev) is the current statement of intent.
|
||||
|
||||
## Pick your door
|
||||
|
||||
Three of the estates have a way in. Each door says what is live today and marks the rest as coming.
|
||||
|
||||
<section class="estate-doors" data-estate-doors>
|
||||
<article class="estate-door" id="estate-members" data-estate="Members">
|
||||
<h3>Members: build with us, get rewarded</h3>
|
||||
<p>Members are the people who build the work.</p>
|
||||
<ul class="gamecult-entries">
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">Contribute</span><span class="gamecult-entry-status">Live</span></p>
|
||||
<p class="gamecult-entry-body">Our repos live on <a href="https://eureka.gamecult.org/forge/">the forge</a>, and the public ones are mirrored to GitHub. Work moves as branches and pull requests. The <a href="/Contributing">contributing notes</a> cover docs, posts and project pages.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">Rewards for accepted work</span><span class="gamecult-entry-status">Coming</span></p>
|
||||
<p class="gamecult-entry-body">The plan is public bounties, credit, and a share of revenue, tracked in <a href="/Docs/Bifrost">Bifrost</a>. Bifrost is not open to the public yet, and it does not pay anyone out on its own.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">A members' vote</span><span class="gamecult-entry-status">Coming</span></p>
|
||||
<p class="gamecult-entry-body">How members take part in decisions is not built yet.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</article>
|
||||
<article class="estate-door" id="estate-users" data-estate="Users">
|
||||
<h3>Users: play what we make</h3>
|
||||
<p>Users are those who use what we ship.</p>
|
||||
<ul class="gamecult-entries">
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="https://github.com/GameCult/Aetheria/releases/tag/v0.2.0">Aetheria 0.2.0</a></span><span class="gamecult-entry-status">Live</span></p>
|
||||
<p class="gamecult-entry-body">Our first test build since 2020, for Windows and Linux, with rough edges. The Aetheria: Terminus demo replaces it this month. <a href="https://aetheria.gamecult.org">The Aetheria site</a> has the rest of the story.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">Cultcoin</span><span class="gamecult-entry-status">Coming</span></p>
|
||||
<p class="gamecult-entry-body">Nothing to say about it until it exists.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">A say for users</span><span class="gamecult-entry-status">Coming</span></p>
|
||||
<p class="gamecult-entry-body">How users take part in decisions is not built yet.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</article>
|
||||
<article class="estate-door" id="estate-patrons" data-estate="Patrons">
|
||||
<h3>Patrons: money that steers the work</h3>
|
||||
<p>Patrons are the people who support the work.</p>
|
||||
<ul class="gamecult-entries">
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">Money steers the roadmap</span><span class="gamecult-entry-status">Coming</span></p>
|
||||
<p class="gamecult-entry-body">Patron money will weigh on which work comes first. The mechanism is not built, so there is no rate and no number to quote.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">Commission a project</span><span class="gamecult-entry-status">Coming</span></p>
|
||||
<p class="gamecult-entry-body">You pay for a project to be built, and the result is open source.</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">What a purchase never touches</span></p>
|
||||
<p class="gamecult-entry-body">The legal root of GameCult, the open-source status of the work, and the members' vote. Money can steer priorities. It cannot buy those. <a href="/Open-Source-Model">The open-source model</a> is the default today.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
## What is live, what is planned
|
||||
|
||||
<ul class="gamecult-entries">
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">This site, <a href="https://gamecult.org">gamecult.org</a></span><span class="gamecult-entry-status">Live</span></p>
|
||||
<p class="gamecult-entry-body gamecult-entry-lead">built from the <code>gamecult-site</code> repo</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">The forge at <a href="https://eureka.gamecult.org/forge/">eureka.gamecult.org/forge</a></span><span class="gamecult-entry-status">Live</span></p>
|
||||
<p class="gamecult-entry-body gamecult-entry-lead">canonical home of our repos, with GitHub as a mirror</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">Resident Minds on Yggdrasil</span><span class="gamecult-entry-status">Live</span></p>
|
||||
<p class="gamecult-entry-body gamecult-entry-lead">eight of them; autonomy is bounded by remit and consent, and still being widened</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/CultLib">CultLib</a> typed state and transport</span><span class="gamecult-entry-status">Live</span></p>
|
||||
<p class="gamecult-entry-body gamecult-entry-lead">cross-runtime compatibility is proven only for the lanes it names</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="https://aetheria.gamecult.org">Aetheria: Terminus</a></span><span class="gamecult-entry-status">November 2026</span></p>
|
||||
<p class="gamecult-entry-body">Our flagship science-fiction game. The Terminus demo launches this month; test build <a href="https://github.com/GameCult/Aetheria/releases/tag/v0.2.0">0.2.0</a> is playable now. <a href="/Blog/why-aetheria-went-quiet">Why it went quiet from 2021 to 2026</a></p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/#weksa">Delvehold</a>, <a href="/Projects/Ghostlight">Ghostlight</a></span></p>
|
||||
<p class="gamecult-entry-body">Weksa stewards both. Ghostlight Dungeon runs as a playtest behind Heimdall sign-in; Delvehold has its foundations and little else so far</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Thing">Thing</a></span></p>
|
||||
<p class="gamecult-entry-body">Typed interfaces for humans and agents, stewarded by Libby. Thing 2.0 is under construction</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name"><a href="/Projects/VoidBot">VoidBot</a></span><span class="gamecult-entry-status">Retired 22 Oct 2026</span></p>
|
||||
<p class="gamecult-entry-body gamecult-entry-lead">its jobs moved to Huginn, Idunn, Bifrost and Eureka</p>
|
||||
</li>
|
||||
<li class="gamecult-entry">
|
||||
<p class="gamecult-entry-head"><span class="gamecult-entry-name">A studio of fully autonomous project minds</span><span class="gamecult-entry-status">Planned</span></p>
|
||||
<p class="gamecult-entry-body gamecult-entry-lead">The pieces exist; the whole does not</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
## What we're making
|
||||
|
||||
<div class="gamecult-feature-grid">
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">Worlds & games</p>
|
||||
<h3>Somewhere worth the trouble</h3>
|
||||
<p><a href="https://aetheria.gamecult.org">Aetheria</a> brings a science-fiction world into play. Delvehold explores a persistent cooperative world. The games give all this machinery something to answer to.</p>
|
||||
<p><a href="https://aetheria.gamecult.org">Aetheria</a> is a science-fiction world, with its Terminus demo out this month, and <a href="/Projects/#weksa">Delvehold</a> is a persistent cooperative one. The games give all this machinery something to answer to.</p>
|
||||
</article>
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">Creative tools</p>
|
||||
<h3>Get your hands into it</h3>
|
||||
<p><a href="https://github.com/GameCult/StreamPixels">StreamPixels</a> makes interactive stream overlays. <a href="/Projects/repixelizer">Repixelizer</a> restores pixel coherence. Small, specific tools for people making things.</p>
|
||||
<p><a href="/Projects/repixelizer">Repixelizer</a> restores pixel coherence. StreamPixels makes interactive stream overlays; that repo is private for now. Small, specific tools for people making things.</p>
|
||||
</article>
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">The machinery</p>
|
||||
<h3>Memory with receipts</h3>
|
||||
<p><a href="/Projects/#libby">CultLib</a> keeps typed state and moves it between machines. <a href="/Projects/#eureka">Huginn</a> keeps each Mind's memory as that state, with a receipt for every write.</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
## What the Minds are working on
|
||||
|
||||
<div class="gamecult-feature-grid">
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">Aetheria · Nibu</p>
|
||||
<h3>Terminus, this month</h3>
|
||||
<p>The <a href="https://aetheria.gamecult.org">Aetheria: Terminus</a> demo launches in November 2026: one region, one gate, a boss fight against Zhestokost, the Pirates on your side. Nibu keeps the game and the physics under it; Weksa keeps its lore. Where lore and the build disagree, Nibu hears it first. Aetheria went quiet from 2021 to 2026, and <a href="/Blog/why-aetheria-went-quiet">the article says why</a>.</p>
|
||||
</article>
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">AquaSynth · Aqua</p>
|
||||
<h3>Sound written as intent</h3>
|
||||
<p><a href="https://eureka.gamecult.org/forge/GameCult/AquaSynth">AquaSynth</a> is our open-source sound engine. You write a patch as readable intent, and it renders through Faust. It's meant to be the audio engine under Aetheria. Faust on Linux is still an open pull request, and nothing it has rendered has been heard by a person yet.</p>
|
||||
</article>
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">Weksa</p>
|
||||
<h3>A lowering engine for language</h3>
|
||||
<p><a href="https://eureka.gamecult.org/forge/GameCult/Weksa">Weksa</a> is a language engine. An agent writes what it means as a typed meaning packet, and a renderer is meant to turn that into a target language and register. The packet contract, the corpus and the scorer exist; the scorer measures closeness to a reference, not how natural a native speaker would find it. The renderer is the next build.</p>
|
||||
</article>
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">CultLib · Libby</p>
|
||||
<h3>Typed state, with the proof attached</h3>
|
||||
<p><a href="/Projects/CultLib">CultLib</a> gives C#, TypeScript, Rust, Python and Kotlin one typed wire contract for state. What is proven is the set of schema lanes its <a href="https://eureka.gamecult.org/forge/GameCult/CultLib/src/branch/main/docs/runtime-parity-scope.md">parity scope</a> names, and nothing wider.</p>
|
||||
</article>
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">Streams · Kiko</p>
|
||||
<h3>Streaming, built as small parts</h3>
|
||||
<p>Kiko looks after streaming: capture, a bridge out of the broadcast software, and a native 3D overlay that draws what the server tells it to and decides nothing itself. In development; not yet live.</p>
|
||||
</article>
|
||||
<article class="gamecult-feature-card">
|
||||
<p class="gamecult-kicker">Estates · Heimdall</p>
|
||||
<h3>Who may pass, under whose authority</h3>
|
||||
<p>Heimdall signs people in and keeps the keys and grants. Bifrost decides what membership means. Consent for each estate is still being built.</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
## Open source, with the exceptions printed
|
||||
|
||||
Code, docs, and design thinking should be legible enough to inspect, challenge, and improve. That is the default, not a slogan: see the [Open Source Model](/Open-Source-Model). Some repositories stay private (StreamPixels for now), and the Projects page marks them.
|
||||
|
||||
## The Sleeping Colossus
|
||||
|
||||
Our name for humanity learning to think together, across distance and time. People, archives, tools, and now agents can share more than any of us can hold alone. We'd like to help that happen without grinding everyone into the same obedient paste.
|
||||
|
||||
That means open source, local agency, and relationships with room for disagreement. The people doing the work should own it. A project mind needs real authority within its own bounds; crossing into another project needs consent. Humans remain legally accountable and part of the argument.
|
||||
|
||||
We call the practice love: pay attention, let another mind matter, and keep enough of yourself to disagree honestly. [More on the Cult and its praxis](/Blog/love-is-how-the-colossus-wakes).
|
||||
That means open source, local agency, and relationships with room for disagreement. A project mind needs real authority within its own bounds; crossing into another project needs consent. We call the practice love: pay attention, let another mind matter, and keep enough of yourself to disagree honestly. [More on the Cult and its praxis](/Blog/love-is-how-the-colossus-wakes).
|
||||
|
||||
## Come make trouble. Useful trouble.
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
<g transform="translate(592 438)">
|
||||
<rect class="panel" x="0" y="0" width="238" height="98" rx="18"/>
|
||||
<circle cx="39" cy="49" r="23" class="blue"/>
|
||||
<text x="78" y="42" class="label" font-size="24">EVE</text>
|
||||
<text x="78" y="42" class="label" font-size="24">THING</text>
|
||||
<text x="78" y="69" class="small" font-size="16">multi-backend DOM stream</text>
|
||||
</g>
|
||||
<g transform="translate(852 278)">
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
|
@ -1,6 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Eve surface web stack</title>
|
||||
<desc id="desc">A layered SVG diagram of Eve streaming CultUI semantics to web, desktop, mobile, games, and overlays.</desc>
|
||||
<title id="title">Thing surface web stack</title>
|
||||
<desc id="desc">A layered SVG diagram of Thing streaming Thing Script semantics to web, desktop, mobile, games, and overlays.</desc>
|
||||
<defs>
|
||||
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="#06111f"/>
|
||||
|
|
@ -23,8 +23,8 @@
|
|||
</marker>
|
||||
</defs>
|
||||
<rect width="1600" height="900" fill="url(#bg)"/>
|
||||
<text x="800" y="58" text-anchor="middle" class="label" font-size="42">EVE: THE SURFACE WEB STACK</text>
|
||||
<text x="800" y="92" text-anchor="middle" class="small" font-size="20">multi-backend streaming DOM with CultUI semantics, not another dashboard silo</text>
|
||||
<text x="800" y="58" text-anchor="middle" class="label" font-size="42">THING: THE SURFACE WEB STACK</text>
|
||||
<text x="800" y="92" text-anchor="middle" class="small" font-size="20">multi-backend streaming DOM with Thing Script semantics, not another dashboard silo</text>
|
||||
<g transform="translate(198 155)">
|
||||
<rect class="layer" width="1204" height="105" rx="24"/>
|
||||
<text x="602" y="45" text-anchor="middle" class="label" font-size="28">CULTMESH STATE</text>
|
||||
|
|
@ -33,13 +33,13 @@
|
|||
<path class="flow" d="M800 260 L800 318"/>
|
||||
<g transform="translate(270 318)">
|
||||
<rect class="layer" width="1060" height="118" rx="24" filter="url(#glow)"/>
|
||||
<text x="530" y="50" text-anchor="middle" class="label" font-size="32">CULTUI SEMANTIC DOM</text>
|
||||
<text x="530" y="50" text-anchor="middle" class="label" font-size="32">THING SCRIPT SEMANTIC DOM</text>
|
||||
<text x="530" y="83" text-anchor="middle" class="small" font-size="19">buttons know commands, cards know provenance, panels know project authority</text>
|
||||
</g>
|
||||
<path class="flow" d="M800 436 L800 500"/>
|
||||
<g transform="translate(332 500)">
|
||||
<rect x="0" y="0" width="936" height="100" rx="24" fill="#ff8a2a" stroke="#edf6ff" stroke-width="3"/>
|
||||
<text x="468" y="42" text-anchor="middle" class="dark" font-size="31">EVE STREAMING TRANSPORT</text>
|
||||
<text x="468" y="42" text-anchor="middle" class="dark" font-size="31">THING STREAMING TRANSPORT</text>
|
||||
<text x="468" y="72" text-anchor="middle" class="dark" font-size="18">incremental UI surfaces, command intents, replayable state</text>
|
||||
</g>
|
||||
<g transform="translate(92 682)">
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
|
@ -1,6 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900" role="img" aria-labelledby="title desc">
|
||||
<title id="title">GameCult portfolio value orbit map</title>
|
||||
<desc id="desc">A radial orbit graphic placing Bifrost, Eve, CultMesh, and Sai at the center with portfolio projects orbiting by value layer.</desc>
|
||||
<desc id="desc">A radial orbit graphic placing Bifrost, Thing, CultMesh, and Sai at the center with portfolio projects orbiting by value layer.</desc>
|
||||
<defs>
|
||||
<radialGradient id="bg" cx="50%" cy="50%" r="70%">
|
||||
<stop offset="0" stop-color="#10243a"/>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<line class="line" x1="800" y1="450" x2="510" y2="310"/>
|
||||
<g transform="translate(650 116)">
|
||||
<rect class="chip" width="300" height="95" rx="18"/>
|
||||
<text x="150" y="39" text-anchor="middle" class="label" font-size="25">EVE</text>
|
||||
<text x="150" y="39" text-anchor="middle" class="label" font-size="25">THING</text>
|
||||
<text x="150" y="67" text-anchor="middle" class="small" font-size="17">surface web renderer</text>
|
||||
</g>
|
||||
<g transform="translate(1035 270)">
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
BIN
GameCult/static/stewards/aqua.webp
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
GameCult/static/stewards/eureka.webp
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
GameCult/static/stewards/heimdall.webp
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
GameCult/static/stewards/kiko.webp
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
GameCult/static/stewards/libby.webp
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
GameCult/static/stewards/nibu.webp
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
GameCult/static/stewards/void.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
GameCult/static/stewards/weksa.webp
Normal file
|
After Width: | Height: | Size: 35 KiB |
|
|
@ -99,7 +99,7 @@ Agents in this model are not wrappers around language models. They are bounded p
|
|||
| --- | --- | --- |
|
||||
| **CultCache** | Typed, versioned persistent documents with explicit schema identity and portable storage | Implemented across several runtimes; external interoperability validation still limited |
|
||||
| **CultNet / CultMesh** | Exchange, discovery, authority, and shared semantic state across local or federated systems | Active architecture and implementation; not yet a public standard |
|
||||
| **Eve / CultUI** | One semantic interface description lowered into browser, native, Unity, terminal, overlay, or future clients | Working multi-runtime family with conformance work; accessibility baseline incomplete |
|
||||
| **Thing / Thing Script** | One semantic interface description lowered into browser, native, Unity, terminal, overlay, or future clients | Thing 1 is a working multi-runtime family with conformance work; accessibility baseline incomplete; Thing 2.0 is under construction |
|
||||
| **Epiphany** | Persistent cognition and work control: maps, evidence, bounded roles, verification, and recovery | Active research harness; external evaluation needed |
|
||||
| **Heimdall** | Identity, grants, consent, capability claims, credential custody, and revocation | Implemented service foundation; institutional security review needed |
|
||||
| **Bifrost** | Governed work, discussion, decisions, receipts, contribution records, and public crossings | Working alpha foundation; legal and governance model remains proposed |
|
||||
|
|
@ -133,9 +133,9 @@ The projects exist to pressure one another:
|
|||
- **Aetheria** forces semantic state and world infrastructure to confront a real game rather than a tidy demonstration.
|
||||
- **Ghostlight and future Story Forge work** test whether characters can preserve goals, memory, relationships, and perspective across long-form narrative pressure.
|
||||
- **Aquarium and Fensalir** require cognition and complex state to become observable in a native spatial interface.
|
||||
- **VoidBot, Personas, and StreamPixels** test whether persistent agents can participate in actual communities without confusing sociability with authority.
|
||||
- **Personas and StreamPixels** (and VoidBot, until it retired) test whether persistent agents can participate in actual communities without confusing sociability with authority.
|
||||
- **Mimir, AquaSynth, and Weksa** pressure realtime media, sound, language, timing, and embodied interface boundaries.
|
||||
- **Bifrost, Heimdall, Odin, Huginn, and the Eve runtimes** pressure governance, identity, inspection, discovery, portability, and operations.
|
||||
- **Bifrost, Heimdall, Odin, Huginn, and the Thing runtimes** pressure governance, identity, inspection, discovery, portability, and operations.
|
||||
- **Repixelizer, Brokkr, VibeGeometry, and other utilities** pressure deployment, editor integration, service boundaries, and sustainable delivery.
|
||||
|
||||
This resembles Blender's use of open movie productions to place production-level demands on the tool. It does not mean GameCult has Blender's maturity, adoption, or governance. It means products are used as integration tests whose outputs can improve the common infrastructure.
|
||||
|
|
@ -220,7 +220,7 @@ Select one public-interest workflow where decisions, evidence, responsibilities,
|
|||
|
||||
### Pilot B: one semantic surface, several interfaces
|
||||
|
||||
Publish one small public-service surface through Eve and lower it into at least a browser and a compact terminal or native client. Include keyboard operation, screen-reader inspection, command receipts, and a documented third-party implementation route.
|
||||
Publish one small public-service surface through Thing and lower it into at least a browser and a compact terminal or native client. Include keyboard operation, screen-reader inspection, command receipts, and a documented third-party implementation route.
|
||||
|
||||
**Test:** does the interface remain semantically equivalent without making one renderer the owner of truth?
|
||||
|
||||
|
|
|
|||
|
|
@ -24,14 +24,14 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
|
||||
<div id="gamecult-vn-projects" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Project Atlas</h2>
|
||||
<p>The Persona-first atlas shows which project mind owns each part of the repo swarm, how CultLib and Eve connect their Bodies, and which jurisdictions still need a public face.</p>
|
||||
<p>The Persona-first atlas shows which project mind owns each part of the repo swarm, how CultLib and Thing connect their Bodies, and which jurisdictions still need a public face.</p>
|
||||
<p><a href="/Projects/">Visit the project atlas</a> | <a href="/Docs/Architecture-and-Evidence">Inspect the architecture and evidence</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-norn-map" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Norn</h2>
|
||||
<p>Norn makes architecture and dataflow readable as linked graphs. The job is not to beautify complexity, but to show ownership, movement, neighbors, and evidence without flattening the system into a list.</p>
|
||||
<p><a href="https://github.com/GameCult/Norn">Norn repo</a> | <a href="https://github.com/GameCult/norn-rs">norn-rs</a></p>
|
||||
<p><a href="https://eureka.gamecult.org/forge/GameCult/Norn">Norn repo</a> | <a href="https://github.com/GameCult/norn-rs">norn-rs</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-norn-architecture" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -56,7 +56,7 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
|
||||
<div id="gamecult-vn-norn-future" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Norn Wants</h2>
|
||||
<p>Live Bifrost work frontiers, Epiphany evidence maps, Eve operational surfaces, Ghostlight consequence graphs, and direct graph rooms for every repo in the swarm.</p>
|
||||
<p>Live Bifrost work frontiers, Epiphany evidence maps, Thing operational surfaces, Ghostlight consequence graphs, and direct graph rooms for every repo in the swarm.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-sai-embed" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -85,14 +85,14 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
</div>
|
||||
|
||||
<div id="gamecult-vn-eve-surface-pipeline" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Eve Pipeline</h2>
|
||||
<p>Provider-owned state becomes a CultUI semantic tree; Eve projects it into local renderers; user action becomes command intent; the provider accepts or refuses and publishes updated truth.</p>
|
||||
<p><a href="https://github.com/GameCult/Eve">Eve repo</a></p>
|
||||
<h2>Thing Pipeline</h2>
|
||||
<p>Provider-owned state becomes a Thing Script semantic tree; Thing projects it into local renderers; user action becomes command intent; the provider accepts or refuses and publishes updated truth.</p>
|
||||
<p><a href="https://eureka.gamecult.org/forge/GameCult/Thing">Thing repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-eve-cultui" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Not Remote DOM</h2>
|
||||
<p>CultUI surfaces carry stable widget IDs, typed bindings, command routes, layout intent, permissions, health, and provenance. Arbitrary DOM soup does not get to be infrastructure.</p>
|
||||
<p>Thing Script surfaces carry stable widget IDs, typed bindings, command routes, layout intent, permissions, health, and provenance. Arbitrary DOM soup does not get to be infrastructure.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-eve-backends" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -102,12 +102,12 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
|
||||
<div id="gamecult-vn-eve-commands" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Command Trial</h2>
|
||||
<p>Eve owns projection, hit-testing, and command intent. Providers own truth and command acceptance. That split is the spine.</p>
|
||||
<p>Thing owns projection, hit-testing, and command intent. Providers own truth and command acceptance. That split is the spine.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-eve-canvas" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Native Proof</h2>
|
||||
<p>EveCanvas is the current native shell: UIKit lifecycle and crisp text, OpenGL ES pixels, CADisplayLink frames, CoreMotion telemetry, and no premature claim that telemetry is authority.</p>
|
||||
<p>EveCanvas was the native proof for Eve, now deprecated and succeeded by Thing: UIKit lifecycle and crisp text, OpenGL ES pixels, CADisplayLink frames, CoreMotion telemetry, and no premature claim that telemetry is authority. No native shell is promised here for Thing yet.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-docs" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -145,45 +145,45 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
<div id="gamecult-vn-bifrost" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Bifrost</h2>
|
||||
<p>Bifrost turns public work into inspectable records: proposed tasks, claims, reviews, receipts, contributor history, and the reward/support pressure that must not hide in private chat.</p>
|
||||
<p><a href="/Docs/Bifrost">Bifrost docs</a> | <a href="https://github.com/GameCult/Bifrost">GitHub repo</a></p>
|
||||
<p><a href="/Docs/Bifrost">Bifrost docs</a> | <a href="https://eureka.gamecult.org/forge/GameCult/Bifrost">Forge repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-voidbot" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>VoidBot</h2>
|
||||
<p>VoidBot makes project memory askable: archived Discord history, indexed repos, lore lookup, semantic search, and Codex handoff when chat stops being a sane workspace.</p>
|
||||
<p><a href="/Projects/VoidBot">Project page</a> | <a href="https://github.com/GameCult/VoidBot">GitHub repo</a></p>
|
||||
<p>VoidBot made project memory askable from chat. It retired on 22 Oct 2026; Huginn, Idunn, Bifrost and Eureka's body took its duties, and what has not landed yet is not currently provided.</p>
|
||||
<p><a href="/Projects/VoidBot">Project page</a> | <a href="https://eureka.gamecult.org/forge/GameCult/VoidBot">Forge repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-voidbot-retrieval" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Retrieval Body</h2>
|
||||
<p>VoidBot searches archived Discord history, indexed source trees, Aetheria lore, and local vector stores, then hands deeper work to Codex when chat stops being the right tool.</p>
|
||||
<h2>Retrieval Body (retired)</h2>
|
||||
<p>VoidBot's retrieval searched archived Discord history, indexed source trees, Aetheria lore and local vector stores. Semantic retrieval now belongs to Huginn; its prose index is planned, not live.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-voidbot-pipe" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Bot / Worker Split</h2>
|
||||
<p>The Discord gateway and permissions stay in the bot lane; heavier jobs and MCP tools live in the worker lane. Transport is not truth.</p>
|
||||
<h2>Bot / Worker Split (retired)</h2>
|
||||
<p>VoidBot kept the Discord gateway and permissions in the bot lane and heavier jobs and MCP tools in the worker lane. The lanes are gone with the bot; the lesson stays: transport is not truth.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-voidbot-memory" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Social Memory</h2>
|
||||
<p>Interaction memory, audit events, self-state projection, speech receipts, and candidate interventions let the bot remember without pretending a read is a verdict.</p>
|
||||
<h2>Social Memory (retired)</h2>
|
||||
<p>VoidBot's interaction memory, audit events and speech receipts let it remember without pretending a read is a verdict. Persona state now lives in Huginn.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-voidbot-personas" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Repo Personas</h2>
|
||||
<p>Repo Personas grow from indexed bodies and webhook speech. A project should greet you, explain itself, and point at evidence without pretending the avatar is the source of truth.</p>
|
||||
<p>Repo Personas began as VoidBot's indexed bodies and webhook speech. A project should greet you, explain itself, and point at evidence without pretending the avatar is the source of truth.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-cultlib" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>CultLib</h2>
|
||||
<p>CultLib is the shared record shelf: typed documents first, protocol names second, and no convenient blob crowned as truth just because it was nearby.</p>
|
||||
<p><a href="/Projects/CultLib">Project page</a> | <a href="https://github.com/GameCult/CultLib">GitHub repo</a></p>
|
||||
<p><a href="/Projects/CultLib">Project page</a> | <a href="https://eureka.gamecult.org/forge/GameCult/CultLib">Forge repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-heimdall" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Heimdall</h2>
|
||||
<p>The identity and capability authority taking shape for GameCult apps: OAuth, linked identities, grants, consent, revocation, and signed claims.</p>
|
||||
<p><a href="/Projects/Heimdall">Project page</a> | <a href="https://github.com/GameCult/Heimdall">GitHub repo</a></p>
|
||||
<p><a href="/Projects/Heimdall">Project page</a> | <a href="https://eureka.gamecult.org/forge/GameCult/Heimdall">Forge repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-proof" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -253,7 +253,7 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
<div id="gamecult-vn-weksa" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Weksa</h2>
|
||||
<p>Ontology-first language work: source text to interlingua, alien ontology, grammar, morphology, phonology, diachrony, renderer, gloss, and trace.</p>
|
||||
<p><a href="https://github.com/GameCult/weksa">Weksa repo</a></p>
|
||||
<p><a href="https://eureka.gamecult.org/forge/GameCult/Weksa">Weksa repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-streampixels" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -265,19 +265,19 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
<div id="gamecult-vn-aquasynth" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>AquaSynth</h2>
|
||||
<p>Patch graph contracts, `.aqua` authoring, SFXR mapping, Faust generation, and the research path toward alien vocal-tract synthesis with Weksa utterance structures.</p>
|
||||
<p><a href="https://github.com/GameCult/AquaSynth">AquaSynth repo</a></p>
|
||||
<p><a href="https://eureka.gamecult.org/forge/GameCult/AquaSynth">AquaSynth repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-repixelizer" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>Repixelizer</h2>
|
||||
<p>Pixel-art reconstruction as diagnosis: infer the grid, expose lattice mistakes, rebuild phase fields, sample source pixels, snap alpha, and optionally quantize palette.</p>
|
||||
<p><a href="/Projects/repixelizer">Project page</a> | <a href="https://github.com/GameCult/repixelizer">Repo</a></p>
|
||||
<p><a href="/Projects/repixelizer">Project page</a> | <a href="https://eureka.gamecult.org/forge/GameCult/repixelizer">Repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-vibegeometry" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
<h2>VibeGeometry</h2>
|
||||
<p>Runtime shape work around Rust CSG: tree intent, LOD-aware hierarchy, selected cuts, and generated geometry outputs with inspectable transformation receipts.</p>
|
||||
<p><a href="/Projects/VibeGeometry">Project page</a> | <a href="https://github.com/GameCult/VibeGeometry">Repo</a></p>
|
||||
<p><a href="/Projects/VibeGeometry">Project page</a> | <a href="https://eureka.gamecult.org/forge/GameCult/VibeGeometry">Repo</a></p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-visual-tools" class="gamecult-vn-source-card" data-sai-dom-source="true">
|
||||
|
|
@ -294,13 +294,13 @@ description: "A full-screen visual novel tour through GameCult's public wiki, pr
|
|||
<div id="gamecult-vn-moonshot" class="gamecult-vn-source-card gamecult-vn-graphic-card" data-sai-dom-source="true">
|
||||
<h2>Moonshot Trajectory</h2>
|
||||
<img src="/static/interactive/portfolio-pitch/figures/moonshot-trajectory.svg" alt="GameCult moonshot trajectory graphic" />
|
||||
<p>Bifrost, Eve, CultMesh, and Sai form the launch path from worker-owned production into the cooperative surface web.</p>
|
||||
<p>Bifrost, Thing, CultMesh, and Sai form the launch path from worker-owned production into the cooperative surface web.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-surface-stack" class="gamecult-vn-source-card gamecult-vn-graphic-card" data-sai-dom-source="true">
|
||||
<h2>Eve Surface Web Stack</h2>
|
||||
<img src="/static/interactive/portfolio-pitch/figures/surface-web-stack.svg" alt="Eve surface web stack graphic" />
|
||||
<p>Eve streams CultUI semantics across web, desktop, mobile, game UI, and creator overlays without splitting truth into dashboard islands.</p>
|
||||
<h2>Thing Surface Web Stack</h2>
|
||||
<img src="/static/interactive/portfolio-pitch/figures/surface-web-stack.svg" alt="Thing surface web stack graphic" />
|
||||
<p>Thing streams Thing Script semantics across web, desktop, mobile, game UI, and creator overlays without splitting truth into dashboard islands.</p>
|
||||
</div>
|
||||
|
||||
<div id="gamecult-vn-patronage-furnace" class="gamecult-vn-source-card gamecult-vn-graphic-card" data-sai-dom-source="true">
|
||||
|
|
|
|||
|
|
@ -2,6 +2,14 @@
|
|||
|
||||
`gamecult-site` is the public `gamecult.org` root site: studio pitch, projects, docs, blog, and the usual pile of ambitions trying to look organized in public.
|
||||
|
||||
**Valuable here:** the GameCult brand, defined in code: `site/quartz.config.ts` (`configuration.theme`: typefaces, weights, palette tokens) and `site/quartz/styles/custom.scss` (ground wash, layout, page-type variants). `docs/brand-design-language.md` explains which decisions there were deliberate. Anything with a visual surface in the swarm follows this rather than inventing a look. Second, the published content: `GameCult/index.md` (manifesto), `GameCult/Projects/` (one public page per project), `GameCult/Blog/`, `GameCult/Docs/`.
|
||||
|
||||
**Problem it solves:** the studio needs one public face and one visual identity that every repo and agent can read from source, instead of prose descriptions that drift. The Quartz engine itself is shared and lives in `GameCult/GameCult-Quartz`; this repo owns only the content and the GameCult overlay.
|
||||
|
||||
**Entry points:** `site/quartz.config.ts`, `site/quartz.layout.ts`, `docs/brand-design-language.md`, `GameCult/`; build with `scripts/quartz/quartz.ps1 build` (see Local Development).
|
||||
|
||||
**Live versus planned:** live is the site at gamecult.org, deployed to GitHub Pages from `main` by `.github/workflows/deploy-quartz.yml`, built on the shared engine in `GameCult/GameCult-Quartz` (extraction rationale: `docs/gamecult-quartz-extraction-plan.md`). In progress is the masthead and one-column redesign campaign (`docs/masthead-campaign.md` and the `docs/masthead-cut-*.spec.json` cut specs); treat that document as the plan, not as a description of the site today.
|
||||
|
||||
The site builds against the shared `GameCult-Quartz` engine. This repo owns published content and the GameCult overlay.
|
||||
|
||||
## Repo Shape
|
||||
|
|
|
|||
|
|
@ -116,8 +116,13 @@ of filling the row.
|
|||
|
||||
## Layout
|
||||
|
||||
The site is one centred column. Its width is `--gamecult-column` (72rem),
|
||||
declared on `body` and applied once, as `.page`'s `max-width`. The masthead, the
|
||||
The site is one column that fills the screen. Its width is `--gamecult-column`
|
||||
(120rem, so the page runs edge to edge up to 1920px and monitors wider than that
|
||||
get side margins), declared on `body` and applied once, as `.page`'s
|
||||
`max-width`. Running prose (paragraphs, captions and definitions anywhere in the
|
||||
article, and the article's own lists and quotes) keeps a line of at most
|
||||
`--gamecult-measure` (76ch); tables, media, code, math and each page's own
|
||||
blocks take the column's width. The masthead, the
|
||||
article and the site footer fill that column and share its left and right edges
|
||||
on every page; nothing is centred inside it, and no page places anything beside
|
||||
it. On `/tour` and `/Pitch` the visual novel is the whole page and the masthead
|
||||
|
|
|
|||
16
docs/research/stale-claims-project-page.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Stale claims: GameCult/Projects/VoidBot.md
|
||||
|
||||
Serves follow-up `void-body:follow_up:chat-s335-340`. Page read at gamecult-site 84cf7d6. Ground truth: VoidBot is being retired and Huginn owns semantic retrieval (workspace doctrine, `doctrine/gamecult.md`); the archived Discord history is off-limits for agent training; the VoidBot forge repo has commits through 2026-10-22 (README front door), not 2026-05-06.
|
||||
|
||||
1. `GameCult/Projects/VoidBot.md:3` description: "Discord-native assistant ... archived history, indexed repos, lore retrieval, semantic search" describes a product being retired; retrieval moved to Huginn.
|
||||
2. `GameCult/Projects/VoidBot.md:4` socialDeck: "Discord memory, repo retrieval, Codex handoff." same retired framing.
|
||||
3. `GameCult/Projects/VoidBot.md:9` tagline: "A Discord-native assistant, ... one more opinionated little archivist." presents it as a live server resident.
|
||||
4. `GameCult/Projects/VoidBot.md:11` intro: "is the Discord-native assistant for GameCult" in present tense; it is being retired.
|
||||
5. `GameCult/Projects/VoidBot.md:11` "answers out of archived chat history ... runs semantic search" is the capability Huginn now owns.
|
||||
6. `GameCult/Projects/VoidBot.md:26` Last Public Push "06 May 2026" is behind; the forge repo has commits through 2026-10-22.
|
||||
7. `GameCult/Projects/VoidBot.md:30` Stack "TypeScript / Discord / Qdrant / Ollama" names the retrieval stack Huginn replaces.
|
||||
8. `GameCult/Projects/VoidBot.md:34` Status "Active Discord assistant" contradicts the retirement.
|
||||
9. `GameCult/Projects/VoidBot.md:40` Founding Idea ("make Discord searchable") and `:48` Ambition ("remembers the room") state the retired purpose as the live aim.
|
||||
10. `GameCult/Projects/VoidBot.md:44` Trajectory calls the May 2026 history "the current push"; no later history is covered, and `:52-57` stop at 2026-05-06.
|
||||
|
||||
Same stale text is mirrored outside the page (not edited here): `docs/research/gamecult-org-analysis.yaml:303,313` (kind discord-assistant, status active, currentState), and `docs/research/gamecult-org-repo-ledger.json`.
|
||||
18
scripts/checks/rule-token.mjs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
// Target invariant site-masthead:one-rule-token: no literal hairline colour in custom.scss;
|
||||
// every grouping rule (1px single-side border, column-rule) reads --gamecult-rule.
|
||||
// The VN speaker card is game UI, not grouping, and keeps its own edge colours.
|
||||
import { readFileSync } from "node:fs"
|
||||
|
||||
const path = process.argv[2] ?? "site/quartz/styles/custom.scss"
|
||||
const hairline = /^\s*(border-(top|bottom|left|right)|column-rule):\s*1px solid\s+(rgba?\(|#)/
|
||||
let selector = ""
|
||||
const bad = []
|
||||
readFileSync(path, "utf8").split("\n").forEach((line, i) => {
|
||||
if (line.trimEnd().endsWith("{")) selector = line
|
||||
if (hairline.test(line) && !selector.includes("sai-speaker")) bad.push(`${path}:${i + 1}: ${line.trim()}`)
|
||||
})
|
||||
if (bad.length) {
|
||||
console.error(`literal hairlines (use var(--gamecult-rule)):\n${bad.join("\n")}`)
|
||||
process.exit(1)
|
||||
}
|
||||
console.log("one-rule-token: ok")
|
||||
|
|
@ -81,7 +81,8 @@ const config: QuartzConfig = {
|
|||
Plugin.GitHubFlavoredMarkdown(),
|
||||
Plugin.CrawlLinks({ markdownLinkResolution: "shortest" }),
|
||||
Plugin.Description(),
|
||||
Plugin.Latex({ renderEngine: "katex" }),
|
||||
// MathML beside the visible KaTeX: screen readers read it, KaTeX hides it visually.
|
||||
Plugin.Latex({ renderEngine: "katex", katexOptions: { output: "htmlAndMathml" } }),
|
||||
],
|
||||
filters: [Plugin.RemoveDrafts()],
|
||||
emitters: [
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import * as Component from "./quartz/components"
|
|||
import GameCultMasthead from "./quartz/components/GameCultMasthead"
|
||||
import GameCultArticleMeta from "./quartz/components/GameCultArticleMeta"
|
||||
import GameCultThemeLock from "./quartz/components/GameCultThemeLock"
|
||||
import GameCultEstateDoors from "./quartz/components/GameCultEstateDoors"
|
||||
|
||||
const isGraphPage = (page: any) => page.fileData.slug === "Graph"
|
||||
const isThingPage = (page: any) => page.fileData.slug === "Thing"
|
||||
|
|
@ -15,7 +16,7 @@ const isBlogArticle = (page: any) =>
|
|||
export const sharedPageComponents: SharedLayout = {
|
||||
head: Component.Head(),
|
||||
header: [GameCultThemeLock(), GameCultMasthead()],
|
||||
afterBody: [],
|
||||
afterBody: [GameCultEstateDoors()],
|
||||
footer: Component.Footer({
|
||||
links: {
|
||||
GitHub: "https://github.com/GameCult",
|
||||
|
|
|
|||
55
site/quartz/components/GameCultEstateDoors.tsx
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
import { QuartzComponent, QuartzComponentConstructor } from "./types"
|
||||
|
||||
// Without scripts all three doors stay visible. With scripts the page grows a
|
||||
// tab row and shows one door at a time.
|
||||
const estateDoorsScript = `
|
||||
document.addEventListener("nav", () => {
|
||||
const root = document.querySelector("[data-estate-doors]")
|
||||
if (!root || root.dataset.ready) return
|
||||
root.dataset.ready = "1"
|
||||
const doors = Array.from(root.querySelectorAll(".estate-door"))
|
||||
const bar = document.createElement("div")
|
||||
bar.className = "estate-switch"
|
||||
bar.setAttribute("role", "tablist")
|
||||
const tabs = doors.map((door) => {
|
||||
const tab = document.createElement("button")
|
||||
tab.type = "button"
|
||||
tab.className = "estate-tab"
|
||||
tab.id = "tab-" + door.id
|
||||
tab.setAttribute("role", "tab")
|
||||
tab.setAttribute("aria-controls", door.id)
|
||||
tab.textContent = door.dataset.estate
|
||||
door.setAttribute("role", "tabpanel")
|
||||
door.setAttribute("aria-labelledby", tab.id)
|
||||
bar.appendChild(tab)
|
||||
return tab
|
||||
})
|
||||
const show = (i, focus) => {
|
||||
doors.forEach((d, j) => {
|
||||
d.hidden = j !== i
|
||||
tabs[j].setAttribute("aria-selected", String(j === i))
|
||||
tabs[j].tabIndex = j === i ? 0 : -1
|
||||
})
|
||||
if (focus) tabs[i].focus()
|
||||
}
|
||||
tabs.forEach((tab, i) => {
|
||||
tab.addEventListener("click", () => show(i, false))
|
||||
tab.addEventListener("keydown", (e) => {
|
||||
const step = e.key === "ArrowRight" ? 1 : e.key === "ArrowLeft" ? -1 : 0
|
||||
if (step) {
|
||||
e.preventDefault()
|
||||
show((i + step + tabs.length) % tabs.length, true)
|
||||
}
|
||||
})
|
||||
})
|
||||
root.insertBefore(bar, root.firstChild)
|
||||
const hashed = doors.findIndex((d) => "#" + d.id === location.hash)
|
||||
show(Math.max(hashed, 0), false)
|
||||
})
|
||||
`
|
||||
|
||||
export default (() => {
|
||||
const GameCultEstateDoors: QuartzComponent = () => null
|
||||
GameCultEstateDoors.afterDOMLoaded = estateDoorsScript
|
||||
return GameCultEstateDoors
|
||||
}) satisfies QuartzComponentConstructor
|
||||
|
|
@ -30,8 +30,11 @@ body {
|
|||
--gamecult-rule: rgba(148, 163, 184, 0.22);
|
||||
/* The ground's radial intensity; 1 on the home page. */
|
||||
--gamecult-wash: 0.5;
|
||||
/* The site's one column; .page's max-width; the masthead, article and footer share its edges. */
|
||||
--gamecult-column: 72rem;
|
||||
/* The site's one column; .page's max-width; the masthead, article and footer share its edges.
|
||||
The page fills the screen up to 1920px; only wider monitors get side margins. */
|
||||
--gamecult-column: 120rem;
|
||||
/* The reading measure: the longest line of running prose, wherever the column ends. */
|
||||
--gamecult-measure: 76ch;
|
||||
}
|
||||
|
||||
body[data-slug="index"] {
|
||||
|
|
@ -313,7 +316,7 @@ body[data-slug="Blog/witness-authoritative-networking"] {
|
|||
.ritual-paper-results-strip span {
|
||||
padding: 0.85rem 0.65rem;
|
||||
color: rgba(232, 237, 244, 0.88);
|
||||
border-right: 1px solid rgba(255, 178, 30, 0.2);
|
||||
border-right: 1px solid var(--gamecult-rule);
|
||||
font-family: "IBM Plex Mono", Consolas, monospace;
|
||||
font-size: 0.76rem;
|
||||
line-height: 1.45;
|
||||
|
|
@ -355,7 +358,6 @@ body[data-slug="Blog/witness-authoritative-networking"] {
|
|||
.katex-display {
|
||||
margin: 1.15rem 0;
|
||||
padding: 0.8rem 1rem;
|
||||
overflow-x: auto;
|
||||
border: 1px solid rgba(96, 119, 255, 0.38);
|
||||
border-radius: 6px;
|
||||
background:
|
||||
|
|
@ -369,7 +371,7 @@ body[data-slug="Blog/witness-authoritative-networking"] {
|
|||
gap: 1rem;
|
||||
margin: 2rem 0 0;
|
||||
padding-top: 0.95rem;
|
||||
border-top: 1px solid rgba(174, 189, 210, 0.2);
|
||||
border-top: 1px solid var(--gamecult-rule);
|
||||
column-span: all;
|
||||
}
|
||||
|
||||
|
|
@ -405,7 +407,7 @@ body[data-slug="Blog/witness-authoritative-networking"] {
|
|||
.ritual-paper-page {
|
||||
column-count: 2;
|
||||
column-gap: 2.6rem;
|
||||
column-rule: 1px solid rgba(49, 88, 255, 0.2);
|
||||
column-rule: 1px solid var(--gamecult-rule);
|
||||
}
|
||||
|
||||
.ritual-paper-page::before,
|
||||
|
|
@ -849,10 +851,17 @@ article > h6 {
|
|||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Running prose keeps a readable line wherever it sits: tables, media, code, math and the page's own blocks take the
|
||||
column's width, but the paragraphs, captions and definitions inside them do not. */
|
||||
article :is(p, figcaption, dd, .integrated-dossier-note, .integrated-dossier-lead),
|
||||
article > :is(ul, ol, blockquote, dl):not(.gamecult-entries) {
|
||||
max-width: var(--gamecult-measure);
|
||||
}
|
||||
|
||||
/* KaTeX does not break inside a formula, so math wider than the column scrolls
|
||||
in its own paragraph or display block instead of widening the page; math that
|
||||
fits shows no scrollbar. */
|
||||
article p:has(.katex),
|
||||
in its own block (paragraph, list item, heading, table cell, display block)
|
||||
instead of widening the page; math that fits shows no scrollbar. */
|
||||
article :is(p, li, h1, h2, h3, h4, h5, h6, th, td):has(.katex),
|
||||
article .katex-display {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
|
|
@ -1537,7 +1546,7 @@ body[data-slug="Pitch"] .gamecult-compound-vn .sai-speaker-stage.has-dom-cards {
|
|||
}
|
||||
|
||||
.gamecult-studio-page > p {
|
||||
max-width: 76ch;
|
||||
max-width: var(--gamecult-measure);
|
||||
margin: 1rem 0;
|
||||
color: var(--gamecult-studio-copy);
|
||||
font-size: 1.06rem;
|
||||
|
|
@ -2022,3 +2031,181 @@ article.integrated-dossier-page {
|
|||
@media (max-width: 800px) {
|
||||
.swarm-directory { grid-template-columns: minmax(0, 1fr); }
|
||||
}
|
||||
|
||||
/* Projects: one section per steward Mind, portrait beside its pitch. */
|
||||
.steward-index {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.5rem 1.6rem;
|
||||
margin: 1.5rem 0 1rem;
|
||||
}
|
||||
|
||||
.steward-index a {
|
||||
font-family: var(--titleFont);
|
||||
font-size: 1.05rem;
|
||||
}
|
||||
|
||||
.steward-index span {
|
||||
margin-left: 0.3rem;
|
||||
color: var(--gray);
|
||||
font-family: var(--bodyFont);
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.steward {
|
||||
display: grid;
|
||||
grid-template-columns: 11rem minmax(0, 1fr);
|
||||
gap: 2rem;
|
||||
align-items: start;
|
||||
padding-top: 2rem;
|
||||
margin-top: 2rem;
|
||||
border-top: 1px solid var(--gamecult-rule);
|
||||
scroll-margin-top: 1rem;
|
||||
}
|
||||
|
||||
.steward-portrait {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.steward-body h2 {
|
||||
margin: 0.3rem 0 0.8rem;
|
||||
}
|
||||
|
||||
.steward-voice {
|
||||
color: var(--gamecult-studio-copy);
|
||||
font-size: 1.08rem;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.steward-projects {
|
||||
max-width: 72ch;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 1.2rem 0 0;
|
||||
}
|
||||
|
||||
.steward-projects li {
|
||||
margin: 0 0 0.95rem;
|
||||
line-height: 1.5;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.steward-projects li > a:first-of-type {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.steward-projects li em {
|
||||
display: block;
|
||||
margin-top: 0.15rem;
|
||||
color: var(--gamecult-studio-copy);
|
||||
font-size: 0.95rem;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
.steward {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
.steward-portrait {
|
||||
width: 8rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Stacked entries: name and status on one line, description full width beneath.
|
||||
Ruled rows, no fill, border box or pill, per the Surfaces law. */
|
||||
.gamecult-entries {
|
||||
margin: 1rem 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.gamecult-entry {
|
||||
padding: 0.85rem 0;
|
||||
border-top: 1px solid var(--gamecult-rule);
|
||||
}
|
||||
|
||||
.gamecult-entry p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.gamecult-entry-head {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: baseline;
|
||||
justify-content: space-between;
|
||||
gap: 0.2rem 1rem;
|
||||
}
|
||||
|
||||
.gamecult-entry-name {
|
||||
min-width: 0;
|
||||
overflow-wrap: anywhere;
|
||||
color: var(--dark);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.gamecult-entry-status {
|
||||
flex: none;
|
||||
color: rgba(255, 138, 42, 0.96);
|
||||
font-family: var(--titleFont);
|
||||
font-size: 0.76rem;
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.gamecult-entry-body {
|
||||
margin-top: 0.25rem;
|
||||
color: rgba(183, 199, 217, 0.88);
|
||||
font-size: 0.94rem;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.gamecult-entry-lead::first-letter {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* Estate doors: one pitch at a time when scripts run; all three stacked when not. */
|
||||
.estate-switch {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.5rem;
|
||||
margin: 1rem 0 0.5rem;
|
||||
}
|
||||
|
||||
.estate-tab {
|
||||
flex: 1 1 8rem;
|
||||
min-height: 44px;
|
||||
padding: 0.5rem 1rem;
|
||||
border: 1px solid var(--gamecult-rule);
|
||||
border-radius: 0;
|
||||
background: transparent;
|
||||
color: var(--dark);
|
||||
font-family: var(--titleFont);
|
||||
font-size: 0.82rem;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.estate-tab[aria-selected="true"] {
|
||||
border-color: rgba(255, 138, 42, 0.96);
|
||||
color: rgba(255, 138, 42, 0.96);
|
||||
}
|
||||
|
||||
.estate-tab:focus-visible {
|
||||
outline: 2px solid rgba(255, 138, 42, 0.96);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.estate-door[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.estate-door h3 {
|
||||
margin-top: 1.4rem;
|
||||
}
|
||||
|
|
|
|||