{"id":37604418,"url":"https://github.com/ara3d/ara3d-webgl","last_synced_at":"2026-01-16T10:06:47.368Z","repository":{"id":284962692,"uuid":"953686623","full_name":"ara3d/ara3d-webgl","owner":"ara3d","description":"A Three.JS based WebGL viewer for AEC data. ","archived":false,"fork":false,"pushed_at":"2025-12-25T04:36:56.000Z","size":85875,"stargazers_count":34,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-26T18:35:47.778Z","etag":null,"topics":["3d","aec","bim","model","viewer","webgl"],"latest_commit_sha":null,"homepage":"https://ara3d.github.io/ara3d-webgl/","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/ara3d.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-23T22:46:28.000Z","updated_at":"2025-12-25T16:19:23.000Z","dependencies_parsed_at":"2025-03-28T16:47:55.703Z","dependency_job_id":null,"html_url":"https://github.com/ara3d/ara3d-webgl","commit_stats":null,"previous_names":["ara3d/ara3d-webgl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ara3d/ara3d-webgl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ara3d%2Fara3d-webgl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ara3d%2Fara3d-webgl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ara3d%2Fara3d-webgl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ara3d%2Fara3d-webgl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ara3d","download_url":"https://codeload.github.com/ara3d/ara3d-webgl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ara3d%2Fara3d-webgl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"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":["3d","aec","bim","model","viewer","webgl"],"created_at":"2026-01-16T10:06:47.269Z","updated_at":"2026-01-16T10:06:47.351Z","avatar_url":"https://github.com/ara3d.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ara 3D WebGL - BIM Open Schema Viewer\n\n## [Live Demo](https://ara3d.github.io/ara3d-webgl/)\n\n\u003cimg\n  src=\"https://github.com/user-attachments/assets/99407018-c5d2-46b2-b602-7e4671c87860\"\n  alt=\"BIM Open Schema Viewer\"\n  width=\"200\"\n  height=\"157\"\n  align=\"right\"\n/\u003e\n\nA **WebGL viewer** for extremely large 3D models of buildings and infrastructure \nrepresented as [BIM Open Schema .BOS files](https://github.com/ara3d/bim-open-schema).\n\nBIM Open Schema is an ultra-compressed and portable BIM data format, which \nis easily extended, built on top [Parquet](https://parquet.apache.org/) format.\nA .BOS file is a ZIP archive that contains multiple Parquet files, which contain\ngeometry, parameters, and other BIM data. \n\n## Show me the code! \n\nWe've tried to keep the code as straightforward and legible as possible:\n\n- The Three.JS file loader: [`bimOpenSchemaLoader.ts`](https://github.com/ara3d/ara3d-webgl/blob/main/src/loader/bimOpenSchemaLoader.ts)\n- The BIM Geometry type definition: [`bimGeometry.ts`](https://github.com/ara3d/ara3d-webgl/blob/main/src/loader/bimGeometry.ts)\n- The conversion to Three.JS geometry: [`buildGeometryGroup.ts`](https://github.com/ara3d/ara3d-webgl/blob/main/src/loader/buildGeometryGroup.ts)\n\n## Building and Running \n\nThe project uses [vite](https://vite.dev/) for bundling and development. \n\nSome of the common tasks, which can be found in the `package.json`.\n\n- `npm run dev` - Running the vite dev server with \"hot reloading\" \n- `npm run build:docs` - Building the examples and API documentation. \n- `npm run serve:docs` - Testing the built examples and API documentation locally \n- `npm run build:lib` - Building the library as a JavaScript module (`.mjs`) file\n\n## Camera Controls\n\n### Keyboard\n\n- `W`, `Up` - Move camera forward  \n- `A`, `Left` - Move camera to the left  \n- `S`, `Down` - Move camera backward  \n- `D`, `Right` - Move camera to the right  \n- `E` -  Move camera up  \n- `Q` - Move camera down  \n- `Shift` - faster camera movement while pressed  \n- `+` - Increase camera speed  \n- `-` - Decrease camera speed\n\n### Mouse\n\n- `Hold left click + Move mouse` - Rotate camera in current mode  \n- `Hold right click + Move mouse` - Pan/tilt camera\n- `Hold middle click + Move mouse` - Truck/pedestal camera\n- `Mouse wheel` - Dolly Camera  \n- `Left click` - Select object  \n- `Ctrl + Mouse wheel` - Increase/decrease camera speed\n\n### Touch\n\n- `One Finger swipe` - Tilt/Pan camera  \n- `Two Finger swipe` - Truck/Pedestal camera  \n- `Two Finger pinch/spread` - Dolly Camera\n\n## History\n\nAt Ara 3D we created a simple 3D web-viewer in March 2019 which had support for multiple file formats. \nThe goal was to minimize the amount of code required to create and host a Three.JS viewer in a web-page. \n\nThe VIM team took over the project in July 2021 and the team, mostly Simon Roberge, \nadded many features and enhancements. They also customized the project to meet the needs of their Power BI offering.\n\nOn December 17, 2024, the VIM team archived the project, and merged it with their React-based viewer project into a \nnew repository https://github.com/vimaec/vim-web. Today the VIM viewer is very powerful, but has become very specialized \nto their use-cases.\n\nIn early 2025 the Ara 3D WebGL project was forked from an earlier snapshot of the repo to revive the spirit of the original viewer, \nwhile leveraging many of the excellent contributions made by VIM.\n\nToday in December 2026, we are focusing on using this viewer as a showcase of the [BIM Open Schema](https://github.com/ara3d/bim-open-schema)\ndata format. \n\n## Requesting Features, Improvements, or Changes\n\nFeel free to log issues or submit pull requests.  \n\nWe also offer very affordable custom software development services if you are using this project in a \ncommercial context. For more information reach out to us at [info@ara3d.com](mailto:info@ara3d.com).\n\n# Appendix\n\n## Related Projects: WebGL Viewers\n\n* [Autodesk Viewer](https://viewer.autodesk.com/)\n* [Bentley iTwin](https://www.itwinjs.org/)\n* [Babylon.JS](https://www.babylonjs.com/)\n* [Bldrs.AI](https://bldrs.ai/)\n* [Cesium](https://sandcastle.cesium.com/?src=Cesium%20OSM%20Buildings.html)\n* [e-verse GLTF viewer](https://gltfviewer.e-verse.com/)\n* [glTF Sample Viewer](https://github.com/KhronosGroup/glTF-Sample-Viewer)\n* [That Open Engine - Web IFC](https://github.com/ThatOpen/engine_web-ifc)\n* [Revit 3JS](https://github.com/McCulloughRT/Rvt3js)\n* [Speckle](https://github.com/specklesystems/speckle-server)\n* [vA3C](https://va3c.github.io/)\n* [VIMAEC Web](https://github.com/vimaec/vim-web)\n* [XBim Web UI](https://github.com/xBimTeam/XbimWebUI)\n* [Xeokit](https://github.com/xeokit/xeokit-sdk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fara3d%2Fara3d-webgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fara3d%2Fara3d-webgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fara3d%2Fara3d-webgl/lists"}