İçeriğe geç

Derleme ve katkı

Node.js 20.19 veya üstü gerekir.

Terminal window
git clone https://github.com/SpaceEngineerSS/PhotonLab.git
cd PhotonLab
npm install
npm run dev # uygulama: http://localhost:5173
npm run dev:docs # bu site: http://localhost:4321/docs

Derlenmiş çözücü rust-core/pkg içinde depoya eklenmiştir; arayüz ya da belgeler üzerinde çalışmak için Rust gerekmez.

Rust’ı WebAssembly hedefiyle ve wasm-pack ile kurun:

Terminal window
rustup target add wasm32-unknown-unknown
cargo install wasm-pack

Sonra:

Terminal window
npm run build:wasm # rust-core/pkg'yi yeniden derler
cd rust-core && cargo test --release # fizik testleri

build:wasm WebAssembly SIMD’yi açar (rust-core/.cargo/config.toml) ve wasm-pack’in ürettiği, depoya ait olmayan dosyaları siler. Güncellenen pkg/ klasörünü Rust değişikliklerinizle birlikte commit’leyin; CI bağlamaların kaynaklarla eşleştiğini denetler.

cargo run --release --example bench makinenizde bir zaman adımının maliyetini yazdırır.

Terminal window
npm run lint
npm run typecheck
npm test # web birim testleri
npm run build # uygulama + belgeler, yayındaki haliyle

CI bunların hepsini, ek olarak cargo fmt --check, cargo clippy -D warnings ve Rust testlerini çalıştırır.

Bu belgelerdeki görseller elle çizilmez, üretilir:

Terminal window
node tools/assets/diagrams.mjs # SVG şekiller, iki dilde
npm run dev # ardından başka bir terminalde:
node tools/capture/capture.mjs # çalışan uygulamadan ekran görüntüleri
node tools/assets/make-icons.mjs # uygulama simgeleri

Arayüzü değiştirirseniz belgeler dürüst kalsın diye ekran görüntülerini yeniden üretin.

Hata bildirimleri ve pull request’ler memnuniyetle karşılanır. Bir düzeltmeden büyük işler için önce bir issue açın, yaklaşım üzerinde anlaşalım. Pull request’leri odaklı tutun, anlamlı olduğu yerde test ekleyin ve elle neyi denediğinizi yazın. Fizik değişikliklerinde önce ve sonraki doğrulama değerlerini ekleyin.

Ayrıntılı yönergeler CONTRIBUTING.md dosyasında.