Docker container for evaluating PixiJS (WebGL renderer) with native DXF file support as Blueprint's foundation.
Custom-built solution using PixiJS for WebGL-accelerated rendering and dxf-parser for native CAD file import/export. PixiJS is a game engine designed to handle 10,000+ objects at 60fps with built-in culling, batching, and LOD. This approach prioritizes performance and CAD integration over out-of-box features. Complete architectural control with zero licensing costs.
No cloning needed - uses CDN for libraries:
# Just start the container
docker-compose up --buildAccess at: http://localhost:4004
- Docker created a container with Node.js
- Started an http-server on port 3000 (mapped to 4004)
- Serves the single HTML file
- PixiJS and dxf-parser loaded via CDN (no npm install)
- Open http://localhost:4004
- Click "Choose File"
- Select a DXF file
- Drawing renders on canvas
Sample DXF files:
- Create a simple one in AutoCAD/LibreCAD
- Or find examples online
Single HTML file:
- Uses PixiJS from CDN (https://cdn.jsdelivr.net/npm/pixi.js@8)
- Uses dxf-parser from CDN
- File upload → parse DXF → render with PixiJS
- Supports: LINE, CIRCLE, POLYLINE, LWPOLYLINE entities
Key Code:
// Load DXF
const parser = new DxfParser()
const dxf = parser.parseSync(fileText)
// Render with PixiJS
const graphics = new PIXI.Graphics()
dxf.entities.forEach(entity => {
if (entity.type === 'LINE') {
graphics.moveTo(entity.vertices[0].x, entity.vertices[0].y)
graphics.lineTo(entity.vertices[1].x, entity.vertices[1].y)
}
})
app.stage.addChild(graphics)To test with thousands of objects:
- Create DXF with 1,000+ circles/lines
- Load it
- Monitor FPS (should stay 60fps)
- Compare to tldraw with same data
MIT Licensed - Both PixiJS and dxf-parser ✅
- Free for commercial use
- No watermarks
- No licensing fees
- Full ownership
Perfect for Groundwork - Build, customize, sell without restrictions.
- Test with real irrigation plan DXF (5,000+ heads)
- Add pan/zoom controls
- Implement spatial culling for viewport
- Add entity selection
- Integrate Yjs for collaboration
- Compare performance to tldraw
✅ Performance: WebGL vs Canvas 2D ✅ DXF Support: Native import/export ✅ Cost: $0 vs $6,000 ✅ Control: Complete vs Limited ✅ Scale: 10,000+ objects easily
index.html- Single-file demo with inline JavaScript- No package.json needed (uses CDN)
- No build process
- Just open and it works