GameCult chat web client, a fork of Cinny (AGPL-3.0). Steward: Void. https://chat.gamecult.org
  • TypeScript 94.3%
  • JavaScript 3.4%
  • GLSL 1.9%
  • CSS 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nibu 0d26b71862
Some checks failed
Build pull request / Build pull request (pull_request) Has been cancelled
scene: keep the terrain sky and baked tables out of the main chunk
skyBackdrop reads constants (the union of the ridge and terrain skies, rounded
outward) instead of computing it, and the door imports skyForState lazily with
the scenes. A test fails when the constants drift from the computed union.
Main entry chunk vs dev: +0.4 KB gzip, down from +51.5 KB.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 22:37:06 +00:00
.github CI: drop artifact upload from the build check (#41) 2026-11-09 16:01:37 +00:00
.husky chore: add semantic release (#2759) 2026-03-19 16:26:25 +11:00
.vscode Replace Webpack to Vite (#1023) 2022-12-20 20:47:51 +05:30
contrib brand: Ratatoskr README front door, package name, theme colour, contrib confs 2026-11-06 07:09:25 +00:00
docs docs: file zone marks are verdict and landed reactions plus optional reply 2026-11-08 08:05:29 +00:00
harness scene: terrainNormal reads the world-z slope from .y, not .z 2026-11-07 20:43:34 +00:00
preview-demo/poses Merge pull request 'preview-demo: README for the pose thumbnails (provenance)' (#29) from void/poses-readme into dev 2026-11-09 10:59:20 +00:00
public Merge remote-tracking branch 'origin/void/pose-catalogue' into void/preview-all 2026-11-07 18:03:05 +00:00
scripts Merge remote-tracking branch 'origin/nibu/scene-terrain-scatter' into nibu/scene-terrain-scatter-dev 2026-11-08 07:51:56 +00:00
src scene: keep the terrain sky and baked tables out of the main chunk 2026-11-09 22:37:06 +00:00
.dockerignore Improve Dockerfile (#256) 2022-01-30 20:58:38 +05:30
.eslintignore Replace Webpack to Vite (#1023) 2022-12-20 20:47:51 +05:30
.eslintrc.cjs Fix unread reset and notification settings (#1824) 2024-07-23 15:14:32 +10:00
.gitignore poses: read labels only from the catalogue; add a client-status pose line 2026-11-04 14:06:18 +00:00
.node-version Pin all the action deps to SHA (#2725) 2026-03-04 12:31:36 +11:00
.npmrc Add authenticated media support (#1930) 2024-09-07 19:15:55 +05:30
.prettierignore poses: read labels only from the catalogue; add a client-status pose line 2026-11-04 14:06:18 +00:00
.prettierrc.json Replace Webpack to Vite (#1023) 2022-12-20 20:47:51 +05:30
build.config.ts GameCult theme, steward-grouped project rooms, preview base override 2026-10-31 05:00:32 +01:00
CODE_OF_CONDUCT.md Create Code of Conduct (#1908) 2024-08-21 15:43:40 +05:30
config.json Merge remote-tracking branch 'origin/dev' into dev 2026-11-07 18:12:03 +00:00
CONTRIBUTING.md Merge remote-tracking branch 'origin/dev' into dev 2026-11-07 18:12:03 +00:00
docker-nginx.conf remove libolm related code (#2300) 2025-03-31 19:10:24 +11:00
Dockerfile chore(deps): bump nginx from 1.31.4-alpine to 1.31.5-alpine (#3098) 2026-09-10 15:33:46 +10:00
HACKING.md brand: Ratatoskr README front door, package name, theme colour, contrib confs 2026-11-06 07:09:25 +00:00
index.html Merge remote-tracking branch 'origin/nibu/scene-terrain-scatter' into nibu/scene-terrain-scatter-dev 2026-11-08 07:51:56 +00:00
LICENSE Change license to AGPLv3 (#1115) 2023-02-24 17:28:04 +05:30
netlify.toml remove libolm related code (#2300) 2025-03-31 19:10:24 +11:00
package-lock.json Merge remote-tracking branch 'origin/void/three-doors-look' into void/preview-all 2026-11-07 18:03:10 +00:00
package.json Merge void/sky-tokens (0386065f) into scene-terrain-scatter 2026-11-07 23:28:53 +00:00
README.md README: drop the OBS media receiver disambiguation 2026-11-06 12:39:02 +00:00
tsconfig.json Add authenticated media support (#1930) 2024-09-07 19:15:55 +05:30
vite.config.js pose-aware chat bubble behind a Pose Portraits setting 2026-11-01 19:22:21 +00:00

Ratatoskr

GameCult's Matrix chat client, a fork of Cinny. It opens on GameCult's estate (spaces, project rooms grouped by steward, Minds, and your own place in it) instead of an invite list. Mobile first.

Live now: the Cinny engine (matrix-js-sdk, Rust crypto, sync) under a Ratatoskr UI: branding, GameCult theme, estate navigation, pose portraits (opt-in setting), a background scene and soundscape (opt-in, off by default). Planned: see docs/gamecult/ratatoskr-target.md for the target and cut sequence. Internal names that are protocol or stored state (cinny_* localStorage keys, the in.cinny.room.power_level_tags event type, CINNY_BASE) are unchanged on purpose.

Entry points: src/app/ (client UI), src/app/features/scene/ (background scene), src/app/features/soundscape/ (audio socket), harness/ (estate drive scripts), scripts/gen-brand.mjs (regenerates the logo and icons).

Upstream

Ratatoskr is based on Cinny by Ajay Bura and contributors, licensed AGPL-3.0. Cinny's own README, desktop app and releases live at https://github.com/cinnyapp/cinny. We do not ship its releases or images.

Developing

See HACKING.md. Contribution notes are in CONTRIBUTING.md.

Self-hosting

Build with npm ci && npm run build and serve dist/ with your webserver.

  • The default homeservers and explore pages are defined in config.json.
  • Serving the assets needs redirects to index.html. Examples: netlify, nginx, caddy. Without them you can enable hash routing (hashRouter); URLs then carry /#/.
  • To deploy on a subdirectory, rebuild with the base path set, either in build.config.ts or through CINNY_BASE (for example CINNY_BASE=/app/ npm run build).

License

Ratatoskr is a fork of the Cinny project
Copyright © 2024–present Ajay Bura
https://cinny.in

Cinny is licensed under the GNU Affero General Public License, Version 3 of the License (AGPL-3.0-only). You may obtain a copy of the License at https://www.gnu.org/licenses/agpl-3.0.html