storytold/photocraft
PhotoCraft: An open-source, photo editor written by scratch in pure Rust
View Origin LinkProduct Positioning & Context
AI Executive Synthesis
Ensuring reliable application launch and operation on Windows, specifically addressing crashes related to the Intel Vulkan driver and seeking a robust graphics fallback mechanism (e.g., DirectX) for all launches. This aims for broad compatibility and stability.
This issue details critical application crashes on Windows, specifically with the Intel Vulkan driver, hindering PhotoCraft's basic usability. While a DirectX workaround exists, its manual application and lack of default integration for file associations create significant user friction. The pain point is fundamental instability on a primary target platform, directly impacting user adoption and trust. For B2B SaaS, such launch-time crashes are catastrophic, signaling an unreliable product. Robust graphics backend management and automatic fallbacks are essential for broad hardware compatibility. The successful headless CLI operation suggests core logic is sound, but the GUI's dependency on graphics drivers exposes a major vulnerability. Prioritizing stability and seamless user experience on all supported platforms is paramount for market acceptance.
PhotoCraft: An open-source, photo editor written by scratch in pure Rust
Related Ecosystem & Alternatives
Discover adjacent products, open-source repositories, and developer tools sharing similar technical architecture.
Deep-Dive FAQs
What is storytold/photocraft?
storytold/photocraft is analyzed by our AI as: Ensuring reliable application launch and operation on Windows, specifically addressing crashes related to the Intel Vulkan driver and seeking a robust graphics fallback mechanism (e.g., DirectX) for all launches. This aims for broad compatibility and stability.. It focuses on This issue details critical application crashes on Windows, specifically with the Intel Vulkan driver, hindering PhotoCraft's basic usability. Whil...
Where did storytold/photocraft originate?
Data for storytold/photocraft was aggregated directly from the GitHub Open Source community ecosystem, representing raw developer and early-adopter sentiment.
When was storytold/photocraft publicly launched?
The initial public indexing or launch date for storytold/photocraft within our tracked developer communities was recorded on September 30, 2026.
How popular is storytold/photocraft?
storytold/photocraft has achieved measurable traction, logging over 51,327 traction score and facilitating 8,418 recorded discussions or engagements.
Which technical categories define storytold/photocraft?
Based on metadata extraction, storytold/photocraft is categorized under topics such as: adobe, adobe-photoshop-2026, adobe-photoshop-2026-ai, art.
Are there active development issues for storytold/photocraft?
Yes, we are currently tracking open architectural debates and bug reports for this project on GitHub. There are currently 5 active high-priority issues logged recently.
Is storytold/photocraft recognized by media or academic researchers?
Yes. It has been covered by media outlets like Github.com. This indicates the concept has reached a level of mainstream or scientific viability beyond just developer forums.
What are some commercial alternatives to storytold/photocraft?
Our semantic intelligence engine identifies potential commercial alternatives in the SaaS space, such as Kudos 3.0, which offers overlapping value propositions.
How does the creator describe storytold/photocraft?
The original author or development team describes the product as follows: "PhotoCraft: An open-source, photo editor written by scratch in pure Rust"
Active Developer Issues (GitHub)
Logged: Oct 5, 2026
Logged: Oct 4, 2026
Logged: Oct 4, 2026
Logged: Oct 4, 2026
Logged: Oct 2, 2026
Community Voice & Feedback
An update, @hambydustin-eng: #252 (on main) makes startup survive driver crashes like yours. Before creating the GPU device, PhotoCraft now writes a small "starting" marker. If the previous launch died inside the driver, the next launch automatically steps to a safer backend: on Windows Vulkan → DX12 → the CPU renderer. It remembers the choice that worked (Preferences › Performance shows it, with a Reset button). Intel adapters on Windows now default to DX12, since the Intel Vulkan driver was the crasher here. `WGPU_BACKEND` still overrides everything, `--safe-gpu` forces the CPU renderer for one launch, and Help › System Info shows the adapter, backend and driver in use.
If the driver crashes before the backend is chosen, that one launch can still crash, but the next one should start on DX12. When the next release is out, could you try it without any `WGPU_BACKEND` override (including opening a `.pcraft` by double-click) and tell us what System Info reports? That will let us close th...
If the driver crashes before the backend is chosen, that one launch can still crash, but the next one should start on DX12. When the next release is out, could you try it without any `WGPU_BACKEND` override (including opening a `.pcraft` by double-click) and tell us what System Info reports? That will let us close th...
Status after 0.2.0 + #83: DNG (incl. phone DNGs), Canon CR2, Sony ARW (lossless **and** the default compressed cRAW), Panasonic RW2 (RawFormat 5) and uncompressed Olympus ORF decode in the clean-room `photocraft-raw` crate.
Still open, and why:
- **Nikon compressed NEF** (Nikon's default): its decompression tables are only documented in GPL code (dcraw/LibRaw) or write-ups derived from it, so a clean-room implementation isn't possible without an independent specification. These files open their full-size embedded JPEG preview, with a warning.
- **CR3, RAF (X-Trans), compressed ORF/PEF, RW2 RawFormat 4:** same situation or not yet investigated; they also open the embedded preview.
- **Calibrated colour for non-DNG cameras:** needs per-camera matrices we can't take from third-party tables.
Converting to DNG (Adobe DNG Converter) gives full-quality decoding for any camera today.
Still open, and why:
- **Nikon compressed NEF** (Nikon's default): its decompression tables are only documented in GPL code (dcraw/LibRaw) or write-ups derived from it, so a clean-room implementation isn't possible without an independent specification. These files open their full-size embedded JPEG preview, with a warning.
- **CR3, RAF (X-Trans), compressed ORF/PEF, RW2 RawFormat 4:** same situation or not yet investigated; they also open the embedded preview.
- **Calibrated colour for non-DNG cameras:** needs per-camera matrices we can't take from third-party tables.
Converting to DNG (Adobe DNG Converter) gives full-quality decoding for any camera today.
Progress: #65 landed the first cut of the clean-room `photocraft-raw` decoder: DNG (uncompressed and lossless JPEG, tiles, colour matrices, GainMap; phone DNGs included), Canon CR2, Sony lossless ARW, and uncompressed NEF/ARW/PEF, with bilinear, MHC and AHD demosaicing, opened as 16-bit ProPhoto documents.
Still open here:
- vendor-compressed NEF/ARW/PEF (Nikon's default lossless-compressed NEF in particular), CR3, RAF and ORF/RW2 currently open their embedded preview with a warning;
- calibrated colour for non-DNG cameras (they're currently treated as sRGB primaries, so slightly undersaturated);
- highlight reconstruction and a default tone curve.
Still open here:
- vendor-compressed NEF/ARW/PEF (Nikon's default lossless-compressed NEF in particular), CR3, RAF and ORF/RW2 currently open their embedded preview with a warning;
- calibrated colour for non-DNG cameras (they're currently treated as sRGB primaries, so slightly undersaturated);
- highlight reconstruction and a default tone curve.
Update, @hambydustin-eng: on top of the `Rgba16Float` fallback from #22, #37 (now on `main`) hardens GPU start-up further:
- if the GPU compositor's pipelines can't be built on an adapter (an unsupported render-target format, a shader-compiler failure such as the D3D12/FXC one we just fixed), PhotoCraft now **falls back to the CPU compositor instead of crashing**;
- on adapters that can't render 32-bit float targets, documents without layer effects stay on the GPU and only effect rendering moves to the CPU.
One honest caveat: your crash was an access violation inside `igvk64.dll` itself. If the Intel driver segfaults (rather than reporting an error to wgpu), no fallback in our code can catch it. So this may well be fixed, but I can't confirm it without your hardware. Could you try the next build (0.2.0) **without** `WGPU_BACKEND=dx12`? If it still crashes, please reopen or comment with the log, and we'll look at defaulting Intel adapters on Windows to DX12.
Thanks again for the thor...
- if the GPU compositor's pipelines can't be built on an adapter (an unsupported render-target format, a shader-compiler failure such as the D3D12/FXC one we just fixed), PhotoCraft now **falls back to the CPU compositor instead of crashing**;
- on adapters that can't render 32-bit float targets, documents without layer effects stay on the GPU and only effect rendering moves to the CPU.
One honest caveat: your crash was an access violation inside `igvk64.dll` itself. If the Intel driver segfaults (rather than reporting an error to wgpu), no fallback in our code can catch it. So this may well be fixed, but I can't confirm it without your hardware. Could you try the next build (0.2.0) **without** `WGPU_BACKEND=dx12`? If it still crashes, please reopen or comment with the log, and we'll look at defaulting Intel adapters on Windows to DX12.
Thanks again for the thor...
Thanks for the thorough investigation and the DX12 workaround, @hambydustin-eng — that was really useful. 🙏
I believe your crash shares a root cause with #7: the GPU compositor rendered into an `Rgba32Float` target, which the Intel Vulkan driver (igvk64.dll) doesn't support as a render target — hence the `0xc0000005` at pipeline creation on the Vulkan backend, while DX12 happened to tolerate it. #22 makes the compositor **detect this per adapter** and fall back to `Rgba16Float` when `Rgba32Float` isn't renderable, so the default launch (including the `.pcraft` file association, which doesn't get your `WGPU_BACKEND=dx12` override) should now start on Vulkan too.
Could you try the next Windows build **without** the `WGPU_BACKEND` override and let me know if it launches and opens a document? If it still crashes in igvk64.dll, please reopen with the new log — there may be a second Vulkan-specific issue beyond the render-target format, and I'll dig further. (Diagnostics that help most: wh...
I believe your crash shares a root cause with #7: the GPU compositor rendered into an `Rgba32Float` target, which the Intel Vulkan driver (igvk64.dll) doesn't support as a render target — hence the `0xc0000005` at pipeline creation on the Vulkan backend, while DX12 happened to tolerate it. #22 makes the compositor **detect this per adapter** and fall back to `Rgba16Float` when `Rgba32Float` isn't renderable, so the default launch (including the `.pcraft` file association, which doesn't get your `WGPU_BACKEND=dx12` override) should now start on Vulkan too.
Could you try the next Windows build **without** the `WGPU_BACKEND` override and let me know if it launches and opens a document? If it still crashes in igvk64.dll, please reopen with the new log — there may be a second Vulkan-specific issue beyond the render-target format, and I'll dig further. (Diagnostics that help most: wh...
Discovery Source
GitHub Open Source Aggregated via automated community intelligence tracking.
Tech Stack Dependencies
No direct open-source NPM package mentions detected in the product documentation.
Media Tractions & Mentions
Deep Research & Science
No direct peer-reviewed scientific literature matched with this product's architecture.
SaaS Metrics