{"id":39766067,"url":"https://github.com/prideout/layout-viewer","last_synced_at":"2026-01-18T11:45:05.055Z","repository":{"id":282817583,"uuid":"948861927","full_name":"prideout/layout-viewer","owner":"prideout","description":"WebGL renderer for chip layouts ","archived":false,"fork":false,"pushed_at":"2025-04-12T21:03:19.000Z","size":13488,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T21:32:18.235Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://prideout.net/layout-viewer/","language":"Rust","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/prideout.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2025-03-15T05:49:47.000Z","updated_at":"2025-04-10T04:55:49.000Z","dependencies_parsed_at":"2025-04-05T16:37:23.177Z","dependency_job_id":null,"html_url":"https://github.com/prideout/layout-viewer","commit_stats":null,"previous_names":["prideout/layout-viewer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prideout/layout-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prideout%2Flayout-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prideout%2Flayout-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prideout%2Flayout-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prideout%2Flayout-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prideout","download_url":"https://codeload.github.com/prideout/layout-viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prideout%2Flayout-viewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28535177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2026-01-18T11:45:04.974Z","updated_at":"2026-01-18T11:45:05.035Z","avatar_url":"https://github.com/prideout.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Layout Viewer\n\nRust library and CLI tool for rendering GDSII layouts with OpenGL / WebGL or\nconverting them to SVG format.\n\nIncludes a [web app](https://prideout.net/layout-viewer/) that allows users\nto drop a GDSII file for local viewing. All work is performed in the browser\nand no data is sent to the server. In fact there is no server, it's just\na static site hosted with GitHub Pages.\n\n## Modules\n\n- `core` contains the data model and core logic.\n  - Defines a set of ECS components.  \n- `graphics` is a simple WebGL rendering library.\n  - Provides abstractions similar to libraries like THREE and Filament.\n  - Knows nothing about circuits or app behavior.\n  - All objects except **Renderer** can be constructed without a WebGL\n    context.\n- `webui` defines a set of Yew components.\n  - The UI for the web application lives here.\n  - Components with the **Page** suffix are navigation targets.\n- `cli` provides a command-line interface and simple native window target.\n- `rsutils` are utilities that you could imagine being a part of **std**.\n  - Nothing here should know about circuits or the app.\n\n## Usage examples\n\n```bash\n# Open a GL window with the Intel 4004 chip:\ncargo run --quiet --bin layout-viewer -- --gl assets/gds/intel-4004.gds\n\n# Open a much larger GDS file using a release build:\ncargo run --release --quiet --bin layout-viewer -- --gl assets/gds/caravel.gds\n\n# Generate a SVG file:\ncargo run --quiet --bin layout-viewer -- --gl assets/gds/mos-6502.gds mos-6502.svg\n\n# Deploy a local web server:\ntrunk serve --open\n```\n\n## Limitations\n\n- Arefs are ignored (but we might fix this)\n- Magnification of elements is ignored.\n- The \"absolute\" flag is ignored for magnitudes and angles.\n- Text, Nodes, and Boxes are ignored.\n\n## Dependencies\n\n- bevy_ecs: Entity-component-system\n- gds21: GDSII parser\n- svg: SVG generation\n- wasm-bindgen: WebAssembly bindings\n- anyhow: Error handling\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprideout%2Flayout-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprideout%2Flayout-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprideout%2Flayout-viewer/lists"}