@pix3/cli 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +754 -0
  3. package/dist/index.js +494 -0
  4. package/dist/runtime-types.json +1 -0
  5. package/dist/smoke/prebuilt/build-7MIXIMSZ.mjs +948 -0
  6. package/dist/smoke/prebuilt/chunk-J2SJVMDO.mjs +2 -0
  7. package/dist/smoke/prebuilt/chunk-OJXQXIIQ.mjs +239 -0
  8. package/dist/smoke/prebuilt/chunk-P2CBRXPJ.mjs +4050 -0
  9. package/dist/smoke/prebuilt/runtime.mjs +2 -0
  10. package/dist/smoke/prebuilt/smoke-worker.mjs +3 -0
  11. package/dist/smoke/prebuilt/three.mjs +2 -0
  12. package/dist/smoke/prebuilt/tree-defaults.mjs +2 -0
  13. package/dist/validate/prebuilt/build-AUGKXER3.js +948 -0
  14. package/dist/validate/prebuilt/bundle-main.js +24 -0
  15. package/dist/validate/prebuilt/chunk-6ACT6FNV.js +4050 -0
  16. package/dist/validate/prebuilt/chunk-BS2OZM7U.js +239 -0
  17. package/dist/validate/prebuilt/runtime.js +2 -0
  18. package/dist/validate/prebuilt/three.js +2 -0
  19. package/kit/files/.claude/skills/pix3-nodes/SKILL.md +210 -0
  20. package/kit/files/.claude/skills/pix3-nodes/reference.md +1331 -0
  21. package/kit/files/.claude/skills/pix3-scene-format/SKILL.md +235 -0
  22. package/kit/files/.claude/skills/pix3-scene-format/reference.md +176 -0
  23. package/kit/files/.claude/skills/pix3-scripts/SKILL.md +281 -0
  24. package/kit/files/.claude/skills/pix3-scripts/reference.md +638 -0
  25. package/kit/files/.claude/skills/pix3-verify/SKILL.md +386 -0
  26. package/kit/files/.claude/skills/pix3-verify/reference.md +21 -0
  27. package/kit/files/AGENTS.md +203 -0
  28. package/kit/files/CLAUDE.md +1 -0
  29. package/kit/kit.json +24 -0
  30. package/package.json +54 -0
  31. package/templates/empty-2d/files/README.md +20 -0
  32. package/templates/empty-2d/files/scenes/main.pix3scene +68 -0
  33. package/templates/empty-2d/files/sprites/pix3-logo.png +0 -0
  34. package/templates/empty-2d/template.yaml +7 -0
  35. package/templates/empty-3d/files/README.md +20 -0
  36. package/templates/empty-3d/files/scenes/main.pix3scene +108 -0
  37. package/templates/empty-3d/files/sprites/pix3-logo.png +0 -0
  38. package/templates/empty-3d/template.yaml +7 -0
  39. package/templates/idea-blank/files/README.md +22 -0
  40. package/templates/idea-blank/files/scenes/main.pix3scene +37 -0
  41. package/templates/idea-blank/template.yaml +10 -0
  42. package/templates/minigame-2d/files/README.md +44 -0
  43. package/templates/minigame-2d/files/design/tests/reachability.json +1 -0
  44. package/templates/minigame-2d/files/design/tests/routines/mute-music.json +44 -0
  45. package/templates/minigame-2d/files/scenes/main.pix3scene +84 -0
  46. package/templates/minigame-2d/files/scenes/menu.pix3scene +118 -0
  47. package/templates/minigame-2d/files/scenes/ui/settings-window.pix3scene +138 -0
  48. package/templates/minigame-2d/files/scripts/GameFlow.ts +133 -0
  49. package/templates/minigame-2d/files/scripts/MenuFlow.ts +217 -0
  50. package/templates/minigame-2d/files/scripts/SettingsWindow.ts +198 -0
  51. package/templates/minigame-2d/template.yaml +10 -0
  52. package/templates/playable-2d/files/README.md +30 -0
  53. package/templates/playable-2d/files/design/recipe.md +83 -0
  54. package/templates/playable-2d/files/design/tests/reachability.json +4 -0
  55. package/templates/playable-2d/files/design/tests/routines/intro-to-cta.json +32 -0
  56. package/templates/playable-2d/files/scenes/main.pix3scene +111 -0
  57. package/templates/playable-2d/files/scenes/ui/end-screen.pix3scene +91 -0
  58. package/templates/playable-2d/files/scenes/ui/intro.pix3scene +65 -0
  59. package/templates/playable-2d/files/scripts/CtaButton.ts +55 -0
  60. package/templates/playable-2d/files/scripts/GameFlow.ts +256 -0
  61. package/templates/playable-2d/files/sprites/pix3-logo.png +0 -0
  62. package/templates/playable-2d/template.yaml +9 -0
  63. package/templates/playable-3d/files/README.md +32 -0
  64. package/templates/playable-3d/files/design/recipe.md +127 -0
  65. package/templates/playable-3d/files/design/tests/reachability.json +4 -0
  66. package/templates/playable-3d/files/design/tests/routines/intro-to-cta.json +32 -0
  67. package/templates/playable-3d/files/scenes/main.pix3scene +230 -0
  68. package/templates/playable-3d/files/scenes/ui/end-screen.pix3scene +91 -0
  69. package/templates/playable-3d/files/scenes/ui/intro.pix3scene +65 -0
  70. package/templates/playable-3d/files/scripts/CtaButton.ts +55 -0
  71. package/templates/playable-3d/files/scripts/GameFlow.ts +309 -0
  72. package/templates/playable-3d/files/scripts/GameRules.ts +290 -0
  73. package/templates/playable-3d/files/scripts/ScoreHud.ts +113 -0
  74. package/templates/playable-3d/template.yaml +9 -0
  75. package/templates/recipe-arena-2d/files/README.md +48 -0
  76. package/templates/recipe-arena-2d/files/design/recipe.md +127 -0
  77. package/templates/recipe-arena-2d/files/design/tests/reachability.json +4 -0
  78. package/templates/recipe-arena-2d/files/design/tests/routines/terminal-retry.json +23 -0
  79. package/templates/recipe-arena-2d/files/scenes/main.pix3scene +292 -0
  80. package/templates/recipe-arena-2d/files/scenes/menu.pix3scene +100 -0
  81. package/templates/recipe-arena-2d/files/scenes/prefabs/hazard.pix3scene +42 -0
  82. package/templates/recipe-arena-2d/files/scenes/prefabs/pickup.pix3scene +45 -0
  83. package/templates/recipe-arena-2d/files/scenes/ui/result.pix3scene +85 -0
  84. package/templates/recipe-arena-2d/files/scripts/GameRules.ts +368 -0
  85. package/templates/recipe-arena-2d/files/scripts/MenuFlow.ts +106 -0
  86. package/templates/recipe-arena-2d/files/scripts/PlayerController.ts +151 -0
  87. package/templates/recipe-arena-2d/files/scripts/ScoreHud.ts +94 -0
  88. package/templates/recipe-arena-2d/files/scripts/Spawner.ts +214 -0
  89. package/templates/recipe-arena-2d/files/scripts/TouchRules.ts +174 -0
  90. package/templates/recipe-arena-2d/files/sprites/ph-avatar.png +0 -0
  91. package/templates/recipe-arena-2d/files/sprites/ph-hazard.png +0 -0
  92. package/templates/recipe-arena-2d/files/sprites/ph-pickup.png +0 -0
  93. package/templates/recipe-arena-2d/template.yaml +10 -0
  94. package/templates/recipe-blank-2d/files/README.md +61 -0
  95. package/templates/recipe-blank-2d/files/design/recipe.md +148 -0
  96. package/templates/recipe-blank-2d/files/design/tests/reachability.json +4 -0
  97. package/templates/recipe-blank-2d/files/design/tests/routines/restart.json +27 -0
  98. package/templates/recipe-blank-2d/files/design/tests/routines/terminal-retry.json +23 -0
  99. package/templates/recipe-blank-2d/files/scenes/main.pix3scene +224 -0
  100. package/templates/recipe-blank-2d/files/scenes/ui/result.pix3scene +85 -0
  101. package/templates/recipe-blank-2d/files/scripts/GameRules.ts +350 -0
  102. package/templates/recipe-blank-2d/files/scripts/ScoreHud.ts +110 -0
  103. package/templates/recipe-blank-2d/files/sprites/ph-bg.png +0 -0
  104. package/templates/recipe-blank-2d/files/sprites/ph-capsule.png +0 -0
  105. package/templates/recipe-blank-2d/files/sprites/ph-circle.png +0 -0
  106. package/templates/recipe-blank-2d/files/sprites/ph-orb.png +0 -0
  107. package/templates/recipe-blank-2d/files/sprites/ph-ring.png +0 -0
  108. package/templates/recipe-blank-2d/files/sprites/ph-star.png +0 -0
  109. package/templates/recipe-blank-2d/template.yaml +10 -0
  110. package/templates/recipe-bouncer-2d/files/README.md +81 -0
  111. package/templates/recipe-bouncer-2d/files/design/recipe.md +146 -0
  112. package/templates/recipe-bouncer-2d/files/design/tests/reachability.json +4 -0
  113. package/templates/recipe-bouncer-2d/files/design/tests/routines/terminal-retry.json +23 -0
  114. package/templates/recipe-bouncer-2d/files/scenes/main.pix3scene +615 -0
  115. package/templates/recipe-bouncer-2d/files/scenes/menu.pix3scene +191 -0
  116. package/templates/recipe-bouncer-2d/files/scenes/ui/result.pix3scene +87 -0
  117. package/templates/recipe-bouncer-2d/files/scripts/BallBody.ts +298 -0
  118. package/templates/recipe-bouncer-2d/files/scripts/GameRules.ts +377 -0
  119. package/templates/recipe-bouncer-2d/files/scripts/MenuFlow.ts +109 -0
  120. package/templates/recipe-bouncer-2d/files/scripts/PaddleController.ts +112 -0
  121. package/templates/recipe-bouncer-2d/files/scripts/ScoreHud.ts +94 -0
  122. package/templates/recipe-bouncer-2d/files/scripts/TouchRules.ts +263 -0
  123. package/templates/recipe-bouncer-2d/files/scripts/ball-collision.ts +307 -0
  124. package/templates/recipe-bouncer-2d/files/sprites/ph-ball.png +0 -0
  125. package/templates/recipe-bouncer-2d/files/sprites/ph-bg.png +0 -0
  126. package/templates/recipe-bouncer-2d/files/sprites/ph-bumper.png +0 -0
  127. package/templates/recipe-bouncer-2d/files/sprites/ph-paddle.png +0 -0
  128. package/templates/recipe-bouncer-2d/template.yaml +10 -0
  129. package/templates/recipe-grid-3d/files/README.md +22 -0
  130. package/templates/recipe-grid-3d/files/design/recipe.md +110 -0
  131. package/templates/recipe-grid-3d/files/scenes/main.pix3scene +169 -0
  132. package/templates/recipe-grid-3d/files/scenes/menu.pix3scene +100 -0
  133. package/templates/recipe-grid-3d/files/scenes/ui/result.pix3scene +105 -0
  134. package/templates/recipe-grid-3d/files/scripts/GridBoard.ts +319 -0
  135. package/templates/recipe-grid-3d/files/scripts/GridRules.ts +278 -0
  136. package/templates/recipe-grid-3d/files/scripts/MenuFlow.ts +106 -0
  137. package/templates/recipe-grid-3d/files/scripts/ScoreHud.ts +94 -0
  138. package/templates/recipe-grid-3d/template.yaml +10 -0
  139. package/templates/recipe-tapper-2d/files/README.md +39 -0
  140. package/templates/recipe-tapper-2d/files/design/recipe.md +132 -0
  141. package/templates/recipe-tapper-2d/files/design/tests/reachability.json +4 -0
  142. package/templates/recipe-tapper-2d/files/design/tests/routines/terminal-retry.json +23 -0
  143. package/templates/recipe-tapper-2d/files/scenes/main.pix3scene +269 -0
  144. package/templates/recipe-tapper-2d/files/scenes/menu.pix3scene +100 -0
  145. package/templates/recipe-tapper-2d/files/scenes/prefabs/hazard.pix3scene +42 -0
  146. package/templates/recipe-tapper-2d/files/scenes/prefabs/target.pix3scene +45 -0
  147. package/templates/recipe-tapper-2d/files/scenes/ui/result.pix3scene +85 -0
  148. package/templates/recipe-tapper-2d/files/scripts/GameRules.ts +368 -0
  149. package/templates/recipe-tapper-2d/files/scripts/MenuFlow.ts +106 -0
  150. package/templates/recipe-tapper-2d/files/scripts/ScoreHud.ts +94 -0
  151. package/templates/recipe-tapper-2d/files/scripts/Spawner.ts +214 -0
  152. package/templates/recipe-tapper-2d/files/scripts/TouchRules.ts +192 -0
  153. package/templates/recipe-tapper-2d/files/sprites/ph-hazard.png +0 -0
  154. package/templates/recipe-tapper-2d/files/sprites/ph-target.png +0 -0
  155. package/templates/recipe-tapper-2d/template.yaml +10 -0
