{"id":48605926,"url":"https://github.com/crovitche-1623/razoar","last_synced_at":"2026-04-09T00:00:18.874Z","repository":{"id":344405421,"uuid":"1181695962","full_name":"Crovitche-1623/Razoar","owner":"Crovitche-1623","description":"Clean and optimize DXF files in the browser — dedup, merge colinear segments, remove overlaps","archived":false,"fork":false,"pushed_at":"2026-04-02T22:38:38.000Z","size":2899,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T01:58:13.572Z","etag":null,"topics":["docker-compose","dxf","rs","rust","saas","ts","typescript","wasm"],"latest_commit_sha":null,"homepage":"https://razoar.ch","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Crovitche-1623.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-14T13:56:37.000Z","updated_at":"2026-04-02T15:14:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Crovitche-1623/Razoar","commit_stats":null,"previous_names":["crovitche-1623/razoar"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/Crovitche-1623/Razoar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crovitche-1623%2FRazoar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crovitche-1623%2FRazoar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crovitche-1623%2FRazoar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crovitche-1623%2FRazoar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Crovitche-1623","download_url":"https://codeload.github.com/Crovitche-1623/Razoar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crovitche-1623%2FRazoar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31579058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["docker-compose","dxf","rs","rust","saas","ts","typescript","wasm"],"created_at":"2026-04-09T00:00:18.000Z","updated_at":"2026-04-09T00:00:18.848Z","avatar_url":"https://github.com/Crovitche-1623.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Razoar\n\n[![CI](https://github.com/Crovitche-1623/Razoar/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/Crovitche-1623/Razoar/actions/workflows/ci.yml)\n[![CD](https://github.com/Crovitche-1623/Razoar/actions/workflows/cd.yml/badge.svg)](https://github.com/Crovitche-1623/Razoar/actions/workflows/cd.yml)\n[![Version](https://img.shields.io/github/v/release/Crovitche-1623/Razoar)](https://github.com/Crovitche-1623/Razoar/releases/latest)\n[![Rust Coverage](https://codecov.io/gh/Crovitche-1623/Razoar/graph/badge.svg?flag=rust\u0026token=0AMU9WG3UL)](https://codecov.io/gh/Crovitche-1623/Razoar)\n[![License](https://img.shields.io/badge/license-proprietary-red)](LICENSE)\n[![Website](https://img.shields.io/badge/website-razoar.ch-blue)](https://razoar.ch)\n\n**DXF Cleaner** — clean and optimize DXF (Drawing Exchange Format) files with real-time preview.\n\nCore cleaning algorithms run in **Rust/WebAssembly** for near-native performance directly in the browser.\n\n## Features\n\n- **Duplicate removal** — detect and remove exact, reversed, and near-duplicate segments\n- **Micro-segment removal** — eliminate segments below a configurable length threshold\n- **Collinear merging** — merge touching collinear segments into single lines\n- **Overlap removal** — remove shorter segments fully contained in longer collinear ones\n- **Preserved export** — non-LINE entities (CIRCLE, ARC, LWPOLYLINE, etc.) are preserved verbatim\n- **Real-time preview** — instant visual feedback when adjusting cleaning parameters\n\n## Tech Stack\n\n| Layer           | Technology                                    |\n| --------------- | --------------------------------------------- |\n| Frontend        | React 18, TypeScript, Tailwind CSS v4         |\n| Build           | Vite 6                                        |\n| Core algorithms | Rust (edition 2021) → WebAssembly (wasm-pack) |\n| Auth            | Google OAuth via Cloudflare Pages Functions   |\n| Payments        | Stripe (freemium model)                       |\n| Hosting         | Cloudflare Pages + Workers (KV)               |\n\n## Prerequisites\n\n- **Docker** (20+) — all tools (Node 22, Rust stable, wasm-pack, Playwright) run inside containers.\n\n## Development\n\n```bash\n# Install dependencies\ndocker compose run --rm dev npm install\n\n# Build WASM (required before first run)\ndocker compose run --rm dev npm run build:wasm\n\n# Start dev server (http://localhost:5173)\ndocker compose up -d dev\n\n# Run full CI pipeline\ndocker compose run --rm dev sh -c \"npm run rust:fmt:check \u0026\u0026 npm run rust:lint \u0026\u0026 npm run rust:test \u0026\u0026 npm run format:check \u0026\u0026 npm run lint \u0026\u0026 npm run typecheck \u0026\u0026 npm test \u0026\u0026 npm run build\"\n```\n\n## License\n\nProprietary — All rights reserved. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrovitche-1623%2Frazoar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrovitche-1623%2Frazoar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrovitche-1623%2Frazoar/lists"}