[{"data":1,"prerenderedAt":398},["ShallowReactive",2],{"navigation_docs":3,"-nuxt-module-installation":159,"-nuxt-module-installation-surround":393},[4,29,57,76,100,124,152],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,12,16,20,24],{"title":5,"path":7,"stem":11},"1.getting-started\u002Findex",{"title":13,"path":14,"stem":15},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F1.installation",{"title":17,"path":18,"stem":19},"First Game","\u002Fgetting-started\u002Ffirst-game","1.getting-started\u002F2.first-game",{"title":21,"path":22,"stem":23},"SSR and Mounting","\u002Fgetting-started\u002Fssr-and-mounting","1.getting-started\u002F3.ssr-and-mounting",{"title":25,"path":26,"stem":27,"icon":28},"Skills","\u002Fgetting-started\u002Fskills","1.getting-started\u002F4.skills","i-lucide-sparkles",{"title":30,"icon":31,"path":32,"stem":33,"children":34},"Vue Guide","i-lucide-book-open","\u002Fvue-guide","2.vue-guide",[35,37,41,45,49,53],{"title":30,"path":32,"stem":36},"2.vue-guide\u002Findex",{"title":38,"path":39,"stem":40},"PhaserGame","\u002Fvue-guide\u002Fphaser-game","2.vue-guide\u002F1.phaser-game",{"title":42,"path":43,"stem":44},"Scenes","\u002Fvue-guide\u002Fscenes","2.vue-guide\u002F2.scenes",{"title":46,"path":47,"stem":48},"Primitives","\u002Fvue-guide\u002Fprimitives","2.vue-guide\u002F3.primitives",{"title":50,"path":51,"stem":52},"Composables and Bridge","\u002Fvue-guide\u002Fcomposables-and-bridge","2.vue-guide\u002F4.composables-and-bridge",{"title":54,"path":55,"stem":56},"Escape Hatches","\u002Fvue-guide\u002Fescape-hatches","2.vue-guide\u002F5.escape-hatches",{"title":58,"icon":59,"path":60,"stem":61,"children":62},"Nuxt Module","i-lucide-layers-3","\u002Fnuxt-module","3.nuxt-module",[63,65,68,72],{"title":58,"path":60,"stem":64},"3.nuxt-module\u002Findex",{"title":13,"path":66,"stem":67},"\u002Fnuxt-module\u002Finstallation","3.nuxt-module\u002F1.installation",{"title":69,"path":70,"stem":71},"Runtime Defaults","\u002Fnuxt-module\u002Fruntime-defaults","3.nuxt-module\u002F2.runtime-defaults",{"title":73,"path":74,"stem":75},"Client-only Wrapper","\u002Fnuxt-module\u002Fclient-only-wrapper","3.nuxt-module\u002F3.client-only-wrapper",{"title":77,"icon":78,"path":79,"stem":80,"children":81},"Examples","i-lucide-play-square","\u002Fexamples","4.examples",[82,84,88,92,96],{"title":77,"path":79,"stem":83},"4.examples\u002Findex",{"title":85,"path":86,"stem":87},"Minimal","\u002Fexamples\u002Fminimal","4.examples\u002F1.minimal",{"title":89,"path":90,"stem":91},"Imperative Escape Hatch","\u002Fexamples\u002Fimperative-escape-hatch","4.examples\u002F2.imperative-escape-hatch",{"title":93,"path":94,"stem":95},"Multi-scene","\u002Fexamples\u002Fmulti-scene","4.examples\u002F3.multi-scene",{"title":97,"path":98,"stem":99},"Nuxt Playground","\u002Fexamples\u002Fnuxt-playground","4.examples\u002F4.nuxt-playground",{"title":101,"icon":102,"path":103,"stem":104,"children":105},"API Reference","i-lucide-book-open-text","\u002Fapi-reference","5.api-reference",[106,108,112,116,120],{"title":101,"path":103,"stem":107},"5.api-reference\u002Findex",{"title":109,"path":110,"stem":111},"Vue Components","\u002Fapi-reference\u002Fvue-components","5.api-reference\u002F1.vue-components",{"title":113,"path":114,"stem":115},"Composables","\u002Fapi-reference\u002Fcomposables","5.api-reference\u002F2.composables",{"title":117,"path":118,"stem":119},"Types","\u002Fapi-reference\u002Ftypes","5.api-reference\u002F3.types",{"title":121,"path":122,"stem":123},"Nuxt Module Options","\u002Fapi-reference\u002Fnuxt-module-options","5.api-reference\u002F4.nuxt-module-options",{"title":125,"icon":126,"path":127,"stem":128,"children":129},"Guides","i-lucide-compass","\u002Fguides","6.guides",[130,132,136,140,144,148],{"title":125,"path":127,"stem":131},"6.guides\u002Findex",{"title":133,"path":134,"stem":135},"Performance","\u002Fguides\u002Fperformance","6.guides\u002F1.performance",{"title":137,"path":138,"stem":139},"Scene-first Design","\u002Fguides\u002Fscene-first-design","6.guides\u002F2.scene-first-design",{"title":141,"path":142,"stem":143},"Vue Reactivity vs Phaser Imperative Updates","\u002Fguides\u002Fvue-reactivity-vs-phaser-imperative-updates","6.guides\u002F3.vue-reactivity-vs-phaser-imperative-updates",{"title":145,"path":146,"stem":147},"Testing scene primitives in Vue","\u002Fguides\u002Ftesting-scene-primitives-in-vue","6.guides\u002F4.testing-scene-primitives-in-vue",{"title":149,"path":150,"stem":151},"Testing a Phaser canvas in Nuxt","\u002Fguides\u002Ftesting-a-phaser-canvas-in-nuxt","6.guides\u002F5.testing-a-phaser-canvas-in-nuxt",{"title":153,"path":154,"stem":155,"children":156,"icon":158},"Roadmap","\u002Froadmap","7.roadmap\u002Findex",[157],{"title":153,"path":154,"stem":155},"i-lucide-flag",{"id":160,"title":13,"body":161,"description":386,"extension":387,"links":388,"meta":389,"navigation":390,"path":66,"seo":391,"stem":67,"__hash__":392},"docs\u002F3.nuxt-module\u002F1.installation.md",{"type":162,"value":163,"toc":382},"minimark",[164,173,317,322,359,363,374,378],[165,166,167,168,172],"p",{},"The module registers the runtime plugin, the ",[169,170,171],"code",{},"#phaser"," alias, composable auto-imports, and the global components you opt into.",[174,175,181],"pre",{"className":176,"code":177,"filename":178,"language":179,"meta":180,"style":180},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@onmax\u002Fnuxt-phaser'],\n  phaser: {\n    autoImports: true,\n    components: true,\n    componentPrefix: 'Phaser',\n    clientOnly: true,\n  },\n})\n","nuxt.config.ts","ts","",[169,182,183,207,235,246,260,272,290,302,308],{"__ignoreMap":180},[184,185,188,192,195,199,203],"span",{"class":186,"line":187},"line",1,[184,189,191],{"class":190},"s7zQu","export",[184,193,194],{"class":190}," default",[184,196,198],{"class":197},"s2Zo4"," defineNuxtConfig",[184,200,202],{"class":201},"sTEyZ","(",[184,204,206],{"class":205},"sMK4o","{\n",[184,208,210,214,217,220,223,227,229,232],{"class":186,"line":209},2,[184,211,213],{"class":212},"swJcz","  modules",[184,215,216],{"class":205},":",[184,218,219],{"class":201}," [",[184,221,222],{"class":205},"'",[184,224,226],{"class":225},"sfazB","@onmax\u002Fnuxt-phaser",[184,228,222],{"class":205},[184,230,231],{"class":201},"]",[184,233,234],{"class":205},",\n",[184,236,238,241,243],{"class":186,"line":237},3,[184,239,240],{"class":212},"  phaser",[184,242,216],{"class":205},[184,244,245],{"class":205}," {\n",[184,247,249,252,254,258],{"class":186,"line":248},4,[184,250,251],{"class":212},"    autoImports",[184,253,216],{"class":205},[184,255,257],{"class":256},"sfNiH"," true",[184,259,234],{"class":205},[184,261,263,266,268,270],{"class":186,"line":262},5,[184,264,265],{"class":212},"    components",[184,267,216],{"class":205},[184,269,257],{"class":256},[184,271,234],{"class":205},[184,273,275,278,280,283,286,288],{"class":186,"line":274},6,[184,276,277],{"class":212},"    componentPrefix",[184,279,216],{"class":205},[184,281,282],{"class":205}," '",[184,284,285],{"class":225},"Phaser",[184,287,222],{"class":205},[184,289,234],{"class":205},[184,291,293,296,298,300],{"class":186,"line":292},7,[184,294,295],{"class":212},"    clientOnly",[184,297,216],{"class":205},[184,299,257],{"class":256},[184,301,234],{"class":205},[184,303,305],{"class":186,"line":304},8,[184,306,307],{"class":205},"  },\n",[184,309,311,314],{"class":186,"line":310},9,[184,312,313],{"class":205},"}",[184,315,316],{"class":201},")\n",[318,319,321],"h2",{"id":320},"what-the-module-adds","What the module adds",[323,324,325,334,337,350],"ul",{},[326,327,328,330,331],"li",{},[169,329,171],{}," alias that re-exports ",[169,332,333],{},"@onmax\u002Fphaser-vue",[326,335,336],{},"Auto-imports for the shared composables and scene helpers",[326,338,339,340,342,343,346,347],{},"Global registration for ",[169,341,38],{},", ",[169,344,345],{},"PhaserScene",", primitives, and ",[169,348,349],{},"NuxtPhaserGame",[326,351,352,355,356],{},[169,353,354],{},"runtimeConfig.public.phaser"," defaults that the runtime plugin passes into ",[169,357,358],{},"createPhaserVue",[318,360,362],{"id":361},"what-it-does-not-add","What it does not add",[323,364,365,368,371],{},[326,366,367],{},"A second scene system",[326,369,370],{},"A server-side Phaser runtime",[326,372,373],{},"A different primitive contract than the Vue package",[375,376,377],"tip",{},"Use the module for Nuxt ergonomics. Use the Vue docs to understand the shared runtime behavior under those imports.",[379,380,381],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":180,"searchDepth":209,"depth":209,"links":383},[384,385],{"id":320,"depth":209,"text":321},{"id":361,"depth":209,"text":362},"Add @onmax\u002Fnuxt-phaser to nuxt.config.ts and let the module install the shared Vue runtime.","md",null,{},true,{"title":13,"description":386},"UJyhtzccKEzWmS3dhcmBCQrf9WXeQ2WfQVEe_VMCCb4",[394,396],{"title":58,"path":60,"stem":64,"description":395,"children":-1},"Configure @onmax\u002Fnuxt-phaser without duplicating the shared runtime contract from @onmax\u002Fphaser-vue.",{"title":69,"path":70,"stem":71,"description":397,"children":-1},"Configure the Nuxt wrapper defaults that flow into the shared Phaser Vue plugin at runtime.",1777965861042]