SUPRA-Tex
SUPRA-Tex: 단일 이미지만으로 기준에 맞춘 3D 텍스처 생성
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Digital-clay sculpting app for the kami stack: a WebGPU brush workspace over a
layered sculpt document, built in .cljc/.cljs and shipped as a single
static page.
This repo is the app — UI, keyboard interaction, project file format,
and the shadow-cljs build. The sculpting itself (mesh, brushes, layers,
remesh/repair, topology diagnostics) lives in
kotoba-lang/kami-engine-sculpt,
and the GPU mesh upload/draw path in
kotoba-lang/webgpu. Nothing here
re-implements geometry.
clean / dirty / saved).The header selects which editor's key layout applies. kami.sculpt.app
carries all three:
| profile | keys |
|---|---|
| ZBrush (default) | B,I inflate · B,S smooth · B,P pinch · M mask |
| Blender Sculpt | I · S · P · M · E erase mask |
| Mudbox | 1 sculpt · 2 smooth · 3 pinch · M mask · E erase mask |
ZBrush uses a two-key prefix buffer; the other two dispatch directly.
Ctrl+Shift+N adds a layer. Holding Shift temporarily switches to smooth
and restores the previous brush on release, so the selection in the panel
never changes.
kami.sculpt.project owns the on-disk shape, currently version 2:
{:kami/document :sculpt-project
:kami/version 2
:project/id "head" :project/name "Head"
:project/sculpt <sculpt document from kami-engine-sculpt>
:project/brush {:mode :inflate :radius 0.6 :strength 0.12 :spacing 0.12}
:project/symmetry [:x]
:project/interaction {:profile :zbrush}
:project/strokes 0}
open migrates then validates, and throws rather than returning a partly
formed project. Two inputs migrate: a v1 project (gains
:project/interaction and :project/strokes), and a bare sculpt document
from the engine (wrapped with defaults). Anything else is rejected.
| file | role |
|---|---|
src/kami/sculpt/project.cljk | project document, versioning, migration, validation |
src/kami/sculpt/ui.cljk | the page — hiccup via html.core, styles via css.core |
src/kami/sculpt/app.cljk | browser app: state atom, events, shortcuts, GPU upload |
ui.cljc and project.cljc are portable .cljc and carry no browser
dependency, so both are exercised by the JVM test run.
kbb -M:test # project round-trip / migration / rejection
kbb -M build.cljk # regenerate public/index.html from ui/page
npm run build # amu compile --target wasm32-browser -> public/js/app.js
public/index.html is generated from kami.sculpt.ui/page — edit the
hiccup, not the HTML. The build is idempotent, so
kbb -M build.cljk && git diff --exit-code public/index.html is a usable
check that the generator and the shipped page still agree; they had drifted
apart once, and regenerating from the stale generator would have deleted 22
controls that app.cljs binds handlers to. Serve public/ over http (WebGPU needs a secure
context; localhost counts) and open it in a WebGPU-capable browser. Without
WebGPU the viewport shows a status message instead of silently rendering
nothing.
#debug-state carries a JSON snapshot — vertex/triangle counts, masked
vertices, mode, symmetry, profile, layer names, remesh/repair/hole-fill
results and topology diagnostics — so an end-to-end test can read what the
app believes rather than screenshotting it.
Apache-2.0. See LICENSE.