{"id":13406353,"url":"https://github.com/williamngan/pts","last_synced_at":"2025-05-13T21:11:21.558Z","repository":{"id":11304528,"uuid":"86075041","full_name":"williamngan/pts","owner":"williamngan","description":"A library for visualization and creative-coding","archived":false,"fork":false,"pushed_at":"2024-09-01T08:33:50.000Z","size":17876,"stargazers_count":5252,"open_issues_count":51,"forks_count":180,"subscribers_count":67,"default_branch":"master","last_synced_at":"2025-05-13T05:01:53.364Z","etag":null,"topics":["art","canvas","creative-coding","design","generative","generative-art","graphic-design","graphics","linear-algebra","pts","sound","svg","typescript","vector","visualization"],"latest_commit_sha":null,"homepage":"https://ptsjs.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/williamngan.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,"publiccode":null,"codemeta":null}},"created_at":"2017-03-24T14:09:43.000Z","updated_at":"2025-05-10T15:46:45.000Z","dependencies_parsed_at":"2023-01-13T16:26:47.588Z","dependency_job_id":"a7d2c535-ec1e-4926-812e-d1f797db4a2d","html_url":"https://github.com/williamngan/pts","commit_stats":{"total_commits":813,"total_committers":27,"mean_commits":30.11111111111111,"dds":0.1340713407134071,"last_synced_commit":"0f350d4145efd2d54a57a7cd29d3c9a03a4e6bbb"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamngan%2Fpts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamngan%2Fpts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamngan%2Fpts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamngan%2Fpts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/williamngan","download_url":"https://codeload.github.com/williamngan/pts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029003,"owners_count":22002283,"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","canvas","creative-coding","design","generative","generative-art","graphic-design","graphics","linear-algebra","pts","sound","svg","typescript","vector","visualization"],"created_at":"2024-07-30T19:02:27.949Z","updated_at":"2025-05-13T21:11:16.397Z","avatar_url":"https://github.com/williamngan.png","language":"TypeScript","readme":"# Pts\r\n\r\n![image](./assets/pts-gif-10.gif)   \r\n\r\nPts is a typescript/javascript library for visualization and creative-coding. \r\n\r\n**Get started at [ptsjs.org](https://ptsjs.org)**.\r\n\r\nPlease give it a try, [file issues](https://github.com/williamngan/pts/issues), and send feedbacks to [@williamngan](https://twitter.com/williamngan). Thank you!\r\n\r\n---    \r\n\r\n### Usage\r\n\r\n**Option 1**   \r\nGet the latest `pts.js` or `pts.min.js` (in [dist](https://github.com/williamngan/pts/tree/master/dist) folder). Alternatively use a CDN service like [cdnjs](https://cdnjs.com/libraries/pts) or [jsdelivr](https://cdn.jsdelivr.net/gh/williamngan/pts/dist/pts.min.js) or [unpkg](https://unpkg.com/pts/dist/pts.min.js). Then add it to your html page like this:\r\n```html\r\n\u003cscript type=\"text/javascript\" src=\"path/to/pts.js\"\u003e\u003c/script\u003e\r\n```\r\nPts is pretty lightweight. Currently at ~100kb minified and 30kb gzipped.\r\n\r\n\r\n**Option 2:**   \r\nInstall via `npm install pts`. Then you can choose to import some parts of Pts into your project as needed. \r\n```js\r\nimport {CanvasSpace, Pt, Group, Line} from 'pts';\r\n```\r\n\r\nTo quickly get started, try download or clone these repos:\r\n- [pts-starter-kit](https://github.com/williamngan/pts-starter-kit): Get started with a sample app using npm and webpack\r\n- [pts-react-example](https://github.com/williamngan/pts-react-example): Try an example of using Pts with React.\r\n- [react-pts-canvas](https://www.npmjs.com/package/react-pts-canvas): Use it in your React project by extending react-pts-canvas component\r\n\r\n**Get Started**   \r\nRead the [guides](https://ptsjs.org/guide/get-started-0100) and take a look at the [demos](https://ptsjs.org/demo/?name=circle.intersectCircle2D) and their source code.    \r\nIf you need help, please don't hesitate to [file an issue](https://github.com/williamngan/pts/issues).\r\n\r\n---    \r\n\r\n### For development\r\n\r\nPts is written in typescript. You can clone or fork this project and build it as follows:\r\n\r\n#### Build and test\r\n\r\nClone this repo and install dependencies via `npm install`.\r\n\r\n```bash\r\nnpm start\r\nnpm run build\r\nnpm test\r\n```\r\n\r\n#### Generate documentations\r\nRun this to generate Pts styled documentations. (Requires python 3.6)\r\n```bash\r\nnpm run docs \r\n```\r\n\r\nIf you prefer to generate default typedocs, run this:\r\n```bash\r\ntypedoc --readme none --out typedocs src --name Pts\r\n```\r\n\r\n---\r\n\r\n### Contributing\r\n\r\nWe appreciate your support and feedbacks!\r\n\r\nPlease file issues if you find bugs and have feature requests. If you are able to send small PRs to improve Pts or fix bugs, that would be awesome too. \r\n\r\nFor larger PRs, please ping [@williamngan](https://twitter.com/williamngan) to discuss first.\r\n\r\n---    \r\n\r\n### License\r\nApache License 2.0. See LICENSE file for details.   \r\nCopyright © 2017-today by William Ngan and contributors.\r\n\r\n","funding_links":[],"categories":["TypeScript","Libraries","Canvas"],"sub_categories":["Creativity","JavaScript"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamngan%2Fpts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliamngan%2Fpts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamngan%2Fpts/lists"}