@@ -0,0 +1,2 @@
1
+ import { createRequire as __pix3CreateRequire } from 'node:module'; const require = __pix3CreateRequire(import.meta.url);
2
+ import{$,$a as $o,$b as $r,$c as $e,$d as om,$e as op,A,Aa as Bo,Ab as Ar,Ac as Ae,Ad as Bf,Ae as Bm,Af as Bp,B,Ba as Co,Bb as Br,Bc as Be,Bd as Cf,Be as Cm,Bf as Cp,C,Cb as Cr,Cc as Ce,Cd as Df,Ce as Dm,Cf as Dp,D,Da as Do,Db as Dr,Dc as De,Dd as Ef,De as Em,Df as Ep,E,Ea as Eo,Eb as Er,Ec as Ee,Ed as Ff,Ee as Fm,Ef as Fp,F,Fa as Fo,Fb as Fr,Fc as Fe,Fd as Gf,Fe as Gm,Ff as Gp,G,Ga as Go,Gb as Gr,Gc as Ge,Gd as Hf,Ge as Hm,Gf as Hp,H,Ha as Ho,Hb as Hr,Hc as He,Hd as If,He as Im,Hf as Ip,I,Ia as Io,Ib as Ir,Ic as Ie,Id as Jf,Ie as Jm,If as Jp,J,Ja as Jo,Jb as Jr,Jc as Je,Jd as Kf,Je as Km,Jf as Kp,K,Ka as Ko,Kb as Kr,Kc as Ke,Kd as Lf,Ke as Lm,Kf as Lp,L,La as Lo,Lb as Lr,Lc as Le,Ld as Mf,Le as Mm,Lf as Mp,M,Ma as Mo,Mb as Mr,Mc as Me,Md as Nf,Me as Nm,Mf as Np,N,Na as No,Nb as Nr,Nc as Ne,Nd as Of,Ne as Om,Nf as Op,O,Oa as Oo,Ob as Or,Oc as Oe,Od as Pf,Oe as Pm,Of as Pp,P,Pa as Po,Pb as Pr,Pc as Pe,Pd as Qf,Pe as Qm,Pf as Qp,Q,Qa as Qo,Qb as Qr,Qc as Qe,Qd as Rf,Qe as Rm,Qf as Rp,R,Ra as Ro,Rb as Rr,Rc as Re,Rd as Sf,Re as Sm,Rf as Sp,S,Sa as So,Sb as Sr,Sc as Se,Sd as Tf,Se as Tm,T,Ta as To,Tb as Tr,Tc as Te,Td as Uf,Te as Um,U,Ua as Uo,Ub as Ur,Uc as Ue,Ud as Vf,Ue as Vm,V,Va as Vo,Vb as Vr,Vc as Ve,Vd as Wf,Ve as Wm,W,Wa as Wo,Wb as Wr,Wc as We,Wd as Xf,We as Xm,X,Xa as Xo,Xb as Xr,Xc as Xe,Xd as Yf,Xe as Ym,Y,Ya as Yo,Yb as Yr,Yc as Ye,Yd as Zf,Ye as Zm,Z,Za as Zo,Zb as Zr,Zc as Ze,Zd as _f,Ze as _m,_,_a as _o,_b as _r,_c as _e,_d as $f,_e as $m,a as o,aa as oo,ab as or,ac as oe,ad as of,ae as rm,af as rp,b as r,ba as ro,bb as rr,bc as re,bd as rf,be as em,bf as ep,c as e,ca as eo,cb as er,cc as ee,cd as ef,ce as fm,cf as fp,d as f,da as fo,db as fr,dc as fe,dd as ff,de as mm,df as mp,e as m,ea as mo,eb as mr,ec as me,ed as mf,ee as pm,ef as pp,f as p,fa as po,fb as pr,fc as pe,fd as pf,fe as tm,ff as tp,g as t,ga as to,gb as tr,gc as te,gd as tf,ge as xm,gf as xp,h as x,ha as xo,hb as xr,hc as xe,hd as xf,he as am,hf as ap,i as a,ia as ao,ib as ar,ic as ae,id as af,ie as bm,if as bp,j as b,ja as bo,jb as br,jc as be,jd as bf,je as cm,jf as cp,k as c,ka as co,kb as cr,kc as ce,kd as cf,ke as dm,kf as dp,l as d,la as go,lb as dr,lc as de,ld as df,le as gm,lf as gp,m as g,ma as ho,mb as gr,mc as ge,md as gf,me as hm,mf as hp,n as h,na as io,nb as hr,nc as he,nd as hf,ne as im,nf as ip,o as i,oa as jo,ob as ir,oc as ie,od as jf,oe as jm,of as jp,p as j,pa as ko,pb as jr,pc as je,pd as kf,pe as km,pf as kp,q as k,qa as lo,qb as kr,qc as ke,qd as lf,qe as lm,qf as lp,r as l,ra as no,rb as lr,rc as le,rd as nf,re as nm,rf as np,s as n,sa as qo,sb as nr,sc as ne,sd as qf,se as qm,sf as qp,t as q,ta as so,tb as qr,tc as qe,td as sf,te as sm,tf as sp,u as s,ua as uo,ub as sr,uc as se,ud as uf,ue as um,uf as up,v as u,va as vo,vb as ur,vc as ue,vd as vf,ve as vm,vf as vp,w as v,wa as wo,wb as vr,wc as ve,wd as wf,we as wm,wf as wp,x as w,xa as yo,xb as wr,xc as we,xd as yf,xe as ym,xf as yp,y,ya as zo,yb as yr,yc as ye,yd as zf,ye as zm,yf as zp,z,za as Ao,zb as zr,zc as ze,zd as Af,ze as Am,zf as Ap}from"./chunk-OJXQXIIQ.mjs";import"./chunk-P2CBRXPJ.mjs";export{Ke as AO_MODES,up as ATLAS_MANIFEST_PATH,oo as ATLAS_REGION_KEY,vp as ATLAS_SHEET_DIR,$ as ATLAS_SHEET_SCHEME,ro as ATLAS_SIZE_KEY,ko as AUDIO_BUS_NAMES,Hr as AmbientLightNode,hr as AnimatedSprite2D,Qr as AnimatedSprite3D,rp as AnimationPlayerBehavior,jo as AssetLoader,Im as AudioApi,ve as AudioPlayer,lo as AudioService,fr as BATCHABLE_2D_KEY,Jo as BLEND_MODES_2D,Ko as BLEND_MODE_2D_OPTIONS,Vo as BUILTIN_SHADER_EFFECTS,wm as BURST_MAX_PARTICLES,ae as Bar2D,mr as Batch2DSystem,Gp as BurstOnSignalBehavior,te as Button2D,Ar as CAMERA2D_DEFAULTS,Sf as CONTACT_MARGIN,Xe as CURRENT_SCENE_FORMAT_VERSION,Br as Camera2D,Ee as Camera3D,ep as CameraBrainBehavior,Dr as CanvasLayer2D,be as Checkbox2D,Lp as Collider2DBehavior,Rf as Collision2DService,kr as ColorRect2D,fp as CutsceneApi,Vm as DEFAULT_CLIP_DURATION,gp as DEFAULT_FIXED_DELTA_SEC,ye as DEFAULT_GEOMETRY_MATERIAL_TYPE,ip as DEFAULT_RUNTIME_TIME_CONFIG,k as DIRECTION_AXES_ENABLED_KEY,Er as DirectionalLightNode,Fe as EASING_NAMES,bp as ECSService,ff as EMOJI_GUARDED_TEXT_PROPERTIES,Cp as FadeBehavior,zm as FloatText2D,r as GAME_DEBUG_GLOBAL_KEY,ze as GEOMETRY_KINDS,we as GEOMETRY_MATERIAL_TYPES,sm as GameCommandRegistry,qm as GameTime,Ae as GeometryMesh,wr as Group2D,Or as HemisphereLightNode,Jp as Hitbox2DBehavior,ef as INSTANCE_TRANSFORM_KEYS,nf as InputService,Be as InstancedMesh3D,ce as InventorySlot2D,Wr as Joystick2D,Cm as JuiceApi,Ir as KNOWN_SCENE_NODE_TYPES,ie as LABEL_AUTO_SIZE_BLEED,je as LABEL_GLOW_STRENGTH_LIMIT,de as LABEL_H_ALIGN_VALUES,he as LABEL_LINE_HEIGHT_FACTOR,ge as LABEL_V_ALIGN_VALUES,ue as Label2D,mp as LocalizationService,Zf as MAX_NET_KIND,sf as MAX_POLYGON_VERTICES,hp as MAX_TICKS_PER_FRAME,Um as MIN_CLIP_DURATION,qf as MIN_POLYGON_VERTICES,L as MeshInstance,xm as NET_APP_FLAGS_SHIFT,tm as NET_OWNERSHIP_MASK,_f as NetKindTable,im as NetRoomVars,gm as NetworkConnectError,nm as NetworkNodeBinder,jm as NetworkService,dm as NetworkSpawnError,Op as NetworkedNodeBehavior,Po as Node2D,G as Node3D,F as NodeBase,re as OVERLAY_2D_FLAG,h as PHYSICS_DEBUG_ENABLED_KEY,c as PHYSICS_DEBUG_GLOBAL_KEY,Oe as POST_PROCESS_DEFAULTS,Le as PROJECT_AO_MODES,xf as PROJECT_SCRIPT_DIRECTORIES,af as PROJECT_SCRIPT_ENTRY_PATTERN,S as PROJECT_TEXTURE_FILTERING_MODES,ym as ParticleBurst2D,Rr as Particles3D,Xf as Physics2DService,Kp as PhysicsBody2DBehavior,Mp as PhysicsWorld2DBehavior,Bp as PinToNodeBehavior,Ep as PlaySoundBehavior,Fr as PointLightNode,vm as PopInBehavior,Pe as PostProcess,xp as PostProcessingPipeline,um as PunchScaleBehavior,x as RUNTIME_PROPERTY_SINK_GLOBAL_KEY,m as RUNTIME_SCENE_GLOBAL_KEY,Dp as RadialProgressBehavior,Yf as RejectCode,Pp as ReplicatedTransformBehavior,o as ResourceManager,Np as RevoluteJoint2DBehavior,yp as RotateBehavior,sp as RuntimeRenderer,_e as SCENE_COMPONENT_DEFINITION_KEYS,$e as SCENE_DISK_FORMAT_TYPES,Ye as SCENE_DOCUMENT_KEYS,Ze as SCENE_NODE_DEFINITION_KEYS,u as SCRIPT_ERROR_SINK_GLOBAL_KEY,me as SEMANTIC_POINTER_ID,Em as SFX_PRESETS,E as SHARED_UNIT_QUAD_GEOMETRY,y as SIGNAL_EMIT_SINK_GLOBAL_KEY,Te as SceneLoader,lf as SceneManager,qp as SceneRunner,kf as SceneSaver,pp as SceneService,Se as SceneValidationError,qo as Script,no as ScriptRegistry,fe as ScrollContainer2D,Fp as SfxOnSignalBehavior,Hm as SfxSynth,or as ShaderEffectStack,yr as ShakeBehavior,zp as SimpleMoveBehavior,Ap as SineBehavior,xe as Slider2D,jr as SpineSkeleton2D,ir as SpineSkeletonView,Gr as SpotLightNode,ar as Sprite2D,Pr as Sprite3D,Ce as TARGET_DISTANCE,q as TEST_COMPONENT_TYPE_PREFIX,Am as TRAIL_MAX_POINTS,vr as TiledSprite2D,Bm as Trail2D,Dm as TweenApi,pe as UIControl2D,bf as USER_SCRIPT_ID_PREFIX,Ie as VIRTUAL_CAMERA_DEFAULTS,Je as VirtualCamera3D,mm as WS_CLOSE_NORMAL,fm as WS_CLOSE_PROTOCOL_VIOLATION,pm as WsTransport,nr as ZERO_SLICE_BORDER,Oo as Z_INDEX_LIMIT,De as aimCameraNodeAt,Qe as aoModeUsesSSAO,No as applyBlendMode2DToMaterial,Tm as applyClipAtTime,He as applyEasing,ap as applyLocaleToTree,$r as applyTextStyle,Y as applyTextureRegionToTexture,ee as assign2DRenderOrder,K as assignWithoutSchemaRefresh,fo as atlasSizeOf,Ao as attachComponentDefinitions,eo as baseRegionOf,Mo as blendingForMode2D,Ef as boxPolygon,ur as buildSkinGeometry,lr as buildTiledSpriteGeometry,Gf as capsulePolygon,Jf as circleIntersectsPolygon,Ff as circlePolygon,Gm as clampSfxPitch,Af as cleanPolygon,Ym as coerceKeyframeValue,er as coerceTextureResource,Ro as coerceToPropertyType,Mm as collectAudioKeysInRange,P as collectClipPointNames,Co as collectComponentDefinitions,Nm as collectEventKeysInRange,Ue as collectRenderabilityIssues,Lm as collectTimedKeysInRange,Uf as collideCirclePolygon,Tf as collideCircles,Vf as collidePolygons,Zo as composeEffectShaders,Z as composeTextureRegion,W as configure2DTexture,Bf as convexHull,Mf as convexPolygonsIntersect,po as copyAtlasMetadata,to as createAtlasResolver,Sm as createClipBindings,$m as createDefaultClip,_m as createEmptyAnimationSet,Zr as cssFont,Xr as cssFontFamily,Yr as cssFontWeight,lm as decodeSignalPayload,Of as decomposeConvex,So as defineGroup,Qo as defineProperty,uo as describeFontFace,hm as describeRejectCode,D as describeThrown,Nr as describeUnknownNodeType,If as distanceToPolygonBoundary,_r as drawStyledText,Uo as effectSupportsTarget,km as encodeSignalPayload,zf as ensureCounterClockwise,Cr as findActiveCamera2D,R as findAnimationClip,O as findAnimationFramePoint,tf as findEmojiArtInSceneYaml,op as findKeyframeClip,Om as fireEventKey,Qm as fromSchemaValue,Xm as generateTrackId,tr as getActiveLocalization,Yo as getAllShaderEffectTypes,M as getAnimationFrameTexturePath,zo as getComponentSchemaProperties,f as getGameDebug,$f as getNetKindTable,Do as getNodePropertySchema,g as getPhysicsDebugSource,Ne as getProjectAODefault,V as getProjectTextureFiltering,Eo as getPropertiesByGroup,Fo as getPropertyDefinition,Go as getPropertyDisplayValue,b as getRuntimeLivePropertySink,t as getRuntimeSceneRoot,of as getSceneNodeDiskFormat,w as getScriptErrorSink,Xo as getShaderEffectType,A as getSignalEmitSink,wp as installAtlasFromManifest,I as installReactiveSchemaProperties,Jm as interpolateValue,n as isDirectionAxesEnabled,mf as isEmojiOnlyText,wo as isFontFaceRegistered,Re as isHighEndDevice,We as isInertNode,Sr as isInteractive,Ge as isKeyframeEasing,Lr as isKnownSceneNodeType,cm as isNetTeleport,j as isPhysicsDebugEnabled,yf as isPolygonConvex,gf as isProjectScriptEntry,df as isProjectScriptPath,_ as isSameTextureRegion,so as isScriptComponent,hf as isScriptComponentClass,N as isSequenceAnimationFrame,Fm as isSfxPreset,$o as isShaderEffectHost,sr as isSliceBorderEmpty,ao as isSpineModuleAvailable,s as isTestHarnessComponentType,pf as isTextProperty,rr as isTextureResourceRef,Wm as isTrackValueType,ne as labelDecorationPadding,ke as labelGlowBlurPx,le as labelGlowPasses,qe as layoutLabelText,yo as loadProjectFonts,io as loadSpineAsset,bo as loadSpineModule,H as makeSchemaPropertyReactive,To as mergeSchemas,bm as netFlagsByte,am as netOwnershipOf,Q as normalizeAnimationResource,Lo as normalizeBlendMode2D,Zm as normalizeKeyframeAnimationSet,Jr as normalizeNodeTypeName,Hp as normalizePolygonConfig,T as normalizeProjectTextureFiltering,qr as normalizeSliceBorder,se as paintLabelCanvas,br as parseEventArgs,ho as parseSpineAtlasPageNames,np as playable,Hf as pointInPolygon,vf as polygonArea,Cf as polygonBounds,wf as polygonCentroid,uf as polygonSignedArea,Rp as property,Qf as quaternionToRotationZ,J as reactiveSchemaPropertyNames,Ur as readBooleanArg,Tr as readNumberArg,Vr as readStringArg,Pf as readWorldTransform2D,Lf as rectIntersectsConvexPolygon,Kf as rectIntersectsPolygon,Qp as registerBuiltInScripts,e as registerGameDebug,rm as registerNetworkPrefab,d as registerPhysicsDebugSource,jf as registerProjectScriptExports,a as registerRuntimeLivePropertySink,p as registerRuntimeSceneRoot,v as registerScriptErrorSink,Wo as registerShaderEffect,z as registerSignalEmitSink,C as reportScriptError,B as reportSignalEmit,em as resetNetKindTable,vo as resetProjectFontRegistry,cr as resolveAnimatedSpriteFrameLayout,dr as resolveFramePointToLocal,gr as resolveFramePolygonToLocal,xr as resolveLocalizedText,Bo as resolvePendingComponents,jp as resolveRuntimeTimeConfig,rf as resolveSceneDiskKey,Kr as resolveSceneNodeType,go as resolveSpinePagePath,Rm as resolveTrackTarget,Km as sampleTrack,X as sanitizeTextureRegion,Nf as segmentPolygonT,Ip as serializePolygonConfig,pr as setActiveLocalization,lp as setDefaultStoreUrl,l as setDirectionAxesEnabled,om as setNetworkPrefabTable,Io as setNodePropertyValue,i as setPhysicsDebugEnabled,kp as setPlayableAdapter,tp as setPostprocessingModuleLoader,Me as setProjectAODefault,U as setProjectTextureFiltering,xo as setSpineModuleLoader,_o as shaderEffectsCacheKey,zr as shakeNoise,co as spineAssetKey,mo as stampAtlasView,Sp as state,oe as styledTextPadding,Mr as suggestSceneNodeType,Ve as summarizeRenderabilityIssues,Wf as sweepCircleAgainstPolygon,Pm as toSchemaValue,Df as transformPolygon,cf as userScriptComponentId,Ho as validatePropertyValue,cp as worldToCanvasLogical,dp as worldToCanvasThroughCamera};
@@ -0,0 +1,3 @@
1
+ import { createRequire as __pix3CreateRequire } from 'node:module'; const require = __pix3CreateRequire(import.meta.url);
2
+ import{a as ge,c as fe,d as he,e as Se,f as Ee}from"./chunk-J2SJVMDO.mjs";import{Ca as oe,D as T,F as te,Pf as pe,Sc as se,Tc as ie,d as Q,ff as ue,jd as ae,md as ce,od as le,qa as ne,qd as de,ra as re,sf as me,w as ee}from"./chunk-OJXQXIIQ.mjs";import{d as Z}from"./chunk-P2CBRXPJ.mjs";import{parentPort as mt,workerData as pt}from"node:worker_threads";var $e=Z(oe(),1);import{readdirSync as Ae,readFileSync as De}from"node:fs";import{isAbsolute as je,join as B,relative as be,resolve as ye,sep as we}from"node:path";var $=Z(oe(),1);var F=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);var Fe=new Set(["node_modules",".git",".pix3","dist",".vite",".cache"]),We=".pix3scene",H=class{root;files;fileSet;textCache=new Map;constructor(e){this.root=ye(e),this.files=ve(this.root,this.root).sort(),this.fileSet=new Set(this.files)}has(e){return this.fileSet.has(e)}absolute(e){return B(this.root,e)}relativeOf(e){let i=be(this.root,ye(e));return i.startsWith("..")||je(i)?null:i.split(we).join("/")}readText(e){let i=this.textCache.get(e);if(i!==void 0)return i;let o=De(this.absolute(e),"utf8");return this.textCache.set(e,o),o}scenes(){return this.files.filter(e=>e.endsWith(We))}},ve=(t,e)=>{let i=[],o;try{o=Ae(e,{withFileTypes:!0})}catch{return i}for(let a of o)if(a.isDirectory()){if(Fe.has(a.name))continue;i.push(...ve(t,B(e,a.name)))}else a.isFile()&&i.push(be(t,B(e,a.name)).split(we).join("/"));return i};var He=t=>t.replace(/\/\*[\s\S]*?\*\//g," ").replace(/(^|[^:\\])\/\/.*$/gm,"$1"),Ue=/\bexport\s+(default\s+)?(?:abstract\s+)?class\s+([A-Za-z_$][\w$]*)?/g,Ke=/\bexport\s+(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*class\b/g,Be=/\bexport\s+(type\s+)?\{([^}]*)\}/g,Ge=/\bexport\s+\*\s+(?:as\s+[A-Za-z_$][\w$]*\s+)?from\b/,Je=t=>{let e=He(t),i=[];for(let o of e.matchAll(Ue))i.push(o[1]?"default":o[2]??"default");for(let o of e.matchAll(Ke))i.push(o[1]);for(let o of e.matchAll(Be))if(!o[1])for(let a of o[2].split(",")){let s=a.trim();if(!s||s.startsWith("type "))continue;let r=/\bas\s+([A-Za-z_$][\w$]*)$/.exec(s);i.push(r?r[1]:s.split(/\s+/)[0])}return{names:i,hasStar:Ge.test(e)}},Re=t=>{let e=new Map,i=[],o=[];for(let a of t.files){if(!(a.endsWith(".ts")||a.endsWith(".js"))||a.endsWith(".d.ts"))continue;let s;try{s=t.readText(a)}catch{continue}if(!ce(a,s))continue;i.push(a);let{names:r,hasStar:d}=Je(s);d&&o.push(a);for(let m of r){let f=`${ae}${m}`;e.has(f)||e.set(f,a)}}return{ids:e,entries:i,opaqueEntries:o}};import{existsSync as qe,mkdtempSync as ze,rmSync as Ve,writeFileSync as Xe}from"node:fs";import{tmpdir as Ye}from"node:os";import{join as G}from"node:path";import{pathToFileURL as Ze}from"node:url";var ke=t=>{let e=t.split("/");return t.startsWith("@")?e.slice(0,2).join("/"):e[0]},Qe=(t,e,i,o,a)=>({name:"pix3-smoke-imports",setup(s){s.onResolve({filter:/^@pix3\/runtime$/},()=>({path:t.runtime,external:!0})),s.onResolve({filter:/^three$/},()=>({path:t.three,external:!0})),s.onResolve({filter:/\?(raw|url)$/},r=>{let[d,m]=r.path.split("?");return{path:G(r.resolveDir,d),namespace:m==="raw"?"pix3-raw":"pix3-url"}}),s.onResolve({filter:/^[^./]/},async r=>{if(r.kind==="entry-point"||r.pluginData==="pix3-smoke")return;if(r.path.startsWith("node:")||r.path.startsWith("virtual:"))return i.add(r.path),{path:r.path,namespace:"pix3-stub"};let d=async f=>s.resolve(r.path,{kind:r.kind,resolveDir:f,pluginData:"pix3-smoke"}),m=await d(r.resolveDir);return m.errors.length>0&&a&&ke(r.path)==="three"&&(m=await d(a)),m.errors.length>0||!m.path?(i.add(r.path),{path:r.path,namespace:"pix3-stub"}):(o.add(ke(r.path)),{path:m.path,external:m.external})}),s.onLoad({filter:/.*/,namespace:"pix3-stub"},()=>({contents:"module.exports = {};",loader:"js"})),s.onLoad({filter:/.*/,namespace:"pix3-raw"},async r=>{let{readFile:d}=await import("node:fs/promises");return{contents:`export default ${JSON.stringify(await d(r.path,"utf8"))};`,loader:"js"}}),s.onLoad({filter:/.*/,namespace:"pix3-url"},r=>({contents:`export default ${JSON.stringify(`res://${e.relativeOf(r.path)??r.path}`)};`,loader:"js"}))}}),xe=async(t,e,i,o,a={})=>{let s=a.esbuildSpecifier??"esbuild";if(e.length===0)return{status:"none"};let r;try{r=await import(s)}catch{return{status:"unavailable",reason:"esbuild is not installed (it is an optional dependency of @pix3/cli), so the project scripts cannot be compiled"}}let d=new Set,m=new Set,f;try{f=(await r.build({stdin:{contents:e.map((n,g)=>`export * as __pix3_entry_${g} from ${JSON.stringify(`./${n}`)};`).join(`
3
+ `),resolveDir:t.root,sourcefile:"pix3-smoke-scripts.ts",loader:"ts"},bundle:!0,write:!1,format:"esm",platform:"browser",target:"es2022",logLevel:"silent",sourcemap:"inline",sourceRoot:`${t.root.replace(/[\\/]+$/,"")}/`,loader:{".glsl":"text",".vert":"text",".frag":"text",".css":"empty",".wasm":"binary"},define:{"import.meta.env.BASE_URL":JSON.stringify("/"),"import.meta.env.DEV":"true","import.meta.env.PROD":"false","import.meta.env.MODE":JSON.stringify("development")},plugins:[Qe(o,t,d,m,a.fallbackResolveDir)]})).outputFiles[0]?.text??""}catch(b){let n=b.errors??[];return{status:"compile-failed",failures:(n.length>0?n:[{text:String(b),location:null}]).map(g=>({message:g.text,file:g.location?.file,line:g.location?.line}))}}let k=ze(G(Ye(),"pix3-smoke-scripts-")),L=G(k,"scripts.mjs");try{Xe(L,f);let b=await import(Ze(L).href),n=[];return e.forEach((g,x)=>{let _=b[`__pix3_entry_${x}`];F(_)&&n.push(...le(i,_,g))}),{status:"loaded",registered:n,stubbed:[...d].sort(),bundledPackages:[...m].sort()}}catch(b){return{status:"import-failed",error:b,stubbed:[...d].sort()}}finally{qe(k)&&Ve(k,{recursive:!0,force:!0})}};var et=new Set(["window.AudioContext","window.webkitAudioContext","window.__PIX3_DEBUG__","window.ontouchstart","window.PointerEvent","window.visualViewport","window.chrome","<canvas>.depth"]),tt=new Set(["then","toJSON","constructor","nodeType","asymmetricMatch","$$typeof","inspect","valueOf","toString"]),J=(t,e,i,o)=>new Proxy(t,{get(a,s,r){if(Reflect.has(a,s))return Reflect.get(a,s,r);if(o&&Reflect.has(o,s))return Reflect.get(o,s);if(typeof s=="symbol"||tt.has(s))return;let d=`${e}.${s}`;et.has(d)||(i.seen.has(d)||(i.seen.add(d),i.missing.push(d)),i.recent.push(d))},set(a,s,r){return Reflect.set(a,s,r),o&&typeof s=="string"&&Reflect.set(o,s,r),!0}}),U=class{data=new Map;get length(){return this.data.size}key(e){return[...this.data.keys()][e]??null}getItem(e){return this.data.get(String(e))??null}setItem(e,i){this.data.set(String(e),String(i))}removeItem(e){this.data.delete(String(e))}clear(){this.data.clear()}},Pe=(t,e)=>({x:0,y:0,left:0,top:0,right:t,bottom:e,width:t,height:e,toJSON:()=>({})}),nt=(t,e)=>o=>{let a=new EventTarget,s=[],r=o==="canvas",d=new Set,m=new Map,f=null,k=n=>(n&&typeof n=="object"&&(Reflect.set(n,"parentElement",f),Reflect.set(n,"parentNode",f)),n),L=n=>(n&&typeof n=="object"&&Reflect.get(n,"parentElement")===f&&(Reflect.set(n,"parentElement",null),Reflect.set(n,"parentNode",null)),n),b={tagName:o.toUpperCase(),nodeName:o.toUpperCase(),style:{},dataset:{},children:s,childNodes:s,parentElement:null,parentNode:null,textContent:"",innerHTML:"",width:r?e.width:0,height:r?e.height:0,clientWidth:r?e.width:0,clientHeight:r?e.height:0,offsetWidth:r?e.width:0,offsetHeight:r?e.height:0,classList:{add:(...n)=>n.forEach(g=>d.add(g)),remove:(...n)=>n.forEach(g=>d.delete(g)),toggle:(n,g)=>{let x=g??!d.has(n);return x?d.add(n):d.delete(n),x},contains:n=>d.has(n)},addEventListener:a.addEventListener.bind(a),removeEventListener:a.removeEventListener.bind(a),dispatchEvent:a.dispatchEvent.bind(a),getBoundingClientRect:()=>r?Pe(e.width,e.height):Pe(0,0),getContext:n=>r&&n==="2d"?ge():null,appendChild:n=>(s.push(n),k(n)),removeChild:n=>{let g=s.indexOf(n);return g>=0&&s.splice(g,1),L(n)},insertBefore:n=>(s.push(n),k(n)),append:(...n)=>{s.push(...n.map(k))},prepend:(...n)=>{s.unshift(...n.map(k))},remove:()=>{let n=b.parentElement,g=n&&typeof n=="object"?Reflect.get(n,"removeChild"):void 0;typeof g=="function"&&g(f??{})},contains:n=>n===f||s.includes(n),setAttribute:(n,g)=>{m.set(n,String(g))},getAttribute:n=>m.get(n)??null,removeAttribute:n=>{m.delete(n)},hasAttribute:n=>m.has(n),querySelector:()=>null,querySelectorAll:()=>[],focus:()=>{},blur:()=>{},click:()=>{},setPointerCapture:()=>{},releasePointerCapture:()=>{},hasPointerCapture:()=>!1,requestPointerLock:()=>{},animate:()=>({cancel:()=>{},finished:Promise.resolve()})};return f=J(b,`<${o}>`,t),f},rt=t=>{let e=new EventTarget,i="",o={tagName:"IMG",style:{},crossOrigin:null,complete:!1,width:0,height:0,naturalWidth:0,naturalHeight:0,onload:null,onerror:null,addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e),dispatchEvent:e.dispatchEvent.bind(e),decode:()=>Promise.resolve()};return Object.defineProperty(o,"src",{get:()=>i,set:a=>{i=String(a),setTimeout(()=>{Object.assign(o,{complete:!0,width:1,height:1,naturalWidth:1,naturalHeight:1}),t(),e.dispatchEvent(new Event("load"));let s=o.onload;typeof s=="function"&&s.call(o,new Event("load"))},0)}}),o},N=(t,e)=>{let i=class{};return Object.defineProperty(i,"name",{value:t}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>{if(o===null||typeof o!="object")return!1;let a=Reflect.get(o,"tagName");return typeof a=="string"&&(e===null||e.includes(a))}}),i},I=t=>{let e=class extends Event{constructor(i,o={}){super(i,o),Object.assign(this,o)}};return Object.defineProperty(e,"name",{value:t}),e},Oe={Node:()=>N("Node",null),Element:()=>N("Element",null),HTMLElement:()=>N("HTMLElement",null),HTMLCanvasElement:()=>N("HTMLCanvasElement",["CANVAS"]),HTMLDivElement:()=>N("HTMLDivElement",["DIV"]),HTMLImageElement:()=>N("HTMLImageElement",["IMG"]),HTMLVideoElement:()=>N("HTMLVideoElement",["VIDEO"]),PointerEvent:()=>I("PointerEvent"),MouseEvent:()=>I("MouseEvent"),KeyboardEvent:()=>I("KeyboardEvent"),TouchEvent:()=>I("TouchEvent"),WheelEvent:()=>I("WheelEvent"),FocusEvent:()=>I("FocusEvent")},ot=[...Object.keys(Oe),"Image","window","self","document","localStorage","sessionStorage","requestAnimationFrame","cancelAnimationFrame","matchMedia","getComputedStyle","innerWidth","innerHeight","devicePixelRatio"],Me=t=>{let e={missing:[],seen:new Set,recent:[]},i=0,o=()=>rt(()=>{i+=1}),a=nt(e,t),s=new EventTarget,r=new EventTarget,d=a("body"),m=a("head"),f=a("html"),k={body:d,head:m,documentElement:f,visibilityState:"visible",hidden:!1,readyState:"complete",fonts:{add:()=>{},delete:()=>{},load:()=>Promise.resolve([]),ready:Promise.resolve(),check:()=>!0},hasFocus:()=>!0,createElement:u=>{let h=String(u).toLowerCase();return h==="img"?o():a(h)},createElementNS:(u,h)=>h==="img"?o():a(String(h).toLowerCase()),createTextNode:u=>({textContent:u}),getElementById:()=>null,getElementsByClassName:()=>[],getElementsByTagName:()=>[],querySelector:()=>null,querySelectorAll:()=>[],addEventListener:r.addEventListener.bind(r),removeEventListener:r.removeEventListener.bind(r),dispatchEvent:r.dispatchEvent.bind(r)},L=J(k,"document",e),b=0,n=new Map,g=u=>{let h=++b;return n.set(h,setTimeout(()=>{n.delete(h),u(performance.now())},16)),h},x=u=>{let h=n.get(u);h!==void 0&&clearTimeout(h),n.delete(u)},_=u=>({matches:!1,media:u,onchange:null,addEventListener:()=>{},removeEventListener:()=>{},addListener:()=>{},removeListener:()=>{}}),P={document:L,innerWidth:t.width,innerHeight:t.height,outerWidth:t.width,outerHeight:t.height,devicePixelRatio:1,screen:{width:t.width,height:t.height,orientation:{type:"portrait-primary",angle:0}},location:{href:"http://localhost/",origin:"http://localhost",protocol:"http:",host:"localhost",hostname:"localhost",port:"",pathname:"/",search:"",hash:"",reload:()=>{},assign:()=>{},replace:()=>{}},history:{pushState:()=>{},replaceState:()=>{},back:()=>{}},localStorage:new U,sessionStorage:new U,requestAnimationFrame:g,cancelAnimationFrame:x,matchMedia:_,getComputedStyle:()=>({getPropertyValue:()=>""}),addEventListener:s.addEventListener.bind(s),removeEventListener:s.removeEventListener.bind(s),dispatchEvent:s.dispatchEvent.bind(s),focus:()=>{},blur:()=>{},open:()=>null,alert:()=>{},confirm:()=>!1,prompt:()=>null,scrollTo:()=>{}},v=J(P,"window",e,globalThis);P.window=v,P.self=v,P.top=v,P.parent=v;let O=new Map,E=(u,h)=>{O.set(u,Object.getOwnPropertyDescriptor(globalThis,u)),Object.defineProperty(globalThis,u,{value:h,configurable:!0,writable:!0})};E("window",v),E("self",v),E("document",L),E("localStorage",P.localStorage),E("sessionStorage",P.sessionStorage),E("requestAnimationFrame",g),E("cancelAnimationFrame",x),E("matchMedia",_),E("getComputedStyle",P.getComputedStyle),E("innerWidth",t.width),E("innerHeight",t.height),E("devicePixelRatio",1);for(let[u,h]of Object.entries(Oe))typeof Reflect.get(globalThis,u)>"u"&&E(u,h());return E("Image",function(){return o()}),{get imagesLoaded(){return i},get missing(){return e.missing},takeRecentMissing(){let u=[...new Set(e.recent)];return e.recent=[],u},uninstall(){for(let u of n.values())clearTimeout(u);n.clear();for(let u of ot){if(!O.has(u))continue;let h=O.get(u);h?Object.defineProperty(globalThis,u,h):Reflect.deleteProperty(globalThis,u)}}}};var st=Number.MAX_SAFE_INTEGER,it=128,at=(t,e)=>({domElement:t,beginStatsFrame:()=>{},render:()=>{},setAutoClear:()=>{},clear:()=>{},clearDepth:()=>{},getStatsSnapshot:()=>({calls:0,triangles:0,points:0,lines:0,geometries:0,textures:0,programs:0}),getWebGLRenderer:()=>(e(),{getSize:()=>({x:1,y:1}),getPixelRatio:()=>1})}),Le=async(t=1)=>{for(let e=0;e<t;e+=1){for(let i=0;i<4;i+=1)await Promise.resolve();await new Promise(i=>setTimeout(i,0))}},_e=t=>{let e=0,i=o=>{e+=1;for(let a of o.children)a instanceof te&&i(a)};return t.forEach(i),e},q=t=>{if(t instanceof Error)return`${t.name}: ${t.message}`;if(typeof t=="string")return t;try{return JSON.stringify(t)??String(t)}catch{return String(t)}},ct=/\b(window|document|navigator|localStorage|sessionStorage|requestAnimationFrame|customElements|getComputedStyle|matchMedia|ResizeObserver|IntersectionObserver|MutationObserver|FontFace|OffscreenCanvas|createImageBitmap|DOMParser|XMLHttpRequest|Image|Audio|AudioContext|HTML\w*Element|Element|Node|Event|PointerEvent|KeyboardEvent|MouseEvent|TouchEvent|CustomEvent|WebGL\w*|Worker)\b is not defined/,lt=40,dt=/Component type "(.*?)" is not registered yet — kept as pending on node "(.*?)"/,ut=[/^\[NodeBase\] Script ".*" threw in/,/^\[SceneRunner\] Error during game update/,/^\[GameCommands\]/],Te=async(t,e)=>{let i=performance.now(),o=0,a=[],s=new Map,r=[],d=Me(t.viewport),m=c=>{let p=d.takeRecentMissing(),l=ct.test(c.message)||p.length>0&&/^TypeError\b/.test(c.message);a.push({...c,code:l?"E_SMOKE_DOM":c.code,frame:c.frame??o,...l&&p.length>0?{domAccess:p.slice(-5)}:{}})},f=(c,p)=>{let l=`${c}\0${p}`,R=s.get(l);if(R){R.count+=1;return}s.set(l,{warning:{code:c,frame:o,message:p},count:1})},k=0,L={warn:console.warn,error:console.error,log:console.log,info:console.info,debug:console.debug},b=[],n=0,g=(...c)=>{n+=1,b.length<lt&&b.push(`[frame ${o}] ${c.map(q).join(" ")}`)};console.log=g,console.info=g,console.debug=()=>{},console.warn=(...c)=>{let p=c.find(w=>w instanceof Error);if(p instanceof Se){k+=1;return}let l=c.map(q).join(" ");if(/^Lit is in dev mode/.test(l)||/^THREE\.THREE\.Clock: This module has been deprecated/.test(l)||/^\[AudioService\] Web Audio API is not supported/.test(l))return;let R=dt.exec(l);R?f("W_SMOKE_PENDING_COMPONENT",`${R[1]} on node "${R[2]}" is not registered \u2014 it never runs.`):p instanceof he?f("W_SMOKE_MISSING_RESOURCE",`${p.resource} does not exist (${l.split(":")[0]}).`):/^\[(SceneLoader|AssetLoader|ResourceManager|SceneRunner|SceneService)\]/.test(l)?f("W_SMOKE_LOADER",l):f("W_SMOKE_CONSOLE_WARN",l)},console.error=(...c)=>{let p=c.map(q).join(" ");if(ut.some(R=>R.test(p)))return;let l=c.find(R=>R instanceof Error);m({code:"E_SMOKE_CONSOLE_ERROR",message:p,...l instanceof Error&&l.stack?{stack:l.stack}:{}})};let x=c=>{let{message:p,stack:l}=T(c);m({code:"E_SMOKE_UNHANDLED",phase:"promise",message:p,...l?{stack:l}:{}})},_=c=>{let{message:p,stack:l}=T(c);m({code:"E_SMOKE_UNHANDLED",phase:"timer",message:p,...l?{stack:l}:{}})};process.on("unhandledRejection",x),process.on("uncaughtException",_);let P=ee(c=>{let p=c.phase==="tick"?"E_SMOKE_TICK":c.phase==="command"?"E_SMOKE_COMMAND":"E_SMOKE_SCRIPT";m({code:p,phase:c.phase,message:c.message,...c.componentType?{script:c.componentType}:{},...c.nodeId?{nodeId:c.nodeId}:{},...c.nodeName?{nodeName:c.nodeName}:{},...c.stack?{stack:c.stack}:{}})}),v=null,O={compile:0,load:0,firstFrame:0},E=[],u=0,h=0,K=0,z=!1,V=[],A=()=>{let c=[...E].sort((y,M)=>y-M),p=E.reduce((y,M)=>y+M,0),l=y=>Math.round(y*100)/100;k>0&&r.push(`${k} model/Spine asset load(s) not decoded headless: those nodes exist but have no mesh or skeleton.`),d.imagesLoaded>0&&r.push(`${d.imagesLoaded} image(s) loaded through the DOM (three's TextureLoader) resolved as blank 1\xD71 pictures.`);let R=null,w=Q();if(w){let y=null;try{y=JSON.parse(JSON.stringify(w.snapshot?.()??null))}catch(M){y={error:T(M).message}}R={name:w.name,snapshot:y}}let W=[...s.values()].map(({warning:y,count:M})=>M>1?{...y,count:M}:y);return{ok:a.length===0,scene:t.scene,frames:K,framesRequested:t.frames,firstFrameOk:z&&K>=Math.min(1,t.frames)&&!a.some(y=>y.frame<=1),errors:a,warnings:W,nodes:{start:u,end:h},timingsMs:{compile:l(O.compile),load:l(O.load),firstFrame:l(O.firstFrame),step:{total:l(p),mean:l(E.length>0?p/E.length:0),p95:l(c.length>0?c[Math.min(c.length-1,Math.floor(c.length*.95))]:0),max:l(c.length>0?c[c.length-1]:0)},total:l(performance.now()-i)},scripts:V,domMissing:[...d.missing],notes:r,game:R,logs:{count:n,lines:b}}};try{let c=new H(t.projectRoot),p=new re;pe(p);let l=performance.now(),R=Re(c),w=await xe(c,R.entries,p,e,{esbuildSpecifier:t.esbuildSpecifier,fallbackResolveDir:t.fallbackResolveDir});switch(O.compile=performance.now()-l,w.status){case"unavailable":return{ok:!1,code:"E_SMOKE_UNSUPPORTED",reason:w.reason,scene:t.scene};case"compile-failed":for(let S of w.failures)m({code:"E_SMOKE_SCRIPT_COMPILE",message:`${S.file?`${S.file}${S.line?`:${S.line}`:""}: `:""}${S.message}`});return A();case"import-failed":{let{message:S,stack:C}=T(w.error);m({code:"E_SMOKE_SCRIPT_IMPORT",message:`The project scripts threw when imported (module top level): ${S}`,...C?{stack:C}:{}});for(let D of w.stubbed)f("W_SMOKE_STUBBED_IMPORT",`import "${D}" resolved nowhere and was replaced by an empty module.`);return A()}case"loaded":V=w.registered;for(let S of w.stubbed)f("W_SMOKE_STUBBED_IMPORT",`import "${S}" resolved nowhere (not installed in the project) and was replaced by an empty module \u2014 code using it will not work headless.`);w.bundledPackages.length>0&&r.push(`Bundled from the project's node_modules: ${w.bundledPackages.join(", ")}.`),w.bundledPackages.some(S=>S.startsWith("@dimforge/rapier"))&&r.push("Rapier physics is loaded from the project (WASM, initialised by the game scripts).");break;case"none":break}let W=new fe(c.root),y=new Ee(W),M=new ie(y,p,W),Ne=new de(M),X=document.createElement("canvas");document.body.appendChild(X);let Y=!1;ue(()=>new Promise(()=>{}));let Ce=new ne;v=new me(Ne,at(X,()=>{Y||r.push("The scene has an active PostProcess node: post-processing is not run headless."),Y=!0}),Ce,y,t.viewport),v.setTimeMode({mode:"manual",fixedDeltaSec:1/60,renderEveryNTicks:st,muteAudio:!0}),F(t.localization)&&typeof t.localization.defaultLocale=="string"&&v.setLocalizationConfig(t.localization);let Ie=performance.now();try{await v.loadAndStartScene(t.scene),await Le(it),z=!0}catch(S){let C=S instanceof se&&S.details.length>0?` (${S.details.join("; ")})`:"",{message:D,stack:j}=T(S);return m({code:"E_SMOKE_LOAD",message:`${D}${C}`,...j?{stack:j}:{}}),A()}finally{O.load=performance.now()-Ie}u=_e(v.getLiveRootNodes());for(let S=1;S<=t.frames;S+=1){o=S,d.takeRecentMissing();let C=performance.now(),D=v.stepFrames(1),j=performance.now()-C;if(D===0){f("W_SMOKE_STOPPED",`The runner stopped before frame ${S} (a script stopped or paused the game).`);break}K+=1,E.push(j),S===1&&(O.firstFrame=j),await Le()}return h=_e(v.getLiveRootNodes()),r.push("Audio is silent (no Web Audio in Node); input receives no events; nothing is rendered."),A()}catch(c){let{message:p,stack:l}=T(c);return m({code:"E_SMOKE_TICK",message:p,...l?{stack:l}:{}}),A()}finally{try{v?.stop()}catch{}P(),process.off("unhandledRejection",x),process.off("uncaughtException",_),Object.assign(console,L),d.uninstall()}};process.setSourceMapsEnabled(!0);var gt={runtime:new URL("./runtime.mjs",import.meta.url).href,three:new URL("./three.mjs",import.meta.url).href},ft=await Te(pt,gt);mt?.postMessage(ft);
@@ -0,0 +1,2 @@
1
+ import { createRequire as __pix3CreateRequire } from 'node:module'; const require = __pix3CreateRequire(import.meta.url);
2
+ import{$ as X,$a as Yo,$b as Yr,$c as Ye,$d as Zf,$e as Zm,$f as Zp,$g as Zt,A as v,Aa as wo,Ab as wr,Ac as we,Ad as yf,Ae as ym,Af as yp,Ag as yt,B as w,Ba as yo,Bb as yr,Bc as ye,Bd as zf,Be as zm,Bf as zp,Bg as zt,C as y,Ca as zo,Cb as zr,Cc as ze,Cd as Af,Ce as Am,Cf as Ap,Cg as At,D as z,Da as Ao,Db as Ar,Dc as Ae,Dd as Bf,De as Bm,Df as Bp,Dg as Bt,E as A,Ea as Bo,Eb as Br,Ec as Be,Ed as Cf,Ee as Cm,Ef as Cp,Eg as Ct,F as B,Fa as Co,Fb as Cr,Fc as Ce,Fd as Df,Fe as Dm,Ff as Dp,Fg as Dt,G as C,Ga as Do,Gb as Dr,Gc as De,Gd as Ef,Ge as Em,Gf as Ep,Gg as Et,H as D,Ha as Eo,Hb as Er,Hc as Ee,Hd as Ff,He as Fm,Hf as Fp,Hg as Ft,I as E,Ia as Fo,Ib as Fr,Ic as Fe,Id as Gf,Ie as Gm,If as Gp,Ig as Gt,J as F,Ja as Go,Jb as Gr,Jc as Ge,Jd as Hf,Je as Hm,Jf as Hp,Jg as Ht,K as G,Ka as Ho,Kb as Hr,Kc as He,Kd as If,Ke as Im,Kf as Ip,Kg as It,L as H,La as Io,Lb as Ir,Lc as Ie,Ld as Jf,Le as Jm,Lf as Jp,Lg as Jt,M as I,Ma as Jo,Mb as Jr,Mc as Je,Md as Kf,Me as Km,Mf as Kp,Mg as Kt,N as J,Na as Ko,Nb as Kr,Nc as Ke,Nd as Lf,Ne as Lm,Nf as Lp,Ng as Lt,O as K,Oa as Lo,Ob as Lr,Oc as Le,Od as Mf,Oe as Mm,Of as Mp,Og as Mt,P as L,Pa as Mo,Pb as Mr,Pc as Me,Pd as Nf,Pe as Nm,Pf as Np,Pg as Nt,Q as M,Qa as No,Qb as Nr,Qc as Ne,Qd as Of,Qe as Om,Qf as Op,Qg as Ot,R as N,Ra as Oo,Rb as Or,Rc as Oe,Rd as Pf,Re as Pm,Rf as Pp,Rg as Pt,S as O,Sa as Po,Sb as Pr,Sc as Pe,Sd as Qf,Se as Qm,Sf as Qp,Sg as Qt,T as P,Ta as Qo,Tb as Qr,Tc as Qe,Td as Rf,Te as Rm,Tf as Rp,Tg as Rt,U as Q,Ua as Ro,Ub as Rr,Uc as Re,Ud as Sf,Ue as Sm,Uf as Sp,Ug as St,V as R,Va as So,Vb as Sr,Vc as Se,Vd as Tf,Ve as Tm,Vf as Tp,Vg as Tt,W as S,Wa as To,Wb as Tr,Wc as Te,Wd as Uf,We as Um,Wf as Up,Wg as Ut,X as T,Xa as Uo,Xb as Ur,Xc as Ue,Xd as Vf,Xe as Vm,Xf as Vp,Xg as Vt,Y as U,Ya as Vo,Yb as Vr,Yc as Ve,Yd as Wf,Ye as Wm,Yf as Wp,Yg as Wt,Z as V,Za as Wo,Zb as Wr,Zc as We,Zd as Xf,Ze as Xm,Zf as Xp,Zg as Xt,_ as W,_a as Xo,_b as Xr,_c as Xe,_d as Yf,_e as Ym,_f as Yp,_g as Yt,aa as Y,ab as Zo,ac as Zr,ad as Ze,ae as _f,af as _m,ag as _p,ah as _t,ba as Z,bb as _o,bc as _r,bd as _e,be as $f,bf as $m,bg as $p,bh as $t,ca as _,cb as $o,cc as $r,cd as $e,ce as om,cf as op,cg as ot,ch as ox,da as $,db as or,dc as oe,dd as of,de as rm,df as rp,dg as rt,dh as rx,e as o,ea as oo,eb as rr,ec as re,ed as rf,ee as em,ef as ep,eg as et,eh as ex,f as r,fa as ro,fb as er,fc as ee,fd as ef,fe as fm,ff as fp,fg as ft,fh as fx,g as e,ga as eo,gb as fr,gc as fe,gd as ff,ge as mm,gf as mp,gg as mt,gh as mx,h as f,ha as fo,hb as mr,hc as me,hd as mf,he as pm,hf as pp,hg as pt,hh as px,i as m,ia as mo,ib as pr,ic as pe,id as pf,ie as tm,if as tp,ig as tt,ih as tx,j as p,ja as po,jb as tr,jc as te,jd as tf,je as xm,jf as xp,jg as xt,jh as xx,k as t,ka as to,kb as xr,kc as xe,kd as xf,ke as am,kf as ap,kg as at,kh as ax,l as x,la as xo,lb as ar,lc as ae,ld as af,le as bm,lf as bp,lg as bt,lh as bx,m as a,ma as ao,mb as br,mc as be,md as bf,me as cm,mf as cp,mg as ct,n as b,na as bo,nb as cr,nc as ce,nd as cf,ne as dm,nf as dp,ng as dt,o as c,oa as co,ob as dr,oc as de,od as df,oe as gm,of as gp,og as gt,p as d,pa as go,pb as gr,pc as ge,pd as gf,pe as hm,pf as hp,pg as ht,q as g,qa as ho,qb as hr,qc as he,qd as hf,qe as im,qf as ip,qg as it,r as h,ra as io,rb as ir,rc as ie,rd as jf,re as jm,rf as jp,rg as jt,s as i,sa as jo,sb as jr,sc as je,sd as kf,se as km,sf as kp,sg as kt,t as j,ta as ko,tb as kr,tc as ke,td as lf,te as lm,tf as lp,tg as lt,u as k,ua as lo,ub as lr,uc as le,ud as nf,ue as nm,uf as np,ug as nt,v as l,va as no,vb as nr,vc as ne,vd as qf,ve as qm,vf as qp,vg as qt,w as n,wa as qo,wb as qr,wc as qe,wd as sf,we as sm,wf as sp,wg as st,x as q,xa as so,xb as sr,xc as se,xd as uf,xe as um,xf as up,xg as ut,y as s,ya as uo,yb as ur,yc as ue,yd as vf,ye as vm,yf as vp,yg as vt,z as u,za as vo,zb as vr,zc as ve,zd as wf,ze as wm,zf as wp,zg as wt}from"./chunk-P2CBRXPJ.mjs";export{eo as ACESFilmicToneMapping,u as AddEquation,Z as AddOperation,Tr as AdditiveAnimationBlendMode,k as AdditiveBlending,mo as AgXToneMapping,Po as AlphaFormat,Ge as AlwaysCompare,Q as AlwaysDepth,ye as AlwaysStencilFunc,mt as AmbientLight,Bt as AnimationAction,Mp as AnimationClip,Sp as AnimationLoader,Ct as AnimationMixer,At as AnimationObjectGroup,yp as AnimationUtils,Mm as ArcCurve,nt as ArrayCamera,_t as ArrowHelper,to as AttachedBindMode,ut as Audio,wt as AudioAnalyser,it as AudioContext,st as AudioListener,jt as AudioLoader,$t as AxesHelper,g as BackSide,Xr as BasicDepthPacking,x as BasicShadowMap,cm as BatchedMesh,Dp as BezierInterpolant,em as Bone,Fp as BooleanKeyframeTrack,Nt as Box2,Gf as Box3,Yt as Box3Helper,Cm as BoxGeometry,Xt as BoxHelper,If as BufferAttribute,Tf as BufferGeometry,dt as BufferGeometryLoader,Do as ByteType,Np as Cache,_p as Camera,Wt as CameraHelper,ym as CanvasTexture,Dm as CapsuleGeometry,Nm as CatmullRomCurve3,ro as CineonToneMapping,Em as CircleGeometry,ko as ClampToEdgeWrapping,Jt as Clock,Bf as Color,Gp as ColorKeyframeTrack,bf as ColorManagement,Xe as Compatibility,um as CompressedArrayTexture,vm as CompressedCubeTexture,sm as CompressedTexture,Tp as CompressedTextureLoader,Gm as ConeGeometry,N as ConstantAlphaFactor,L as ConstantColorFactor,rx as Controls,lt as CubeCamera,Am as CubeDepthTexture,bo as CubeReflectionMapping,co as CubeRefractionMapping,wm as CubeTexture,Vp as CubeTextureLoader,io as CubeUVReflectionMapping,Om as CubicBezierCurve,Pm as CubicBezierCurve3,Ap as CubicInterpolant,m as CullFaceBack,p as CullFaceFront,t as CullFaceFrontBack,f as CullFaceNone,Km as Curve,Vm as CurvePath,q as CustomBlending,fo as CustomToneMapping,Fm as CylinderGeometry,Lt as Cylindrical,qf as Data3DTexture,lf as DataArrayTexture,fm as DataTexture,Wp as DataTextureLoader,Hf as DataUtils,he as DecrementStencilOp,je as DecrementWrapStencilOp,Pp as DefaultLoadingManager,So as DepthFormat,To as DepthStencilFormat,zm as DepthTexture,xo as DetachedBindMode,ft as DirectionalLight,Vt as DirectionalLightHelper,Cp as DiscreteInterpolant,Im as DodecahedronGeometry,h as DoubleSide,G as DstAlphaFactor,I as DstColorFactor,Oe as DynamicCopyUsage,Ie as DynamicDrawUsage,Le as DynamicReadUsage,Jm as EdgesGeometry,Lm as EllipseCurve,Be as EqualCompare,T as EqualDepth,qe as EqualStencilFunc,go as EquirectangularReflectionMapping,ho as EquirectangularRefractionMapping,vf as Euler,ff as EventDispatcher,Bm as ExternalTexture,Zm as ExtrudeGeometry,Rp as FileLoader,Qf as Float16BufferAttribute,Rf as Float32BufferAttribute,Io as FloatType,Df as Fog,Cf as FogExp2,qm as FramebufferTexture,d as FrontSide,am as Frustum,bm as FrustumArray,Ht as GLBufferAttribute,Qe as GLSL1,Re as GLSL3,De as GreaterCompare,V as GreaterDepth,Fe as GreaterEqualCompare,U as GreaterEqualDepth,we as GreaterEqualStencilFunc,ue as GreaterStencilFunc,Tt as GridHelper,zf as Group,Jo as HalfFloatType,Zp as HemisphereLight,St as HemisphereLightHelper,_m as IcosahedronGeometry,ht as ImageBitmapLoader,Up as ImageLoader,cf as ImageUtils,ge as IncrementStencilOp,ie as IncrementWrapStencilOp,pm as InstancedBufferAttribute,ct as InstancedBufferGeometry,Gt as InstancedInterleavedBuffer,tm as InstancedMesh,Mf as Int16BufferAttribute,Of as Int32BufferAttribute,Jf as Int8BufferAttribute,Go as IntType,Uf as InterleavedBuffer,Vf as InterleavedBufferAttribute,zp as Interpolant,Or as InterpolateBezier,Lr as InterpolateDiscrete,Mr as InterpolateLinear,Nr as InterpolateSmooth,We as InterpolationSamplingMode,Ve as InterpolationSamplingType,ke as InvertStencilOp,ce as KeepStencilOp,Ep as KeyframeTrack,Zf as LOD,$m as LatheGeometry,wf as Layers,Ae as LessCompare,R as LessDepth,Ce as LessEqualCompare,S as LessEqualDepth,se as LessEqualStencilFunc,ne as LessStencilFunc,Yp as Light,xt as LightProbe,gm as Line,Ot as Line3,dm as LineBasicMaterial,Qm as LineCurve,Rm as LineCurve3,wp as LineDashedMaterial,im as LineLoop,hm as LineSegments,wo as LinearFilter,Bp as LinearInterpolant,Bo as LinearMipMapLinearFilter,zo as LinearMipMapNearestFilter,Ao as LinearMipmapLinearFilter,yo as LinearMipmapNearestFilter,fe as LinearSRGBColorSpace,$ as LinearToneMapping,me as LinearTransfer,Qp as Loader,bt as LoaderUtils,Op as LoadingManager,Ir as LoopOnce,Kr as LoopPingPong,Jr as LoopRepeat,r as MOUSE,Wf as Material,s as MaterialBlending,at as MaterialLoader,mf as MathUtils,Mt as Matrix2,af as Matrix3,uf as Matrix4,z as MaxEquation,om as Mesh,$f as MeshBasicMaterial,sp as MeshDepthMaterial,up as MeshDistanceMaterial,qp as MeshLambertMaterial,vp as MeshMatcapMaterial,np as MeshNormalMaterial,kp as MeshPhongMaterial,jp as MeshPhysicalMaterial,ip as MeshStandardMaterial,lp as MeshToonMaterial,y as MinEquation,lo as MirroredRepeatWrapping,Y as MixOperation,n as MultiplyBlending,X as MultiplyOperation,no as NearestFilter,vo as NearestMipMapLinearFilter,so as NearestMipMapNearestFilter,uo as NearestMipmapLinearFilter,qo as NearestMipmapNearestFilter,po as NeutralToneMapping,ze as NeverCompare,P as NeverDepth,le as NeverStencilFunc,i as NoBlending,re as NoColorSpace,te as NoNormalPacking,_ as NoToneMapping,Sr as NormalAnimationBlendMode,j as NormalBlending,ae as NormalGAPacking,xe as NormalRGPacking,Ee as NotEqualCompare,W as NotEqualDepth,ve as NotEqualStencilFunc,Hp as NumberKeyframeTrack,yf as Object3D,gt as ObjectLoader,oe as ObjectSpaceNormalMap,op as OctahedronGeometry,B as OneFactor,O as OneMinusConstantAlphaFactor,M as OneMinusConstantColorFactor,H as OneMinusDstAlphaFactor,J as OneMinusDstColorFactor,F as OneMinusSrcAlphaFactor,D as OneMinusSrcColorFactor,et as OrthographicCamera,a as PCFShadowMap,b as PCFSoftShadowMap,tx as PMREMGenerator,Wm as Path,$p as PerspectiveCamera,xm as Plane,rp as PlaneGeometry,Zt as PlaneHelper,rt as PointLight,Rt as PointLightHelper,km as Points,jm as PointsMaterial,Ut as PolarGridHelper,Hm as PolyhedronGeometry,vt as PositionalAudio,zt as PropertyBinding,yt as PropertyMixer,Sm as QuadraticBezierCurve,Tm as QuadraticBezierCurve3,tf as Quaternion,Jp as QuaternionKeyframeTrack,Ip as QuaternionLinearInterpolant,br as R11_EAC_Format,Gr as RED_GREEN_RGTC2_Format,Er as RED_RGTC1_Format,o as REVISION,dr as RG11_EAC_Format,Yr as RGBADepthPacking,Ro as RGBAFormat,Zo as RGBAIntegerFormat,yr as RGBA_ASTC_10x10_Format,ur as RGBA_ASTC_10x5_Format,vr as RGBA_ASTC_10x6_Format,wr as RGBA_ASTC_10x8_Format,zr as RGBA_ASTC_12x10_Format,Ar as RGBA_ASTC_12x12_Format,hr as RGBA_ASTC_4x4_Format,ir as RGBA_ASTC_5x4_Format,jr as RGBA_ASTC_5x5_Format,kr as RGBA_ASTC_6x5_Format,lr as RGBA_ASTC_6x6_Format,nr as RGBA_ASTC_8x5_Format,qr as RGBA_ASTC_8x6_Format,sr as RGBA_ASTC_8x8_Format,Br as RGBA_BPTC_Format,ar as RGBA_ETC2_EAC_Format,pr as RGBA_PVRTC_2BPPV1_Format,mr as RGBA_PVRTC_4BPPV1_Format,$o as RGBA_S3TC_DXT1_Format,or as RGBA_S3TC_DXT3_Format,rr as RGBA_S3TC_DXT5_Format,Zr as RGBDepthPacking,Qo as RGBFormat,Yo as RGBIntegerFormat,Cr as RGB_BPTC_SIGNED_Format,Dr as RGB_BPTC_UNSIGNED_Format,tr as RGB_ETC1_Format,xr as RGB_ETC2_Format,fr as RGB_PVRTC_2BPPV1_Format,er as RGB_PVRTC_4BPPV1_Format,_o as RGB_S3TC_DXT1_Format,_r as RGDepthPacking,Wo as RGFormat,Xo as RGIntegerFormat,hp as RawShaderMaterial,_f as Ray,It as Raycaster,pt as RectAreaLight,Uo as RedFormat,Vo as RedIntegerFormat,oo as ReinhardToneMapping,jf as RenderTarget,Dt as RenderTarget3D,jo as RepeatWrapping,de as ReplaceStencilOp,w as ReverseSubtractEquation,ep as RingGeometry,cr as SIGNED_R11_EAC_Format,Hr as SIGNED_RED_GREEN_RGTC2_Format,Fr as SIGNED_RED_RGTC1_Format,gr as SIGNED_RG11_EAC_Format,ee as SRGBColorSpace,pe as SRGBTransfer,Ef as Scene,fx as ShaderChunk,px as ShaderLib,gp as ShaderMaterial,cp as ShadowMaterial,Xm as Shape,fp as ShapeGeometry,ox as ShapePath,Ym as ShapeUtils,Eo as ShortType,mm as Skeleton,Qt as SkeletonHelper,rm as SkinnedMesh,df as Source,Sf as Sphere,mp as SphereGeometry,Kt as Spherical,tt as SphericalHarmonics3,Um as SplineCurve,ot as SpotLight,Pt as SpotLightHelper,Yf as Sprite,Xf as SpriteMaterial,E as SrcAlphaFactor,K as SrcAlphaSaturateFactor,C as SrcColorFactor,Ne as StaticCopyUsage,He as StaticDrawUsage,Ke as StaticReadUsage,kt as StereoCamera,Pe as StreamCopyUsage,Je as StreamDrawUsage,Me as StreamReadUsage,Kp as StringKeyframeTrack,v as SubtractEquation,l as SubtractiveBlending,e as TOUCH,$r as TangentSpaceNormalMap,pp as TetrahedronGeometry,gf as Texture,Xp as TextureLoader,ex as TextureUtils,qt as Timer,Ue as TimestampQuery,tp as TorusGeometry,xp as TorusKnotGeometry,Ff as Triangle,Wr as TriangleFanDrawMode,Vr as TriangleStripDrawMode,Ur as TrianglesDrawMode,ap as TubeGeometry,ao as UVMapping,Nf as Uint16BufferAttribute,Pf as Uint32BufferAttribute,Kf as Uint8BufferAttribute,Lf as Uint8ClampedBufferAttribute,Et as Uniform,Ft as UniformsGroup,mx as UniformsLib,dp as UniformsUtils,Co as UnsignedByteType,Oo as UnsignedInt101111Type,Mo as UnsignedInt248Type,No as UnsignedInt5999Type,Ho as UnsignedIntType,Ko as UnsignedShort4444Type,Lo as UnsignedShort5551Type,Fo as UnsignedShortType,c as VSMShadowMap,pf as Vector2,xf as Vector3,hf as Vector4,Lp as VectorKeyframeTrack,nm as VideoFrameTexture,lm as VideoTexture,sf as WebGL3DRenderTarget,nf as WebGLArrayRenderTarget,Se as WebGLCoordinateSystem,xx as WebGLCubeRenderTarget,kf as WebGLRenderTarget,bx as WebGLRenderer,ax as WebGLUtils,Te as WebGPUCoordinateSystem,Af as WebXRController,bp as WireframeGeometry,Rr as WrapAroundEnding,Pr as ZeroCurvatureEnding,A as ZeroFactor,Qr as ZeroSlopeEnding,be as ZeroStencilOp,Ye as createCanvasElement,rf as error,_e as getConsoleFunction,$e as log,Ze as setConsoleFunction,of as warn,ef as warnOnce};
@@ -0,0 +1,2 @@
1
+ import { createRequire as __pix3CreateRequire } from 'node:module'; const require = __pix3CreateRequire(import.meta.url);
2
+ import{b as d}from"./chunk-J2SJVMDO.mjs";import{Kb as u,Sf as p,ad as y}from"./chunk-OJXQXIIQ.mjs";import"./chunk-P2CBRXPJ.mjs";var S=p,m=e=>Math.round(e*1e6)/1e6,h=e=>{if(typeof e=="number")return m(e);if(e===null||typeof e!="object")return e;let n=e;if(n.isColor===!0&&typeof n.getHexString=="function")return`#${n.getHexString.call(e)}`;if(typeof n.x=="number"&&typeof n.y=="number")return["x","y","z","w"].filter(o=>typeof n[o]=="number").map(o=>m(n[o]));if(Array.isArray(e))return e.map(h);try{return JSON.parse(JSON.stringify(e))}catch{return}},x=e=>{let n=[];for(let[t,o]of Object.entries(e))for(let[a,r]of Object.entries(o.nested??{}))r.schemaName&&n.push({path:`${t}.${a}`,schemaName:r.schemaName});return n},g=new Map,k=e=>{let n={warn:console.warn,log:console.log,info:console.info,debug:console.debug};console.warn=console.log=console.info=console.debug=()=>{};try{return e()}finally{Object.assign(console,n)}},D=e=>{let n=g.get(e);if(n)return n;let t=u(e),o=t?y(t):null,a=o?S[o.classExport]:void 0,r={canonical:t,defaults:{}};if(o&&typeof a=="function"){let f=a,N=typeof f.getPropertySchema=="function"?f.getPropertySchema().properties:[],w=d();try{let b=k(()=>new a({id:"__pix3_tree_default__"})),c=new Map;for(let s of N)try{c.set(s.name,h(s.getValue(b)))}catch{}let l={};for(let[s,i]of c)l[s]=i;for(let{path:s,schemaName:i}of x(o.extras))c.has(i)&&(l[s]=c.get(i));r={canonical:t,defaults:l}}catch{r={canonical:t,defaults:{}}}finally{w()}}return g.set(e,r),r},P=e=>{let n={};for(let t of e)n[t]=D(t);return n};export{D as defaultsForType,P as defaultsForTypes,h as toPlain};