{"release_id":"01a1998d-9802-0000-b0f7-33a23307f4ed","chunk_id":"01a1998d-9998-70e2-b2fd-46376fc4895b","file":"141.DtY0oLB_.mjs","mappings":"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","names":["anatomyPrompt","PROMPT_GROUPS","g","p","PROMPT_ANATOMY","HEADING","origin","studioOrigin","SITE_URL","url","MONTHS","y","m","d","PROMPTS_UPDATED","updated","jsonLd","jsonLdScript","breadcrumbList","STUDIO_BRAND","studioSeoByPath","PROMPT_FAQ","f","copied","$.state","copiedTimer","copy","ok","area","$.set","trackStudioPrompt","$.head","$$anchor","StudioPage","main","root_2","nav","ol","li","a","h1","$.sibling","p_1","p_2","time","nav_1","ul","li_1","root_3","a_1","$.get","$.set_text","text_3","$.each","node_1","section","root_4","h2","p_3","ul_1","li_2","root_5","p_4","$.child","div","button","a_2","$.reset","text_6","text_7","$.set_attribute","$0","promptHref","$.delegated","$.append","text_4","text_5","section_1","root_6","p_5","dl","part","div_1","root_7","dt","dd","q","text_9","text_10","text_11","$.template_effect","text_8","$$render","consequent","section_2","node_2","ol_1","PROMPT_TIPS","t","i","li_3","root_8","span","text_12","div_2","h3","p_6","text_13","text_14","p_7","section_3","p_8","section_4","div_3","div_4","root_9","h3_1","p_9","text_17","text_18","section_5","p_10","PROMPT_COUNT","PROMPT_HARDER","PROMPT_OTHER_MODELS"],"sources":["../../../../../../src/routes/prompts/+page.svelte"],"sourcesContent":["<script lang=\"ts\">\n\t/** PornPilot's prompt library (RAT-632): /prompts on the studio's domain.\n\t *\n\t *  A page in front of the product earns its place only by carrying something\n\t *  the product does not (D2, 2026-09-26): here, prompts written for what\n\t *  the studio renders well, each a tap from the composer. So every\n\t *  prompt is a way into the studio with its words already in the box, and the\n\t *  rest of the page — the guide, the questions — is there to make the first\n\t *  clip a good one.\n\t *\n\t *  The words live in $lib/studio-prompts, where a test runs every prompt\n\t *  through the studio's own under-age gate. The meta is in $lib/studio-seo;\n\t *  the layout writes it, PornPilot's, wherever this is served. */\n\timport { trackStudioPrompt } from '$lib/analytics';\n\timport StudioPage from '$lib/components/studio/StudioPage.svelte';\n\timport { SITE_URL, breadcrumbList, jsonLdScript } from '$lib/seo';\n\timport { STUDIO_BRAND, studioOrigin } from '$lib/studio-host';\n\timport { studioSeoByPath } from '$lib/studio-seo';\n\timport {\n\t\tPROMPT_ANATOMY,\n\t\tPROMPT_COUNT,\n\t\tPROMPT_FAQ,\n\t\tPROMPT_GROUPS,\n\t\tPROMPT_HARDER,\n\t\tPROMPT_OTHER_MODELS,\n\t\tPROMPT_TIPS,\n\t\tPROMPTS_UPDATED,\n\t\tpromptHref,\n\t\ttype LibraryPrompt,\n\t\ttype PromptGroup\n\t} from '$lib/studio-prompts';\n\n\tconst anatomyPrompt = PROMPT_GROUPS.flatMap((g) => g.prompts).find(\n\t\t(p) => p.id === PROMPT_ANATOMY.prompt\n\t);\n\n\tconst HEADING = 'NSFW AI prompts for video';\n\n\t// The same origin the layout writes the canonical with, so the markup and\n\t// the canonical name one address.\n\tconst origin = studioOrigin() ?? SITE_URL;\n\tconst url = `${origin}/prompts`;\n\n\t/** \"31 October 2026\", the same on the server and in the browser: no locale\n\t *  and no timezone to disagree about, so nothing to mismatch on hydration. */\n\tconst MONTHS = [\n\t\t'January',\n\t\t'February',\n\t\t'March',\n\t\t'April',\n\t\t'May',\n\t\t'June',\n\t\t'July',\n\t\t'August',\n\t\t'September',\n\t\t'October',\n\t\t'November',\n\t\t'December'\n\t];\n\tconst [y, m, d] = PROMPTS_UPDATED.split('-').map(Number);\n\tconst updated = `${d} ${MONTHS[m - 1]} ${y}`;\n\n\tconst jsonLd =\n\t\tjsonLdScript(\n\t\t\tbreadcrumbList([\n\t\t\t\t{ name: STUDIO_BRAND, url: origin },\n\t\t\t\t{ name: 'NSFW AI prompts', url }\n\t\t\t])\n\t\t) +\n\t\tjsonLdScript({\n\t\t\t'@context': 'https://schema.org',\n\t\t\t'@type': 'CollectionPage',\n\t\t\tname: HEADING,\n\t\t\tdescription: studioSeoByPath['/prompts'].description,\n\t\t\turl,\n\t\t\tinLanguage: 'en',\n\t\t\tdateModified: PROMPTS_UPDATED,\n\t\t\tisPartOf: { '@type': 'WebSite', name: STUDIO_BRAND, url: origin }\n\t\t}) +\n\t\tjsonLdScript({\n\t\t\t'@context': 'https://schema.org',\n\t\t\t'@type': 'FAQPage',\n\t\t\tmainEntity: PROMPT_FAQ.map((f) => ({\n\t\t\t\t'@type': 'Question',\n\t\t\t\tname: f.q,\n\t\t\t\tacceptedAnswer: { '@type': 'Answer', text: f.a }\n\t\t\t}))\n\t\t});\n\n\t/** Which prompt was just copied, for the word on its button. */\n\tlet copied = $state('');\n\tlet copiedTimer: ReturnType<typeof setTimeout> | undefined;\n\n\t/** Copy, in the click, so iOS Safari still counts it as the person's own act.\n\t *  The textarea route is for a browser without the clipboard API, or a page\n\t *  it will not grant it to; if both refuse, the button simply does not say\n\t *  \"Copied\", and the words are on screen to select by hand. */\n\tasync function copy(p: LibraryPrompt, g: PromptGroup) {\n\t\tlet ok = false;\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(p.text);\n\t\t\tok = true;\n\t\t} catch {\n\t\t\tconst area = document.createElement('textarea');\n\t\t\tarea.value = p.text;\n\t\t\tarea.setAttribute('readonly', '');\n\t\t\tarea.style.position = 'fixed';\n\t\t\tarea.style.opacity = '0';\n\t\t\tdocument.body.appendChild(area);\n\t\t\tarea.select();\n\t\t\ttry {\n\t\t\t\tok = document.execCommand('copy');\n\t\t\t} catch {\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\tarea.remove();\n\t\t}\n\t\tif (!ok) return;\n\t\tcopied = p.id;\n\t\tclearTimeout(copiedTimer);\n\t\tcopiedTimer = setTimeout(() => (copied = ''), 1600);\n\t\ttrackStudioPrompt('copied', { prompt: p.id, group: g.id });\n\t}\n</script>\n\n<svelte:head>\n\t{@html jsonLd}\n</svelte:head>\n\n<StudioPage>\n\t<main class=\"mx-auto max-w-3xl px-5 pt-6 pb-24\">\n\t\t<nav aria-label=\"Breadcrumb\" class=\"text-xs text-[var(--st-faint)]\">\n\t\t\t<ol class=\"flex items-center gap-1.5\">\n\t\t\t\t<li><a href=\"/\" class=\"transition-colors hover:text-[var(--st-text)]\">{STUDIO_BRAND}</a></li>\n\t\t\t\t<li aria-hidden=\"true\">/</li>\n\t\t\t\t<li aria-current=\"page\">NSFW AI prompts</li>\n\t\t\t</ol>\n\t\t</nav>\n\n\t\t<h1\n\t\t\tclass=\"mt-6 font-display text-[clamp(2.25rem,6vw,3.25rem)] leading-[1.06] font-semibold tracking-[-0.042em] text-balance\"\n\t\t>\n\t\t\t{HEADING}\n\t\t</h1>\n\t\t<p class=\"mt-4 max-w-[36rem] text-[17px] leading-relaxed text-[var(--st-body)]\">\n\t\t\t{PROMPT_COUNT} AI porn prompts, written for what the studio renders well, starting with the scene\n\t\t\ttypes people keep most often. Copy one, or open it in the studio: it lands in the composer, ready\n\t\t\tto change or send.\n\t\t</p>\n\t\t<p class=\"mt-3 text-xs text-[var(--st-faint)]\">\n\t\t\tUpdated <time datetime={PROMPTS_UPDATED}>{updated}</time> · Fictional adults only, all 18+\n\t\t</p>\n\t\t<p class=\"mt-4 text-[15px] text-[var(--st-body)]\">\n\t\t\tOr build one of your own with the <a\n\t\t\t\thref=\"/prompts/generator\"\n\t\t\t\tclass=\"text-[var(--st-text)] underline underline-offset-2\">NSFW AI prompt generator</a\n\t\t\t>.\n\t\t</p>\n\n\t\t<!-- The scenes, one tap each. A row that scrolls on a phone rather than a\n\t\t\t wall of chips: eight of them wrap into three lines at 375 points. -->\n\t\t<nav aria-label=\"Scenes\" class=\"chips -mx-5 mt-8 overflow-x-auto px-5\">\n\t\t\t<ul class=\"flex w-max gap-2\">\n\t\t\t\t{#each PROMPT_GROUPS as g (g.id)}\n\t\t\t\t\t<li><a href=\"#{g.id}\" class=\"btn btn-sm btn-secondary\">{g.short}</a></li>\n\t\t\t\t{/each}\n\t\t\t</ul>\n\t\t</nav>\n\n\t\t{#each PROMPT_GROUPS as g (g.id)}\n\t\t\t<section id={g.id} aria-labelledby=\"{g.id}-title\" class=\"mt-14 scroll-mt-16\">\n\t\t\t\t<h2 id=\"{g.id}-title\" class=\"font-display text-2xl font-semibold tracking-[-0.03em]\">\n\t\t\t\t\t{g.title}\n\t\t\t\t</h2>\n\t\t\t\t<p class=\"mt-2 max-w-[36rem] text-[15px] leading-relaxed text-[var(--st-body)]\">{g.intro}</p>\n\t\t\t\t<ul class=\"mt-5 grid gap-2.5 sm:grid-cols-2\">\n\t\t\t\t\t{#each g.prompts as p (p.id)}\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tid={p.id}\n\t\t\t\t\t\t\tclass=\"flex scroll-mt-16 flex-col justify-between gap-4 rounded-xl p-4 ring-1 ring-[var(--st-line)]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p class=\"text-[15px] leading-relaxed text-[var(--st-text)]\">{p.text}</p>\n\t\t\t\t\t\t\t<div class=\"flex items-center justify-end gap-1.5\">\n\t\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-sm btn-quiet\" onclick={() => copy(p, g)}>\n\t\t\t\t\t\t\t\t\t{copied === p.id ? 'Copied' : 'Copy'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref={promptHref(p.text)}\n\t\t\t\t\t\t\t\t\tclass=\"btn btn-sm btn-secondary\"\n\t\t\t\t\t\t\t\t\tonclick={() => trackStudioPrompt('opened', { prompt: p.id, group: g.id })}\n\t\t\t\t\t\t\t\t\t>Open in studio</a\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t{/each}\n\t\t\t\t</ul>\n\t\t\t</section>\n\t\t{/each}\n\n\t\t{#if anatomyPrompt}\n\t\t\t<section id=\"anatomy\" aria-labelledby=\"anatomy-title\" class=\"mt-16 scroll-mt-16\">\n\t\t\t\t<h2 id=\"anatomy-title\" class=\"font-display text-2xl font-semibold tracking-[-0.03em]\">\n\t\t\t\t\tAnatomy of an NSFW AI prompt\n\t\t\t\t</h2>\n\t\t\t\t<p class=\"mt-2 max-w-[36rem] text-[15px] leading-relaxed text-[var(--st-body)]\">\n\t\t\t\t\tOne prompt from the list above, taken apart in the order the studio's writer reads it.\n\t\t\t\t</p>\n\t\t\t\t<p class=\"mt-5 rounded-xl p-4 text-[15px] leading-relaxed ring-1 ring-[var(--st-line)]\">\n\t\t\t\t\t{anatomyPrompt.text}\n\t\t\t\t</p>\n\t\t\t\t<dl class=\"mt-5 grid gap-4\">\n\t\t\t\t\t{#each PROMPT_ANATOMY.parts as part (part.quote)}\n\t\t\t\t\t\t<div class=\"grid gap-1 sm:grid-cols-[12rem_minmax(0,1fr)] sm:gap-4\">\n\t\t\t\t\t\t\t<dt class=\"font-display text-[15px] font-semibold\">{part.name}</dt>\n\t\t\t\t\t\t\t<dd class=\"text-[15px] leading-relaxed text-[var(--st-body)]\">\n\t\t\t\t\t\t\t\t<q class=\"text-[var(--st-text)]\">{part.quote}</q> — {part.why}\n\t\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/each}\n\t\t\t\t</dl>\n\t\t\t</section>\n\t\t{/if}\n\n\t\t<section id=\"how-to-write\" aria-labelledby=\"how-to-write-title\" class=\"mt-16 scroll-mt-16\">\n\t\t\t<h2 id=\"how-to-write-title\" class=\"font-display text-2xl font-semibold tracking-[-0.03em]\">\n\t\t\t\tHow to write an NSFW AI video prompt\n\t\t\t</h2>\n\t\t\t<ol class=\"mt-5 grid gap-4 sm:grid-cols-2\">\n\t\t\t\t{#each PROMPT_TIPS as t, i (t.title)}\n\t\t\t\t\t<li class=\"flex gap-3\">\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"flex size-6 shrink-0 items-center justify-center rounded-full bg-[var(--st-surface-2)] text-xs font-semibold text-[var(--st-text)] tabular-nums\"\n\t\t\t\t\t\t\taria-hidden=\"true\">{i + 1}</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3 class=\"font-display text-[15px] font-semibold\">{t.title}</h3>\n\t\t\t\t\t\t\t<p class=\"mt-1 text-[15px] leading-relaxed text-[var(--st-body)]\">{t.body}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t{/each}\n\t\t\t</ol>\n\t\t\t<h3 class=\"mt-8 font-display text-lg font-semibold tracking-[-0.02em]\">\n\t\t\t\tWhat is harder to get right\n\t\t\t</h3>\n\t\t\t<p class=\"mt-2 max-w-[36rem] text-[15px] leading-relaxed text-[var(--st-body)]\">\n\t\t\t\t{PROMPT_HARDER}\n\t\t\t</p>\n\t\t</section>\n\n\t\t<section id=\"other-models\" aria-labelledby=\"other-models-title\" class=\"mt-16 scroll-mt-16\">\n\t\t\t<h2 id=\"other-models-title\" class=\"font-display text-2xl font-semibold tracking-[-0.03em]\">\n\t\t\t\tUsing these prompts in Grok, Sora or Wan 2.2\n\t\t\t</h2>\n\t\t\t<p class=\"mt-2 max-w-[36rem] text-[15px] leading-relaxed text-[var(--st-body)]\">\n\t\t\t\t{PROMPT_OTHER_MODELS}\n\t\t\t</p>\n\t\t\t<p class=\"mt-3 max-w-[36rem] text-[15px] leading-relaxed text-[var(--st-body)]\">\n\t\t\t\tFor Grok in particular: <a\n\t\t\t\t\thref=\"/prompts/grok\"\n\t\t\t\t\tclass=\"text-[var(--st-text)] underline underline-offset-2\">Grok NSFW prompts</a\n\t\t\t\t>, written for what its spicy mode allows.\n\t\t\t</p>\n\t\t</section>\n\n\t\t<section id=\"questions\" aria-labelledby=\"questions-title\" class=\"mt-16 scroll-mt-16\">\n\t\t\t<h2 id=\"questions-title\" class=\"font-display text-2xl font-semibold tracking-[-0.03em]\">\n\t\t\t\tQuestions\n\t\t\t</h2>\n\t\t\t<div class=\"mt-5 grid gap-6\">\n\t\t\t\t{#each PROMPT_FAQ as f (f.q)}\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3 class=\"font-display text-[15px] font-semibold\">{f.q}</h3>\n\t\t\t\t\t\t<p class=\"mt-1 max-w-[36rem] text-[15px] leading-relaxed text-[var(--st-body)]\">{f.a}</p>\n\t\t\t\t\t</div>\n\t\t\t\t{/each}\n\t\t\t</div>\n\t\t</section>\n\n\t\t<!-- The way out of the page is the way into the product. -->\n\t\t<section class=\"mt-16 rounded-2xl bg-[var(--st-surface)] p-6\">\n\t\t\t<h2 class=\"font-display text-xl font-semibold tracking-[-0.02em]\">Make the clip</h2>\n\t\t\t<p class=\"mt-2 max-w-[34rem] text-[15px] leading-relaxed text-[var(--st-body)]\">\n\t\t\t\t{STUDIO_BRAND} is an <a href=\"/\" class=\"text-[var(--st-text)] underline underline-offset-2\"\n\t\t\t\t\t>NSFW AI video generator</a\n\t\t\t\t>: describe one shot and get it back with sound, then carry it on into the next. Writing is\n\t\t\t\tfree; you need an account and tokens to render.\n\t\t\t</p>\n\t\t\t<div class=\"mt-5 flex flex-wrap items-center gap-2\">\n\t\t\t\t<a href=\"/\" class=\"btn btn-primary\">Open the studio</a>\n\t\t\t\t<a href=\"/prompts/generator\" class=\"btn btn-secondary\">Build a prompt</a>\n\t\t\t</div>\n\t\t</section>\n\t</main>\n</StudioPage>\n\n<style>\n\t/* The row scrolls by swipe; a scrollbar under eight pills is a second, thinner\n\t * row that says nothing. */\n\t.chips {\n\t\tscrollbar-width: none;\n\t}\n\t.chips::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n</style>\n"],"version":3}