{"id":27055106,"url":"https://github.com/cadin/plotter-canvas","last_synced_at":"2025-10-17T13:38:51.335Z","repository":{"id":175691553,"uuid":"654326089","full_name":"cadin/plotter-canvas","owner":"cadin","description":"An empty canvas for building plotter art in Processing","archived":false,"fork":false,"pushed_at":"2024-03-03T20:50:15.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-03T21:38:57.325Z","etag":null,"topics":["creative-coding","plotter-art","processing"],"latest_commit_sha":null,"homepage":"","language":"Processing","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cadin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-06-15T22:12:55.000Z","updated_at":"2024-02-19T17:33:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"9d4d663a-ddde-4cd6-8640-7f46e72bb48d","html_url":"https://github.com/cadin/plotter-canvas","commit_stats":null,"previous_names":["cadin/plotter-canvas"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cadin%2Fplotter-canvas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cadin%2Fplotter-canvas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cadin%2Fplotter-canvas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cadin%2Fplotter-canvas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cadin","download_url":"https://codeload.github.com/cadin/plotter-canvas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312277,"owners_count":20918401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["creative-coding","plotter-art","processing"],"created_at":"2025-04-05T09:18:57.616Z","updated_at":"2025-10-17T13:38:51.249Z","avatar_url":"https://github.com/cadin.png","language":"Processing","readme":"# plotter-canvas\n\nAn empty canvas for building plotter art in Processing.\n\nThis projects runs full screen (optional) with a proportional canvas showing your sketch in context of the target print size. Output your sketch as plot-ready SVG with optional PNG preview.\n\n## Getting Started\n\n### 📺 [Video Walkthrough](https://youtu.be/P2iipcsJoCA)\n\n### Requirements\n\n- [Processing 4](https://processing.org/download)\n\n### Setup\n\nPut your sketch code in the `Sketch.pde` file.\n\nThe main app will call your sketch's `draw` method once per frame.\n\n#### Config\n\nSet your paper size, pen thickness, and display scaling in the `config.pde` file.\n\n## Usage\n\nAny drawing commands in your sketch's `draw` method will be output to SVG when saving.\n\nUse the `w`, `h`, and `ppi` variables in to your sketch to position your drawing on the canvas.\n\n### Mouse \u0026 Keyboard Input\n\nYou can use these Processing functions in your sketch to access mouse and keyboard input:  \n[`mousePressed()`](https://processing.org/reference/mousePressed_.html)  \n[`mouseReleased()`](https://processing.org/reference/mouseReleased_.html)  \n[`keyPressed()`](https://processing.org/reference/keyPressed_.html)  \n[`keyReleased()`](https://processing.org/reference/keyReleased_.html)\n\nUse `canvasMouseX` and `canvasMouseY` to get mouse coordinates relative to the canvas.\n\n### Responding to Canvas Size Changes\n\nIf you need to do something in your project to respond to a change in canvas size, you can implement the `setDimensions` function:\n\n```java\nvoid setDimensions(int _w, int _h, float _ppi, float _strokeWeight) {\n\tsuper.setDimensions(_w, _h, _ppi, _strokeWeight); // you must call super\n\n\t// your code here...\n}\n```\n\nThis function will be called by `app.pde` any time the canvas size changes. Be sure to call super in order to have the parent class correctly update the canvas values.\n\n### Key Commands\n\n**`s`** : Save a plot-ready SVG. This also saves a PNG preview image if you have that flag set in the config file.\n\n**`g`** : Toggle a visual grid that represents the maximum plot area.\n\n## Support\n\nThis is a personal project and is mostly unsupported, but I'm happy to hear feedback or answer questions.\n\n## License\n\nThis project is licensed under the Unlicense - see the [LICENSE](LICENSE) file for details.\n\n---\n\n👨🏻‍🦲❤️🛠\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcadin%2Fplotter-canvas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcadin%2Fplotter-canvas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcadin%2Fplotter-canvas/lists"}