{"id":51194968,"url":"https://github.com/longyi-xw/lowcode-3d","last_synced_at":"2026-06-27T19:03:37.585Z","repository":{"id":358779563,"uuid":"1241318545","full_name":"longyi-xw/lowcode-3d","owner":"longyi-xw","description":"AI-assisted low-code platform for the Web 3D stack — visually arrange a scene, export production-ready Three.js code.","archived":false,"fork":false,"pushed_at":"2026-06-23T03:01:24.000Z","size":5671,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-23T05:05:06.415Z","etag":null,"topics":["3d","ai-tools","desktop-app","i18n","low-code","react","scaffold","tauri","three-js","typescript","visual-editor","webgl"],"latest_commit_sha":null,"homepage":"https://github.com/longyi-xw/lowcode-3d","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/longyi-xw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","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-05-17T08:25:03.000Z","updated_at":"2026-06-23T03:01:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"55e32563-1f96-417b-888e-0c09f26ce553","html_url":"https://github.com/longyi-xw/lowcode-3d","commit_stats":null,"previous_names":["longyi-xw/lowcode-3d"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/longyi-xw/lowcode-3d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longyi-xw%2Flowcode-3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longyi-xw%2Flowcode-3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longyi-xw%2Flowcode-3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longyi-xw%2Flowcode-3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/longyi-xw","download_url":"https://codeload.github.com/longyi-xw/lowcode-3d/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longyi-xw%2Flowcode-3d/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34864431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","ai-tools","desktop-app","i18n","low-code","react","scaffold","tauri","three-js","typescript","visual-editor","webgl"],"created_at":"2026-06-27T19:03:36.817Z","updated_at":"2026-06-27T19:03:37.579Z","avatar_url":"https://github.com/longyi-xw.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# lowcode-3d\n\n**AI-assisted low-code platform for the Web 3D stack.**\nArrange a scene visually, export production-ready Three.js code.\n\n[![CI](https://github.com/longyi-xw/lowcode-3d/actions/workflows/ci.yml/badge.svg)](https://github.com/longyi-xw/lowcode-3d/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Status: pre-v0.1](https://img.shields.io/badge/status-pre--v0.1-yellow.svg)](#status)\n\n\u003cimg src=\"design/prototype/img.png\" width=\"820\" alt=\"lowcode-3d editor — desktop prototype\" /\u003e\n\n\u003c/div\u003e\n\n---\n\n## Why\n\n3D on the web is everywhere, but the gap between **a designer's intent** and\n**Three.js production code** is still hours of glue work — boilerplate setup,\nmaterial wiring, light placement, asset loading. lowcode-3d closes that gap\nby giving you a desktop editor that produces real Three.js code, plus an\noptional AI layer for natural-language scene edits driven by your own API key.\n\n## Status\n\n\u003e **You are here**: pre-`v0.1.0` — Phase 0-2 shipped (geometry / lights / cameras / .glb import / Vite + standalone code export); v0.5 行为系统 framework + auto-rotate shipped ahead of schedule. Phase 3 (polish \u0026 release) in progress towards v0.1.0.\n\n| Milestone                                                                                 | What lands                                                                                           | Status                             |\n| ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------- |\n| [`v0.0.1-scaffold`](https://github.com/longyi-xw/lowcode-3d/releases/tag/v0.0.1-scaffold) | Tauri + Vite + React + Tailwind + shadcn + i18n + Zustand + ESLint + CI                              | ✅ shipped                         |\n| `v0.1.0-mvp`                                                                              | Scene Graph · Three.js viewport · transform gizmos · .glb import · code export · behaviors framework | 🟡 Phase 3 polish in progress      |\n| `v0.2`                                                                                    | Asset browser · material editor · settings persistence                                               | ⏳ planned                         |\n| `v0.3`                                                                                    | AI Skills · natural-language scene edits                                                             | ⏳ planned                         |\n| `v0.4`                                                                                    | Spatial snapping (socket system)                                                                     | ⏳ planned                         |\n| `v0.5`                                                                                    | Behavior library (auto-rotate ✅, hover-highlight, click-trigger, …)                                 | 🟡 partial — framework + 1 shipped |\n| `v1.0`                                                                                    | Multi-runtime adapter (Babylon.js validation)                                                        | ⏳ planned                         |\n| `v1.x`                                                                                    | react-three-fiber, Unity adapters                                                                    | ⏳ planned                         |\n\nDetailed sub-stage tracking lives in [`docs/roadmap.md`](docs/roadmap.md). The\nfive-layer architecture this scaffold is laid against lives in\n[`design/framework/architecture.md`](design/framework/architecture.md), and the\ncanonical Scene Graph format / adapter interface live in\n[`docs/scene-graph-spec.md`](docs/scene-graph-spec.md) and\n[`docs/adapter-guide.md`](docs/adapter-guide.md).\n\n## What works today\n\nConcrete user story coverage as of pre-v0.1:\n\n- **Create** a new project, choose `three.js` runtime; save / open / close from disk (atomic folder swap, git-friendly per-node files).\n- **Edit** transforms via gizmo or numeric panel; pick by canvas click; undo/redo with a 500ms gesture merge window.\n- **Compose** a scene with meshes, lights (directional / point / spot / ambient), cameras, helpers (grid / axes), and `.glb` imports (content-addressed `assets/{sha256}.glb`).\n- **Behaviors**: add auto-rotate bindings on any node; edit axis + speed; toggle Play to preview; Stop restores transform.\n- **Export** to a Vite project (`pnpm install \u0026\u0026 pnpm dev`) or a standalone HTML viewer (`python -m http.server`). Exported code includes the same auto-rotate runtime.\n\nThe full release matrix and sub-stage tracking live in [`docs/roadmap.md`](docs/roadmap.md).\n\n## Stack\n\n- **Desktop shell** — [Tauri 2.x](https://tauri.app/) (Rust backend, web frontend)\n- **Frontend** — React 18 + TypeScript 5 (strict + `noUncheckedIndexedAccess`) + Vite 5\n- **3D** — Three.js (MVP) · adapter interface ready for Babylon.js / R3F / Unity\n- **State** — Zustand + Immer, with a Command bus for undo/redo\n- **UI** — Tailwind CSS 3 + shadcn/ui (new-york) · Geist + Geist Mono variable fonts\n- **i18n** — react-i18next · zh-CN + en-US bundled, key-typed via TS module augmentation\n- **Storage** — SQLite (project index) · JSON folder (project format, git-friendly)\n- **Quality** — ESLint 9 (flat) · Prettier · Vitest · husky + lint-staged + commitlint · GitHub Actions\n\n## Architecture\n\n\u003cimg src=\"design/framework/ai_web_3d_lowcode_architecture_overview.svg\" width=\"100%\" alt=\"Five-layer architecture overview\" /\u003e\n\nEach `src/\u003clayer\u003e/` directory only depends on layers below it. See\n[`CONTRIBUTING.md`](CONTRIBUTING.md#2-repository-layout) for the directory map\nand the rules around adding new code.\n\n## Current implementation\n\nThe editor as of pre-v0.1 — behaviors framework + auto-rotate + Play/Pause toggle shipped in PRs [#20](https://github.com/longyi-xw/lowcode-3d/pull/20) and [#21](https://github.com/longyi-xw/lowcode-3d/pull/21):\n\n\u003cimg src=\"design/screenshots/img.png\" width=\"820\" alt=\"lowcode-3d editor — current state with behaviors tab\" /\u003e\n\n## Prototype\n\nAnnotated walkthrough in [`design/prototype/`](design/prototype/) — the editor\n(`img.png`), Settings (`img_1`–`img_7`), Startup (`img_8`), Loading (`img_9`),\nand Error (`img_10`). The dev build of the scaffold ships a `demo views`\nbar at the bottom of the window that cycles through Startup / Loading /\nEditor / Error shells so the prototype states stay verifiable as code lands.\n\n## Development\n\nPrerequisites:\n\n- Node 20+ (pinned in [`.nvmrc`](.nvmrc))\n- pnpm 9+ (declared in `packageManager`; `corepack enable` will pick it up)\n- Rust stable (rustup recommended; Homebrew also works)\n- Xcode Command Line Tools on macOS\n\n```bash\npnpm install\npnpm tauri dev      # desktop window with the prototype scaffolding\npnpm dev            # frontend-only at http://localhost:1420\npnpm test           # vitest (jsdom)\npnpm lint           # eslint .\npnpm typecheck      # tsc --noEmit\npnpm build          # frontend production bundle\n```\n\n## Releases\n\nPushing a `v*` tag triggers\n[`.github/workflows/release.yml`](.github/workflows/release.yml), which runs\n`tauri build` on macOS (universal), Windows, and Linux runners and drafts a\nGitHub Release with the resulting `.dmg` / `.msi` / `.exe` / `.deb` /\n`.AppImage` artifacts attached.\n\n\u003e First real release needs production icons. Run\n\u003e `pnpm tauri icon path/to/logo-1024.png` once you have a 1024×1024 source\n\u003e image — it generates all platform-specific formats into `src-tauri/icons/`.\n\u003e Then flip `bundle.active` to `true` in `src-tauri/tauri.conf.json`.\n\n## Contributing\n\nBranch naming, Conventional Commits, and the PR template live in\n[`CONTRIBUTING.md`](CONTRIBUTING.md). Short version: feature branches off\n`main`, lint + typecheck + test must be green, and any new user-facing\nstring must land in both `src/i18n/locales/en-US/` and\n`src/i18n/locales/zh-CN/` in the same commit.\n\n## License\n\n[MIT](LICENSE) © 2026 lowcode-3d contributors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongyi-xw%2Flowcode-3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flongyi-xw%2Flowcode-3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongyi-xw%2Flowcode-3d/lists"}