init: initial commit
- ticker / QR ad overlay / break slide graphics (1920×1080) with all geometry derived from one shared module (src/shared/obs-geometry.mjs) - OBS scene-collection generator (scripts/generate-obs-scenes.mjs) and a read-only in-dashboard setup verifier, both driven by the same module - en/sr dashboard i18n selected via bundle config; configschema.json with neutral first-run defaults seeded from optional branding config - install.sh / systemd user service / update.sh for venue deployment - reference OBS scene collection + profile from a real venue as fixtures
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# Contributing
|
||||
|
||||
Thanks for taking a look!
|
||||
|
||||
## Setup
|
||||
|
||||
The bundle develops inside a NodeCG install:
|
||||
|
||||
```sh
|
||||
mkdir venue-dev && cd venue-dev
|
||||
npm pack nodecg@^2 && tar xzf nodecg-*.tgz --strip-components=1 && rm nodecg-*.tgz
|
||||
npm install --omit=dev
|
||||
mkdir -p bundles cfg && cd bundles
|
||||
git clone https://git.dvdrw.dev/kckljajicevo/nodecg-venue-gfx.git && cd nodecg-venue-gfx
|
||||
npm ci
|
||||
npm run dev # watch + auto-restarting NodeCG on :9090
|
||||
```
|
||||
|
||||
(`scripts/install.sh --local .` automates the same thing.)
|
||||
|
||||
## Ground rules
|
||||
|
||||
- `dashboard/`, `graphics/`, `extension/` are build outputs — never edit or
|
||||
commit them; sources live in `src/`.
|
||||
- Geometry shared with OBS lives only in `src/shared/obs-geometry.mjs`
|
||||
(plain JS + `.d.mts` declarations — keep both in sync).
|
||||
- UI strings live in `src/i18n/` — no literals in panel components. New
|
||||
locales: copy `en.ts`, register in `index.ts`, extend the enum in
|
||||
`configschema.json`.
|
||||
- `npm run build` and the TypeScript checks must stay green:
|
||||
`npx tsc --noEmit -p src/{dashboard,graphics,extension}/tsconfig.json`.
|
||||
- Changes to the generated OBS collection shape should be validated by a real
|
||||
import into OBS ≥ 31.
|
||||
|
||||
## License
|
||||
|
||||
AGPL-3.0 — contributions are accepted under the same license.
|
||||
Reference in New Issue
Block a user