import{l as b,h as o,u as $}from"./schema-B1NKxfZc.js";import{R as v}from"./renderer-RXgfjzGs.js";import{S as y}from"./sprite-view-Br3916N3.js";import{G as f}from"./Graphics-D2W9cmNd.js";import"./getTextureBatchBindGroup-TFzx8Qrc.js";import"./Geometry-BsDB1n4r.js";import"./colorToUniform-DJvpt7jY.js";async function w(){const c=await b(),l=new URLSearchParams(location.search),a=new v(c.assetBase);await a.init(document.getElementById("game")),await a.sprites.loadIndex(),a.camera.setZoom(2),a.camera.setCenter(0,0);const p=new f().poly([-48,24,0,0,48,24,0,48]).stroke({color:65416,width:1});p.moveTo(-4,24).lineTo(4,24).moveTo(0,20).lineTo(0,28).stroke({color:16711680,width:1}),a.map.depth.addChild(p);const n=new y(a.sprites);n.position.set(-48,0),a.map.depth.addChild(n);const e={id:Number(l.get("id")??0),action:Number(l.get("action")??3),heading:Number(l.get("heading")??4)},h=o("div.hud",{style:{top:"60px"}}),r=o("input",{type:"text",value:String(e.id),style:{width:"80px"}}),d=o("select"),s=async()=>{await n.setSprite(e.id),d.innerHTML="";const t=n.meta;for(const[i,m]of Object.entries(t?.actions??{}))d.append(o("option",{value:i,selected:+i===e.action},`${i} ${m.name} (${m.frames.length}f${m.dir?", 8dir":""})`));t&&!t.actions[e.action]&&(e.action=Number(Object.keys(t.actions)[0]??3)),n.play(e.action,{loop:!0}),n.setHeading(e.heading),await n.prefetch(e.action);const u=t?.actions[e.action];h.textContent=t?`#${t.id} ${t.name} · type ${t.type} · blend ${t.blend} · art ${t.artId} · shadow ${t.shadow??"-"} · clothes [${t.clothes.map(i=>`${i.id}:${i.blend}`).join(" ")}] · unit ${t.unitMs}ms · cycle ${n.anim.cycleMs()}ms · frames ${u?.frames.map(i=>`${i.file}.${i.img}:${i.dur}`).join(" ")??""}`:`sprite ${e.id}: no metadata`,history.replaceState(null,"",`?id=${e.id}&action=${e.action}&heading=${e.heading}`)};d.addEventListener("change",()=>{e.action=Number(d.value),s()});const g=o("div.hud",{},"id ",r," ",o("button.btn",{style:{marginTop:0},onclick:()=>{e.id=Number(r.value),s()}},"load")," action ",d," ",o("button.btn",{style:{marginTop:0},onclick:()=>{e.heading=e.heading+7&7,n.setHeading(e.heading)}},"⟲")," ",o("button.btn",{style:{marginTop:0},onclick:()=>{e.heading=e.heading+1&7,n.setHeading(e.heading)}},"⟳")," ",o("button.btn",{style:{marginTop:0},onclick:()=>{e.id--,r.value=String(e.id),s()}},"prev")," ",o("button.btn",{style:{marginTop:0},onclick:()=>{e.id++,r.value=String(e.id),s()}},"next"));$().append(g,h),await s(),a.onTick(t=>n.update(t)),a.app.canvas.addEventListener("wheel",t=>{t.preventDefault(),a.camera.setZoom(a.camera.zoom*(t.deltaY>0?.9:1.1))},{passive:!1})}w().catch(c=>{console.error(c),document.body.insertAdjacentText("beforeend",`fatal: ${c.message}`)});
