MENU: ABOUT | KEY FEATURES | GETTING STARTED | CONTRIBUTE
GRX is designed to be an easy to use online manufacturing artwork data exchange viewer. Under the hood, GRX uses WebGL for rendering at the best performance and WebWorkers for parsing on multiple cores, even isolating the Main DOM thread from the WebGL renderer thread.
- 🚀 GPU-Accelerated
- 🏃 Fast and Responsive
- 👍 Easy to use
- 🤏 Touchscreen Friendly
- 🖥 Cross Platform and Available Everywhere
- Gerber RS-274X
- X1
- X2 ( coming soon! )
- X3
- NC
- XNC ( attributes coming soon! )
- IPC-NC-349
- Excellon
- Sieb & Meyer ( excellon version )
- GDSII
- ODB++
- IPC-2581
- DXF
- OASIS
Prerequisites:
Setup the project:
# Install dependencies
pnpm install
# Prepare the project (build packages, etc.)
pnpm prepareDevelop with Web Server:
# Run the development server
pnpm run devDevelop with Desktop App (Electron):
# Run the development server
pnpm run dev:desktopPerform Tests:
# Run tests
pnpm run testCheck (Lint/Format) and Typecheck:
# Run lint and format
pnpm run check
# Run typecheck
pnpm run typecheckBuild the Web App:
# Build the project
pnpm run buildBuild the Desktop App:
# Build the desktop app
pnpm run build:desktopProject Structure
├── apps
│ ├── viewer <-- (main web and desktop app)
│ │ ├── src
│ │ └── package.json
│ ├── docs <-- (documentation website)
│ │ ├── src
│ │ └── package.json
│ └── homepage <-- (marketing website)
│ ├── src
│ └── package.json
├── packages
│ ├── engine <-- (core rendering engine)
│ │ ├── src
│ │ └── package.json
│ └── parser-* <-- (parser packages for different formats)
│ ├── src
│ └── package.json
├── biome.json
├── pnpm-workspace.yaml
├── turbo.json
└── README.md
Contributions are very welcome! Please open an issue or submit a pull request if you have any suggestions or improvements or if you just want to say hi! :)

