KiCAD-Prism Native Visualizer & Future Roadmap #56
Replies: 6 comments
|
Thanks for the efforts, this is a cool project! |
|
Hello! That means that, in theory, we could build an Altium converter, and have Prism work as a direct replacement for Altium 365. In parallel with it, too, as using Prism doesn't mean that other users in the organisation doesn't have to switch away from A365, as they choose. Is that a reasonable supposition? |
|
Yep! That's exactly the idea. To make things better an Altium converter already exists!! The altium-cruncher and altium-monkey repos from Wavenumber resolve into the same intermediate format and can be displayed by the viewer |




Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
All New Prism Native Schematic + PCB Renderer
Hello everyone,
Apologies for the lack of new features landing on
mainrecently. I have been spending most of that time working on a larger architectural change for KiCAD-Prism: an all new native Schematic + PCB renderer.The goal is to reduce KiCAD-Prism’s dependency on external viewers such as KiCanvas and ecad-viewer, while giving Prism more control over how KiCad designs are parsed, represented, rendered, reviewed, and compared over time.
This is an important pivot for the project. Rather than treating the schematic and PCB primarily as documents to display, the new pipeline is intended to make them structured, semantic design data that Prism can use for richer review workflows in the future.
The work is heavily inspired by Eli Hughes and Wavenumber Engineering’s work towards a CAD-neutral visualisation engine. The implementation uses the newly released kicad-monkeyand kicad-cruncher projects to parse KiCad design files and generate CAD-neutral Design JSON.
KiCAD-Prism then runs a custom semantic compiler over those outputs to generate renderer-ready assets. This gives the platform a foundation for features such as:
You can test the current implementation on the feature/semantic-viewer-monorepobranch.
What is available now
The new renderer is organized into four main areas:
PCB
This is a WebGPU-based PCB renderer with Level of detail rendering and frustum culling optimisations. I've managed to get a 120FPS with short dips to ~80 FPS while rendering a dense 12 layer PCB. The renderer currently allows users to interactively select/highlight nets, zones, components by clicking on them.
PCB View
The PCB View renders the board layers in 2D and exposes the board structure in a format that can evolve beyond a static Gerber-style view.
It is intended to become the primary place for inspecting:
3D View
The 3D View renders the PCB assembly in 3D, allowing users to inspect board placement, mechanical clearances, enclosure fitment, and component geometry directly from the Prism workspace.
This is still evolving, but the longer-term goal is to make the 3D view useful for design review rather than only visual presentation.
Net selection and Cross-Probing is supported!
Schematic
The Schematic renderer takes a different approach from a conventional page-by-page document viewer.
Instead of treating every schematic sheet as an isolated file, Prism instantiates the pages together in a shared “world” view. This is intended to make it easier to understand a design as a connected system rather than a collection of separate PDF-like pages.
The foundation here is especially important for:
The Schematic Renderer supports keyboard shortcuts to quickly navigate between pages and instances of a highlighted net.
BOM
The BOM tab provides a design-facing component view alongside the schematic and PCB.
The intent is to make it easier to move between the electrical, physical, and procurement perspectives of a component while staying inside the same review workspace.
Over time, this area can become the bridge for richer component-library, lifecycle, sourcing, alternates, and release-review workflows.
Stackup
The Stackup tab provides a dedicated place to inspect board-layer information and construction details.
This is intended to make stackup information more visible during review, rather than leaving it buried in board settings or fabrication exports.
What I would like feedback on
The branch is still actively being developed, so feedback at this stage is particularly valuable before I clean things up and merge into main.
I would especially like to know:
Please test the branch against real projects where possible, especially multi-sheet schematics, dense PCBs, boards with 3D models.
The branch is available here:
https://github.com/krishna-swaroop/KiCAD-Prism/tree/feature/semantic-viewer-monorepo
Thank you to everyone who has been following the project, testing early builds, filing issues, and sharing ideas. This renderer is a significant foundation change for KiCAD-Prism, and early feedback will help shape it into something genuinely useful for hardware teams.
All reactions