-
[] filter shapes with empty paths
-
[] should we accept the color arrays or just color strings
-
[] add drag n drop component
-
[] add wire direct manipulation
-
[] add color editor widget for board render
-
[] gerber
-
render function
-
change return to function call
-
[] add error messages
-
fix minus bug
-
[] fix text rendering in gram-js
-
[] firefox rendering bug
-
save
-
[] upload
- kicad module
- [] js
-
[] share site
-
converter from python to js board
-
improve gram-js docs
-
switch to full javascript parser
- esprima
- acorn
- https://github.com/meriyah/meriyah
- cherow
- https://github.com/davidbonnet/astring
-
recompile ast to javascript
-
optimize js parsing and recompilation
-
manipulation handles for other transformations
-
add component menu
-
python scraper for neil's components
-
update skypack dependency or bundle
https://gitlab.cba.mit.edu/classes/865.21/projects/frep-editor/-/blob/main/extras/PCB_py2js.py
- render as board
- clean up menu
- convert whole boards
- make tutorial
- draw wire
https://css-tricks.com/converting-color-spaces-in-javascript/
- fix fontBoundingBoxAscent
- render text with opentype.js
- anti-aliasing in firefox
- Should I use multiple strokes in path?
- M 0 0 L 80 80 M 0 0 L 78 5
- Booleans on beziers?
- Convert to polyline (with Turtle) then boolean
- Just use colors to union
- easier selections
- Accept all svgs
- could have fill conflicts
- could be useful for screen printing
- easier selections
- My own subset
- may need this for text anyway
- easier selections
- eg
- wire
- ["wire", pathdata, thickness] ->
<path lineJoin lineCap/>
- ["wire", pathdata, thickness] ->
- circle
- rectangle
- path
- text
- wire
{ "imports": { "gram-js": "https://leomcelroy.com/gram-js/exports.js", "code-mirror": "https://leomcelroy.com/widgets/code-mirror.js" } }