mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-15 14:43:28 +00:00
1.2 KiB
1.2 KiB
Contributing
- Language: Rust only. No JavaScript or TypeScript. On the web,
wasm-bindgengenerates a small loader; never hand-write JS. - Licence: contributions are MIT OR Apache-2.0 (workspace default; see
plan/for the pending licence decision). - Clean-room: do not copy code, shaders, icons or other assets from proprietary software (Photon Studio, Photoshop). Match behaviour and look by observation and public specs. Only use assets with permissive licences, and record them next to the asset (e.g.
assets/fonts/OFL-*.txt,assets/icons/LICENSE-lucide.txt). - Commands, not handlers: new features are engine commands with tests, and the UI calls them.
- Layering:
cargo xtask layersmust pass. Register new crates inxtask/src/layers.rs. - Tests: required for every change. Format code needs round-trip and malformed-input tests.
- Style:
cargo fmt, andcargo clippy -- -D warnings. Match surrounding code. Comments explain why. - UI: use
theme::Tokensandwidgets::*. Verify visually through the control channel before submitting, and attach before/after screenshots to PRs. - Commits: small, focused, with a clear subject line.