Materializr
오픈소스 파라메트릭 3D CAD로 제약 스케치·솔리드 모델·나사·SVG·텍스트 조각·STL/STEP 내보내기를 지원합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
From visual evidence to explorable systems. Banana Hacks 2026 (Image AI) project.
Photograph any object. The Physical Lab finds its parts, cuts each one out, estimates depth, and builds an interactive exploded diagram you can rotate, pull apart, inspect part by part, and question with "what if I remove this?".README 전문 보기 ↗From visual evidence to explorable systems. Banana Hacks 2026 (Image AI) project.
Photograph any object. The Physical Lab finds its parts, cuts each one out, estimates depth, and builds an interactive exploded diagram you can rotate, pull apart, inspect part by part, and question with "what if I remove this?".
Paste a screenshot of any website or app. The Digital Lab rebuilds it as working HTML or React (compare it with the original using a wipe slider, then ask for changes), writes a step-by-step plan for building it for real, and shows the component structure behind it. Several screenshots of one app become one clickable app; the rebuild can be refined against its own render, edited by clicking it, checked on phone/tablet/laptop and opened as a live StackBlitz project. A multi-screen explorer maps user workflows between screens and compares versions.
Both labs produce the same SystemAnalysis shape: components, relationships, evidence and an observed / inferred status for every item.
Built during the Banana Hacks 2026 hacking window. Status: work in progress.
Everything shown is labelled seen in photo or inferred. Samples: three saved real analyses (iPhone 17, Game Boy, mouse) and two curated reference models (MacBook Air M3, gaming PC), labelled as such. Details: docs/PHYSICAL_LAB.md.
box_2d, converted to 0–1), types, evidence and parent links.observed if the boxes agree, inferred if not); missing parents are derived from geometry (estimated).appears_related_to with a note.scripts/eval_digital.py scores live output against ground truth from three team-made mock screens (recall at IoU ≥ 0.5, mean IoU, type agreement). On 10 Oct with gemini-3.8-flash: recall 1.0 on all three screens, mean IoU 0.89–0.95. Three synthetic screens are a sanity check, not a benchmark.Open /digital. Upload several screens to map the workflow (hypothesised transitions labelled with the control that triggers them), two versions to compare (added / removed / moved / reworded, plus optional AI style check), or one screen to rebuild it as a starter HTML/React draft with measured design tokens and generated docs. Click any component for its tree position, evidence and a what-if (same engine shape as the Physical Lab). Details: docs/DIGITAL_LAB.md.
Guided tour (for the demo video): open http://localhost:8000/?tour. A title card, the Physical Lab (iPhone 17: exact-model identification, 3D model seen from the right, explode with every part lifting out, parts pulled out by hand, X-ray wiring, part details, battery failure cascade, system graph), a bridge, the Digital Lab (teardown, compare, X-ray, Inspect, a change request, React Native, build plan, backend, accessibility) and a closing card play by themselves with captions in a bar over the page header, about 2.5 minutes, from saved results only (no live AI call). /digital?demo plays only the Digital Lab part. Keep the Chrome window in front while recording.
cd apps/api
python -m venv .venv && . .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements-dev.txt
cp .env.example .env # add your free key from aistudio.google.com/apikey
uvicorn app.main:app --reload --port 8000
Open http://localhost:8000 and upload a photo. Deploying (Docker, Render or Hugging Face Spaces): docs/DEPLOY.md. Tests: cd apps/api && pytest -q. Live Digital Lab check (uses your key): python scripts/eval_digital.py --chat.
Both labs share one vision client: Gemini first, switching Flash models when a free daily quota runs out, then a local LM Studio model (VISION_PROVIDER=auto). Results are cached by image hash, so the same image never costs a second call. Frontend types: contracts/system-analysis.ts; full contract: docs/API_CONTRACT.md.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/health | Provider readiness (no secrets) |
| POST | /api/physical/analyze | multipart image → SystemAnalysis (+ scene layers) |
| POST | /api/physical/identify | photos (+ optional typed model) → exact product, dimensions, alternatives |
| POST | /api/physical/whatif | {analysisId, removedComponentId} → verdict, % working, affected parts + paths |
| GET | /api/physical/teardown?q=&topic= | iFixit teardown guides for the product (credited, CC BY-NC-SA) |
| GET | /api/physical/samples | Saved real analyses and curated reference models (sample mode) |
| POST | /api/digital/analyze | multipart image (screenshot) → SystemAnalysis (domain digital) |
| GET | /api/digital/samples | Saved real Digital Lab results (+ /{id}, /{id}/image) |
| POST | /api/digital/whatif · /workflow · /diff · /reconstruct | Digital explorer (see docs/DIGITAL_LAB.md) |
| GET | /api/analysis/{analysisId} | Any stored analysis (either lab) |
| POST | /api/analysis/{analysisId}/chat | {question, selectedComponentIds} → grounded answer with cited ids |
All errors use one shape: {"error": {"code": "...", "message": "..."}}.