MCPcopy Index your code
hub / github.com/CAPlayground/CAPlayground

github.com/CAPlayground/CAPlayground @0.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.1.1 ↗ · + Follow
1,025 symbols 2,563 edges 197 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
CAPlayground Logo

CAPlayground

Create beautiful animated wallpapers for iOS and iPadOS on any desktop computer.

Overview

CAPlayground is a web-based Core Animation editor for making stunning wallpapers for your iPhone and iPad. Check out the roadmap to see progress.

Getting Started

Prerequisites

  • Node.js 20+
  • Bun

Install

Install project dependencies:

bun install

Development

To start the dev server:

bun run dev

Open http://localhost:3000 in your browser.

Environment variables (optional for auth)

Authentication is powered by Supabase. If you don't provide auth keys, the site still runs, but account features are disabled and protected routes will show a message.

Create a .env.local in the project root with:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# Only required for server-side account deletion API
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

When these are missing:

  • app/signin/page.tsx displays "Sign in disabled" and disables auth actions.
  • app/forgot-password/page.tsx and app/reset-password/page.tsx show a notice and disable actions.
  • app/api/account/delete/route.ts returns 501 with a clear message.

Build & Start

bun run build && bun run start

Contributing

Read CONTRIBUTING.md

License

Creative Commons License

Note: The Creative Commons License applies to the source code. Use of the hosted service at caplayground.vercel.app is subject to our Terms of Service, which includes attribution requirements for shared content.

Star History

Star History Chart

Extension points exported contracts — how you extend this code

LayerItem (Interface)
(no doc)
apps/web/components/home/bento-grid-section/bento-item.tsx
BentoItemProps (Interface)
(no doc)
apps/web/components/home/bento-grid-section/bento-item.tsx
ProjectMeta (Interface)
(no doc)
apps/web/components/editor/menu-bar.tsx
VideoLayerDialogProps (Interface)
(no doc)
apps/web/components/editor/VideoLayerDialog.tsx
BlurEditorProps (Interface)
(no doc)
apps/web/components/editor/tools/BlurEditor.tsx

Core symbols most depended-on inside this repo

cn
called by 258
apps/web/lib/utils.ts
setAttr
called by 77
apps/web/lib/ca/serialize/serializeLayer.ts
putTextFile
called by 68
apps/web/lib/storage.ts
attr
called by 55
apps/web/lib/ca/caml.ts
get
called by 47
apps/web/hooks/use-asset-url.ts
getBuf
called by 46
apps/web/components/editor/inspector/index.tsx
clearBuf
called by 40
apps/web/components/editor/inspector/index.tsx
set
called by 39
apps/web/hooks/use-asset-url.ts

Shape

Function 945
Interface 60
Method 13
Class 6
Enum 1

Languages

TypeScript100%

Modules by API surface

apps/web/app/projects/page.tsx42 symbols
apps/web/lib/ca/caml.ts29 symbols
apps/web/lib/storage.ts27 symbols
apps/web/components/ui/sidebar.tsx25 symbols
apps/web/lib/ca/ca-file.ts23 symbols
apps/web/hooks/use-asset-url.ts21 symbols
apps/web/lib/editor/layer-utils.ts19 symbols
apps/web/components/editor/inspector/canvas/SelectionOverlay.tsx18 symbols
apps/web/components/editor/device-preview/DevicePreview.tsx18 symbols
apps/web/app/tendies-check/TendiesChecker.tsx18 symbols
apps/web/lib/idb.ts16 symbols
apps/web/components/ui/menubar.tsx16 symbols

For agents

$ claude mcp add CAPlayground \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page