{"id":5278625,"name":"@needle-tools/engine","ecosystem":"npm","description":"Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.","homepage":"https://needle.tools","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/needle-tools/needle-engine-support","keywords_array":["needle","threejs","unity","blender","ar","augmented reality","glTF","glb","webgl","webar","webvr","webxr","3d","khronos","usdz","quicklook","ios","vision-pro","immersive-ar","immersive-vr","quest"],"namespace":"needle-tools","versions_count":1045,"first_release_published_at":"2022-10-01T13:51:59.278Z","latest_release_published_at":"2026-05-18T14:51:03.484Z","latest_release_number":"5.0.10","last_synced_at":"2026-05-25T20:01:01.924Z","created_at":"2022-10-01T14:04:42.989Z","updated_at":"2026-05-25T20:01:01.925Z","registry_url":"https://www.npmjs.com/package/@needle-tools/engine","install_command":"npm install @needle-tools/engine","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"next":"5.0.7-next.5cb6b55","experimental":"5.1.0-experimental.13e2eed","stable":"5.0.10","latest":"4.16.10","canary":"5.1.0-canary.leif-erikson.3ea0bf7"}},"repo_metadata":{"id":57863074,"uuid":"486202533","full_name":"needle-tools/needle-engine-support","owner":"needle-tools","description":"Build 3D web experiences that work everywhere. From browser to VR headsets, mobile AR to iOS WebXR – create once, deploy anywhere. No app stores, no waiting, no limitations. Get started at https://docs.needle.tools/getting-started","archived":false,"fork":false,"pushed_at":"2026-05-14T10:21:29.000Z","size":145375,"stargazers_count":597,"open_issues_count":8,"forks_count":50,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-05-16T17:20:56.732Z","etag":null,"topics":["augmented-reality","augmentedreality","blender","engine","export","exporter","threejs","typescript","unity","unity3d","virtualreality","vr","webdevelopment","webgl","webxr","xr"],"latest_commit_sha":null,"homepage":"https://docs.needle.tools/getting-started","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/needle-tools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-27T13:24:52.000Z","updated_at":"2026-05-14T10:21:33.000Z","dependencies_parsed_at":"2026-01-08T17:04:17.895Z","dependency_job_id":null,"html_url":"https://github.com/needle-tools/needle-engine-support","commit_stats":{"total_commits":1189,"total_committers":8,"mean_commits":148.625,"dds":0.2514718250630782,"last_synced_commit":"7927af8b4688c16911c4e74c2ac51c4089549fe7"},"previous_names":[],"tags_count":584,"template":false,"template_full_name":null,"purl":"pkg:github/needle-tools/needle-engine-support","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/needle-tools%2Fneedle-engine-support","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/needle-tools%2Fneedle-engine-support/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/needle-tools%2Fneedle-engine-support/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/needle-tools%2Fneedle-engine-support/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/needle-tools","download_url":"https://codeload.github.com/needle-tools/needle-engine-support/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/needle-tools%2Fneedle-engine-support/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33490992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T14:31:05.219Z","status":"ssl_error","status_checked_at":"2026-05-25T14:31:02.878Z","response_time":57,"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"},"owner_record":{"login":"needle-tools","name":"Needle","uuid":"64381776","kind":"organization","description":"🌵 Tailor-Made Tools for Creators","email":"hi@needle.tools","website":"https://needle.tools","location":"Germany","twitter":"needletools","company":null,"icon_url":"https://avatars.githubusercontent.com/u/64381776?v=4","repositories_count":118,"last_synced_at":"2026-05-16T16:53:42.883Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/needle-tools","funding_links":[],"total_stars":3913,"followers":526,"following":0,"created_at":"2022-11-15T02:14:17.303Z","updated_at":"2026-05-16T16:53:42.883Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/needle-tools","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/needle-tools/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-05-25T20:00:40.233Z","dependent_packages_count":5,"downloads":28211,"downloads_period":"last-month","dependent_repos_count":6,"rankings":{"downloads":2.253520651223407,"dependent_repos_count":4.653161099734197,"dependent_packages_count":3.714308946703668,"stargazers_count":3.035262902836353,"forks_count":4.254307807130016,"docker_downloads_count":null,"average":3.5821122815255277},"purl":"pkg:npm/%40needle-tools/engine","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@needle-tools/engine","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/@needle-tools/engine","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@needle-tools/engine/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-11T13:01:30.649Z","issues_count":122,"pull_requests_count":12,"avg_time_to_close_issue":5423077.798245614,"avg_time_to_close_pull_request":1334582.4444444445,"issues_closed_count":114,"pull_requests_closed_count":9,"pull_request_authors_count":8,"issue_authors_count":38,"avg_comments_per_issue":3.459016393442623,"avg_comments_per_pull_request":0.9166666666666666,"merged_pull_requests_count":6,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":2184741.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/needle-tools%2Fneedle-engine-support/issues","maintainers":[{"login":"kaktus-klaus","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kaktus-klaus"},{"login":"kipash","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kipash"}],"active_maintainers":[{"login":"kaktus-klaus","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kaktus-klaus"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@needle-tools%2Fengine/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@needle-tools%2Fengine/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@needle-tools%2Fengine/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@needle-tools%2Fengine/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@needle-tools%2Fengine/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@needle-tools%2Fengine/codemeta","maintainers":[{"uuid":"marwi123","login":"marwi123","name":null,"email":"marcel@needle.tools","url":null,"packages_count":42,"html_url":"https://www.npmjs.com/~marwi123","role":null,"created_at":"2022-11-11T18:15:07.391Z","updated_at":"2022-11-11T18:15:07.391Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/marwi123/packages"},{"uuid":"herbst","login":"herbst","name":null,"email":"felix@needle.tools","url":null,"packages_count":28,"html_url":"https://www.npmjs.com/~herbst","role":null,"created_at":"2022-11-11T18:15:07.405Z","updated_at":"2022-11-11T18:15:07.405Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/herbst/packages"}]}