# Pli — Blender aktarım dosyası, sürüm 1.0.0

RenderParcel'dan özgün bir çalışma: mor seramik şişe, saten turuncu yaka, şerit desenli kâğıt etiket ve kil taban. Kadraj, solda boş bir alan bırakacak şekilde bir ürün görseli için planlanmıştır. Ne bir müşteri nesnesi ne de bir fotoğraftan çoğaltılmış bir modeldir.

## İndirme gerçekte ne içeriyor

Bu paket bir **sahne üreticisi**, özgün bir doku, bir tarif ve kontroller sağlar. Hazırlık ortamında hiçbir `.blend` dosyası ya da Blender render'ı üretilmemiştir: Blender orada bulunamadı. Yapılan doğrulama dosyaları, yolları, PNG'yi, Python sözdizimini ve bağımlılık hatalarını kapsar. `VALIDATION.md` dosyasını okuyun.

Yeniden oluşturma hedefi **Blender 4.5.x LTS** ile birlikte gelen Python ve Cycles'tır. Betik, varsayılan bir uyumluluğun test edilmiş gibi görünmesini önlemek için başka bir dalı reddeder. Hiçbir harici Python modülü, Blender eklentisi, yazı tipi, HDRI veya model gerekmez. Bağımsız bir Python 3.10+ klasörün kontrolü için yeterlidir; sağlanan testler Windows üzerinde Python 3.14.6 ile çalıştırılmıştır.

## Dizin yapısı ve giriş noktası

```text
blender-v1/
  README.md, LICENSE.txt, VALIDATION.md
  scene.json                    tarif, sürümler, bağımlılıklar ve çıktılar
  manifest.sha256.json           dağıtılan dosyaların boyutu ve SHA-256'sı
  generate_scene.py              Blender İÇİNDE çalıştırılacak giriş noktası
  inspect_scene.py               ikinci bir Blender'da kontrol amaçlı açma
  validate_pack.py               Blender OLMADAN dosya kontrolü
  01_sources/make_texture.py     PNG'nin özgün tarifi
  02_projet/                    yeniden oluşturulan .blend'i alır
  03_ressources/pli-chevron.png  korunacak sRGB doku
  04_caches/                    bu sabit sahne için önbellek yok
  05_rendus/                    istenirse CPU önizlemesini alır
  06_livraison/                 teslim alma formu ve çalıştırma sonrası raporlar
```

Manifest, dairesel bir parmak izini önlemek için kendisi hariç olmak üzere dağıtılan dosyaları kapsar. Sonradan oluşturulan çıktılar bu manifestin parçası değildir. Bir parmak izi dosya farkını tespit eder; ne kökenini ne de görünümünü doğrular. Kendi teslimatınız için, onaylanan çıktıları içeren tarihli yeni bir envanter oluşturun.

## 1. Blender'ı açmadan önce çıkarma ve doğrulama

ZIP'i yeni bir klasöre çıkarın, ardından `blender-v1` kökünde bir terminal açın. Hâlâ sıkıştırılmış bir arşivin içinden hiçbir komut çalıştırmayın.

```sh
python validate_pack.py --root . --json
```

Sonuç `"ok": true` içermeli ve çıkış kodu 0 olmalıdır. Eksik, değiştirilmiş, klasör dışında bir dosya veya geçersiz bir PNG başarısızlık üretir (kod 1). Kontrol başarısız olursa burada durun. Bir hatayı gizlemek için manifesti yeniden yazmayın.

