{"id":16508581,"url":"https://github.com/osteele/p5.libs","last_synced_at":"2025-07-25T21:16:11.129Z","repository":{"id":57317541,"uuid":"374061950","full_name":"osteele/p5.libs","owner":"osteele","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-12T01:39:03.000Z","size":42886,"stargazers_count":8,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-10T00:52:36.112Z","etag":null,"topics":["creative-coding","p5js"],"latest_commit_sha":null,"homepage":"https://osteele.github.io/p5.libs/","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/osteele.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-06-05T08:32:09.000Z","updated_at":"2024-09-22T19:31:29.000Z","dependencies_parsed_at":"2022-08-25T20:40:23.176Z","dependency_job_id":null,"html_url":"https://github.com/osteele/p5.libs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/osteele/p5.libs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fp5.libs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fp5.libs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fp5.libs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fp5.libs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osteele","download_url":"https://codeload.github.com/osteele/p5.libs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fp5.libs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265167476,"owners_count":23721450,"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","p5js"],"created_at":"2024-10-11T15:46:21.499Z","updated_at":"2025-07-13T16:05:46.126Z","avatar_url":"https://github.com/osteele.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oliver's p5.js Libraries\n\nThis repository contains libraries for [p5.js](https://p5js.org). Each library\nhas its own documentation page; click on the library name for additional\ndocumentation, examples, and installation instructions.\n\n## The Libraries\n\n### [p5.layers](./p5.layers/)\n\n[p5.layers](./p5.layers/) adds functions that simplify the use of\n  [createGraphics](https://p5js.org/reference/#/p5/createGraphics) and [p5.js\n  Renders](https://p5js.org/reference/#/p5.Renderer) objects. It makes it easier\n  to use Graphics objects to implement drawing layers, and it removes the need\n  to add or remove the \"`g.`\" prefix from draw calls in order to change them\n  between drawing on the canvas, versus drawing on a instance of `Graphics`.\n\n```js\nfunction draw() {\n  beginLayer();\n  background(100);\n  fill('blue');\n  circle(width / 2, height / 2, 100);\n  endLayer();\n}\n```\n\n![trail example animation](./p5.layers/docs/trail.gif)\n![trail example animation](./p5.layers/docs/slices.gif)\n\n* [Examples](./p5.layers/examples)\n\n### [p5.rotate-about](./p5.rotate-about/)\n\n[p5.rotate-about](./p5.rotate-about/) adds `rotateAbout()` and `scaleAbout()`\nfunctions.\n\n```js\nfunction draw() {\n  clear();\n\n  const angle = radians(frameCount);\n  rotateAbout(angle, 100, 200);\n\n  square(10, 10, 50);\n}\n```\n\n### [p5.vector-arguments](./p5.vector-arguments/)\n\n[p5.vector-arguments](./p5.vector-arguments/) enables the use of [p5.js\nVectors](https://p5js.org/reference/#/p5/createVector) with the [p5.js Shape\nfunctions](https://p5js.org/reference/#group-Shape).\n\n```js\nfunction draw() {\n  let pt = createVector(mouseX, mouseY);\n  circle(pt, 100);\n\n  pt.add(100, 200);\n  circle(pt, 50);\n}\n```\n\n* [Examples](./p5.vector-arguments/examples)\n\n## Installation\n\nEach library includes instructions for adding it to an HTML file.\n\nIn additon, the [p5 server command-line\nrunner](https://osteele.github.io/p5-server/) and the [P5 Server Visual Studio\nextension](https://marketplace.visualstudio.com/items?itemName=osteele.p5-server)\nknow about these libraries. A JavaScript-only sketch that uses one (or more) of\nthem will automatically include the library when it is run by one of these\ntools.\n\n## Keeping in Touch\n\nReport bugs, features requests, and suggestions\n[here](https://github.com/osteele/p5.libs/issues).\n\n## Other Work\n\n[https://code.osteele.com](https://code.osteele.com#p5-js) lists my other p5.js\nprojects. These include tools, libraries, and examples and educational\nmaterials.\n\n[P5.js notes](https://notes.osteele.com/p5js) has notes on learning and working\nwith p5.js\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosteele%2Fp5.libs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosteele%2Fp5.libs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosteele%2Fp5.libs/lists"}