{"release_id":"01a1998d-9802-0000-b0f7-33a23307f4ed","chunk_id":"01a1998d-9821-7a22-9a57-d3adb68a7bca","file":"BScQV8m1.mjs","mappings":"qTAIO,MAAMA,EAAe,GACfC,EAAwB,EAIxBC,EACZ,iLAEYC,EAA8B","names":["ANIMATE_COST","ANIMATION_UNLOCK_COST","DEFAULT_ANIMATION_PROMPT","ANIMATION_PROMPT_MAX_LENGTH"],"sources":["../../../../../../src/lib/animation.ts"],"sourcesContent":["// Client-safe photo-animation constants — imported by the feed UI (dialog\n// prefill + price labels) and by the server modules, so costs live in exactly\n// one place.\n\nexport const ANIMATE_COST = 10;\nexport const ANIMATION_UNLOCK_COST = 5;\n/** Of the unlock price, this many tokens are credited to the post owner. */\nexport const ANIMATION_OWNER_SHARE = 2;\n\nexport const DEFAULT_ANIMATION_PROMPT =\n\t'he strokes his hard cock fast and cums hard, a huge cumshot, thick ropes of cum spurting out, hips thrusting, intense orgasm, explosive finish, realistic motion, high quality';\n\nexport const ANIMATION_PROMPT_MAX_LENGTH = 300;\n\nexport type AnimationStatus = 'queued' | 'processing' | 'ready' | 'failed';\n\n/** Feed-card summary — the modal fetches full clip details on open. */\nexport interface PostAnimationSummary {\n\treadyCount: number;\n\trendering: boolean;\n\t/** Up to 3 distinct requesters of READY clips — the card's avatar stack. */\n\tanimators: Array<{ nickname: string | null; avatarPath: string | null }>;\n}\n\n/** One clip inside the animation modal (GET /api/post/[id]/animations). */\nexport interface AnimationClipView {\n\tid: string;\n\tstatus: AnimationStatus;\n\tprompt: string;\n\trequester: { id: string; nickname: string | null; avatarPath: string | null } | null;\n\tcanWatch: boolean;\n\tvideoUrl: string | null;\n\tcommentCount: number;\n\t/** Set when the photo owner has posted this clip to the feed. */\n\tpostedPostId: string | null;\n\t/** Requester + photo owner may delete (file removal included). */\n\tcanDelete: boolean;\n\tcreatedAt: string;\n}\n\nexport interface AnimationCommentView {\n\tid: string;\n\tbody: string;\n\t/** 'text' | 'gif' — gif renders mediaUrl (external GIPHY CDN). */\n\tkind: string;\n\tmediaUrl: string | null;\n\tcreatedAt: string;\n\tauthor: { id: string; nickname: string | null; avatarPath: string | null };\n}\n"],"version":3}