SculptForge
ZBrush-style sculpting for VFX, animation and games. VFX Reference Platform CY2026 and CY2027 builds, OpenUSD, a Python API and Send to Unreal. Free built-in AI: describe a brush and get it, or turn a
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證AppShots — App Store & Google Play screenshots in minutes
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
AppShots — App Store & Google Play Screenshot Generator
A full-stack-ready clone of an app-store screenshot tool (inspired by appscreens.com),
built with React 18 + Vite + TailwindCSS. Turn raw app captures into polished,
store-ready screenshots with device frames, gradient backgrounds, headlines, and
PNG export — all in the browser.
This is an original, "inspired-by" build. All copy, UI, and device frames are
drawn from scratch (no assets copied from the original site).檢視完整 README ↗A full-stack-ready clone of an app-store screenshot tool (inspired by appscreens.com), built with React 18 + Vite + TailwindCSS. Turn raw app captures into polished, store-ready screenshots with device frames, gradient backgrounds, headlines, and PNG export — all in the browser.
This is an original, "inspired-by" build. All copy, UI, and device frames are drawn from scratch (no assets copied from the original site).
/inspiration) — public, browsable showcase of complete designs; start a project from any one./tracker) — look up any competitor's live App Store screenshots + metadata (rating, genre, price, version) via Apple's official iTunes Search API; screenshots link back to the App Store for reference..zip, "All sizes" (render one design across every required App Store + Google Play size), copy-to-clipboard, and an animated video reelRequires Node.js 20+.
npm install
npm run dev # http://localhost:5173
Build for production:
npm run build
npm run preview
If you see a partial
node_modulesfrom a previous attempt, just runnpm installagain (or delete the folder first) — it will reconcile.
The app talks to a single backend abstraction (src/lib/backend.js). Out of the
box it uses a localStorage implementation, so everything (accounts, projects,
plan upgrades) works with zero setup.
When you're ready for a real backend, the abstraction is designed to swap to Supabase without touching any UI code.
npm i @supabase/supabase-js.env.example → .env.local and fill in:
VITE_SUPABASE_URL=...
VITE_SUPABASE_ANON_KEY=...
projects table:
create table projects (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users not null,
name text not null default 'Untitled project',
state jsonb not null,
created_at timestamptz default now(),
updated_at timestamptz default now()
);
alter table projects enable row level security;
create policy "own projects" on projects
for all using (auth.uid() = user_id) with check (auth.uid() = user_id);
src/lib/backend.js, implement the same method surface
(signUp, signIn, signOut, getCurrentUser, listProjects,
getProject, createProject, updateProject, deleteProject, upgradePlan)
using supabase.auth and supabase.from("projects"), then export it as backend.The Pricing page currently simulates upgrades. To take real payments with Stripe Checkout (client-only):
VITE_STRIPE_PUBLISHABLE_KEY and VITE_STRIPE_PRICE_PRO to .env.local.Pricing.jsx's choose(), redirect to Checkout instead of calling upgrade():
import { loadStripe } from "@stripe/stripe-js";
const stripe = await loadStripe(import.meta.env.VITE_STRIPE_PUBLISHABLE_KEY);
await stripe.redirectToCheckout({
lineItems: [{ price: import.meta.env.VITE_STRIPE_PRICE_PRO, quantity: 1 }],
mode: "subscription",
successUrl: window.location.origin + "/dashboard",
cancelUrl: window.location.origin + "/pricing",
});
plan to pro.src/
components/ Navbar, Footer, Logo, AuthShell, ScreenCanvas, ProtectedRoute
lib/
backend.js data layer (localStorage now, Supabase-ready)
auth.jsx auth context/provider
devices.js device frame definitions (CSS-drawn, store dimensions)
templates.js gradients, fonts, layouts, default project state
export.js DOM → PNG export at store resolution
team.js team API calls + the "which buttons to render" helpers
teamContext.jsx loads the workspace once, shares it with every screen
pages/ Landing, Pricing, Login, Signup, Dashboard, Editor, Team, JoinTeam, NotFound
App.jsx routes
main.jsx entry
server/
teams.js the roster, the roles, /api/team — server-owned by design
entitlement.js Stripe record + Team seat -> one effective plan
firestoreAdmin.js the only writer of teams/** in Firestore
Deeper docs: TEAM-SETUP.md · STRIPE-SETUP.md · FIREBASE-SETUP.md · DEPLOY.md
React 18 · Vite 8 · React Router 6 · TailwindCSS 3 · Framer Motion · lucide-react · html-to-image · three.js.
The /api/* proxy (server/handlers.js) also holds the AI, image-search, and
App-Store-tracker endpoints; the App Store Tracker uses Apple's public iTunes
Search API and needs no key.
localStorage for convenience only; never do that in production.