{"id":20726203,"url":"https://github.com/figureland/mathkit","last_synced_at":"2025-06-30T19:32:55.571Z","repository":{"id":233110583,"uuid":"786059172","full_name":"figureland/mathkit","owner":"figureland","description":"A minimal toolkit for working with numbers, matrices and vectors","archived":false,"fork":false,"pushed_at":"2024-05-02T18:45:25.000Z","size":95,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-05-02T21:42:50.156Z","etag":null,"topics":["2d","bun","math","matrix","matrix2d","typescript","vector","vector2"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/figureland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2024-04-13T09:52:09.000Z","updated_at":"2024-05-10T15:32:26.005Z","dependencies_parsed_at":"2024-04-14T00:03:21.854Z","dependency_job_id":"e173195f-5ee9-4ca7-8d66-9a624be664fd","html_url":"https://github.com/figureland/mathkit","commit_stats":null,"previous_names":["figureland/mathkit"],"tags_count":27,"template":false,"template_full_name":"figureland/base","purl":"pkg:github/figureland/mathkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figureland%2Fmathkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figureland%2Fmathkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figureland%2Fmathkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figureland%2Fmathkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/figureland","download_url":"https://codeload.github.com/figureland/mathkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figureland%2Fmathkit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262838419,"owners_count":23372530,"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":["2d","bun","math","matrix","matrix2d","typescript","vector","vector2"],"created_at":"2024-11-17T04:23:52.639Z","updated_at":"2025-06-30T19:32:55.358Z","avatar_url":"https://github.com/figureland.png","language":"TypeScript","readme":"\u003e [!IMPORTANT]\n\u003e This codebase is deprecated, and has been moved to [@figureland/kit](https://github.com/figureland/kit/).\n\n![mathkit illustration](./docs/mathkit-hero.svg)\n\n[![CI](https://github.com/figureland/mathkit/actions/workflows/ci.yml/badge.svg)](https://github.com/figureland/mathkit/actions/workflows/ci.yml)\n[![NPM](https://img.shields.io/npm/v/@figureland/mathkit.svg)](https://img.shields.io/npm/v/@figureland/mathkit.svg)\n\n**mathkit** is a collection of tools for working with numbers, matrices, shapes and more. The aim here is to have something minimal and unbloated, and also a place to learn by building from scratch.\n\n\u003e [!NOTE]\n\u003e It would be great to use [DOMMatrix](https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrix#specifications) and [DOMPoint](https://developer.mozilla.org/en-US/docs/Web/API/DOMPoint#specifications) more. I could remove a big chunk of this library. But somehow I found them inflexible and didn't perform that well. Maybe something to do with having to call `new DOMMatrix()` every time you want to multiply two matrices, for example, feels as if it incurs a real cost if you're running it every frame. Maybe in 2024 that's not the case and when I have time I will revisit. They would need to be polyfilled somehow in Bun/node.js servers.\n\u003e\n\u003e In the meantime, there are some helpers in [src/style.ts](./src/style.ts) to help with translation.\n\nCredit to [gl-matrix](https://glmatrix.net/) for inspiration, some API choices and indeed directly copying over a few methods. A library I've used many many times over the years.\n\n## Scripts\n\n### Install\n\n```bash\nbun install\n```\n\n### Test\n\n```bash\nbun test\n```\n\n### Build\n\n```bash\nbun run build\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffigureland%2Fmathkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffigureland%2Fmathkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffigureland%2Fmathkit/lists"}