[{"data":1,"prerenderedAt":623},["ShallowReactive",2],{"navigation_docs":3,"-nuxt-module-client-only-wrapper":159,"-nuxt-module-client-only-wrapper-surround":618},[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":73,"body":161,"description":612,"extension":613,"links":614,"meta":615,"navigation":394,"path":74,"seo":616,"stem":75,"__hash__":617},"docs\u002F3.nuxt-module\u002F3.client-only-wrapper.md",{"type":162,"value":163,"toc":609},"minimark",[164,183,570,575,598,605],[165,166,167,171,172,174,175,178,179,182],"p",{},[168,169,170],"code",{},"NuxtPhaserGame"," forwards to the shared ",[168,173,38],{}," component and wraps it in ",[168,176,177],{},"ClientOnly"," when ",[168,180,181],{},"clientOnly"," stays enabled.",[184,185,191],"pre",{"className":186,"code":187,"filename":188,"language":189,"meta":190,"style":190},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nconst scene = definePhaserScene({\n  key: 'demo',\n  create({ scene }) {\n    scene.add.text(32, 32, 'Nuxt wrapper ready', { color: '#fff', fontSize: '28px' })\n  },\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CNuxtPhaserGame instance-id=\"demo\" :width=\"840\" :height=\"420\" background-color=\"#111827\">\n    \u003Ctemplate #placeholder>\n      \u003Cdiv class=\"min-h-[420px] rounded-xl border border-dashed border-default\" \u002F>\n    \u003C\u002Ftemplate>\n\n    \u003CPhaserScene scene-key=\"demo\" :definition=\"scene\" \u002F>\n  \u003C\u002FNuxtPhaserGame>\n\u003C\u002Ftemplate>\n","app\u002Fpages\u002Findex.vue","vue","",[168,192,193,228,250,271,290,365,371,379,389,396,406,463,479,503,513,518,551,561],{"__ignoreMap":190},[194,195,198,202,206,210,213,216,219,223,225],"span",{"class":196,"line":197},"line",1,[194,199,201],{"class":200},"sMK4o","\u003C",[194,203,205],{"class":204},"swJcz","script",[194,207,209],{"class":208},"spNyl"," setup",[194,211,212],{"class":208}," lang",[194,214,215],{"class":200},"=",[194,217,218],{"class":200},"\"",[194,220,222],{"class":221},"sfazB","ts",[194,224,218],{"class":200},[194,226,227],{"class":200},">\n",[194,229,231,234,238,240,244,247],{"class":196,"line":230},2,[194,232,233],{"class":208},"const",[194,235,237],{"class":236},"sTEyZ"," scene ",[194,239,215],{"class":200},[194,241,243],{"class":242},"s2Zo4"," definePhaserScene",[194,245,246],{"class":236},"(",[194,248,249],{"class":200},"{\n",[194,251,253,256,259,262,265,268],{"class":196,"line":252},3,[194,254,255],{"class":204},"  key",[194,257,258],{"class":200},":",[194,260,261],{"class":200}," '",[194,263,264],{"class":221},"demo",[194,266,267],{"class":200},"'",[194,269,270],{"class":200},",\n",[194,272,274,277,280,284,287],{"class":196,"line":273},4,[194,275,276],{"class":204},"  create",[194,278,279],{"class":200},"({",[194,281,283],{"class":282},"sHdIc"," scene",[194,285,286],{"class":200}," })",[194,288,289],{"class":200}," {\n",[194,291,293,296,299,302,304,307,309,313,316,319,321,323,326,328,330,333,336,338,340,343,345,347,350,352,354,357,359,362],{"class":196,"line":292},5,[194,294,295],{"class":236},"    scene",[194,297,298],{"class":200},".",[194,300,301],{"class":236},"add",[194,303,298],{"class":200},[194,305,306],{"class":242},"text",[194,308,246],{"class":204},[194,310,312],{"class":311},"sbssI","32",[194,314,315],{"class":200},",",[194,317,318],{"class":311}," 32",[194,320,315],{"class":200},[194,322,261],{"class":200},[194,324,325],{"class":221},"Nuxt wrapper ready",[194,327,267],{"class":200},[194,329,315],{"class":200},[194,331,332],{"class":200}," {",[194,334,335],{"class":204}," color",[194,337,258],{"class":200},[194,339,261],{"class":200},[194,341,342],{"class":221},"#fff",[194,344,267],{"class":200},[194,346,315],{"class":200},[194,348,349],{"class":204}," fontSize",[194,351,258],{"class":200},[194,353,261],{"class":200},[194,355,356],{"class":221},"28px",[194,358,267],{"class":200},[194,360,361],{"class":200}," }",[194,363,364],{"class":204},")\n",[194,366,368],{"class":196,"line":367},6,[194,369,370],{"class":200},"  },\n",[194,372,374,377],{"class":196,"line":373},7,[194,375,376],{"class":200},"}",[194,378,364],{"class":236},[194,380,382,385,387],{"class":196,"line":381},8,[194,383,384],{"class":200},"\u003C\u002F",[194,386,205],{"class":204},[194,388,227],{"class":200},[194,390,392],{"class":196,"line":391},9,[194,393,395],{"emptyLinePlaceholder":394},true,"\n",[194,397,399,401,404],{"class":196,"line":398},10,[194,400,201],{"class":200},[194,402,403],{"class":204},"template",[194,405,227],{"class":200},[194,407,409,412,414,417,419,421,423,425,428,430,432,435,437,440,442,444,447,449,452,454,456,459,461],{"class":196,"line":408},11,[194,410,411],{"class":200},"  \u003C",[194,413,170],{"class":204},[194,415,416],{"class":208}," instance-id",[194,418,215],{"class":200},[194,420,218],{"class":200},[194,422,264],{"class":221},[194,424,218],{"class":200},[194,426,427],{"class":208}," :width",[194,429,215],{"class":200},[194,431,218],{"class":200},[194,433,434],{"class":221},"840",[194,436,218],{"class":200},[194,438,439],{"class":208}," :height",[194,441,215],{"class":200},[194,443,218],{"class":200},[194,445,446],{"class":221},"420",[194,448,218],{"class":200},[194,450,451],{"class":208}," background-color",[194,453,215],{"class":200},[194,455,218],{"class":200},[194,457,458],{"class":221},"#111827",[194,460,218],{"class":200},[194,462,227],{"class":200},[194,464,466,469,471,474,477],{"class":196,"line":465},12,[194,467,468],{"class":200},"    \u003C",[194,470,403],{"class":204},[194,472,473],{"class":200}," #",[194,475,476],{"class":208},"placeholder",[194,478,227],{"class":200},[194,480,482,485,488,491,493,495,498,500],{"class":196,"line":481},13,[194,483,484],{"class":200},"      \u003C",[194,486,487],{"class":204},"div",[194,489,490],{"class":208}," class",[194,492,215],{"class":200},[194,494,218],{"class":200},[194,496,497],{"class":221},"min-h-[420px] rounded-xl border border-dashed border-default",[194,499,218],{"class":200},[194,501,502],{"class":200}," \u002F>\n",[194,504,506,509,511],{"class":196,"line":505},14,[194,507,508],{"class":200},"    \u003C\u002F",[194,510,403],{"class":204},[194,512,227],{"class":200},[194,514,516],{"class":196,"line":515},15,[194,517,395],{"emptyLinePlaceholder":394},[194,519,521,523,526,529,531,533,535,537,540,542,544,547,549],{"class":196,"line":520},16,[194,522,468],{"class":200},[194,524,525],{"class":204},"PhaserScene",[194,527,528],{"class":208}," scene-key",[194,530,215],{"class":200},[194,532,218],{"class":200},[194,534,264],{"class":221},[194,536,218],{"class":200},[194,538,539],{"class":208}," :definition",[194,541,215],{"class":200},[194,543,218],{"class":200},[194,545,546],{"class":221},"scene",[194,548,218],{"class":200},[194,550,502],{"class":200},[194,552,554,557,559],{"class":196,"line":553},17,[194,555,556],{"class":200},"  \u003C\u002F",[194,558,170],{"class":204},[194,560,227],{"class":200},[194,562,564,566,568],{"class":196,"line":563},18,[194,565,384],{"class":200},[194,567,403],{"class":204},[194,569,227],{"class":200},[571,572,574],"h2",{"id":573},"when-to-use-the-wrapper","When to use the wrapper",[576,577,578,585],"ul",{},[579,580,581,582,584],"li",{},"Use ",[168,583,170],{}," when you want the default client-only contract.",[579,586,581,587,589,590,593,594,597],{},[168,588,38],{}," directly when you intentionally set ",[168,591,592],{},"phaser.clientOnly"," to ",[168,595,596],{},"false"," and manage the boundary yourself.",[599,600,601,602,604],"warning",{},"Turning ",[168,603,181],{}," off does not make Phaser SSR-capable. It only removes the automatic wrapper.",[606,607,608],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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":190,"searchDepth":230,"depth":230,"links":610},[611],{"id":573,"depth":230,"text":574},"Use NuxtPhaserGame to keep the client-only boundary explicit while still forwarding the shared host props and slots.","md",null,{},{"title":73,"description":612},"VpTZgP3eXizT2jofYuLYnAZGZMDhsb-9ERpL8SLVEOI",[619,621],{"title":69,"path":70,"stem":71,"description":620,"children":-1},"Configure the Nuxt wrapper defaults that flow into the shared Phaser Vue plugin at runtime.",{"title":77,"path":79,"stem":83,"description":622,"children":-1},"Learn the intended workflows through the standalone Vue examples and the Nuxt playground.",1777965861280]