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 <[email protected]>
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"
}
+55 -1
View File
@@ -1046,5 +1046,59 @@
"update.dmg_opened": "The disk image is open and verified: drag SolidCraft to Applications, replacing the old copy, then restart SolidCraft.",
"update.install_failed": "The update didn't install: {error}. Nothing was changed; Download gets the package instead.",
"cmd.render_settings_get": "Render Settings",
"cmd.render_settings_set": "Save Render Settings"
"cmd.render_settings_set": "Save Render Settings",
"cmd.render_scene": "Inspect Render Scene",
"cmd.render_settings_apply": "Apply Render Camera",
"toolbar.render": "RENDER",
"toolbar.render_scene": "SCENE",
"render.preview": "Integrated preview",
"render.preview_help": "Raster shading and blended transparency. Refraction, HDRI and final rendering are not available yet.",
"render.setup_name": "Setup name",
"render.background": "Scene background",
"render.perspective": "Perspective camera",
"render.fit": "Fit Product",
"render.restore_camera": "Restore Saved Camera",
"render.save_setup": "Save Setup",
"render.unsaved": "Unsaved preview changes",
"render.reload_settings": "Reload Saved Settings",
"render.unavailable_preview": "This setup requests an unavailable preview profile.",
"render.use_preview": "Use Integrated Preview",
"render.navigation_help": "Drag to orbit; middle-drag to pan; scroll to zoom. Save Setup records the current camera.",
"render.return_design": "Return to Design",
"render.image_title": "Render Image",
"render.image_help": "CPU preview image · PNG · approximate transparency",
"render.image_width": "Width",
"render.image_height": "Height",
"render.image_transparent": "Transparent background",
"render.image_check": "Check Render Request",
"render.image_supported": "Render request is supported; the queue and memory pool are checked again at start.",
"render.image_queued": "Waiting to render",
"render.image_preparing": "Preparing image",
"render.image_running": "Rendering image",
"render.image_encoding": "Encoding PNG",
"render.image_cancelling": "Cancelling",
"render.image_cancelled": "Render cancelled",
"render.image_completed": "Image ready to export",
"render.image_failed": "Render failed",
"render.image_unknown": "Render status unavailable",
"render.image_reduce": "Try a smaller image or simpler scene.",
"render.image_cancel": "Cancel Render",
"render.image_stale": "This image uses the scene captured before subsequent changes.",
"render.image_start": "Start Render",
"render.image_overwrite": "Replace existing file",
"render.image_export": "Export PNG",
"cmd.render_preflight": "Check Render Request",
"cmd.render_start": "Render Image",
"cmd.render_status": "Render Progress",
"cmd.render_cancel": "Cancel Render",
"cmd.render_export": "Export Render Image",
"toolbar.image": "IMAGE",
"appearance.surface_response": "Surface response",
"appearance.pbr_opaque": "Opaque PBR",
"appearance.metallic": "Metallic",
"appearance.roughness": "Roughness",
"appearance.dielectric_ior": "Dielectric IOR",
"appearance.pbr_help": "View this surface in Render or a product PNG. No refraction or transmission.",
"render.opaque_preview_help": "Opaque PBR and simple colors; blended transparency. Refraction, HDRI and final rendering are not available yet.",
"render.opaque_image_summary": "Preview PNG · opaque PBR · blended transparency"
}
+55 -1
View File
@@ -1046,5 +1046,59 @@
"update.dmg_opened": "ディスクイメージを検証して開きました: SolidCraft をアプリケーションフォルダにドラッグして古いものを置き換え、SolidCraft を再起動してください。",
"update.install_failed": "アップデートをインストールできませんでした: {error}。何も変更されていません。「ダウンロード」でパッケージを入手できます。",
"cmd.render_settings_get": "レンダリング設定",
"cmd.render_settings_set": "レンダリング設定を保存"
"cmd.render_settings_set": "レンダリング設定を保存",
"cmd.render_scene": "レンダリングシーンを確認",
"cmd.render_settings_apply": "レンダリングカメラを適用",
"toolbar.render": "レンダリング",
"toolbar.render_scene": "シーン",
"render.preview": "統合プレビュー",
"render.preview_help": "ラスタシェーディングとブレンド透明度を使用します。屈折、HDRI、最終レンダリングはまだ利用できません。",
"render.setup_name": "セットアップ名",
"render.background": "シーンの背景",
"render.perspective": "透視投影カメラ",
"render.fit": "製品を画面に合わせる",
"render.restore_camera": "保存したカメラを復元",
"render.save_setup": "セットアップを保存",
"render.unsaved": "未保存のプレビュー変更",
"render.reload_settings": "保存した設定を再読み込み",
"render.unavailable_preview": "このセットアップは利用できないプレビュープロファイルを要求しています。",
"render.use_preview": "統合プレビューを使用",
"render.navigation_help": "ドラッグで回転、中央ボタンのドラッグで移動、スクロールでズームします。「セットアップを保存」で現在のカメラを記録します。",
"render.return_design": "設計に戻る",
"render.image_title": "画像をレンダリング",
"render.image_help": "CPUプレビュー画像 · PNG · 近似透過",
"render.image_width": "幅",
"render.image_height": "高さ",
"render.image_transparent": "透明な背景",
"render.image_check": "レンダリング要求を確認",
"render.image_supported": "レンダリング要求に対応しています。開始時にキューとメモリを再確認します。",
"render.image_queued": "レンダリング待機中",
"render.image_preparing": "画像を準備中",
"render.image_running": "画像をレンダリング中",
"render.image_encoding": "PNGをエンコード中",
"render.image_cancelling": "キャンセル中",
"render.image_cancelled": "レンダリングをキャンセルしました",
"render.image_completed": "画像をエクスポートできます",
"render.image_failed": "レンダリングに失敗しました",
"render.image_unknown": "レンダリング状態を取得できません",
"render.image_reduce": "画像を小さくするかシーンを簡略化してください。",
"render.image_cancel": "レンダリングをキャンセル",
"render.image_stale": "この画像は後続の変更前に取得したシーンを使用しています。",
"render.image_start": "レンダリングを開始",
"render.image_overwrite": "既存のファイルを置換",
"render.image_export": "PNGをエクスポート",
"cmd.render_preflight": "レンダリング要求を確認",
"cmd.render_start": "画像をレンダリング",
"cmd.render_status": "レンダリングの進行状況",
"cmd.render_cancel": "レンダリングをキャンセル",
"cmd.render_export": "PNGをエクスポート",
"toolbar.image": "画像",
"appearance.surface_response": "表面の応答",
"appearance.pbr_opaque": "不透明PBR",
"appearance.metallic": "金属度",
"appearance.roughness": "粗さ",
"appearance.dielectric_ior": "誘電体の屈折率",
"appearance.pbr_help": "この表面はレンダリング作業空間または製品PNGで確認できます。屈折や透過には対応していません。",
"render.opaque_preview_help": "不透明PBRと単色表示、アルファ合成による透明表示に対応します。屈折、HDRI、最終レンダリングにはまだ対応していません。",
"render.opaque_image_summary": "プレビューPNG · 不透明PBR · アルファ合成の透明表示"
}
+55 -1
View File
@@ -788,5 +788,59 @@
"update.dmg_opened": "디스크 이미지를 확인하고 열었습니다: SolidCraft를 응용 프로그램 폴더로 끌어 기존 버전을 바꾼 뒤 SolidCraft를 다시 시작하세요.",
"update.install_failed": "업데이트를 설치하지 못했습니다: {error}. 아무것도 변경되지 않았습니다. 다운로드로 패키지를 받을 수 있습니다.",
"cmd.render_settings_get": "렌더링 설정",
"cmd.render_settings_set": "렌더링 설정 저장"
"cmd.render_settings_set": "렌더링 설정 저장",
"cmd.render_scene": "렌더링 장면 검사",
"cmd.render_settings_apply": "렌더링 카메라 적용",
"toolbar.render": "렌더링",
"toolbar.render_scene": "장면",
"render.preview": "통합 미리보기",
"render.preview_help": "래스터 셰이딩과 블렌딩 투명도를 사용합니다. 굴절, HDRI 및 최종 렌더링은 아직 지원하지 않습니다.",
"render.setup_name": "설정 이름",
"render.background": "장면 배경",
"render.perspective": "원근 카메라",
"render.fit": "제품에 맞추기",
"render.restore_camera": "저장된 카메라 복원",
"render.save_setup": "설정 저장",
"render.unsaved": "저장하지 않은 미리보기 변경 사항",
"render.reload_settings": "저장된 설정 다시 불러오기",
"render.unavailable_preview": "이 설정은 사용할 수 없는 미리보기 프로필을 요청합니다.",
"render.use_preview": "통합 미리보기 사용",
"render.navigation_help": "드래그하여 회전하고, 가운데 버튼으로 드래그하여 이동하며, 스크롤하여 확대/축소합니다. 설정 저장은 현재 카메라를 기록합니다.",
"render.return_design": "설계로 돌아가기",
"render.image_title": "이미지 렌더링",
"render.image_help": "CPU 미리 보기 이미지 · PNG · 근사 투명도",
"render.image_width": "너비",
"render.image_height": "높이",
"render.image_transparent": "투명 배경",
"render.image_check": "렌더 요청 확인",
"render.image_supported": "지원되는 렌더 요청입니다. 시작 시 대기열과 메모리 풀을 다시 확인합니다.",
"render.image_queued": "렌더링 대기 중",
"render.image_preparing": "이미지 준비 중",
"render.image_running": "이미지 렌더링 중",
"render.image_encoding": "PNG 인코딩 중",
"render.image_cancelling": "취소 중",
"render.image_cancelled": "렌더링 취소됨",
"render.image_completed": "이미지 내보내기 준비됨",
"render.image_failed": "렌더링 실패",
"render.image_unknown": "렌더 상태를 확인할 수 없습니다",
"render.image_reduce": "더 작은 이미지나 더 단순한 장면을 사용해 보세요.",
"render.image_cancel": "렌더링 취소",
"render.image_stale": "이 이미지는 후속 변경 전에 캡처한 장면을 사용합니다.",
"render.image_start": "렌더링 시작",
"render.image_overwrite": "기존 파일 바꾸기",
"render.image_export": "PNG 내보내기",
"cmd.render_preflight": "렌더 요청 확인",
"cmd.render_start": "이미지 렌더링",
"cmd.render_status": "렌더링 진행 상황",
"cmd.render_cancel": "렌더링 취소",
"cmd.render_export": "PNG 내보내기",
"toolbar.image": "이미지",
"appearance.surface_response": "표면 반응",
"appearance.pbr_opaque": "불투명 PBR",
"appearance.metallic": "금속성",
"appearance.roughness": "거칠기",
"appearance.dielectric_ior": "유전체 굴절률",
"appearance.pbr_help": "이 표면은 렌더링 작업 공간이나 제품 PNG에서 확인하세요. 굴절과 투과는 지원하지 않습니다.",
"render.opaque_preview_help": "불투명 PBR 및 단색 표시, 블렌딩 투명도를 지원합니다. 굴절, HDRI 및 최종 렌더링은 아직 지원하지 않습니다.",
"render.opaque_image_summary": "미리보기 PNG · 불투명 PBR · 블렌딩 투명도"
}
+55 -1
View File
@@ -992,5 +992,59 @@
"sketch_text.on_path": "Текст следует по траектории: кривая задаёт его положение",
"cmd.material_properties_validate": "Проверить данные физического материала",
"cmd.render_settings_get": "Настройки рендеринга",
"cmd.render_settings_set": "Сохранить настройки рендеринга"
"cmd.render_settings_set": "Сохранить настройки рендеринга",
"cmd.render_scene": "Просмотреть сцену рендеринга",
"cmd.render_settings_apply": "Применить камеру рендеринга",
"toolbar.render": "РЕНДЕРИНГ",
"toolbar.render_scene": "СЦЕНА",
"render.preview": "Встроенный предпросмотр",
"render.preview_help": "Растровое затенение и смешанная прозрачность. Преломление, HDRI и финальный рендеринг пока недоступны.",
"render.setup_name": "Имя набора настроек",
"render.background": "Фон сцены",
"render.perspective": "Перспективная камера",
"render.fit": "Вписать модель",
"render.restore_camera": "Восстановить сохранённую камеру",
"render.save_setup": "Сохранить набор",
"render.unsaved": "Несохранённые изменения предпросмотра",
"render.reload_settings": "Загрузить сохранённые настройки",
"render.unavailable_preview": "Этот набор запрашивает недоступный профиль предпросмотра.",
"render.use_preview": "Использовать встроенный предпросмотр",
"render.navigation_help": "Перетаскивайте для вращения, используйте среднюю кнопку для перемещения и колесо для масштаба. Сохранение набора записывает текущую камеру.",
"render.return_design": "Вернуться к проектированию",
"render.image_title": "Рендеринг изображения",
"render.image_help": "Предпросмотр на CPU · PNG · приближённая прозрачность",
"render.image_width": "Ширина",
"render.image_height": "Высота",
"render.image_transparent": "Прозрачный фон",
"render.image_check": "Проверить запрос рендеринга",
"render.image_supported": "Запрос поддерживается; при запуске очередь и пул памяти будут проверены снова.",
"render.image_queued": "Ожидание рендеринга",
"render.image_preparing": "Подготовка изображения",
"render.image_running": "Рендеринг изображения",
"render.image_encoding": "Кодирование PNG",
"render.image_cancelling": "Отмена",
"render.image_cancelled": "Рендеринг отменён",
"render.image_completed": "Изображение готово к экспорту",
"render.image_failed": "Ошибка рендеринга",
"render.image_unknown": "Состояние рендеринга недоступно",
"render.image_reduce": "Попробуйте уменьшить изображение или упростить сцену.",
"render.image_cancel": "Отменить рендеринг",
"render.image_stale": "Используется сцена, сохранённая до последующих изменений.",
"render.image_start": "Начать рендеринг",
"render.image_overwrite": "Заменить существующий файл",
"render.image_export": "Экспорт PNG",
"cmd.render_preflight": "Проверить запрос рендеринга",
"cmd.render_start": "Рендеринг изображения",
"cmd.render_status": "Ход рендеринга",
"cmd.render_cancel": "Отменить рендеринг",
"cmd.render_export": "Экспортировать изображение рендеринга",
"toolbar.image": "ИЗОБРАЖЕНИЕ",
"appearance.surface_response": "Поведение поверхности",
"appearance.pbr_opaque": "Непрозрачный PBR",
"appearance.metallic": "Металличность",
"appearance.roughness": "Шероховатость",
"appearance.dielectric_ior": "Показатель преломления диэлектрика",
"appearance.pbr_help": "Просмотр поверхности во вкладке Рендер или на PNG изделия. Без преломления и пропускания света.",
"render.opaque_preview_help": "Непрозрачный PBR и простые цвета; прозрачность через смешивание. Преломление, HDRI и финальный рендер пока недоступны.",
"render.opaque_image_summary": "Предпросмотр PNG · непрозрачный PBR · прозрачность через смешивание"
}
+55 -1
View File
@@ -1046,5 +1046,59 @@
"update.dmg_opened": "磁盘映像已校验并打开:将 SolidCraft 拖到“应用程序”替换旧版本,然后重启 SolidCraft。",
"update.install_failed": "更新未安装:{error}。未做任何更改;可用“下载”获取安装包。",
"cmd.render_settings_get": "渲染设置",
"cmd.render_settings_set": "保存渲染设置"
"cmd.render_settings_set": "保存渲染设置",
"cmd.render_scene": "检查渲染场景",
"cmd.render_settings_apply": "应用渲染相机",
"toolbar.render": "渲染",
"toolbar.render_scene": "场景",
"render.preview": "集成预览",
"render.preview_help": "光栅着色和混合透明度。暂不支持折射、HDRI 和最终渲染。",
"render.setup_name": "设置名称",
"render.background": "场景背景",
"render.perspective": "透视相机",
"render.fit": "适配产品视图",
"render.restore_camera": "恢复已保存相机",
"render.save_setup": "保存设置",
"render.unsaved": "未保存的预览更改",
"render.reload_settings": "重新加载已保存设置",
"render.unavailable_preview": "此设置请求了不可用的预览配置。",
"render.use_preview": "使用集成预览",
"render.navigation_help": "拖动以旋转,按住中键拖动以平移,滚动以缩放。保存设置会记录当前相机。",
"render.return_design": "返回设计",
"render.image_title": "渲染图像",
"render.image_help": "CPU 预览图像 · PNG · 近似透明度",
"render.image_width": "宽度",
"render.image_height": "高度",
"render.image_transparent": "透明背景",
"render.image_check": "检查渲染请求",
"render.image_supported": "支持此渲染请求;开始时将再次检查队列和内存池。",
"render.image_queued": "等待渲染",
"render.image_preparing": "正在准备图像",
"render.image_running": "正在渲染图像",
"render.image_encoding": "正在编码 PNG",
"render.image_cancelling": "正在取消",
"render.image_cancelled": "渲染已取消",
"render.image_completed": "图像可导出",
"render.image_failed": "渲染失败",
"render.image_unknown": "渲染状态不可用",
"render.image_reduce": "请尝试更小的图像或更简单的场景。",
"render.image_cancel": "取消渲染",
"render.image_stale": "此图像使用后续更改之前捕获的场景。",
"render.image_start": "开始渲染",
"render.image_overwrite": "替换现有文件",
"render.image_export": "导出 PNG",
"cmd.render_preflight": "检查渲染请求",
"cmd.render_start": "渲染图像",
"cmd.render_status": "渲染进度",
"cmd.render_cancel": "取消渲染",
"cmd.render_export": "导出 PNG",
"toolbar.image": "图像",
"appearance.surface_response": "表面响应",
"appearance.pbr_opaque": "不透明 PBR",
"appearance.metallic": "金属度",
"appearance.roughness": "粗糙度",
"appearance.dielectric_ior": "电介质折射率",
"appearance.pbr_help": "在渲染工作区或产品 PNG 中查看此表面。不支持折射或透射。",
"render.opaque_preview_help": "不透明 PBR 和纯色;透明效果使用混合。不支持折射、HDRI 和最终渲染。",
"render.opaque_image_summary": "预览 PNG · 不透明 PBR · 混合透明"
}