Render: integrated workspace, preview image jobs and opaque PBR (#1046)

Lands the Render workspace (R3), bounded preview-image jobs with cancellation and atomic PNG export (R4a), and opaque PBR looks as one change.

- Render workspace: an overlay-free product preview on the installed GPU device. Returning to Design restores its camera. render.scene and render.settings.apply are added.
- Image jobs: render.preflight/start/status/cancel/export run bounded CPU preview jobs. Export captures the job, overwrite choice and document, and checks the caller's file scope before writing.
- Opaque PBR: looks can carry metal fraction, roughness and dielectric IOR. The product viewport and preview PNG use them; geometry and mass are unchanged. The v1 catalog export refuses PBR rather than dropping it.
- Render setups and PBR looks are saved under design format 21. Labels are in en/de/ja/ko/zh/ru.

Supersedes #706 and #800. Refs #620, #673, #756, #1004.

Contributed by @0xlillith.

Co-authored-by: lillith <35337584+0xlillith@users.noreply.github.com>
This commit is contained in:
selune authored and GitHub committed 2026-10-14 19:24:36 -04:00
1 parent e4ef6cfe29
commit a261aaa841
70 files changed
+5860 -101

No files matched your search

+55 -1
View File
@@ -788,5 +788,59 @@
"update.dmg_opened": "Das Disk-Image ist geöffnet und geprüft: SolidCraft in „Programme“ ziehen, die alte Version ersetzen und SolidCraft neu starten.",
"update.install_failed": "Das Update wurde nicht installiert: {error}. Es wurde nichts verändert; „Herunterladen“ holt das Paket.",
"cmd.render_settings_get": "Rendereinstellungen",
"cmd.render_settings_set": "Rendereinstellungen speichern"
"cmd.render_settings_set": "Rendereinstellungen speichern",
"cmd.render_scene": "Renderszene prüfen",
"cmd.render_settings_apply": "Renderkamera anwenden",
"toolbar.render": "RENDERN",
"toolbar.render_scene": "SZENE",
"render.preview": "Integrierte Vorschau",
"render.preview_help": "Rasterdarstellung mit gemischter Transparenz. Brechung, HDRI und finales Rendering sind noch nicht verfügbar.",
"render.setup_name": "Name des Setups",
"render.background": "Szenenhintergrund",
"render.perspective": "Perspektivische Kamera",
"render.fit": "Produkt einpassen",
"render.restore_camera": "Gespeicherte Kamera laden",
"render.save_setup": "Setup speichern",
"render.unsaved": "Ungespeicherte Vorschauänderungen",
"render.reload_settings": "Gespeicherte Einstellungen laden",
"render.unavailable_preview": "Dieses Setup verlangt ein nicht verfügbares Vorschauprofil.",
"render.use_preview": "Integrierte Vorschau verwenden",
"render.navigation_help": "Ziehen zum Drehen; mit mittlerer Taste ziehen zum Verschieben; scrollen zum Zoomen. Setup speichern übernimmt die aktuelle Kamera.",
"render.return_design": "Zurück zu Design",
"render.image_title": "Bild rendern",
"render.image_help": "CPU-Vorschaubild · PNG · angenäherte Transparenz",
"render.image_width": "Breite",
"render.image_height": "Höhe",
"render.image_transparent": "Transparenter Hintergrund",
"render.image_check": "Renderanfrage prüfen",
"render.image_supported": "Renderanfrage unterstützt; Warteschlange und Speicher werden beim Start erneut geprüft.",
"render.image_queued": "Warten auf Rendering",
"render.image_preparing": "Bild wird vorbereitet",
"render.image_running": "Bild wird gerendert",
"render.image_encoding": "PNG wird kodiert",
"render.image_cancelling": "Wird abgebrochen",
"render.image_cancelled": "Rendering abgebrochen",
"render.image_completed": "Bild bereit zum Export",
"render.image_failed": "Rendering fehlgeschlagen",
"render.image_unknown": "Renderstatus nicht verfügbar",
"render.image_reduce": "Kleineres Bild oder einfachere Szene versuchen.",
"render.image_cancel": "Rendering abbrechen",
"render.image_stale": "Dieses Bild verwendet die Szene vor den nachfolgenden Änderungen.",
"render.image_start": "Rendering starten",
"render.image_overwrite": "Vorhandene Datei ersetzen",
"render.image_export": "PNG exportieren",
"cmd.render_preflight": "Renderanfrage prüfen",
"cmd.render_start": "Bild rendern",
"cmd.render_status": "Renderfortschritt",
"cmd.render_cancel": "Rendering abbrechen",
"cmd.render_export": "PNG exportieren",
"toolbar.image": "BILD",
"appearance.surface_response": "Oberflächenverhalten",
"appearance.pbr_opaque": "Opakes PBR",
"appearance.metallic": "Metallanteil",
"appearance.roughness": "Rauheit",
"appearance.dielectric_ior": "Brechungsindex des Dielektrikums",
"appearance.pbr_help": "Diese Oberfläche in Render oder einem Produkt-PNG ansehen. Keine Brechung oder Transmission.",
"render.opaque_preview_help": "Opakes PBR und einfache Farben; Transparenz durch Blending. Brechung, HDRI und finales Rendering sind noch nicht verfügbar.",
"render.opaque_image_summary": "Vorschau-PNG · opakes PBR · Transparenz durch Blending"
}