Welcome to tracespace v5! This version of tracespace is still in development, so documentation may not be accurate and package APIs may change without warning.
See the main branch for the current v4 release.
package | description | |
---|---|---|
@tracespace/cli | Use Gerber/drill files to create an SVG render of a finished PCB from the command line. | |
@tracespace/core | Use Gerber/drill files to create an SVG render of a finished PCB in Node.js or the browser. | |
@tracespace/fixtures | Sample Gerber/drill files for use as test fixtures. | |
@tracespace/identify-layers | Try to guess Gerber files' layer types based on filenames. | |
@tracespace/parser | Parse Gerber/drill files into abstract syntax trees. | |
@tracespace/plotter | Plot @tracespace/parser ASTs into image trees. | |
@tracespace/renderer | Render @tracespace/plotter image trees as SVGs | |
@tracespace/xml-id | XML element ID generation and sanitation utilities. |
I work on tracespace in my free time, so this roadmap should be taken with several grains of salt. While the new version is in development, pre-production versions of libraries will be periodically released under the next
tag in npm.
- New build tools based on vite and TypeScript
- Create @tracespace/parser package to generate unist abstract syntax trees
- Replaces gerber-parser from tracespace v4
- Create @tracespace/plotter package convert ASTs to image trees
- Replaces gerber-plotter from tracespace v4
- Create @tracespace/renderer package convert image trees to hast SVG trees
- Replaces gerber-to-svg from tracespace v4
- Rename whats-that-gerber to @tracespace/identify-layers
- Create @tracespace/core package to hold the core render pipeline
- Replaces pcb-stackup and pcb-stackup-core from tracespace v4
- Rewrite @tracespace/cli to use new render pipeline
- Rewrite https://tracespace.io/view/ to use new render pipeline
- Build documentation website for tracespace libraries
- Ensure all important Gerber / drill features are supported
- Release tracespace v5
The v5 release will attempt to fix / address the following open issues:
- Handle disagreements between filename type vs parsed type (#49)
- Reduce number of
<use>
tags in SVG output (#80) - Arc plotting should be more lenient (#82)
- Operation with non-existent tool should no-op with a warning (#83)
- Fails to detect units if format spec combined with units spec (#234)
- clipPath for outline breaks in Firefox if outline has clear layers (#302)
- gerberParser.parseSync clobbers filetype option (#306)
- Gerber file starting with newline incorrectly identified as drill file (#307)
- Generate consistent document size for all layers. (#324)
- G93 code in drill file rendered as drilled hole (#353)
- Allow soldermask layer to cover vias in board render (#399)
- tracespace.io/view - A Gerber viewer powered by the tracespace libraries
- kitspace.org - An electronics project sharing site with links to easily buy the required parts
- OpenHardware.io - A social site around open source hardware. Enables authors to sell and manufacture their boards.