{"id":22070281,"url":"https://github.com/aunyks/tread","last_synced_at":"2026-05-02T15:36:17.887Z","repository":{"id":244876579,"uuid":"816540466","full_name":"aunyks/tread","owner":"aunyks","description":"A JavaScript library for modeling and realtime simulation of automotive tires.","archived":false,"fork":false,"pushed_at":"2024-06-20T21:01:49.000Z","size":142,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T15:52:02.798Z","etag":null,"topics":["browser","modeling","simulation","tire-dynamics","vehicle-dynamics","web"],"latest_commit_sha":null,"homepage":"https://jsr.io/@hivoltagexyz/tread","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aunyks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing.md","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-06-18T00:44:28.000Z","updated_at":"2024-06-23T18:13:29.000Z","dependencies_parsed_at":"2024-06-18T03:19:05.058Z","dependency_job_id":"c49a6302-ff72-413a-80c4-a8a46834460c","html_url":"https://github.com/aunyks/tread","commit_stats":null,"previous_names":["aunyks/tread"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/aunyks/tread","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aunyks%2Ftread","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aunyks%2Ftread/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aunyks%2Ftread/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aunyks%2Ftread/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aunyks","download_url":"https://codeload.github.com/aunyks/tread/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aunyks%2Ftread/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32540116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["browser","modeling","simulation","tire-dynamics","vehicle-dynamics","web"],"created_at":"2024-11-30T20:15:50.840Z","updated_at":"2026-05-02T15:36:17.868Z","avatar_url":"https://github.com/aunyks.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TreadJS\n\nA JavaScript library for modeling and realtime simulation of automotive tires.\n\n```javascript\nimport { Pacejka2002, TireProperties } from '@hivoltagexyz/tread'\n\n// Load tire properties\nconst properties = new TireProperties()\nproperties.fromTirFile(\n  await Deno.readTextFileSync('./racing-tire.tir'),\n)\n\n// Create and initialize a magic formula model\nconst pac2002Model = new Pacejka2002({\n  tireProperties: properties,\n})\n// Decide to handle or ignore any errors that arise during initialization\nconst initErrors = pac2002Model.initializeFromProperties()\n\n// Set our model inputs\nconst slipAngle = Math.PI / 6\nconst slipRatio = 0.25\n\n// Get our model outputs\nconst latForceOutputVector = [0, 0, 0, 0]\npac2002Model.computeLateralForce(\n  slipAngle,\n  pac2002Model.verticalParameters.fNomin,\n  0,\n  1.0,\n  latForceOutputVector,\n)\nconst lateralForce = latForceOutputVector[0]\n\nconst longitudinalForce = pac2002Model.computeLongitudinalForce(\n  slipRatio,\n  pac2002Model.verticalParameters.fNomin,\n  0,\n  1.0,\n)\n```\n\n## Supported Models\n\n- Pacejka 2002\n  ([10.1016/C2010-0-68548-8](https://doi.org/10.1016/C2010-0-68548-8))\n- Harsh and Shyrokau 2019\n  ([10.3390/app9245328](https://doi.org/10.3390/app9245328))\n\n## Installation\n\nTread runs everywhere standard Web APIs are present. Install it for local use\nwith any JavaScript runtime, or use it in the browser.\n\n### Browser\n\n```javascript\nimport * as Tread from 'https://jsr.io/@hivoltagexyz/tread/2024.6.5/src/mod.js'\n```\n\n### Deno\n\n```shell\ndeno add @hivoltagexyz/tread\n```\n\n### Node.js\n\n```shell\nnpx jsr add @hivoltagexyz/tread\n```\n\n### Bun\n\n```shell\nbunx jsr add @hivoltagexyz/tread\n```\n\n### Cloudflare Workers\n\n```shell\nnpx jsr add @hivoltagexyz/tread\n```\n\n## Demos and Examples\n\nSee `examples/` for a growing list of example use cases for this library.\n\n## Documentation\n\nSee [jsr.io/@hivoltagexyz/tread/doc](https://jsr.io/@hivoltagexyz/tread/doc) for\nthis library's documentation.\n\n## Versioning\n\nThis project employs a [Calendar Versioning](https://calver.org/) scheme\nfollowing the form `YYYY.MM.PATCH`. Patch level releases will NOT contain known\nbreaking changes. Releases that contain breaking changes will change the date\ncomponent (`YYYY.MM`) of the library's version.\n\n## Contributing\n\nContributions to Tread are welcome. Please view the project's contribution\nguidelines in `docs/contributing.md`.\n\n## Legal\n\nCopyright 2024 Gerald Nash\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n   list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n   this list of conditions and the following disclaimer in the documentation\n   and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its contributors\n   may be used to endorse or promote products derived from this software without\n   specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n### Third Party Notices\n\nThird party notices can be found in this repository's `THIRD_PARTY_NOTICES`\nfile.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faunyks%2Ftread","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faunyks%2Ftread","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faunyks%2Ftread/lists"}