1import{j as e}from"./vendor-motion-hRg_q8lq.js";import{ao as D,u as C,b as P,H as E,d as M,L as w}from"./index-BKzE8EQ8.js";import{r as o}from"./vendor-react-E98sgxjj.js";import{du as n}from"./vendor-fa-Bn2dnpnC.js";import G from"./DashboardLayout-CkgbJsW1.js";import{P as B,L as q}from"./LandingFooter-DjCjfhwD.js";import{A as z}from"./index-BxtVm1Yj.js";import"./vendor-query-bOUN_gKe.js";import"./useLocaleNavigate-BNriJdRU.js";import"./SidebarContext-BL6EZ3Xi.js";import"./Avatar-B60wpoS5.js";import"./MediaImage-DKgx-nW4.js";import"./Tooltip-C8AvPGtA.js";import"./SiteBanner-DKwegxEe.js";import"./index-i1nPji9k.js";import"./paywall-CG7xVZtx.js";import"./plans-CbMJY2XS.js";import"./pricingExperiments-zMZby8z7.js";import"./organization-BuGhuc22.js";import"./useDevModelsVisible-BHgONHQI.js";import"./UserAvatarMenu-BoKKInby.js";import"./tabBarStore-624ukDKJ.js";import"./socialLinks-DmmZmq5v.js";import"./exploreHandoff-RQymaHkp.js";import"./AuthShell-DPeun0C_.js";import"./AuthPanel-B4zt6SJ5.js";import"./pendingReferral-B4JPXhl_.js";import"./LaunchPromoClips-eRoWsyBt.js";const j="https://docs.tesana.ai";function L(s=48){const t=o.useRef(null),i=o.useRef(null),[v,x]=o.useState();return o.useEffect(()=>{const m=t.current,h=i.current;if(!m||!h)return;let u=0;const b=()=>{if(m.getBoundingClientRect().top<s){const y=h.getBoundingClientRect();x({position:"fixed",top:`${s}px`,left:`${y.left}px`,width:`${y.width}px`})}else x(void 0)},d=()=>{cancelAnimationFrame(u),u=requestAnimationFrame(b)};window.addEventListener("scroll",d,{passive:!0}),window.addEventListener("resize",d,{passive:!0});const f=h.closest("main");let p;return f&&(p=new MutationObserver(d),p.observe(f,{attributes:!0,attributeFilter:["style"]})),b(),()=>{cancelAnimationFrame(u),window.removeEventListener("scroll",d),window.removeEventListener("resize",d),p?.disconnect()}},[s]),{sentinelRef:t,navRef:i,style:v}}const R=["what-is-tesana","creating-games","debugging-bugs","your-dashboard","your-storefront","monetization","game-settings","explore-community"];function l({id:s,children:t}){return e.jsx("h2",{id:s,className:"text-h3-sm font-medium text-foreground mb-4 scroll-mt-8",children:t})}function r({children:s}){return e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:s})}function c({title:s,links:t}){return e.jsxs("div",{className:"rounded-md border border-border p-4 mt-2",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2",children:s}),e.jsx("div",{className:"flex flex-wrap gap-x-6 gap-y-1.5",children:t.map(i=>e.jsxs("a",{href:`${j}${i.path}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-sm text-accent hover:underline",children:[e.jsx(n,{icon:["far","book"],className:"text-xs opacity-70"}),i.label,e.jsx(n,{icon:["far","arrow-right"],className:"text-[10px] opacity-60"})]},i.path))})]})}function ge(){const s=D(),{t}=C("marketing"),i=o.useMemo(()=>[{id:"what-is-tesana",label:t("help.toc.whatIsTesana")},{id:"creating-games",label:t("help.toc.creatingGames")},{id:"debugging-bugs",label:t("help.toc.debuggingBugs")},{id:"your-dashboard",label:t("help.toc.yourDashboard")},{id:"your-storefront",label:t("help.toc.yourStorefront")},{id:"monetization",label:t("help.toc.monetization")},{id:"game-settings",label:t("help.toc.gameSettings")},{id:"explore-community",label:t("help.toc.exploreCommunity")}],[t]),[v,x]=o.useState(R[0]),m=o.useRef(null),{sentinelRef:h,navRef:u,style:b}=L(48);o.useEffect(()=>{const a=R.map(g=>document.getElementById(g)).filter(Boolean);if(a.length!==0)return m.current=new IntersectionObserver(g=>{const A=g.filter(k=>k.isIntersecting);if(A.length>0){const k=A.reduce((F,I)=>F.boundingClientRect.top<I.boundingClientRect.top?F:I);x(k.target.id)}},{rootMargin:"-10% 0px -80% 0px",threshold:0}),a.forEach(g=>m.current?.observe(g)),()=>m.current?.disconnect()},[]);const{isAuthenticated:d}
1=P(),[f,p]=o.useState(!1),[N,S]=o.useState("signup"),y=o.useCallback(a=>{document.getElementById(a)?.scrollIntoView({behavior:"smooth"})},[]),T=e.jsxs(e.Fragment,{children:[e.jsxs(E,{children:[e.jsx("title",{children:t("help.pageTitle")}),e.jsx("meta",{name:"description",content:t("help.metaDescription")}),e.jsx("meta",{property:"og:title",content:t("help.pageTitle")}),e.jsx("meta",{property:"og:description",content:t("help.metaDescription")}),e.jsx("meta",{property:"og:type",content:"website"}),e.jsx("meta",{property:"og:url",content:s}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:t("help.pageTitle")}),e.jsx("meta",{name:"twitter:description",content:t("help.metaDescription")}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"WebPage",name:"Tesana Help Center",url:s,description:"Help and support for Tesana AI game development platform."})})]}),e.jsxs("div",{className:"max-w-5xl mx-auto w-full px-4 md:px-8 pt-22 md:pt-12 pb-24",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h1",{className:"text-h3-sm md:text-h3 text-foreground",children:t("help.title")}),e.jsx("p",{className:"text-base text-muted-foreground mt-2",children:t("help.subtitle")})]}),e.jsxs("a",{href:j,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 rounded-md border border-border bg-card p-4 mb-10 hover:border-foreground
1/25 transition-colors group",children:[e.jsx("span",{className:"w-9 h-9 rounded-md bg-accent/10 text-accent flex items-center justify-center shrink-0",children:e.jsx(n,{icon:["far","book"]})}),e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsx("span",{className:"block text-sm font-medium text-foreground",children:t("help.docsBanner.title","Tesana Documentation")}),e.jsx("span",{className:"block text-xs text-muted-foreground mt-0.5",children:t("help.docsBanner.subtitle","Full guides for building, credits & billing, publishing, and troubleshooting â docs.tesana.ai")})]}),e.jsx(n,{icon:["far","arrow-right"],className:"text-sm text-muted-foreground group-hover:text-foreground transition-colors"})]}),e.jsxs("div",{className:"flex gap-12",children:[e.jsxs("nav",{ref:u,className:"hidden lg:block w-52 shrink-0",children:[e.jsx("div",{ref:h}),e.jsxs("div",{style:b,children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider mb-3",children:t("help.onThisPage")}),e.jsx("ul",{className:"space-y-1",children:i.map(a=>e.jsx("li",{children:e.jsx("button",{onClick:()=>y(a.id),className:M("block w-full text-left text-sm px-3 py-1.5 rounded-sm transition-colors cursor-pointer",v===a.id?"bg-foreground
1/8 text-foreground":"text-muted-foreground hover:text-foreground hover:bg-foreground/4"),children:a.label})},a.id))}),e.jsxs("div",{className:"mt-6 pt-6 border-t border-border",children:[e.jsxs("a",{href:j,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[e.jsx(n,{icon:["far","book"],className:"text-xs"}),t("help.docs","Documentation")]}),e.jsxs(w,{to:"/getting-started",className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mt-2",children:[e.jsx(n,{icon:["far","bolt"],className:"text-xs"}),t("help.gettingStarted")]}),e.jsxs(w,{to:"/faq",className:"flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mt-2",children:[e.jsx(n,{icon:["far","circle-info"],className:"text-xs"}),t("help.faq")]})]})]})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"what-is-tesana",children:t("help.whatIsTesana.heading")}),e.jsx(r,{children:t("help.whatIsTesana.intro")}),e.jsx(r,{children:t("help.v2.whatIsTesana.summary","You describe your game, the AI proposes a plan and builds it as a real browser game in TypeScript (Three.js for 3D, Phaser for 2D), and then you iterate together â play, prompt, refine. Everyone from first-time creators to studios uses the same loop, and on paid plans you own everything you make.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.introduction","What is Tesana"),path:"/introduction"},{label:t("help.links.quickstart","Quickstart"),path:"/quickstart"},{label:t("help.links.howItWorks","How Tesana works"),path:"/how-tesana-works"}]})]}),e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"creating-games",children:t("help.creatingGames.heading")}),e.jsx(r,{children:t("help.v2.creatingGames.summary1","Games are built in the Studio: chat with the AI on the left, live game preview on the right. Type your idea on the Dashboard to start a new game â detailed prompts (genre, art style, mechanics, win/lose conditions) get dramatically better results than vague ones.")}),e.jsx(r,{children:t("help.v2.creatingGames.summary2","New games start building straight away. Switch the composer to Plan first if you would rather the AI propose what it will build and wait for your Approve & Build. Steer results with reference images for art style, a character reference for your hero, and voice dictation. There is no model to choose: Tesana picks the model for every run. While a build runs, new prompts queue up and run in order.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.prompting","Prompting"),path:"/building/prompting"},{label:t("help.links.planMode","Plan mode"),path:"/building/plan-mode"},{label:t("help.links.imageReferences","Image references"),path:"/building/image-references"},{label:t("help.links.voiceMode","Voice mode"),path:"/building/voice-mode"},{label:t("help.links.promptQueue","Prompt queue"),path:"/building/prompt-queue"}]})]}),e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"debugging-bugs",children:t("help.debuggingBugs.heading")}),e.jsx(r,{children:t("help.v2.debuggingBugs.summary1","Bugs are a normal part of game development. Play-test in the preview, then tell the AI what you did, what you expected, and what actually happened â precise reports get precise fixes. Attach a screenshot with the camera button for visual issues; runtime errors come with a Fix button that sends the full error log to the AI automatically.")}),e.jsx(r,{children:t("help.v2.debuggingBugs.summary2","If a build made things worse overall, revert: every build is saved as a version you can roll back to from the version history in the chat header.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.debugging","Debugging your game"),path:"/building/debugging-your-game"},{label:t("help.links.versions","Versions & revert"),path:"/building/versions-and-revert"},{label:t("help.links.troubleshooting","Troubleshooting"),path:"/support/troubleshooting"}]})]}),e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"your-dashboard",children:t("help.yourDashboard.heading")}),e.jsx(r,{children:t("help.v2.yourDashboard.summary","The Dashboard is home base: the prompt box for starting new games, your recent projects, templates to start from, and community picks. My Games lists everything youâve made â open any game to keep building, manage its settings, or visit its store page.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.quickstart","Quickstart"),path:"/quickstart"},{label:t("help.links.accountSettings","Account settings"),path:"/account/account-settings"}]})]}),e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"your-storefront",children:t("help.yourStorefront.heading")}),e.jsx(r,{children:t("help.v2.yourStorefront.summary","Every game gets a customizable public store page: poster, banner, screenshots, tagline, markdown description, category and tags, theme (colors, fonts, corner style), social links, and a custom URL. A strong poster and real gameplay screenshots do most of the selling â and accurate tags are how the marketplace finds you.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.storefront","Storefront"),path:"/publishing/storefront"},{label:t("help.links.publishing","Publishing your game"),path:"/publishing/publishing-your-game"},{label:t("help.links.marketplace","Marketplace"),path:"/publishing/marketplace"}]})]}),e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"monetization",children:t("help.monetization.heading")}),e.jsx(r,{children:t("help.v2.monetization.summary1","On a paid plan you can sell your games on the Tesana store â fixed price (from $0.50) or pay-what-you-want, paid out through your own Stripe account. Tesana takes 30% on store sales; games you export and sell elsewhere carry no fee at all.")}),e.jsx(r,{children:t("help.v2.monetization.summary2","Building itself is billed in credits, metered on the actual AI work each prompt does â no estimates, no flat fees. A per-prompt ledger of every charge is public.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.gameMonetization","Game monetization"),path:"/publishing/game-monetization"},{label:t("help.links.howCreditsWork","How credits work"),path:"/credits/how-credits-work"},{label:t("help.links.pricing","Pricing"),path:"/credits/pricing"},{label:t("help.links.plansTopups","Plans & top-ups"),path:"/credits/plans-and-topups"}]})]}),e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"game-settings",children:t("help.gameSettings.heading")}),e.jsx(r,{children:t("help.v2.gameSettings.summary","Each gameâs settings control visibility (published or draft), watermark and custom loading logo (paid plans), renaming, making a copy, and deletion. Exports also live here on paid plans: a web build for self-hosting, native macOS and Windows apps, and the full TypeScript source project.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.publishing","Publishing & visibility"),path:"/publishing/publishing-your-game"},{label:t("help.links.exports","Exports"),path:"/building/exports"}]})]}),e.jsxs("section",{className:"mb-14",children:[e.jsx(l,{id:"explore-community",children:t("help.exploreCommunity.heading")}),e.jsx(r,{children:t("help.v2.exploreCommunity.summary","The Marketplace is where games get discovered â featured rails, charts, categories, and search. Favorite games you love, follow creators to see their next releases, build together with collaborators, and share your referral link to earn credits when friends go paid. Every creator has a public profile at tesana.ai/u/username.")}),e.jsx(c,{title:t("help.fullGuides","Full guides"),links:[{label:t("help.links.marketplace","Marketplace"),path:"/publishing/marketplace"},{label:t("help.links.community","Community"),path:"/account/community"},{label:t("help.links.collaborators","Collaborators"),path:"/account/collaborators"},{label:t("help.links.referrals","Referrals"),path:"/account/referrals"}]})]}),e.jsxs("div",{className:"rounded-md border border-border p-8 text-center",children:[e.jsx("p",{className:"text-base font-medium text-foreground mb-2",children:t("help.
1cta.title")}),e.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:t("help.cta.description")}),e.jsxs("div",{className:"flex items-center justify-center gap-3 flex-wrap",children:[e.jsxs("a",{href:j,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 h-9 bg-foreground text-background text-sm rounded-md hover:opacity-90 transition-opacity",children:[e.jsx(n,{icon:["far","book"],className:"text-xs"}),t("help.cta.viewDocs","Read the docs")]}),e.jsxs(w,{to:"/faq",className:"inline-flex items-center gap-2 px-4 h-9 bg-foreground/8 text-foreground text-sm rounded-md hover:bg-foreground/12 transition-colors",children:[e.jsx(n,{icon:["far","circle-info"],className:"text-xs"}),t("help.cta.viewFaq")]}),e.jsxs("a",{href:"https://discord.gg/6uqbFsdhSM",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 h-9 bg-foreground/8 text-foreground text-sm rounded-md hover:bg-foreground/12 transition-colors",children:[e.jsx(n,{icon:["fab","discord"],className:"text-xs"}),t("help.cta.joinDiscord")]})]})]})]})]})]})]});return d?e.jsx(G,{children:T}):e.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[e.jsx(B,{onAuthClick:a=>{S(a||"signup"),p(!0)},skipScrolled:!0}),e.jsx(z,{isOpen:f,onClose:()=>p(!1),initialMode:N}),e.jsx("div",{className:"pt-24",children:T}),e.jsx(q,{handleAuthClick:()=>p(!0)})]})}export{ge as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.