Add public repo atlas and projects dropdown
This commit is contained in:
parent
ec6c6871f1
commit
ad48f490b8
20 changed files with 4416 additions and 25 deletions
64
GameCult/Projects/Aetheria-Economy.md
Normal file
64
GameCult/Projects/Aetheria-Economy.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
---
|
||||
title: Aetheria-Economy
|
||||
description: "Playable Aetheria code: Unity runtime, ships, galaxy systems, UI, networking, and the long attempt to make the flagship universe physically real."
|
||||
socialDeck: "Where Aetheria stops being lore and becomes a ship."
|
||||
---
|
||||
|
||||
# Aetheria-Economy
|
||||
|
||||
*"The flagship runtime: ships, systems, logistics, heat, UI, and all the other rude parts that turn setting notes into a game."*
|
||||
|
||||
Aetheria-Economy is the public codebase where Aetheria stops being cosmology and starts becoming a machine. It is the Unity repo for the playable side of the flagship universe: flight, map systems, UI, networking experiments, editors, rendering, data plumbing, and the ongoing effort to make a galaxy feel like more than a mood board with a ship pasted over it.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/Aetheria-Economy">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://aetheria.gamecult.org">Public Setting Site</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/AetheriaLore">AetheriaLore</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">18 Feb 2020</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">30 Apr 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">C# / Unity</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active flagship runtime</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was never "make a tiny ship prototype and call it a day." Right out of the gate the public history shows client/server communication, a galaxy editor, database support, zone rendering tests, market work, title screens, and a networking stack swap. The repo was trying to host a whole world, not a tech toy.
|
||||
|
||||
That matters because Aetheria's ambitions are structurally rude. It wants cockpit action, economic systems, factional scale, and enough simulation to let logistics become gameplay instead of menu garnish. A repo like this exists because that kind of project needs an actual spine.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The history breaks into visible eras. The 2020 phase is a land rush: core Unity scaffolding, networking, galaxy tooling, menus, market surfaces, server delivery, and all the early "can this even stand up" work that leaves commit messages looking half exhilarated and half sleep-deprived.
|
||||
|
||||
Then the public branch goes through later revitalization waves: playability passes in 2022, performance and nebula/rendering work, then a more recent 2025-2026 line full of Unity 6 upgrades, gravity surface work, map bugfixes, lore synchronization, and finally the Epiphany editor bridge. That last bit is especially telling. The repo is no longer just trying to run a game. It is starting to plug into a broader studio tooling ecosystem.
|
||||
|
||||
The public branch also does not capture the whole life of the project cleanly. There are clear signs of branch surgery, imported work, and rewritten emphasis. That is not a problem for the page. It is a clue. This is a living flagship repo, not a museum exhibit with perfect provenance labels.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition here is still the dangerous one: a playable wedge of the broader Aetheria machine that can prove ships, routes, heat, stakes, and scale without pretending the whole galaxy has to ship at once. The repo wants to carry more than a vertical slice, but it also knows better now than to demand the moon before it can keep the hull together.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2020-02-26` `Initial Client/Server Communication`
|
||||
- `2020-03-11` `Porting Galaxy Editor`
|
||||
- `2020-03-22` `Database Support`
|
||||
- `2020-03-24` `Out with MagicOnion, in with LiteNetLib`
|
||||
- `2022-08-08` `Playability`
|
||||
- `2025-07-10` `Unity 6 Upgrade + Solid Gravity Surface`
|
||||
- `2026-04-30` `Add Epiphany Unity editor bridge`
|
||||
60
GameCult/Projects/AetheriaLore.md
Normal file
60
GameCult/Projects/AetheriaLore.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
title: AetheriaLore
|
||||
description: "Canonical Aetheria vault: lore, design notes, stories, media studies, and the public recovery surface for the setting."
|
||||
socialDeck: "The canonical vault for Aetheria's lore and design."
|
||||
---
|
||||
|
||||
# AetheriaLore
|
||||
|
||||
*"The setting archive, the design notebook, and the public continuity discipline that keeps Aetheria from becoming contradictory soup."*
|
||||
|
||||
AetheriaLore is the canonical vault for the flagship universe: lore, design notes, story work, media references, continuity repairs, and the Quartz-driven public site that makes all of that navigable for normal humans instead of just whoever already knows where the bodies are buried.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/AetheriaLore">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://aetheria.gamecult.org">Live Site</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/Aetheria-Economy">Aetheria-Economy</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">18 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">05 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">Markdown / Quartz</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active canon vault</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was blunt and overdue: gather the lore, themes, design notes, and fiction into one canonical workspace where the setting can actually be revised, linked, and argued with. Aetheria had too much history to keep living as scattered files, half-remembered Discord conversations, and personal hard drive archaeology.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The repo begins like a recovery operation. First comes the import and README cleanup. Then the structure gets serious: pre-Elysium factions, timeline work, narrative themes, politics updates, thermal-tech, Cognitum material, and local RAG tooling so the vault becomes searchable instead of merely large.
|
||||
|
||||
Very quickly the repo also grows a public skin. Quartz arrives. The front page gets rebuilt. Story metadata gets restored. Folder pages start behaving. Design hierarchies deepen. Continuity mismatches are flagged instead of quietly fermenting. By early May the project has stopped being "an Obsidian folder on GitHub" and turned into a real public-facing lore surface with an editorial stance.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition here is not just preservation. It is canonicalization with enough flexibility to support future game work. AetheriaLore exists so setting, game design, fiction, and public communication can share one source of truth without flattening each other into mush.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-04-18` `Initial commit`
|
||||
- `2026-04-19` `Add local RAG tooling for vault navigation`
|
||||
- `2026-04-19` `Add Narrative Themes`
|
||||
- `2026-04-19` `Static Wiki Site via Quartz`
|
||||
- `2026-04-30` `Restructure Aetheria front page and import story metadata`
|
||||
- `2026-05-01` `Restore visual Aetheria front page`
|
||||
- `2026-05-01` `Expand Aetheria game design hierarchy`
|
||||
56
GameCult/Projects/CultLib.md
Normal file
56
GameCult/Projects/CultLib.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
title: CultLib
|
||||
description: "Shared C# substrate for GameCult code: data, UI, networking, persistence, and the parts that should stop being rewritten every week."
|
||||
socialDeck: "Shared C# substrate for the studio's runtime mess."
|
||||
---
|
||||
|
||||
# CultLib
|
||||
|
||||
*"All the reusable parts that were tired of being copy-pasted between larger disasters."*
|
||||
|
||||
CultLib is the shared C# substrate for GameCult runtime code. It is where persistence, UI remnants, networking layers, security fixes, schema work, and other reusable machinery get pulled into one place instead of being rediscovered in five separate projects like a cursed office supply drawer.
|
||||
|
||||
<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="/Projects/cultcache-ts">cultcache-ts</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/cultnet-ts">cultnet-ts</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">18 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>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">C# / Unity-adjacent libs</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active shared library</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was not glamorous. It was correct. Shared runtime machinery should live in a shared repo instead of being smeared across project codebases until no one can tell which copy is the cursed one.
|
||||
|
||||
## Trajectory
|
||||
|
||||
CultLib starts with dependency updates, JSON backing store work, I/O fixes, security cleanup, and a full CultUI port away from legacy prefab residue. Then, a couple of weeks later, the repo pivots harder toward protocol and persistence concerns: MessagePack key stability, CultNet schema discovery, wire compatibility, and an interop harness that makes it clear the library is no longer just local utility code. It is becoming the C# side of a broader studio protocol stack.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is to become the boring center of gravity other repos can lean on: storage that behaves, schemas that survive, message formats that stay compatible, and runtime helpers that do not need to be reinvented whenever somebody opens Unity with fresh ideas and insufficient restraint.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-04-18` `JSON backing store, I/O fixes, Networking Security`
|
||||
- `2026-04-18` `Complete CultUI Port and remove legacy UI prefabs and scripts`
|
||||
- `2026-05-06` `Add schema discovery messages to CultNet`
|
||||
- `2026-05-06` `Bring legacy CultNet into the schema-v0 fold`
|
||||
- `2026-05-06` `Add CultNet C# interop peer harness`
|
||||
|
|
@ -10,6 +10,29 @@ 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>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">25 Sep 2020</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">25 Sep 2020</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">C# / Unity</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Dormant prototype</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-embed-frame">
|
||||
<iframe
|
||||
src="https://www.youtube-nocookie.com/embed/bGHYWuH4Bzw"
|
||||
|
|
@ -26,3 +49,22 @@ Every unlockable paddle changes the geometry of a match. Different shapes create
|
|||
The bash mechanic is what makes the whole thing dangerous. Players can lunge into the ball and spike its momentum hard enough to turn a rally into a split-second shootout. Winning is not just about reflexes. It is about prediction, bait, and the kind of mind games that ruin friendships in exactly the right way.
|
||||
|
||||
Because matches are short, readable, and easy to return to, CultPong makes sense as an online game with ranked play, tournaments, cosmetics, and maybe a mobile future if the latency tech earns it.
|
||||
|
||||
## Repository Trajectory
|
||||
|
||||
The public repo tells on itself immediately: two commits on the same morning, the second one already labeled `Initial Commit (broken due to version update)`. That is not a slow-burn product diary. That is a prototype making a dramatic entrance, tripping over the version floorboards, and lying there with real potential anyway.
|
||||
|
||||
The structure in the repo still matters. Even in that tiny burst you can see the intended shape: a full Unity project, assets, project settings, and a `Serverside Code` directory because this was never supposed to be a purely local toy. CultPong was aimed at online competitive play from the start.
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea is almost offensively clean: take Pong, exaggerate the geometry, add a bash mechanic, and build a game where paddle shape, angle control, and split-second reversals create the actual skill ceiling. Not "Pong but prettier." Pong but openly willing to start trouble.
|
||||
|
||||
## Ambition
|
||||
|
||||
CultPong's ambition was bigger than its public repo lifespan suggests. The match structure wants ranked play, tournaments, unlockable paddle identities, and a whole small competitive culture built around deliberately readable chaos. The prototype died young. The idea did not. It just kept lurking until the newer revival surfaces started to appear elsewhere.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2020-09-25` `Initial commit`
|
||||
- `2020-09-25` `Initial Commit (broken due to version update)`
|
||||
|
|
|
|||
53
GameCult/Projects/GCLP.md
Normal file
53
GameCult/Projects/GCLP.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
title: GCLP
|
||||
description: "The original public seed of the GameCult Labor Platform idea: tiny repo, large intent, later reincarnated more seriously as Bifrost."
|
||||
socialDeck: "A one-commit fossil with a dangerous amount of intent."
|
||||
---
|
||||
|
||||
# GCLP
|
||||
|
||||
*"One commit, one README, one very large idea refusing to die politely."*
|
||||
|
||||
GCLP is the original public stub of the GameCult Labor Platform. The repo is almost comically small. The idea inside it was not. This is the public fossil of the studio's long-running attempt to drag work assignment, patronage, contributor history, and payout logic out of folklore and into software.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/GCLP">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="/Docs/Bifrost">Bifrost</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">02 Oct 2020</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">02 Oct 2020</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">README and nerve</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Legacy seed</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was already the right one: a studio should not run on memory, vibes, and whoever still remembers what got promised in chat. The labor platform concept wanted a real structure for members, work, governance, patronage, and compensation years before the current buildout had the time or infrastructure to make it real.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The public repo itself does not have much of one. It is a single initial commit with a tiny README. That sounds almost insulting until you remember that some ideas spend years in the "one obvious paragraph" stage before they finally earn an implementation budget.
|
||||
|
||||
The important trajectory happens after the public repo goes quiet. The concept resurfaces later as a more serious application effort with a real stack, a real deploy target, and a less romantic relationship to spreadsheets. In other words: GCLP is the seed. Bifrost is the part that grew a body.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition never got smaller. If anything, it got less naive. GCLP wanted a studio operating system. Bifrost still wants that. The difference is that the newer effort knows which parts need boring software, which parts need policy, and which parts should not be allowed to touch money until they have earned some adult supervision.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2020-10-02` `Initial commit`
|
||||
56
GameCult/Projects/GameCult-Quartz.md
Normal file
56
GameCult/Projects/GameCult-Quartz.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
title: GameCult-Quartz
|
||||
description: "Shared Quartz engine for GameCult static sites, extracted so the websites can diverge where it matters without duplicating the plumbing."
|
||||
socialDeck: "Shared site engine, fewer fake forks, less suffering."
|
||||
---
|
||||
|
||||
# GameCult-Quartz
|
||||
|
||||
*"The extracted shared site engine: because maintaining two Quartz forks in parallel is a lovely way to waste a week."*
|
||||
|
||||
`GameCult-Quartz` is the shared engine repo for the GameCult static sites. It holds the common Quartz runtime, components, styling primitives, OG card logic, deploy workflow pieces, and the site-agnostic machinery that `gamecult-site` and `AetheriaLore` now ride through overlays instead of duplicated forks.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/GameCult-Quartz">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/gamecult-site">gamecult-site</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/AetheriaLore">AetheriaLore</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">01 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">07 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">TypeScript / Quartz</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active shared engine</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was an intervention. Once `gamecult-site` and `AetheriaLore` were clearly sharing most of their infrastructure, styling, and components, keeping two near-identical Quartz copies alive stopped being flexibility and started being a maintenance tax with a fake moustache.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The whole public history happens in one tight burst: extract the shared engine, fix preview description extraction, improve preview title logic, refine social metadata, switch to art-forward OG cards, then simplify the chrome once it starts getting too proud of itself. The repo is young, but it already has a very clear job.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is not just code reuse. It is shared infrastructure with enough discipline to let the sites diverge where they should: different mastheads, different art surfaces, different lore/public copy needs, one engine. In other words, less duplication without flattening everything into the same damp rectangle.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-05-01` `Extract shared GameCult-Quartz engine`
|
||||
- `2026-05-01` `Improve preview title and description extraction`
|
||||
- `2026-05-01` `Tighten social metadata generation`
|
||||
- `2026-05-01` `Add image-forward social card generation`
|
||||
- `2026-05-07` `Simplify social card chrome`
|
||||
57
GameCult/Projects/Ghostlight.md
Normal file
57
GameCult/Projects/Ghostlight.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
---
|
||||
title: Ghostlight
|
||||
description: "Social AI experiment aimed at psychologically legible agents, scene authoring, and lore-grounded behavior instead of generic praise dispensers."
|
||||
socialDeck: "Social AI agents with less flattery and more psychology."
|
||||
---
|
||||
|
||||
# Ghostlight
|
||||
|
||||
*"A project built on the radical proposition that an artificial character should act like a character and not a customer service hostage."*
|
||||
|
||||
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="/Projects/cultnet-ts">cultnet-ts</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/CultLib">CultLib</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">01 May 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>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">Python / agent tooling</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active experimental system</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea is right there in the description: stop building sycophantic chatbots and start building social agents. That means explicit state, point of view, projection boundaries, lore grounding, and scene rules strong enough to let a character disagree, misread, posture, hedge, or just be wrong in a recognizable way.
|
||||
|
||||
## Trajectory
|
||||
|
||||
Ghostlight starts as a persistence spine and a document migration. Then it narrows hard into `Call of the Void` authoring, agent-state schemas, dialogue projection contracts, lore grounding, and story-lab fixtures like Cold Wake. Very quickly after that, the repo turns outward again and starts wiring itself into the wider stack: CultNet contracts, CultCache persistence, and swarm-state coordination. So the trajectory is not "build a chatbot." It is "build a social runtime that can survive contact with actual scenes."
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is larger than the current repo slice, and the history admits it. There are already commits preserving open-world training ambitions while the runtime scope temporarily narrows to dialogue scenes. That is sane staging, not retreat. The endgame is a socially legible agent system that can be used for authored fiction, simulations, and maybe eventually the nastier edges of interactive worlds.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-05-01` `Scaffold Ghostlight persistence spine`
|
||||
- `2026-05-01` `Retarget Ghostlight toward Call of the Void authoring`
|
||||
- `2026-05-01` `Define prompt projection contract`
|
||||
- `2026-05-01` `Adopt Ink for branching scenes`
|
||||
- `2026-05-06` `Migrate state spine toward cultcache-py`
|
||||
- `2026-05-06` `Define the shared CultNet agent-state contract`
|
||||
56
GameCult/Projects/cultcache-ts.md
Normal file
56
GameCult/Projects/cultcache-ts.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
title: cultcache-ts
|
||||
description: "TypeScript port of CultCache: typed schema-backed persistence for the growing swarm of studio-side tools."
|
||||
socialDeck: "Typed persistence for the studio's TypeScript swarm."
|
||||
---
|
||||
|
||||
# cultcache-ts
|
||||
|
||||
*"A one-day TypeScript sprint to stop every new tool from inventing storage badly and from scratch."*
|
||||
|
||||
`cultcache-ts` is the TypeScript port of the CultCache persistence model: schema-backed, typed, polymorphic storage intended to give the studio's TypeScript tools a sane data spine instead of a growing pile of improvised JSON sorrow.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/cultcache-ts">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/CultLib">CultLib</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/cultnet-ts">cultnet-ts</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">06 May 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>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">TypeScript</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Fresh active port</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was brutally practical: if the studio is going to keep growing TypeScript-side tooling, it needs the CultCache model there too. Same schema discipline. Same typed persistence. Fewer excuses for bespoke storage nonsense.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The public history is compact and extremely legible. First comes the port. Then built output for consumers. Then a broader ergonomics pass. Then schema compatibility, generic exports, and finally a raw-envelope fast path. It is the kind of repo history you get when someone knows exactly which abstraction they want and is just sprinting to make the TypeScript version stop being hypothetical.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is to become quiet infrastructure: reliable enough that other repos can lean on it without having to think about it much. That is the compliment, not the insult.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-05-06` `Initial CultCacheTS port`
|
||||
- `2026-05-06` `Ship built output for consumers`
|
||||
- `2026-05-06` `Expand CultCacheTS toward full CultCache ergonomics`
|
||||
- `2026-05-06` `Accept generated parse-style schemas in CultCacheTS`
|
||||
- `2026-05-06` `Add raw envelope fast path to CultCacheTS`
|
||||
56
GameCult/Projects/cultnet-ts.md
Normal file
56
GameCult/Projects/cultnet-ts.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
title: cultnet-ts
|
||||
description: "TypeScript CultNet client and interop layer for schema discovery, local replication, and cross-runtime communication."
|
||||
socialDeck: "Cross-runtime message traffic without bespoke wire misery."
|
||||
---
|
||||
|
||||
# cultnet-ts
|
||||
|
||||
*"The TypeScript side of the wire: contracts, discovery, replication, and fewer excuses for every runtime to speak its own private dialect."*
|
||||
|
||||
`cultnet-ts` is the TypeScript CultNet client and interop layer. It exists so the TypeScript tools in the studio stack can exchange messages, discover schemas, replicate locally, and stay compatible with the C# side without treating cross-runtime communication as an artisanal craft.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/cultnet-ts">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/CultLib">CultLib</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/cultcache-ts">cultcache-ts</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">06 May 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>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">TypeScript</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Fresh active protocol client</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea is straightforward and overdue: if GameCult's newer tooling is going to span languages and runtimes, it needs a shared network vocabulary instead of a pile of ad hoc bridges that work until the second you care about reliability.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The entire public history happens on one day and still manages to look like a miniature roadmap. First client. Then explicit CultLib wire compatibility. Then generated shared contracts. Then schema discovery. Then a raw local replication lane. Then a cross-runtime interop harness. Then GitHub Actions coverage to stop the whole thing from quietly drifting into fiction.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is bigger than this tiny initial burst suggests. `cultnet-ts` wants to be one of the wires holding the studio's tool ecology together: agent systems, site-adjacent tooling, local services, and whatever other little machines start trying to talk to each other once the architecture stops being private folklore.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-05-06` `Build the first CultNet TypeScript client`
|
||||
- `2026-05-06` `Add explicit CultLib wire-contract compatibility`
|
||||
- `2026-05-06` `Generate shared swarm contracts from schemas`
|
||||
- `2026-05-06` `Add CultNet schema discovery catalog`
|
||||
- `2026-05-06` `Add cross-runtime CultNet interop harness`
|
||||
54
GameCult/Projects/epiphany-graph-rs.md
Normal file
54
GameCult/Projects/epiphany-graph-rs.md
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
title: epiphany-graph-rs
|
||||
description: "Rust graph-layout research repo for hybrid force, structural, and quality-constrained layouts aimed at keeping complex agent worlds legible."
|
||||
socialDeck: "Graph layout research for systems too tangled to excuse themselves."
|
||||
---
|
||||
|
||||
# epiphany-graph-rs
|
||||
|
||||
*"A fresh Rust crate for forcing sprawling graph worlds to hold still long enough to be understood."*
|
||||
|
||||
`epiphany-graph-rs` is a graph-layout research repo in Rust. Its job is not just drawing nodes somewhere plausible. It is trying to combine force-directed behavior, Sugiyama-ish structural constraints, clustering, and quality metrics into layouts that make large relational systems feel legible instead of like someone dropped spaghetti on a star chart.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/epiphany-graph-rs">GitHub Repo</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">07 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">07 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">Rust</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Brand-new research repo</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea is that graph layout should respect more than pure repulsion and hope. If the system has structure, folds, clusters, tiers, or narrative importance, the layout should be able to express that instead of flattening everything into democratic confusion.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The repo's whole public life currently fits inside one feverish day. It starts as a hybrid graph-layout crate and immediately grows 3D layout, structural analysis, fold groups, a realtime solver, Barnes-Hut repulsion, tuning sweeps, force-body taxonomy, and layout quality metrics. That is not a slow "maybe one day" repo. That is a research thread being externalized while the ink is still wet.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is to support the broader Epiphany/agent-world work with layouts that are computationally tractable, structurally meaningful, and visually interpretable. In plain English: make large social or semantic systems easier to read before the humans in the room start lying to themselves about having understood them.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-05-07` `Initial hybrid graph layout crate`
|
||||
- `2026-05-07` `Add structural graph analysis and fold groups`
|
||||
- `2026-05-07` `Add realtime 3D layout solver`
|
||||
- `2026-05-07` `Add Barnes-Hut 3D repulsion`
|
||||
- `2026-05-07` `Add layout structure quality metrics`
|
||||
53
GameCult/Projects/gamecult-grav.md
Normal file
53
GameCult/Projects/gamecult-grav.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
title: gamecult-grav
|
||||
description: "Legacy Grav site archive: old copy, assets, and the previous public structure preserved for reference and salvage."
|
||||
socialDeck: "The old website carcass, kept for salvage and evidence."
|
||||
---
|
||||
|
||||
# gamecult-grav
|
||||
|
||||
*"The previous public face of the studio, preserved because history is annoying but useful."*
|
||||
|
||||
`gamecult-grav` is the legacy Grav site archive. It holds the old public copy, templates, assets, and structural choices from the CMS era before the studio moved the site into Quartz and a saner Git-driven workflow.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/gamecult-grav">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/gamecult-site">Current Site Repo</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">09 Aug 2020</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">20 Apr 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">Grav / SCSS / CMS residue</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Archive and salvage source</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was just "this is the website." Grav, synced content, CMS workflows, the usual arrangement where publishing convenience and structural clarity are always trying to quietly murder each other behind the curtains.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The public commit history is delightfully unromantic. It is mostly GitSync noise from 2022, which tells you exactly how much of the site's life happened through the CMS rather than through thoughtful repo practice. The one genuinely recent public touch is a 2026 logo-asset restore right before the final migration work. That is the repo confessing that it had already become more archive than living system.
|
||||
|
||||
## Ambition
|
||||
|
||||
Its ambition now is not to come back. Good. The job of `gamecult-grav` is to preserve the old copy, page structure, and assets long enough for the useful parts to be extracted without pretending the old publishing model still deserves anyone's affection.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2022-07-02` repeated `Grav GitSync` commits
|
||||
- `2022-07-02` `Update default.md`
|
||||
- `2026-04-20` `Restore tracked GameCult logo asset`
|
||||
61
GameCult/Projects/gamecult-site.md
Normal file
61
GameCult/Projects/gamecult-site.md
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
---
|
||||
title: gamecult-site
|
||||
description: "The current public GameCult.org site: Quartz, shared-engine overlays, repo cataloguing, and a long campaign against ugly web defaults."
|
||||
socialDeck: "The current public face of the studio, minus the CMS tax."
|
||||
---
|
||||
|
||||
# gamecult-site
|
||||
|
||||
*"The current public front door: Quartz, overlays, copy surgery, and an unhealthy amount of header debugging."*
|
||||
|
||||
`gamecult-site` is the current public website for GameCult.org. It replaced the old Grav setup with a Quartz-based static site, then proceeded to become the place where studio copy, repo visibility, public navigation, design consistency, and social preview metadata all had to stop hiding behind "we'll clean it up later."
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/gamecult-site">GitHub Repo</a>
|
||||
<a class="gamecult-repo-link" href="https://gamecult.org">Live Site</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/GameCult-Quartz">Shared Engine</a>
|
||||
<a class="gamecult-repo-link" href="/Projects/gamecult-grav">Grav Archive</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">21 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">01 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">TypeScript / Quartz</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active public site</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was simple: kill the old Grav site, keep the content, keep the branding, and move the whole public face of the studio into a statically generated repo that behaves well in Git and does not need a CMS whisperer every time a paragraph changes.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The public history is wonderfully incriminating. It begins with the migration, then immediately swerves into alias bugs, iframe routing, composite pages, busted layouts, header regressions, breadcrumb repairs, masthead social-link surgery, repo extraction, OG preview fixes, and the ongoing struggle to stop anything on the homepage from duplicating itself out of spite.
|
||||
|
||||
This is not a bad sign. It means the repo was forced to become real fast. The site stopped being a content dump and became a living public surface where structure, styling, content voice, navigation, and historical honesty had to coexist without being allowed to quietly rot.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is a studio front door that can hold the flagship world, the repo atlas, the governance argument, the writing, and the current experiments without looking like five disconnected personal sites duct-taped together. In a just universe that would be normal. On the web, apparently it still counts as a little aspirational.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-04-21` `Initial Quartz site migration`
|
||||
- `2026-04-21` `Composite Studio overview sections`
|
||||
- `2026-04-21` `Rewrite site copy in studio voice`
|
||||
- `2026-04-21` `Merge homepage into Studio landing`
|
||||
- `2026-04-22` `Update GCLP page for Bifrost rollout`
|
||||
- `2026-05-01` `Switch site build to shared GameCult-Quartz`
|
||||
- `2026-05-01` `Tighten GameCult social deck copy`
|
||||
52
GameCult/Projects/geometry-script.md
Normal file
52
GameCult/Projects/geometry-script.md
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
title: geometry-script
|
||||
description: "Public fork of Blender's Geometry Script project parked in the org because procedural geometry turned out to matter enough to keep close."
|
||||
socialDeck: "A parked procedural-geometry fork that still mattered."
|
||||
---
|
||||
|
||||
# geometry-script
|
||||
|
||||
*"Not a GameCult-authored product so much as a fork someone wanted close at hand for future trouble."*
|
||||
|
||||
`geometry-script` is a public fork of Carson Katri's Geometry Script project for Blender Geometry Nodes. It is not a repo with a long internal GameCult development arc. It is a dependency-adjacent fork parked inside the org because procedural geometry, scripting workflows, and toolchain control were relevant enough to justify keeping a local handle on the code.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/geometry-script">GameCult Fork</a>
|
||||
<a class="gamecult-repo-link" href="https://github.com/carson-katri/geometry-script">Upstream Project</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Forked</p>
|
||||
<p class="gamecult-repo-fact-value">04 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">04 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">Forked Blender tooling</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Parked dependency fork</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was not "let's build a brand-new geometry tool from scratch." It was "this upstream tool matters enough that we want a fork under the org, either to study it, patch it, or keep it close if it becomes part of the broader pipeline."
|
||||
|
||||
## Trajectory
|
||||
|
||||
The public repo does not show meaningful GameCult-native divergence yet. Its value is positional. The act of forking it into the org is the interesting move, not the still-empty list of follow-up commits.
|
||||
|
||||
## Ambition
|
||||
|
||||
If this repo becomes important later, it will be because procedural geometry starts feeding art generation, pipeline tooling, or environment construction somewhere else in the studio stack. Right now it reads as deliberate preparedness rather than a declared flagship effort, which is a perfectly respectable thing for a fork to be.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-05-04` forked from `carson-katri/geometry-script`
|
||||
- public repo created and last pushed on the same day
|
||||
|
|
@ -1,25 +1,103 @@
|
|||
---
|
||||
title: Projects
|
||||
description: "The public GameCult workbench: flagship game code, lore, sites, libraries, AI experiments, and the forks we parked here because they mattered."
|
||||
socialDeck: "Games, tools, infrastructure, and other durable bad ideas."
|
||||
sidebarGroups:
|
||||
- title: Worlds and Games
|
||||
links:
|
||||
- label: Aetheria-Economy
|
||||
slug: ./Aetheria-Economy
|
||||
- label: AetheriaLore
|
||||
slug: ./AetheriaLore
|
||||
- label: CultPong
|
||||
slug: ./CultPong
|
||||
- title: Studio and Sites
|
||||
links:
|
||||
- label: GCLP
|
||||
slug: ./GCLP
|
||||
- label: gamecult-site
|
||||
slug: ./gamecult-site
|
||||
- label: GameCult-Quartz
|
||||
slug: ./GameCult-Quartz
|
||||
- label: gamecult-grav
|
||||
slug: ./gamecult-grav
|
||||
- title: Libraries and Protocols
|
||||
links:
|
||||
- label: CultLib
|
||||
slug: ./CultLib
|
||||
- label: cultcache-ts
|
||||
slug: ./cultcache-ts
|
||||
- label: cultnet-ts
|
||||
slug: ./cultnet-ts
|
||||
- label: epiphany-graph-rs
|
||||
slug: ./epiphany-graph-rs
|
||||
- title: AI and Tools
|
||||
links:
|
||||
- label: Ghostlight
|
||||
slug: ./Ghostlight
|
||||
- label: repixelizer
|
||||
slug: ./repixelizer
|
||||
- title: Forks and Parked Dependencies
|
||||
links:
|
||||
- label: geometry-script
|
||||
slug: ./geometry-script
|
||||
- label: stride
|
||||
slug: ./stride
|
||||
---
|
||||
|
||||
# Projects
|
||||
|
||||
*"A studio should be able to house a flagship universe and a dangerous side project without pretending they are the same thing."*
|
||||
*"A studio should be able to house a flagship universe, a site engine, a protocol library, and a deeply questionable side experiment without pretending they are the same thing."*
|
||||
|
||||
This section gathers GameCult's active projects and near-term experiments. Aetheria is the flagship universe and long-horizon work surface. CultPong is what happens when someone looks at Pong and decides the paddles are not nearly irresponsible enough. Different scales, same studio instincts.
|
||||
This section is the public workbench for the GameCult GitHub org. Some repos are flagship work. Some are infrastructure. Some are research bursts that still smell faintly of ozone. A couple are forks parked here because a dependency mattered at the time. All of them say something useful about what the studio keeps trying to build.
|
||||
|
||||
Aetheria's public silence after 2021 was not a disappearance of intent. The project reached a playable vertical slice, then hit the funding wall: professional audio tooling needed to become paid, the studio needed a way to compensate contributors, and publisher interest tended to cool once the open-source model stopped sounding like a novelty and started sounding like a real structural commitment. The machine did not die. It ran out of breathable atmosphere.
|
||||
Aetheria remains the flagship universe. CultPong is the compact arcade bad decision. Bifrost exists as the real successor to the old GCLP concept, but because the public repo history still includes the older seed, both show up here honestly rather than pretending the lineage does not exist.
|
||||
|
||||
The new Aetheria site is the recovery surface: lore, design notes, media, planning evidence, and the current release path gathered into one place so returning contributors and curious strangers can see what still exists and what is being made next. That includes the big galaxy-scale design, Terminus as the first major scope cut, and the smaller post-Terminus `Aetheria: Call of the Void` story-first target built around Cat Marrigan, PI cases, taxi fares, and the point-of-no-return revelation. That last one comes from an older colonization-fleet version of the setting, so its story beats are useful but not yet continuity-clean.
|
||||
The more recent wave of repos tells a different story: shared site infrastructure extracted out of duplication, lore vaults promoted into canonical homes, protocol libraries split out for reuse, AI experiments turned into named systems, and graph/layout research spun into dedicated crates instead of rotting inside bigger apps.
|
||||
|
||||
## Current Projects
|
||||
Below is the grouped map. Each entry has its own writeup, repo link, trajectory read, and a short answer to the question "what is this thing actually for?"
|
||||
|
||||
- [Aetheria](https://aetheria.gamecult.org)
|
||||
- [CultPong](/Projects/CultPong)
|
||||
<div class="gamecult-project-groups">
|
||||
<section class="gamecult-project-group">
|
||||
<h2>Worlds and Games</h2>
|
||||
<ul>
|
||||
<li><a href="/Projects/Aetheria-Economy">Aetheria-Economy</a></li>
|
||||
<li><a href="/Projects/AetheriaLore">AetheriaLore</a></li>
|
||||
<li><a href="/Projects/CultPong">CultPong</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="gamecult-project-group">
|
||||
<h2>Studio and Sites</h2>
|
||||
<ul>
|
||||
<li><a href="/Projects/GCLP">GCLP</a></li>
|
||||
<li><a href="/Projects/gamecult-site">gamecult-site</a></li>
|
||||
<li><a href="/Projects/GameCult-Quartz">GameCult-Quartz</a></li>
|
||||
<li><a href="/Projects/gamecult-grav">gamecult-grav</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="gamecult-project-group">
|
||||
<h2>Libraries and Protocols</h2>
|
||||
<ul>
|
||||
<li><a href="/Projects/CultLib">CultLib</a></li>
|
||||
<li><a href="/Projects/cultcache-ts">cultcache-ts</a></li>
|
||||
<li><a href="/Projects/cultnet-ts">cultnet-ts</a></li>
|
||||
<li><a href="/Projects/epiphany-graph-rs">epiphany-graph-rs</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="gamecult-project-group">
|
||||
<h2>AI and Tools</h2>
|
||||
<ul>
|
||||
<li><a href="/Projects/Ghostlight">Ghostlight</a></li>
|
||||
<li><a href="/Projects/repixelizer">repixelizer</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="gamecult-project-group">
|
||||
<h2>Forks and Parked Dependencies</h2>
|
||||
<ul>
|
||||
<li><a href="/Projects/geometry-script">geometry-script</a></li>
|
||||
<li><a href="/Projects/stride">stride</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
## Studio Context
|
||||
|
||||
- [Open Source Model](/Open-Source-Model)
|
||||
- [A Place for Everyone](/a-place-for-everyone)
|
||||
- [Games as a Service](/games-as-a-service)
|
||||
- [Why Aetheria Went Quiet](/Blog/why-aetheria-went-quiet)
|
||||
If you are here for the actual public-facing studio argument rather than the repo roll call, the relevant context still lives in [Open Source Model](/Open-Source-Model), [A Place for Everyone](/a-place-for-everyone), [Games as a Service](/games-as-a-service), and [Why Aetheria Went Quiet](/Blog/why-aetheria-went-quiet).
|
||||
|
|
|
|||
59
GameCult/Projects/repixelizer.md
Normal file
59
GameCult/Projects/repixelizer.md
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
title: repixelizer
|
||||
description: "Solver-heavy attempt to turn fake pixel art into the real thing without smearing the problem under nostalgia and wishful thinking."
|
||||
socialDeck: "Making fake pixel art stop lying."
|
||||
---
|
||||
|
||||
# repixelizer
|
||||
|
||||
*"A machine for taking AI-ish pixel sludge by the shoulders and asking it to be serious for once."*
|
||||
|
||||
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://repixelizer.gamecult.org">Live Landing Page</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Started</p>
|
||||
<p class="gamecult-repo-fact-value">21 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">01 May 2026</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">Python / optimization tooling</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Active experiment</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea is one of those sentences that sounds deranged until you look at the output and realize the repo has a point: what if you could fit source pixels onto something that actually behaves like hand-authored pixel art instead of settling for diffusion, blur, and vibes?
|
||||
|
||||
## Trajectory
|
||||
|
||||
The history reads like an optimization binge with a conscience. It starts cleanly enough with CLI scaffolding and documentation, then barrels through corpus benchmarks, lattice refinement, edge concentration metrics, phase reranking, line-aware energy, relaxation tuning, source guidance, benchmark corruption, and finally a full detour into tile-graph reconstruction modes. By late April the repo also has hosted queue work, GUI error handling, queue pressure logging, and the operational signs of a thing that escaped the lab and demanded a service wrapper.
|
||||
|
||||
That arc is part breakthrough, part cautionary tale, which frankly makes it more useful. The repo does not just record what worked. It records what obsessive iteration looks like when the underlying problem keeps refusing to become polite.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition is still excellent: restore coherence to pseudo-pixel art instead of just preserving its jaggies. But the public history also makes one other ambition visible by accident: figure out which parts of the machine actually deserve to survive. That is the healthier question, and the repo has started asking it.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2026-04-21` `Bootstrap the repixelizer CLI project`
|
||||
- `2026-04-22` `Improve lattice inference with source evidence`
|
||||
- `2026-04-22` `Add line-aware refinement energy`
|
||||
- `2026-04-22` `Add experimental tile graph reconstruction mode`
|
||||
- `2026-04-23` `Document tile-graph algorithm map`
|
||||
- `2026-04-29` `Log hosted queue and job pressure`
|
||||
- `2026-05-01` `Log Repixelizer job actors for ops summaries`
|
||||
52
GameCult/Projects/stride.md
Normal file
52
GameCult/Projects/stride.md
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
title: stride
|
||||
description: "Public fork of the Stride game engine retained in the org because engine dependencies sometimes deserve institutional memory too."
|
||||
socialDeck: "A parked engine fork with more significance than activity."
|
||||
---
|
||||
|
||||
# stride
|
||||
|
||||
*"An engine fork parked in the org because dependencies have biographies too."*
|
||||
|
||||
`stride` is a public fork of the Stride game engine. Like `geometry-script`, it is not a repo whose main story is internal GameCult feature development. Its story is that this engine mattered enough to the studio's technical thinking that somebody wanted a fork under institutional custody rather than leaving the dependency entirely outside the fence.
|
||||
|
||||
<div class="gamecult-repo-links">
|
||||
<a class="gamecult-repo-link" href="https://github.com/GameCult/stride">GameCult Fork</a>
|
||||
<a class="gamecult-repo-link" href="https://github.com/stride3d/stride">Upstream Project</a>
|
||||
</div>
|
||||
|
||||
<div class="gamecult-repo-facts">
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Forked</p>
|
||||
<p class="gamecult-repo-fact-value">15 Jun 2021</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Last Public Push</p>
|
||||
<p class="gamecult-repo-fact-value">15 Jun 2021</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Stack</p>
|
||||
<p class="gamecult-repo-fact-value">Forked C# engine</p>
|
||||
</div>
|
||||
<div class="gamecult-repo-fact">
|
||||
<p class="gamecult-repo-fact-label">Status</p>
|
||||
<p class="gamecult-repo-fact-value">Historical dependency fork</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Founding Idea
|
||||
|
||||
The founding idea was almost certainly technical custody rather than brand ambition. Aetheria and related engine experiments needed a serious rendering/runtime substrate in view, and for a while Stride was clearly part of that conversation.
|
||||
|
||||
## Trajectory
|
||||
|
||||
The public repo's GameCult-specific trajectory is practically nonexistent. It was forked in June 2021 and never developed meaningfully in public after that. That sounds underwhelming until you remember the repo is interesting precisely because it is a trace of dependency intent, not because it became a community-maintained engine branch.
|
||||
|
||||
## Ambition
|
||||
|
||||
The ambition here was not to out-Stride Stride. It was to keep a technically significant engine close enough to inspect, patch, or reference if the studio's longer-horizon game work needed it. Sometimes a fork is a build plan. Sometimes it is a bookmark with teeth.
|
||||
|
||||
## History Tells On Itself
|
||||
|
||||
- `2021-06-15` forked from `stride3d/stride`
|
||||
- public repo created and last pushed on the same day
|
||||
314
docs/research/gamecult-org-analysis.yaml
Normal file
314
docs/research/gamecult-org-analysis.yaml
Normal file
|
|
@ -0,0 +1,314 @@
|
|||
generatedAt: 2026-05-07
|
||||
org: GameCult
|
||||
sourceLedger: docs/research/gamecult-org-repo-ledger.json
|
||||
recentChronicleWindowStart: 2026-04-18
|
||||
notes:
|
||||
- The JSON ledger is the machine-chewable evidence layer: repo metadata, root entries, README excerpts where present, early commits, recent commits, and recent-wave commits.
|
||||
- This YAML is the human layer: category, trajectory, ambition, current state, and the handful of commits that actually explain why the repo exists.
|
||||
- Forked repos are included because they are public org artifacts, but their histories are interpreted as dependency or toolchain decisions rather than GameCult-native product buildouts.
|
||||
repos:
|
||||
- repo: Aetheria-Economy
|
||||
page: /Projects/Aetheria-Economy
|
||||
category: worlds-and-games
|
||||
kind: flagship-runtime
|
||||
status: active
|
||||
fork: false
|
||||
language: C#
|
||||
createdAt: 2020-02-18
|
||||
lastPushAt: 2026-04-30
|
||||
githubUrl: https://github.com/GameCult/Aetheria-Economy
|
||||
publicSurface: https://aetheria.gamecult.org
|
||||
foundingIdea: Build the playable Aetheria runtime instead of leaving the flagship universe as lore and mood alone.
|
||||
trajectory: Began as a 2020 Unity/client-server land rush, passed through playability and rendering waves in 2022, then revived around Unity 6, gravity surfaces, lore sync, and editor/tooling bridges in 2025-2026.
|
||||
ambition: Prove a shippable slice of the broader Aetheria machine without pretending the entire MMO-scale dream must land at once.
|
||||
currentState: Active flagship codebase with clear signs of revived systems work and tooling integration.
|
||||
markers:
|
||||
- 2020-02-26: Initial Client/Server Communication
|
||||
- 2020-03-11: Porting Galaxy Editor
|
||||
- 2020-03-22: Database Support
|
||||
- 2022-08-08: Playability
|
||||
- 2025-07-10: Unity 6 Upgrade + Solid Gravity Surface
|
||||
- 2026-04-30: Add Epiphany Unity editor bridge
|
||||
|
||||
- repo: AetheriaLore
|
||||
page: /Projects/AetheriaLore
|
||||
category: worlds-and-games
|
||||
kind: canon-vault
|
||||
status: active
|
||||
fork: false
|
||||
language: TypeScript
|
||||
createdAt: 2026-04-18
|
||||
lastPushAt: 2026-05-05
|
||||
githubUrl: https://github.com/GameCult/AetheriaLore
|
||||
publicSurface: https://aetheria.gamecult.org
|
||||
foundingIdea: Gather lore, design notes, fiction, and continuity work into one canonical, searchable home.
|
||||
trajectory: Started as vault import and worldbuilding recovery, then became a Quartz site, a public canon surface, and an editorial tool for reconciling old and new Aetheria material.
|
||||
ambition: Serve as the source of truth for the setting while staying public enough for contributors and curious strangers to orient themselves.
|
||||
currentState: Active vault and public site with hierarchy, media, stories, and continuity repairs in motion.
|
||||
markers:
|
||||
- 2026-04-19: Add local RAG tooling for vault navigation
|
||||
- 2026-04-19: Add Narrative Themes
|
||||
- 2026-04-19: Static Wiki Site via Quartz
|
||||
- 2026-04-30: Restructure Aetheria front page and import story metadata
|
||||
- 2026-05-01: Restore visual Aetheria front page
|
||||
- 2026-05-01: Expand Aetheria game design hierarchy
|
||||
|
||||
- repo: CultPong
|
||||
page: /Projects/CultPong
|
||||
category: worlds-and-games
|
||||
kind: arcade-prototype
|
||||
status: dormant
|
||||
fork: false
|
||||
language: C#
|
||||
createdAt: 2020-09-25
|
||||
lastPushAt: 2020-09-25
|
||||
githubUrl: https://github.com/GameCult/CultPong
|
||||
foundingIdea: Take Pong, make the paddles expressive, add bash reversals, and aim for online competitive chaos.
|
||||
trajectory: Two public commits in one morning, full Unity project skeleton, then silence.
|
||||
ambition: Short-match competitive arcade game with ranked/tournament potential and a geometry-driven skill ceiling.
|
||||
currentState: Dormant public prototype; idea survives in studio memory and site copy.
|
||||
markers:
|
||||
- 2020-09-25: Initial commit
|
||||
- 2020-09-25: Initial Commit (broken due to version update)
|
||||
|
||||
- repo: GCLP
|
||||
page: /Projects/GCLP
|
||||
category: studio-and-sites
|
||||
kind: legacy-manifesto-seed
|
||||
status: dormant
|
||||
fork: false
|
||||
language: null
|
||||
createdAt: 2020-10-02
|
||||
lastPushAt: 2020-10-02
|
||||
githubUrl: https://github.com/GameCult/GCLP
|
||||
successorPage: /Docs/Bifrost
|
||||
foundingIdea: Drag work, governance, patronage, and compensation logic out of private memory and into software.
|
||||
trajectory: Public repo never advanced beyond a one-commit README stub, but the concept survived and later re-emerged as Bifrost.
|
||||
ambition: A studio operating system for membership, work, governance, and payout logic.
|
||||
currentState: Fossil seed; historically important because the idea outlived the repo.
|
||||
markers:
|
||||
- 2020-10-02: Initial commit
|
||||
|
||||
- repo: stride
|
||||
page: /Projects/stride
|
||||
category: forks-and-parked-dependencies
|
||||
kind: upstream-engine-fork
|
||||
status: parked
|
||||
fork: true
|
||||
language: C#
|
||||
createdAt: 2021-06-15
|
||||
lastPushAt: 2021-06-15
|
||||
githubUrl: https://github.com/GameCult/stride
|
||||
upstreamUrl: https://github.com/stride3d/stride
|
||||
foundingIdea: Keep a technically significant engine fork under org custody rather than relying on memory alone.
|
||||
trajectory: Forked from upstream and left largely untouched in public.
|
||||
ambition: Dependency control, reference value, possible patching surface if engine work demanded it.
|
||||
currentState: Historical fork, not a GameCult-native product buildout.
|
||||
markers:
|
||||
- 2021-06-15: Forked from stride3d/stride
|
||||
|
||||
- repo: CultLib
|
||||
page: /Projects/CultLib
|
||||
category: libraries-and-protocols
|
||||
kind: shared-csharp-substrate
|
||||
status: active
|
||||
fork: false
|
||||
language: C#
|
||||
createdAt: 2026-04-18
|
||||
lastPushAt: 2026-05-06
|
||||
githubUrl: https://github.com/GameCult/CultLib
|
||||
foundingIdea: Stop re-solving shared runtime, persistence, UI, and networking machinery in every bigger codebase.
|
||||
trajectory: Began with storage/security/UI cleanup, then pivoted into protocol, schema, and interop work as the broader tooling stack emerged.
|
||||
ambition: Become the boring, reusable center of gravity for GameCult's C# side.
|
||||
currentState: Active shared library with clear protocol and persistence responsibilities.
|
||||
markers:
|
||||
- 2026-04-18: JSON backing store, I/O fixes, Networking Security
|
||||
- 2026-04-18: Complete CultUI Port and remove legacy UI prefabs and scripts
|
||||
- 2026-05-06: Add schema discovery messages to CultNet
|
||||
- 2026-05-06: Bring legacy CultNet into the schema-v0 fold
|
||||
- 2026-05-06: Add CultNet C# interop peer harness
|
||||
|
||||
- repo: gamecult-grav
|
||||
page: /Projects/gamecult-grav
|
||||
category: studio-and-sites
|
||||
kind: legacy-site-archive
|
||||
status: archival
|
||||
fork: false
|
||||
language: SCSS
|
||||
createdAt: 2020-08-09
|
||||
lastPushAt: 2026-04-20
|
||||
githubUrl: https://github.com/GameCult/gamecult-grav
|
||||
foundingIdea: Hold the public site in Grav and sync content through the CMS-era workflow.
|
||||
trajectory: Mostly GitSync noise and content churn; later demoted to archive status and mined for salvage during the Quartz migration.
|
||||
ambition: No longer to be the live site; now to preserve old copy, assets, and structure for reference.
|
||||
currentState: Archive and salvage quarry.
|
||||
markers:
|
||||
- 2022-07-02: Grav GitSync burst
|
||||
- 2026-04-20: Restore tracked GameCult logo asset
|
||||
|
||||
- repo: gamecult-site
|
||||
page: /Projects/gamecult-site
|
||||
category: studio-and-sites
|
||||
kind: public-site
|
||||
status: active
|
||||
fork: false
|
||||
language: TypeScript
|
||||
createdAt: 2026-04-21
|
||||
lastPushAt: 2026-05-01
|
||||
githubUrl: https://github.com/GameCult/gamecult-site
|
||||
publicSurface: https://gamecult.org
|
||||
foundingIdea: Replace the old Grav site with a Git-friendly Quartz site that can actually hold the studio's current shape.
|
||||
trajectory: Exploded out of migration, then immediately became a venue for copy revision, layout repair, navigation redesign, repo surfacing, and shared-engine extraction.
|
||||
ambition: Serve as the living public front door for the studio, its projects, and its arguments.
|
||||
currentState: Active public surface built atop GameCult-Quartz.
|
||||
markers:
|
||||
- 2026-04-21: Initial Quartz site migration
|
||||
- 2026-04-21: Composite Studio overview sections
|
||||
- 2026-04-21: Merge homepage into Studio landing
|
||||
- 2026-04-22: Update GCLP page for Bifrost rollout
|
||||
- 2026-05-01: Switch site build to shared GameCult-Quartz
|
||||
|
||||
- repo: repixelizer
|
||||
page: /Projects/repixelizer
|
||||
category: ai-and-tools
|
||||
kind: optimization-tool
|
||||
status: active
|
||||
fork: false
|
||||
language: Python
|
||||
createdAt: 2026-04-21
|
||||
lastPushAt: 2026-05-01
|
||||
githubUrl: https://github.com/GameCult/repixelizer
|
||||
publicSurface: https://repixelizer.gamecult.org
|
||||
foundingIdea: Make fake pixel art stop lying by solving for actual pixel coherence instead of merely shrinking images.
|
||||
trajectory: Rapid CLI bootstrap, metric and lattice experimentation, an extended tile-graph detour, then hosted queue/gui work and operationalization.
|
||||
ambition: Recover real-looking pixel structure from AI-ish or faux-pixel inputs while figuring out which parts of the algorithm actually deserve to live.
|
||||
currentState: Active experiment with visible signs of both ambition and self-correction.
|
||||
markers:
|
||||
- 2026-04-21: Bootstrap the repixelizer CLI project
|
||||
- 2026-04-22: Improve lattice inference with source evidence
|
||||
- 2026-04-22: Add line-aware refinement energy
|
||||
- 2026-04-22: Add experimental tile graph reconstruction mode
|
||||
- 2026-04-29: Log hosted queue and job pressure
|
||||
- 2026-05-01: Log Repixelizer job actors for ops summaries
|
||||
|
||||
- repo: GameCult-Quartz
|
||||
page: /Projects/GameCult-Quartz
|
||||
category: studio-and-sites
|
||||
kind: shared-site-engine
|
||||
status: active
|
||||
fork: false
|
||||
language: TypeScript
|
||||
createdAt: 2026-05-01
|
||||
lastPushAt: 2026-05-07
|
||||
githubUrl: https://github.com/GameCult/GameCult-Quartz
|
||||
foundingIdea: Extract the shared site engine so GameCult's Quartz-based sites stop pretending duplicated forks are a strategy.
|
||||
trajectory: Extraction, metadata cleanup, preview fixes, art-first social cards, then a simplification pass on the card chrome.
|
||||
ambition: Shared static-site infrastructure with per-site overlays and meaningful divergence where it counts.
|
||||
currentState: Active shared engine repo.
|
||||
markers:
|
||||
- 2026-05-01: Extract shared GameCult-Quartz engine
|
||||
- 2026-05-01: Improve preview title and description extraction
|
||||
- 2026-05-01: Tighten social metadata generation
|
||||
- 2026-05-01: Add image-forward social card generation
|
||||
- 2026-05-07: Simplify social card chrome
|
||||
|
||||
- repo: Ghostlight
|
||||
page: /Projects/Ghostlight
|
||||
category: ai-and-tools
|
||||
kind: social-agent-runtime
|
||||
status: active
|
||||
fork: false
|
||||
language: Python
|
||||
createdAt: 2026-05-01
|
||||
lastPushAt: 2026-05-06
|
||||
githubUrl: https://github.com/GameCult/Ghostlight
|
||||
foundingIdea: Build socially legible AI agents instead of sycophantic chatbot paste.
|
||||
trajectory: Started with state/persistence and documentation, narrowed into story-scene authoring and projection, then widened into lore grounding and CultNet/CultCache integration.
|
||||
ambition: Support authored scenes, simulations, and eventually richer social worlds with agents that can actually hold perspective and stance.
|
||||
currentState: Active experimental runtime with scene, state, and protocol work in motion.
|
||||
markers:
|
||||
- 2026-05-01: Scaffold Ghostlight persistence spine
|
||||
- 2026-05-01: Retarget Ghostlight toward Call of the Void authoring
|
||||
- 2026-05-01: Define prompt projection contract
|
||||
- 2026-05-01: Adopt Ink for branching scenes
|
||||
- 2026-05-06: Migrate state spine toward cultcache-py
|
||||
- 2026-05-06: Define the shared CultNet agent-state contract
|
||||
|
||||
- repo: geometry-script
|
||||
page: /Projects/geometry-script
|
||||
category: forks-and-parked-dependencies
|
||||
kind: upstream-tool-fork
|
||||
status: parked
|
||||
fork: true
|
||||
language: Python
|
||||
createdAt: 2026-05-04
|
||||
lastPushAt: 2026-05-04
|
||||
githubUrl: https://github.com/GameCult/geometry-script
|
||||
upstreamUrl: https://github.com/carson-katri/geometry-script
|
||||
foundingIdea: Keep a promising procedural-geometry tool close enough to inspect or adapt if it became strategically useful.
|
||||
trajectory: Forked into the org and not publicly diverged afterward.
|
||||
ambition: Potential procedural-art or pipeline leverage, not a declared in-house flagship.
|
||||
currentState: Parked fork.
|
||||
markers:
|
||||
- 2026-05-04: Forked from carson-katri/geometry-script
|
||||
|
||||
- repo: cultcache-ts
|
||||
page: /Projects/cultcache-ts
|
||||
category: libraries-and-protocols
|
||||
kind: typescript-persistence-port
|
||||
status: active
|
||||
fork: false
|
||||
language: TypeScript
|
||||
createdAt: 2026-05-06
|
||||
lastPushAt: 2026-05-06
|
||||
githubUrl: https://github.com/GameCult/cultcache-ts
|
||||
foundingIdea: Bring the CultCache persistence model to the TypeScript side of the stack.
|
||||
trajectory: Clean one-day sprint from initial port through ergonomics, schema compatibility, exports, and raw-envelope optimization.
|
||||
ambition: Quiet foundational storage for the studio's TypeScript tools.
|
||||
currentState: Fresh active port.
|
||||
markers:
|
||||
- 2026-05-06: Initial CultCacheTS port
|
||||
- 2026-05-06: Ship built output for consumers
|
||||
- 2026-05-06: Accept generated parse-style schemas in CultCacheTS
|
||||
- 2026-05-06: Add raw envelope fast path to CultCacheTS
|
||||
|
||||
- repo: cultnet-ts
|
||||
page: /Projects/cultnet-ts
|
||||
category: libraries-and-protocols
|
||||
kind: typescript-network-layer
|
||||
status: active
|
||||
fork: false
|
||||
language: TypeScript
|
||||
createdAt: 2026-05-06
|
||||
lastPushAt: 2026-05-06
|
||||
githubUrl: https://github.com/GameCult/cultnet-ts
|
||||
foundingIdea: Give the TypeScript side a real CultNet client and interop story.
|
||||
trajectory: One-day build from initial client to wire compatibility, generated contracts, schema discovery, local replication, and CI-backed interop checks.
|
||||
ambition: Cross-runtime message and schema flow without bespoke wire misery.
|
||||
currentState: Fresh active protocol client.
|
||||
markers:
|
||||
- 2026-05-06: Build the first CultNet TypeScript client
|
||||
- 2026-05-06: Add explicit CultLib wire-contract compatibility
|
||||
- 2026-05-06: Add CultNet schema discovery catalog
|
||||
- 2026-05-06: Add cross-runtime CultNet interop harness
|
||||
|
||||
- repo: epiphany-graph-rs
|
||||
page: /Projects/epiphany-graph-rs
|
||||
category: libraries-and-protocols
|
||||
kind: graph-layout-research
|
||||
status: active
|
||||
fork: false
|
||||
language: Rust
|
||||
createdAt: 2026-05-07
|
||||
lastPushAt: 2026-05-07
|
||||
githubUrl: https://github.com/GameCult/epiphany-graph-rs
|
||||
foundingIdea: Build a graph-layout engine that respects structure, clustering, and readability instead of just repulsion and luck.
|
||||
trajectory: One-day research burst from crate bootstrap to 3D layout, structural analysis, Barnes-Hut repulsion, sweeps, and quality metrics.
|
||||
ambition: Make large semantic/social systems more interpretable and tunable.
|
||||
currentState: Brand-new active research repo.
|
||||
markers:
|
||||
- 2026-05-07: Initial hybrid graph layout crate
|
||||
- 2026-05-07: Add structural graph analysis and fold groups
|
||||
- 2026-05-07: Add realtime 3D layout solver
|
||||
- 2026-05-07: Add Barnes-Hut 3D repulsion
|
||||
- 2026-05-07: Add layout structure quality metrics
|
||||
2866
docs/research/gamecult-org-repo-ledger.json
Normal file
2866
docs/research/gamecult-org-repo-ledger.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -8,6 +8,19 @@ type Route = {
|
|||
href?: string
|
||||
matches?: string[]
|
||||
external?: boolean
|
||||
dropdownGroups?: DropdownGroup[]
|
||||
}
|
||||
|
||||
type DropdownLink = {
|
||||
label: string
|
||||
slug?: FullSlug
|
||||
href?: string
|
||||
external?: boolean
|
||||
}
|
||||
|
||||
type DropdownGroup = {
|
||||
title: string
|
||||
links: DropdownLink[]
|
||||
}
|
||||
|
||||
type ExternalLink = {
|
||||
|
|
@ -21,6 +34,49 @@ type ExternalLink = {
|
|||
}
|
||||
}
|
||||
|
||||
const projectGroups: DropdownGroup[] = [
|
||||
{
|
||||
title: "Worlds and Games",
|
||||
links: [
|
||||
{ label: "Aetheria-Economy", slug: "Projects/Aetheria-Economy" as FullSlug },
|
||||
{ label: "AetheriaLore", slug: "Projects/AetheriaLore" as FullSlug },
|
||||
{ label: "CultPong", slug: "Projects/CultPong" as FullSlug },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Studio and Sites",
|
||||
links: [
|
||||
{ label: "GCLP", slug: "Projects/GCLP" as FullSlug },
|
||||
{ label: "gamecult-site", slug: "Projects/gamecult-site" as FullSlug },
|
||||
{ label: "GameCult-Quartz", slug: "Projects/GameCult-Quartz" as FullSlug },
|
||||
{ label: "gamecult-grav", slug: "Projects/gamecult-grav" as FullSlug },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Libraries and Protocols",
|
||||
links: [
|
||||
{ label: "CultLib", slug: "Projects/CultLib" as FullSlug },
|
||||
{ label: "cultcache-ts", slug: "Projects/cultcache-ts" as FullSlug },
|
||||
{ label: "cultnet-ts", slug: "Projects/cultnet-ts" as FullSlug },
|
||||
{ label: "epiphany-graph-rs", slug: "Projects/epiphany-graph-rs" as FullSlug },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "AI and Tools",
|
||||
links: [
|
||||
{ label: "Ghostlight", slug: "Projects/Ghostlight" as FullSlug },
|
||||
{ label: "repixelizer", slug: "Projects/repixelizer" as FullSlug },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Forks and Parked Dependencies",
|
||||
links: [
|
||||
{ label: "geometry-script", slug: "Projects/geometry-script" as FullSlug },
|
||||
{ label: "stride", slug: "Projects/stride" as FullSlug },
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
const routes: Route[] = [
|
||||
{
|
||||
label: "Studio",
|
||||
|
|
@ -35,20 +91,11 @@ const routes: Route[] = [
|
|||
"the-new-hotness",
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Bifrost",
|
||||
slug: "Docs/Bifrost" as FullSlug,
|
||||
matches: ["Docs/Bifrost"],
|
||||
},
|
||||
{
|
||||
label: "Projects",
|
||||
slug: "Projects/index" as FullSlug,
|
||||
matches: ["Projects"],
|
||||
},
|
||||
{
|
||||
label: "Repixelizer",
|
||||
href: "https://repixelizer.gamecult.org",
|
||||
external: true,
|
||||
dropdownGroups: projectGroups,
|
||||
},
|
||||
{
|
||||
label: "Blog",
|
||||
|
|
@ -166,6 +213,51 @@ export default (() => {
|
|||
const href = route.external
|
||||
? route.href!
|
||||
: resolveRelative(currentSlug, route.slug!)
|
||||
|
||||
if (route.dropdownGroups) {
|
||||
return (
|
||||
<details class="gamecult-nav-dropdown">
|
||||
<summary
|
||||
class={active ? "gamecult-nav-chip active" : "gamecult-nav-chip"}
|
||||
>
|
||||
<span>{route.label}</span>
|
||||
<span class="gamecult-nav-caret" aria-hidden="true">
|
||||
v
|
||||
</span>
|
||||
</summary>
|
||||
<div class="gamecult-nav-dropdown-panel">
|
||||
<a href={href} class="gamecult-nav-dropdown-overview">
|
||||
Repo Atlas
|
||||
</a>
|
||||
{route.dropdownGroups.map((group) => (
|
||||
<section class="gamecult-nav-dropdown-group">
|
||||
<h3>{group.title}</h3>
|
||||
<ul class="gamecult-nav-dropdown-list">
|
||||
{group.links.map((link) => {
|
||||
const linkHref = link.external
|
||||
? link.href!
|
||||
: resolveRelative(currentSlug, link.slug!)
|
||||
return (
|
||||
<li>
|
||||
<a
|
||||
href={linkHref}
|
||||
class="gamecult-nav-dropdown-link"
|
||||
target={link.external ? "_blank" : undefined}
|
||||
rel={link.external ? "noreferrer noopener" : undefined}
|
||||
>
|
||||
{link.label}
|
||||
</a>
|
||||
</li>
|
||||
)
|
||||
})}
|
||||
</ul>
|
||||
</section>
|
||||
))}
|
||||
</div>
|
||||
</details>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<a
|
||||
href={href}
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@ body {
|
|||
}
|
||||
|
||||
.page > #quartz-body .center > .page-header > header {
|
||||
position: relative;
|
||||
display: block;
|
||||
align-items: start;
|
||||
margin: 0 0 1rem;
|
||||
|
|
@ -104,7 +105,7 @@ body {
|
|||
box-shadow:
|
||||
0 20px 44px rgba(0, 0, 0, 0.24),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.03);
|
||||
overflow: hidden;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.gamecult-titlebar {
|
||||
|
|
@ -170,9 +171,25 @@ body {
|
|||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown > summary {
|
||||
list-style: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown > summary::-webkit-details-marker,
|
||||
.gamecult-nav-dropdown > summary::marker {
|
||||
display: none;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.gamecult-nav-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.32rem;
|
||||
min-height: 2.15rem;
|
||||
padding: 0.3rem 0.8rem;
|
||||
border-radius: 999px;
|
||||
|
|
@ -192,6 +209,85 @@ body {
|
|||
color: #fff3e8;
|
||||
}
|
||||
|
||||
.gamecult-nav-caret {
|
||||
font-size: 0.75rem;
|
||||
line-height: 1;
|
||||
opacity: 0.72;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown[open] > .gamecult-nav-chip .gamecult-nav-caret {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-panel {
|
||||
position: absolute;
|
||||
top: calc(100% + 0.65rem);
|
||||
left: 0;
|
||||
z-index: 30;
|
||||
display: none;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 1rem 1.2rem;
|
||||
min-width: min(92vw, 38rem);
|
||||
padding: 1rem 1.1rem 1.05rem;
|
||||
border: 1px solid rgba(89, 183, 255, 0.16);
|
||||
border-radius: 22px;
|
||||
background:
|
||||
radial-gradient(circle at 86% 14%, rgba(255, 138, 42, 0.12), transparent 20%),
|
||||
linear-gradient(180deg, rgba(8, 13, 21, 0.98), rgba(10, 17, 27, 0.96));
|
||||
box-shadow:
|
||||
0 20px 48px rgba(0, 0, 0, 0.34),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.03);
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown:hover > .gamecult-nav-dropdown-panel,
|
||||
.gamecult-nav-dropdown:focus-within > .gamecult-nav-dropdown-panel,
|
||||
.gamecult-nav-dropdown[open] > .gamecult-nav-dropdown-panel {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-overview {
|
||||
grid-column: 1 / -1;
|
||||
color: rgba(255, 243, 232, 0.92);
|
||||
font-family: var(--titleFont);
|
||||
font-size: 0.9rem;
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.04em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-group {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-group h3 {
|
||||
margin: 0 0 0.4rem;
|
||||
color: rgba(255, 138, 42, 0.88);
|
||||
font-size: 0.72rem;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.2rem;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-link {
|
||||
color: rgba(220, 231, 246, 0.94);
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-link:hover,
|
||||
.gamecult-nav-dropdown-overview:hover {
|
||||
color: #fff3e8;
|
||||
}
|
||||
|
||||
.gamecult-titlebar-community {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
|
|
@ -252,6 +348,104 @@ body {
|
|||
filter: drop-shadow(0 0 0.35rem rgba(255, 138, 42, 0.28));
|
||||
}
|
||||
|
||||
.gamecult-project-groups {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
|
||||
gap: 1rem;
|
||||
margin: 1.25rem 0 1.4rem;
|
||||
}
|
||||
|
||||
.gamecult-project-group {
|
||||
padding: 1rem 1.05rem 1.1rem;
|
||||
border: 1px solid rgba(89, 183, 255, 0.12);
|
||||
border-radius: 20px;
|
||||
background:
|
||||
linear-gradient(180deg, rgba(11, 18, 28, 0.96), rgba(8, 13, 21, 0.94));
|
||||
box-shadow:
|
||||
0 16px 36px rgba(0, 0, 0, 0.18),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.02);
|
||||
}
|
||||
|
||||
.gamecult-project-group h2 {
|
||||
margin: 0 0 0.7rem;
|
||||
font-family: var(--titleFont);
|
||||
font-size: 1.12rem;
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.03em;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.gamecult-project-group ul {
|
||||
margin: 0;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
.gamecult-project-group li + li {
|
||||
margin-top: 0.34rem;
|
||||
}
|
||||
|
||||
.gamecult-repo-links {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.65rem;
|
||||
margin: 1rem 0 1.1rem;
|
||||
}
|
||||
|
||||
.gamecult-repo-link {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 2.1rem;
|
||||
padding: 0.34rem 0.82rem;
|
||||
border-radius: 999px;
|
||||
border: 1px solid rgba(89, 183, 255, 0.16);
|
||||
background: rgba(89, 183, 255, 0.06);
|
||||
color: #dce7f6;
|
||||
font-family: var(--titleFont);
|
||||
font-size: 0.9rem;
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.gamecult-repo-link:hover {
|
||||
background: rgba(255, 138, 42, 0.16);
|
||||
border-color: rgba(255, 138, 42, 0.42);
|
||||
color: #fff3e8;
|
||||
}
|
||||
|
||||
.gamecult-repo-facts {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
|
||||
gap: 0.8rem;
|
||||
margin: 0 0 1.35rem;
|
||||
}
|
||||
|
||||
.gamecult-repo-fact {
|
||||
padding: 0.85rem 0.95rem 0.92rem;
|
||||
border: 1px solid rgba(89, 183, 255, 0.12);
|
||||
border-radius: 18px;
|
||||
background:
|
||||
linear-gradient(180deg, rgba(11, 18, 28, 0.96), rgba(8, 13, 21, 0.94));
|
||||
}
|
||||
|
||||
.gamecult-repo-fact-label {
|
||||
margin: 0 0 0.32rem;
|
||||
color: rgba(255, 138, 42, 0.88);
|
||||
font-size: 0.72rem;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.gamecult-repo-fact-value {
|
||||
margin: 0;
|
||||
color: #eef5ff;
|
||||
font-family: var(--titleFont);
|
||||
font-size: 1rem;
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.02em;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.page > #quartz-body .center > .popover-hint {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
|
@ -484,7 +678,7 @@ a,
|
|||
color: var(--secondary);
|
||||
}
|
||||
|
||||
a.internal {
|
||||
a.internal:not(.gamecult-repo-link) {
|
||||
background-color: transparent;
|
||||
border-radius: 0;
|
||||
padding: 0;
|
||||
|
|
@ -550,6 +744,22 @@ a:hover,
|
|||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-panel {
|
||||
position: static;
|
||||
min-width: 0;
|
||||
width: 100%;
|
||||
margin-top: 0.7rem;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.gamecult-nav-dropdown-overview {
|
||||
grid-column: auto;
|
||||
}
|
||||
|
||||
.gamecult-titlebar-top {
|
||||
flex-direction: column;
|
||||
gap: 0.75rem;
|
||||
|
|
|
|||
Loading…
Reference in a new issue