[{"data":1,"prerenderedAt":419},["ShallowReactive",2],{"navigation_docs":3,"-examples-nuxt-playground":159,"-examples-nuxt-playground-surround":414},[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":97,"body":161,"description":408,"extension":409,"links":410,"meta":411,"navigation":336,"path":98,"seo":412,"stem":99,"__hash__":413},"docs\u002F4.examples\u002F4.nuxt-playground.md",{"type":162,"value":163,"toc":406},"minimark",[164,177,189,289,399,402],[165,166,167,168,172,173,176],"p",{},"The playground lives in ",[169,170,171],"code",{},"playground"," and shows the full Nuxt wrapper path. It uses ",[169,174,175],{},"NuxtPhaserGame",", a typed bridge, and DOM controls outside the canvas.",[178,179,180,181,188],"tip",{},"Open the live demo at ",[182,183,187],"a",{"href":184,"rel":185},"https:\u002F\u002Fphaser-vue-playground.vercel.app\u002F",[186],"nofollow","phaser-vue-playground.vercel.app",".",[190,191,197],"pre",{"className":192,"code":193,"filename":194,"language":195,"meta":196,"style":196},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CNuxtPhaserGame instance-id=\"demo\" :width=\"840\" :height=\"420\" background-color=\"#111827\">\n  \u003CPhaserScene scene-key=\"demo\" :definition=\"scene\" \u002F>\n\u003C\u002FNuxtPhaserGame>\n","playground\u002Fapp\u002Fpages\u002Findex.vue","vue","",[169,198,199,272,279],{"__ignoreMap":196},[200,201,204,208,211,215,218,221,225,227,230,233,235,237,241,243,245,248,250,252,255,257,260,262,264,267,269],"span",{"class":202,"line":203},"line",1,[200,205,207],{"class":206},"sMK4o","\u003C",[200,209,175],{"class":210},"swJcz",[200,212,214],{"class":213},"spNyl"," instance-id",[200,216,217],{"class":206},"=",[200,219,220],{"class":206},"\"",[200,222,224],{"class":223},"sfazB","demo",[200,226,220],{"class":206},[200,228,229],{"class":206}," :",[200,231,232],{"class":213},"width",[200,234,217],{"class":206},[200,236,220],{"class":206},[200,238,240],{"class":239},"sbssI","840",[200,242,220],{"class":206},[200,244,229],{"class":206},[200,246,247],{"class":213},"height",[200,249,217],{"class":206},[200,251,220],{"class":206},[200,253,254],{"class":239},"420",[200,256,220],{"class":206},[200,258,259],{"class":213}," background-color",[200,261,217],{"class":206},[200,263,220],{"class":206},[200,265,266],{"class":223},"#111827",[200,268,220],{"class":206},[200,270,271],{"class":206},">\n",[200,273,275],{"class":202,"line":274},2,[200,276,278],{"class":277},"sTEyZ","  \u003CPhaserScene scene-key=\"demo\" :definition=\"scene\" \u002F>\n",[200,280,282,285,287],{"class":202,"line":281},3,[200,283,284],{"class":206},"\u003C\u002F",[200,286,175],{"class":210},[200,288,271],{"class":206},[190,290,294],{"className":291,"code":292,"filename":194,"language":293,"meta":196,"style":196},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const bridge = usePhaserBridge\u003CDemoBridge>('demo')\n\nfunction boost() {\n  bridge?.emit('hud:boost', { amount: 1 })\n}\n","ts",[169,295,296,332,338,352,393],{"__ignoreMap":196},[200,297,298,301,304,306,310,312,316,319,322,325,327,329],{"class":202,"line":203},[200,299,300],{"class":213},"const",[200,302,303],{"class":277}," bridge ",[200,305,217],{"class":206},[200,307,309],{"class":308},"s2Zo4"," usePhaserBridge",[200,311,207],{"class":206},[200,313,315],{"class":314},"sBMFI","DemoBridge",[200,317,318],{"class":206},">",[200,320,321],{"class":277},"(",[200,323,324],{"class":206},"'",[200,326,224],{"class":223},[200,328,324],{"class":206},[200,330,331],{"class":277},")\n",[200,333,334],{"class":202,"line":274},[200,335,337],{"emptyLinePlaceholder":336},true,"\n",[200,339,340,343,346,349],{"class":202,"line":281},[200,341,342],{"class":213},"function",[200,344,345],{"class":308}," boost",[200,347,348],{"class":206},"()",[200,350,351],{"class":206}," {\n",[200,353,355,358,361,364,366,368,371,373,376,379,382,385,388,391],{"class":202,"line":354},4,[200,356,357],{"class":277},"  bridge",[200,359,360],{"class":206},"?.",[200,362,363],{"class":308},"emit",[200,365,321],{"class":210},[200,367,324],{"class":206},[200,369,370],{"class":223},"hud:boost",[200,372,324],{"class":206},[200,374,375],{"class":206},",",[200,377,378],{"class":206}," {",[200,380,381],{"class":210}," amount",[200,383,384],{"class":206},":",[200,386,387],{"class":239}," 1",[200,389,390],{"class":206}," }",[200,392,331],{"class":210},[200,394,396],{"class":202,"line":395},5,[200,397,398],{"class":206},"}\n",[165,400,401],{},"That pattern is the intended answer when a Nuxt page needs route-level UI, forms, or controls around the game canvas.",[403,404,405],"style",{},"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":196,"searchDepth":274,"depth":274,"links":407},[],"Drive a scene from DOM UI in a Nuxt page while keeping the host client-only and scene logic explicit.","md",null,{},{"title":97,"description":408},"UC4MdL75m5L5cj-GYmjdUWaCvtEAPVJdgIm6DYaf1NA",[415,417],{"title":93,"path":94,"stem":95,"description":416,"children":-1},"Register more than one managed scene and keep scene keys explicit.",{"title":101,"path":103,"stem":107,"description":418,"children":-1},"Review the public components, composables, types, and Nuxt module options shipped in the alpha.",1777965861850]