mesh-avatar-studio
일러스트를 코딩 에이전트와 로컬 편집기로 2D 메쉬 애니메이션 아바타로 변환
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A production-grade visual website builder built with Next.js, React and TypeScript.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A browser-based visual website builder built with Next.js, React, and TypeScript.
The interface follows Apple's Liquid Glass principles, with one rule that shapes
everything else: glass is a control layer above content, never on the content
itself. Toolbars, panels and popovers are translucent and blurred; the canvas
showing the user's design is plain, opaque and colour-accurate, because tinting
or blurring a design under edit would misrepresent it.
Requires Node.js 22.13 or newer.README 전문 보기 ↗A browser-based visual website builder built with Next.js, React, and TypeScript.
The interface follows Apple's Liquid Glass principles, with one rule that shapes everything else: glass is a control layer above content, never on the content itself. Toolbars, panels and popovers are translucent and blurred; the canvas showing the user's design is plain, opaque and colour-accurate, because tinting or blurring a design under edit would misrepresent it.
Requires Node.js 22.13 or newer.
pnpm install
pnpm dev
Open the URL printed by the development server. Use pnpm build for a
production build, pnpm lint for the linter, and pnpm test for the editor
core and persistence suite.
Firebase Authentication and Firestore add optional account-based project sync. The editor remains local-first: signed-out work stays in the browser, while a signed-in account reconciles the newest valid copy of each project across devices. Deletions are recorded locally until they can be confirmed in the cloud.
Copy .env.example to .env.local and fill it with the public web-app values
from the Firebase console. The default project is configured in .firebaserc.
pnpm firebase:emulators
pnpm firebase:deploy
Firestore rules use an owner-scoped path, validate the complete project schema, cap serialized document size, preserve immutable creation metadata, and deny every unspecified operation.
The Cloudflare Workers build uses Vinext and the settings in wrangler.jsonc.
Authenticate Wrangler once, then build or deploy with:
pnpm build:cloudflare
pnpm deploy:cloudflare
The Firebase NEXT_PUBLIC_* values are compiled into the browser bundle; keep
the same .env.local available when creating the Cloudflare build. Add the
final Workers hostname to Firebase Authentication's authorized domains before
testing Google sign-in in production.
| Action | Shortcut |
|---|---|
| Undo / redo | ⌘Z / ⇧⌘Z (or ⌘Y) |
| Copy / cut / paste | ⌘C / ⌘X / ⌘V |
| Duplicate | ⌘D |
| Delete | Delete or Backspace |
| Select all top-level elements | ⌘A |
| Select parent / clear selection | Escape |
| Traverse the tree | Arrow keys |
| Nudge a positioned element | Arrow keys (Shift for 10px) |
| Edit text | Enter, or double-click |
| Zoom in / out / 100% | ⌘+ / ⌘− / ⌘0 |
| Fit to screen | ⇧1 |
| Pan | Space-drag, Alt-drag, or middle-mouse drag |
| Zoom about the pointer | ⌘/Ctrl + scroll, or trackpad pinch |
| Toggle panels | ⌥1 / ⌥2 |
| Select / hand tool | V / H |
| Focus Mode | ⇧F |
| Command Center | ⌘K / Ctrl+K |
| Preview | P |
| Grid / rulers | G / R |
Styling is a token pipeline, not per-component CSS. Components only ever read semantic tokens, so the entire look can be retuned from a handful of files.
styles/tokens.css — primitive scales: colour ramps, spacing, radii, type,
z-layers. No component knows these directly.styles/themes.css — semantic mappings (--surface-1, --text-primary,
--accent) for light, dark and high-contrast.styles/glass.css — the glass recipe: backdrop filter, tint, rim highlight
and elevation, plus the reduced-transparency and no-backdrop-filter
fallbacks.styles/motion.css — durations, easings and named presets, with a full
reduced-motion path.styles/base.css — element defaults, focus rings, hit targets, scrollbars.styles/components/*.css — one file per surface.components/ui/ holds the primitives every surface composes: GlassSurface,
GlassButton, GlassToolbar, IconButton, SegmentedControl, Popover,
NumberField and ColorField.
lib/editor/types.ts — the document, node, breakpoint and style contracts.lib/editor/commands/ — every mutation as a plain, serialisable command
applied by a pure function. This is what makes collaboration, server
persistence and code export additive rather than a rewrite.lib/editor/history/ — snapshot undo/redo, with coalescing so a slider drag
is one undo step rather than fifty.lib/editor/selection/ — multi-selection, click-to-drill, and tree traversal.lib/editor/breakpoints/ — the widest-first style cascade, and the
inherited/overridden state the inspector displays.lib/editor/schema.ts — versioned validation and migrations for saved documents.lib/editor/persistence/ — validated local storage with a last-known-good
recovery snapshot, plus project and accessibility preferences.lib/editor/clipboard/ — subtree copy and paste.components/editor/ — chrome/, canvas/, selection/, panels/,
inspector/ and dnd/.The document graph is UI-independent: stable node ids, ordered child
references, and sparse per-breakpoint style maps. Nothing in lib/editor
imports React except the store that binds it to the view.
Outlines, resize handles, alignment guides and measurements are drawn in an
overlay above the canvas and measured from the live DOM, never applied to the
nodes themselves. An outline drawn with border would change the layout of the
design it is describing; measuring the real DOM is also the only way to get
correct geometry for percentage widths, flex growth and intrinsic sizes.
Light, dark and system themes, plus independent high-contrast, reduced-transparency and reduced-motion settings that each default to following the operating system. Every drag interaction has a click or keyboard equivalent, icon-only controls carry real accessible names, panels are keyboard-reachable and removed from the tab order when hidden, and changes that are only visible on the canvas — insertions, deletions, moves, saves — are announced through a live region.