{"id":15033917,"url":"https://github.com/lingdong-/fishdraw","last_synced_at":"2025-05-15T20:04:01.352Z","repository":{"id":40894086,"uuid":"395023960","full_name":"LingDong-/fishdraw","owner":"LingDong-","description":"procedurally generated fish drawings","archived":false,"fork":false,"pushed_at":"2021-09-08T23:13:57.000Z","size":1201,"stargazers_count":2235,"open_issues_count":3,"forks_count":105,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-05-15T20:03:55.283Z","etag":null,"topics":["art","drawing","plotter","procedural-generation"],"latest_commit_sha":null,"homepage":"https://fishdraw.glitch.me/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LingDong-.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}},"created_at":"2021-08-11T14:50:19.000Z","updated_at":"2025-04-29T00:14:12.000Z","dependencies_parsed_at":"2022-09-20T14:54:15.986Z","dependency_job_id":null,"html_url":"https://github.com/LingDong-/fishdraw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LingDong-%2Ffishdraw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LingDong-%2Ffishdraw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LingDong-%2Ffishdraw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LingDong-%2Ffishdraw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LingDong-","download_url":"https://codeload.github.com/LingDong-/fishdraw/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414497,"owners_count":22067272,"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":["art","drawing","plotter","procedural-generation"],"created_at":"2024-09-24T20:23:12.515Z","updated_at":"2025-05-15T20:04:00.214Z","avatar_url":"https://github.com/LingDong-.png","language":"JavaScript","readme":"# fishdraw\n\n*procedurally generated fish drawings. [demo](https://fishdraw.glitch.me/)*\n\n![](samples/000020.svg)\n\n- generates all sorts of weird fishes\n- outputs polylines (supported format svg, json, csv, etc.)\n- full procedural generation, single file no dependencies\n- plotter-centric\n- export drawing animation:\n\n![](samples/animated.svg)\n\n\n\n## usage\n\nbasic\n\n```\nnode fishdraw.js \u003e output.svg\n```\n\nspecify seed (from a string), speed of drawing and output format:\n\n```\nnode fishdraw.js --seed \"Biggus fishus\" --format smil --speed 2 \u003e output.svg\n```\n\n- the seed string is used as the name of the fish (printed in the drawing). If unspecified, a random pseudo-Latin name will be auto generated.\n- the speed number is used to control the speed of drawing animation. Larger the number is, faster it draws. This option works only with format `smil`.\n- format options: `svg` (regular svg), `smil` (animated svg), `csv` (each polyline on a comma-separated line) and `json`.\n\nuse as JS library:\n\n```js\nconst {fish,generate_params} = require('./fishdraw.js');\nlet polylines = fish(generate_params());\nconsole.log(polylines);\n```\n\n\n## gallery\n\n![](samples/000000.svg)\n![](samples/000001.svg)\n![](samples/000002.svg)\n![](samples/000003.svg)\n![](samples/000004.svg)\n![](samples/000005.svg)\n![](samples/000006.svg)\n![](samples/000007.svg)\n![](samples/000008.svg)\n![](samples/000009.svg)\n![](samples/000010.svg)\n![](samples/000011.svg)\n![](samples/000012.svg)\n![](samples/000013.svg)\n![](samples/000014.svg)\n![](samples/000015.svg)\n![](samples/000016.svg)\n![](samples/000017.svg)\n![](samples/000018.svg)\n![](samples/000019.svg)\n![](samples/000021.svg)\n![](samples/000022.svg)\n![](samples/000023.svg)\n![](samples/000024.svg)\n![](samples/000025.svg)\n![](samples/000026.svg)\n![](samples/000027.svg)\n![](samples/000028.svg)\n![](samples/000029.svg)\n![](samples/000030.svg)\n![](samples/000031.svg)\n![](samples/000032.svg)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flingdong-%2Ffishdraw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flingdong-%2Ffishdraw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flingdong-%2Ffishdraw/lists"}