Windows'ta `py -3`, `python` yerine kullanılabilir. Aşağıdaki `blender`, Blender 4.5.x çalıştırılabilir dosyanızı belirtmelidir; klasörü PATH'te değilse, tam yolunu tırnak içinde kullanın (PowerShell'de bu yolun önüne `&` koyarak).

## 2. Ayrı bir Blender sürecinde yeniden oluşturma

Betik bellekte boş bir sahneyi yeniden oluşturur; kaydedilmemiş bir projede çalıştırmayın. Çıkarılan klasörden:

```sh
blender --background --factory-startup --python-exit-code 1 --python generate_scene.py -- --render-preview
```

Bu komut şunları oluşturmalıdır:

- `02_projet/renderparcel_pli_v1.blend`: sabit sahne, görüntü 1, kamera `Pli_Camera`, Cycles CPU, 1.200 × 750 piksel ve 64 örnek;
- `05_rendus/pli_controle_cpu.png`: **render başarılı olursa**, 480 × 300 piksel, 16 örnek, gürültü giderme olmadan CPU önizlemesi;
- `06_livraison/reconstruction.json`: gerçekte kullanılan Blender sürümü, nesneler, seçilen aygıt ve render'ın gerçek durumu.

Yalnızca `.blend` oluşturmak için `-- --render-preview` kısmını kaldırın. Rapor bu durumda `renderExecuted: false` gösterecektir. Betik, indirgenmiş hesaplamadan önce sahneyi çalışma tanımıyla kaydeder; bu nedenle `.blend` önizleme ayarlarıyla değiştirilmez. Komutlar hiçbir zaman bir GPU başlatmaz.

Mevcut çıktılar reddedilir. Yeni bir deneme için, saklanan bir sonucun üzerine yazmak yerine paketi başka bir klasöre yeniden çıkarın. Bir istisna `--python-exit-code 1` aracılığıyla sisteme bildirilir; başarısızlık durumunda terminal mesajlarını saklayın.

## 3. Sahneyi ikinci bir süreçte yeniden açma

```sh
blender --background --factory-startup --python-exit-code 1 --python inspect_scene.py
```

Kontrol, `.blend` dosyasını kendi dahili betiklerini çalıştırmadan açar; on nesneyi, kamera, Cycles CPU, ayarlar, tek kare aralığı, AgX, gömülü doku ve onun göreli yolunu doğrular. Sonuç `06_livraison/inspection-blender.json` dosyasına gider. Bu kontrol görüntünün güzelliğini değerlendirmez ve onu okumanın yerini tutmaz.

Ardından PNG'yi bir görüntü görüntüleyiciyle açın. `06_livraison/modele-reception.csv` dosyasını yeni bir `06_livraison/reception-executee.csv` dosyasına **kopyalayın**, sonra bu kopyayı doldurun: çerçeve içinde bütün şişe, ön yüzde krem/mor/turuncu motif, tabanla temas, macenta doku yokluğu, okunabilir yansımalar. Şablon, parmak izini korumak için değişmeden kalır; doldurulmuş kopya, kendi teslimatınızda envanterine alınacak bir çıktıdır. Bu ölçütler, yeniden oluşturmadan sonra doğrulanacak niyetlerdir; dağıtılan sürüme hiçbir referans Blender render'ı dahil edilmemiştir.

## 4. Aktarımı eski kaynaklar olmadan doğrulama

**Yeniden oluşturulan klasörün tamamını** hedef makineye ya da oluşturma bilgisayarının yollarının erişilebilir olmadığı bir ortama kopyalayın. Dosya kontrolünü çalıştırın, ardından `.blend` kopyasını açın. Eski mutlak yollar hâlâ kullanılabilirse aynı bilgisayarda basit bir taşıma yeterli olmaz.

Harici doku `03_ressources` içinde saklanır. `.blend` içinde öngörülen yol `//../03_ressources/pli-chevron.png` şeklindedir, çünkü `//` `02_projet` içindeki Blender dosyasına görelidir. Oluşturucu, dokuyu yükler ve kaydetmeden önce `Image.pack()` aracılığıyla gömer. Bu iki biçim, gömmeyi denetlerken kaynağı değiştirmeye olanak tanır; değişiklikten sonra yeniden yükleyin/gömün ve seçilen sürümü kaydedin.

Mevcut bir proje için: hedef klasöre kaydedin; File → External Data → Make Paths Relative kullanın; Report Missing Files'ı çalıştırın. Find Missing Files bağlantıları onarabilir ama bunları mutlak hâle getirebilir: yeniden kontrol edin. Pack Resources tüm harici verileri, özellikle videoları içermez. Bağlı kitaplıklar kendi yordamını gerektirir; bu paket hiçbirini kullanmaz.

## 5. Tarifi projenize uyarlama

Ayrı bir kopyayla başlayın, çünkü kaynaklardaki her değişiklik özgün manifestoyu geçersiz kılar. Yazılım/sürüm, kamera, sahne, motor, çözünürlük, örnekler, görüntüleme dönüşümü, dokular, uzantılar ve çıktı hedefini temiz bir envanterde saklayın. Paketteki PNG bir sRGB temel rengidir, normal ya da yer değiştirme haritası değildir.

Bu sahne **hiçbir animasyon, hiçbir simülasyon önbelleği, hiçbir ses, hiçbir yazı tipi ya da bağlı kitaplık kullanmaz**. Duman, kumaş veya animasyonlu geometri eklerseniz, önbellek türünü, konumunu, tam aralığını ve ön hesaplama yordamını envanterine alın. Önbellekleri kopyalamadan önce dondurun. Ara kareleri ve dizinin her dosyasını kontrol edin: doğru bir 1. kare bir animasyonu doğrulamaz.

ZIP'in boyutu render'ın VRAM'ini ölçmez. Küçültülmüş bir CPU önizlemesi bir GPU süresini tahmin etmeye izin vermez. Üretiminizi boyutlandırmak için tam sahnenizi nihai çözünürlükte ölçün ve bellek tepe noktasını, zorlu adımlar için bir pay bırakarak doğrulayın. Teslimata kadar bağımsız bir yedek tutun.

## Dokunun yeniden oluşturulması, isteğe bağlı

```sh
python 01_sources/make_texture.py --output 05_rendus/motif-reconstruit.png
```

Motifin hesaplanması belirleyicidir ve yalnızca tamsayı işlemleri kullanır. Yayımlanan testlerde, yeniden oluşturulan PNG baytları, aynı zlib kitaplığıyla birlikte teslim edilen dosyayla eşleşir. Sıkıştırma sürümleri arasında, sıkıştırılmış baytların aynı olduğunu varsaymak yerine pikselleri de karşılaştırın.

## Yordamın kaynakları

- [Blender 4.5 Kılavuzu, gömülü veriler](https://docs.blender.org/manual/sr/4.5/files/blend/packed_data.html): Pack Resources kapsamı, kaydetme ve bağlantılı kitaplıklar.
- [Blender 4.5 Kılavuzu, External Data](https://docs.blender.org/manual/ja/4.5/interface/window_system/topbar.html): göreli yollar ve eksik dosyaların aranması.
- [Blender 4.5 API, Wm Operators](https://docs.blender.org/api/4.5/bpy.ops.wm.html): dahili betikler devre dışıyken kaydetme ve açma.
- [Blender 4.0 API, Image](https://docs.blender.org/api/4.0/bpy.types.Image.html): harici/gömülü görüntü ve `pack` işlemi; erişilebilir başvuru kaynağı incelendi, 4.5 sayfası bu hazırlık sırasında erişilebilir değildi.
- [Blender 4.5 Kılavuzu, komut satırı](https://docs.blender.org/manual/es/4.5/advanced/command_line/arguments.html): betik yürütme ve Python çıkış kodu.
- [Blender 4.5 Kılavuzu, renk yönetimi](https://docs.blender.org/manual/sr/4.5/render/color_management.html): dokuların yorumlanması ve görüntüleme dönüşümü.
- [Blender 4.5 Kılavuzu, ön hesaplama](https://docs.blender.org/manual/fr/4.5/physics/baking.html): önbelleklerin ve simülasyon aralıklarının ayrı işlenmesi.

İngilizce sayfa yanıt vermediğinde resmi çeviriler kullanılır. Bunlar işlemleri belgeler, ancak hâlâ yapılması gereken Blender denemesinin yerini tutmaz. Ticari bağlantılar ve GPU seçimi teknik tarifte değil, RenderParcel kılavuzunda yer alır.

## Önceki klasörlerle uyumluluk

Yeni yeniden oluşturmalar `02_projet/renderparcel_pli_v1.blend` dosyasını kaydeder. Daha önce oluşturulmuş hiçbir dosya taşınmaz veya yeniden adlandırılmaz. Bu yeni çıktı yoksa, `inspect_scene.py` geçmiş çıktı adı olan `02_projet/prismora_pli_v1.blend` dosyasını hâlâ açabilir. Her iki dosya da varsa, inceleme yeni çıktıyı seçer.

`prismora.blender-transfer.v1` ve `prismora.integrity.v1` şema tanımlayıcıları, `prismora_pack_version` ve `prismora_purpose` teknik özellikleri ile `prismora_validator` dahili modül adı, v1 klasörlerinin okunması için sabit kalır. Bunlar uyumluluk anahtarlarıdır, klasörün görünen markası değil.
