Files
psxbase/CONTRIBUTING.md
ryanfitzpatrickio 8a96ede9f2 Initial public release of PSX Adventure Engine
Browser reference stack for PSX-era third-person adventure: fixed cameras,
inventory puzzles, Box3D physics, host-authoritative P2P co-op, and a modular
character harness. Ships the Ashgrove Precinct Level 1 investigation demo with
a full cast and nine linked rooms.
2026-07-31 06:32:43 -05:00

41 lines
1.1 KiB
Markdown

# Contributing
Thanks for looking at the project. A few conventions keep the monorepo tidy.
## Setup
```bash
pnpm install
pnpm typecheck
pnpm test
```
## Packages
| Package | Responsibility |
| --- | --- |
| `client` | Game runtime (must stay free of Node-only APIs) |
| `server` | Auth, lobbies, signalling |
| `shared` | Types and schemas used by both ends |
| `tools` | Character pipeline (Node only) |
Put new gameplay types in `shared` before wiring them into client/server.
## Style
- TypeScript strict; no `any` without a comment why.
- Prefer small declarative room / item / cast data over one-off engine forks.
- Keep PSX constraints intentional: low poly, fixed cams, fog, nearest textures.
## Pull requests
1. One concern per PR when possible.
2. `pnpm typecheck && pnpm test` green.
3. Update `README.md` / `GDD.md` when behaviour or demo layout changes.
## Character assets
Prefer `pnpm cast` / the creator UI over hand-editing GLBs. Ship
`assets/characters/{id}.glb` plus `.recipe.json` (and albedo if textured).
Do not commit `.grok-texture-cache` or `*.analysis.json`.