@lampdotdev/lamp 0.0.0-stage → 0.35.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 (464) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +357 -2
  3. package/Resources/Devices/roku.json +410 -0
  4. package/Resources/Devices/xbox-one.json +367 -0
  5. package/Resources/GameKit/NOTICE.md +63 -0
  6. package/Resources/GameKit/apple/LampPage.swift +1646 -0
  7. package/Resources/GameKit/apple/LampPlayer.swift +46 -0
  8. package/Resources/GameKit/apple/LampWebApp.swift +63 -0
  9. package/Resources/GameKit/apple/LampWebGame.swift +87 -0
  10. package/Resources/GameKit/apple/Native.swift +12 -0
  11. package/Resources/GameKit/build.sh +55 -0
  12. package/Resources/GameKit/lamp_game.h +116 -0
  13. package/Resources/GameKit/lamp_host.h +19 -0
  14. package/Resources/GameKit/lamp_kit.cpp +61 -0
  15. package/Resources/GameKit/lamp_sound.cpp +455 -0
  16. package/Resources/GameKit/lamp_xbox.cpp +374 -0
  17. package/Resources/GameKit/libraries/HandmadeMath.h +3940 -0
  18. package/Resources/GameKit/libraries/cgltf.h +7240 -0
  19. package/Resources/GameKit/libraries/dr_mp3.h +5430 -0
  20. package/Resources/GameKit/libraries/dr_wav.h +9209 -0
  21. package/Resources/GameKit/libraries/sokol_debugtext.h +4754 -0
  22. package/Resources/GameKit/libraries/sokol_gfx.h +29558 -0
  23. package/Resources/GameKit/libraries/sokol_gl.h +4538 -0
  24. package/Resources/GameKit/libraries/sokol_log.h +335 -0
  25. package/Resources/GameKit/libraries/sokol_shape.h +1531 -0
  26. package/Resources/GameKit/libraries/stb_image.h +7988 -0
  27. package/Resources/GameKit/libraries/stb_vorbis.c +5584 -0
  28. package/Resources/GameKit/scaffold/Game/game.cpp +142 -0
  29. package/Resources/GameKit/scaffold/Game/scene.glsl +49 -0
  30. package/Resources/GameKit/scaffold-web/Web/game.js +31 -0
  31. package/Resources/GameKit/scaffold-web/Web/index.html +13 -0
  32. package/Resources/GameKit/scaffold-web/Web/making.js +33 -0
  33. package/Resources/GameKit/scaffold-web/Web/world.js +33 -0
  34. package/Resources/GameKit/web/lamp-game.js +3036 -0
  35. package/Resources/GameKit/web/lamp-phaser.js +128 -0
  36. package/Resources/WebHost/App.exe +0 -0
  37. package/Resources/WebHost/Microsoft.Web.WebView2.Core.dll +0 -0
  38. package/Resources/WebHost/WebView2-LICENSE.txt +27 -0
  39. package/Resources/WebHost/lamp_controllers.h +1506 -0
  40. package/Resources/WebHost/lamp_web_host.cpp +1173 -0
  41. package/Resources/WebLibraries/earlier.txt +318 -0
  42. package/Resources/WebLibraries/phaser/LICENSE.md +20 -0
  43. package/Resources/WebLibraries/phaser/NOTICE.md +2 -0
  44. package/Resources/WebLibraries/phaser/phaser.esm.min.js +1 -0
  45. package/Resources/WebLibraries/qrcode/LICENSE +21 -0
  46. package/Resources/WebLibraries/qrcode/NOTICE.md +4 -0
  47. package/Resources/WebLibraries/qrcode/qrcode.js +2297 -0
  48. package/Resources/WebLibraries/rapier/LICENSE +201 -0
  49. package/Resources/WebLibraries/rapier/NOTICE.md +3 -0
  50. package/Resources/WebLibraries/rapier/rapier.js +2 -0
  51. package/Resources/WebLibraries/three/LICENSE +21 -0
  52. package/Resources/WebLibraries/three/NOTICE.md +4 -0
  53. package/Resources/WebLibraries/three/addons/animation/AnimationClipCreator.js +168 -0
  54. package/Resources/WebLibraries/three/addons/animation/CCDIKSolver.js +607 -0
  55. package/Resources/WebLibraries/three/addons/controls/ArcballControls.js +3543 -0
  56. package/Resources/WebLibraries/three/addons/controls/DragControls.js +452 -0
  57. package/Resources/WebLibraries/three/addons/controls/FirstPersonControls.js +512 -0
  58. package/Resources/WebLibraries/three/addons/controls/FlyControls.js +384 -0
  59. package/Resources/WebLibraries/three/addons/controls/MapControls.js +116 -0
  60. package/Resources/WebLibraries/three/addons/controls/OrbitControls.js +1985 -0
  61. package/Resources/WebLibraries/three/addons/controls/PointerLockControls.js +264 -0
  62. package/Resources/WebLibraries/three/addons/controls/TrackballControls.js +1106 -0
  63. package/Resources/WebLibraries/three/addons/controls/TransformControls.js +2003 -0
  64. package/Resources/WebLibraries/three/addons/curves/CurveExtras.js +694 -0
  65. package/Resources/WebLibraries/three/addons/curves/NURBSCurve.js +169 -0
  66. package/Resources/WebLibraries/three/addons/curves/NURBSSurface.js +98 -0
  67. package/Resources/WebLibraries/three/addons/curves/NURBSUtils.js +532 -0
  68. package/Resources/WebLibraries/three/addons/curves/NURBSVolume.js +82 -0
  69. package/Resources/WebLibraries/three/addons/effects/AnaglyphEffect.js +274 -0
  70. package/Resources/WebLibraries/three/addons/effects/AsciiEffect.js +323 -0
  71. package/Resources/WebLibraries/three/addons/effects/OutlineEffect.js +489 -0
  72. package/Resources/WebLibraries/three/addons/effects/ParallaxBarrierEffect.js +155 -0
  73. package/Resources/WebLibraries/three/addons/effects/StereoEffect.js +91 -0
  74. package/Resources/WebLibraries/three/addons/environments/ColorEnvironment.js +59 -0
  75. package/Resources/WebLibraries/three/addons/environments/DebugEnvironment.js +102 -0
  76. package/Resources/WebLibraries/three/addons/environments/RoomEnvironment.js +185 -0
  77. package/Resources/WebLibraries/three/addons/geometries/BoxLineGeometry.js +92 -0
  78. package/Resources/WebLibraries/three/addons/geometries/ConvexGeometry.js +72 -0
  79. package/Resources/WebLibraries/three/addons/geometries/DecalGeometry.js +420 -0
  80. package/Resources/WebLibraries/three/addons/geometries/LoftGeometry.js +355 -0
  81. package/Resources/WebLibraries/three/addons/geometries/ParametricFunctions.js +100 -0
  82. package/Resources/WebLibraries/three/addons/geometries/ParametricGeometry.js +172 -0
  83. package/Resources/WebLibraries/three/addons/geometries/RoundedBoxGeometry.js +216 -0
  84. package/Resources/WebLibraries/three/addons/geometries/TeapotGeometry.js +689 -0
  85. package/Resources/WebLibraries/three/addons/geometries/TextGeometry.js +102 -0
  86. package/Resources/WebLibraries/three/addons/helpers/AnimationPathHelper.js +302 -0
  87. package/Resources/WebLibraries/three/addons/helpers/LightProbeGridHelper.js +166 -0
  88. package/Resources/WebLibraries/three/addons/helpers/LightProbeGridHelperWebGL.js +221 -0
  89. package/Resources/WebLibraries/three/addons/helpers/LightProbeHelper.js +166 -0
  90. package/Resources/WebLibraries/three/addons/helpers/LightProbeHelperGPU.js +102 -0
  91. package/Resources/WebLibraries/three/addons/helpers/OctreeHelper.js +109 -0
  92. package/Resources/WebLibraries/three/addons/helpers/PositionalAudioHelper.js +169 -0
  93. package/Resources/WebLibraries/three/addons/helpers/RapierHelper.js +59 -0
  94. package/Resources/WebLibraries/three/addons/helpers/RectAreaLightHelper.js +118 -0
  95. package/Resources/WebLibraries/three/addons/helpers/TextureHelper.js +265 -0
  96. package/Resources/WebLibraries/three/addons/helpers/TextureHelperGPU.js +214 -0
  97. package/Resources/WebLibraries/three/addons/helpers/VertexNormalsHelper.js +155 -0
  98. package/Resources/WebLibraries/three/addons/helpers/VertexTangentsHelper.js +133 -0
  99. package/Resources/WebLibraries/three/addons/helpers/ViewHelper.js +529 -0
  100. package/Resources/WebLibraries/three/addons/interactive/HTMLMesh.js +617 -0
  101. package/Resources/WebLibraries/three/addons/interactive/InteractiveGroup.js +224 -0
  102. package/Resources/WebLibraries/three/addons/interactive/SelectionBox.js +324 -0
  103. package/Resources/WebLibraries/three/addons/interactive/SelectionHelper.js +150 -0
  104. package/Resources/WebLibraries/three/addons/libs/fflate.module.js +2699 -0
  105. package/Resources/WebLibraries/three/addons/libs/lil-gui.module.min.js +8 -0
  106. package/Resources/WebLibraries/three/addons/libs/meshopt_decoder.module.js +196 -0
  107. package/Resources/WebLibraries/three/addons/libs/potpack.module.js +125 -0
  108. package/Resources/WebLibraries/three/addons/libs/stats.module.js +167 -0
  109. package/Resources/WebLibraries/three/addons/libs/tween.module.js +876 -0
  110. package/Resources/WebLibraries/three/addons/lighting/ClusteredLighting.js +153 -0
  111. package/Resources/WebLibraries/three/addons/lighting/DynamicLighting.js +82 -0
  112. package/Resources/WebLibraries/three/addons/lighting/LightMapper.js +295 -0
  113. package/Resources/WebLibraries/three/addons/lighting/LightProbeGrid.js +923 -0
  114. package/Resources/WebLibraries/three/addons/lighting/LightProbeGridUtils.js +107 -0
  115. package/Resources/WebLibraries/three/addons/lighting/LightProbeGridWebGL.js +846 -0
  116. package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGIConeTracer.js +243 -0
  117. package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGIIrradiance.js +43 -0
  118. package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGINode.js +617 -0
  119. package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGISceneCollector.js +793 -0
  120. package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGIVolume.js +1440 -0
  121. package/Resources/WebLibraries/three/addons/lights/LightProbeGenerator.js +337 -0
  122. package/Resources/WebLibraries/three/addons/lights/RectAreaLightTexturesLib.js +127 -0
  123. package/Resources/WebLibraries/three/addons/lights/RectAreaLightUniformsLib.js +40 -0
  124. package/Resources/WebLibraries/three/addons/lights/SunLight.js +100 -0
  125. package/Resources/WebLibraries/three/addons/lights/SunLightNode.js +56 -0
  126. package/Resources/WebLibraries/three/addons/lights/SunLightShadow.js +319 -0
  127. package/Resources/WebLibraries/three/addons/lights/SunShadowNode.js +312 -0
  128. package/Resources/WebLibraries/three/addons/lines/Line2.js +56 -0
  129. package/Resources/WebLibraries/three/addons/lines/LineGeometry.js +157 -0
  130. package/Resources/WebLibraries/three/addons/lines/LineMaterial.js +742 -0
  131. package/Resources/WebLibraries/three/addons/lines/LineSegments2.js +434 -0
  132. package/Resources/WebLibraries/three/addons/lines/LineSegmentsGeometry.js +298 -0
  133. package/Resources/WebLibraries/three/addons/lines/Wireframe.js +108 -0
  134. package/Resources/WebLibraries/three/addons/lines/WireframeGeometry2.js +49 -0
  135. package/Resources/WebLibraries/three/addons/lines/webgpu/Line2.js +46 -0
  136. package/Resources/WebLibraries/three/addons/lines/webgpu/LineSegments2.js +419 -0
  137. package/Resources/WebLibraries/three/addons/lines/webgpu/Wireframe.js +86 -0
  138. package/Resources/WebLibraries/three/addons/loaders/EXRLoader.js +3411 -0
  139. package/Resources/WebLibraries/three/addons/loaders/FBXLoader.js +4660 -0
  140. package/Resources/WebLibraries/three/addons/loaders/FontLoader.js +262 -0
  141. package/Resources/WebLibraries/three/addons/loaders/GLTFLoader.js +5006 -0
  142. package/Resources/WebLibraries/three/addons/loaders/HDRLoader.js +463 -0
  143. package/Resources/WebLibraries/three/addons/loaders/MTLLoader.js +601 -0
  144. package/Resources/WebLibraries/three/addons/loaders/OBJLoader.js +961 -0
  145. package/Resources/WebLibraries/three/addons/loaders/PLYLoader.js +992 -0
  146. package/Resources/WebLibraries/three/addons/loaders/RGBELoader.js +18 -0
  147. package/Resources/WebLibraries/three/addons/loaders/STLLoader.js +423 -0
  148. package/Resources/WebLibraries/three/addons/loaders/SVGLoader.js +3297 -0
  149. package/Resources/WebLibraries/three/addons/loaders/TGALoader.js +539 -0
  150. package/Resources/WebLibraries/three/addons/loaders/UltraHDRLoader.js +757 -0
  151. package/Resources/WebLibraries/three/addons/math/Capsule.js +159 -0
  152. package/Resources/WebLibraries/three/addons/math/ColorConverter.js +62 -0
  153. package/Resources/WebLibraries/three/addons/math/ColorSpaces.js +147 -0
  154. package/Resources/WebLibraries/three/addons/math/ConvexHull.js +1695 -0
  155. package/Resources/WebLibraries/three/addons/math/ImprovedNoise.js +88 -0
  156. package/Resources/WebLibraries/three/addons/math/Lut.js +317 -0
  157. package/Resources/WebLibraries/three/addons/math/MeshSurfaceSampler.js +315 -0
  158. package/Resources/WebLibraries/three/addons/math/OBB.js +535 -0
  159. package/Resources/WebLibraries/three/addons/math/Octree.js +825 -0
  160. package/Resources/WebLibraries/three/addons/math/SimplexNoise.js +470 -0
  161. package/Resources/WebLibraries/three/addons/misc/ConvexObjectBreaker.js +539 -0
  162. package/Resources/WebLibraries/three/addons/misc/GPUComputationRenderer.js +508 -0
  163. package/Resources/WebLibraries/three/addons/misc/Gyroscope.js +78 -0
  164. package/Resources/WebLibraries/three/addons/misc/MorphAnimMesh.js +119 -0
  165. package/Resources/WebLibraries/three/addons/misc/MorphBlendMesh.js +425 -0
  166. package/Resources/WebLibraries/three/addons/misc/ProgressiveLightMap.js +370 -0
  167. package/Resources/WebLibraries/three/addons/misc/ProgressiveLightMapGPU.js +322 -0
  168. package/Resources/WebLibraries/three/addons/misc/RollerCoaster.js +661 -0
  169. package/Resources/WebLibraries/three/addons/misc/Sculptor.js +1679 -0
  170. package/Resources/WebLibraries/three/addons/misc/SculptorMesh.js +1504 -0
  171. package/Resources/WebLibraries/three/addons/misc/SculptorTools.js +1180 -0
  172. package/Resources/WebLibraries/three/addons/misc/SculptorUtils.js +345 -0
  173. package/Resources/WebLibraries/three/addons/misc/TileCreasedNormalsPlugin.js +270 -0
  174. package/Resources/WebLibraries/three/addons/misc/TubePainter.js +611 -0
  175. package/Resources/WebLibraries/three/addons/misc/Volume.js +520 -0
  176. package/Resources/WebLibraries/three/addons/misc/VolumeSlice.js +275 -0
  177. package/Resources/WebLibraries/three/addons/modifiers/CurveModifier.js +374 -0
  178. package/Resources/WebLibraries/three/addons/modifiers/CurveModifierGPU.js +256 -0
  179. package/Resources/WebLibraries/three/addons/modifiers/EdgeSplitModifier.js +299 -0
  180. package/Resources/WebLibraries/three/addons/modifiers/TessellateModifier.js +340 -0
  181. package/Resources/WebLibraries/three/addons/objects/GroundedSkybox.js +69 -0
  182. package/Resources/WebLibraries/three/addons/objects/Lensflare.js +489 -0
  183. package/Resources/WebLibraries/three/addons/objects/LensflareMesh.js +376 -0
  184. package/Resources/WebLibraries/three/addons/objects/MarchingCubes.js +1261 -0
  185. package/Resources/WebLibraries/three/addons/objects/Reflector.js +390 -0
  186. package/Resources/WebLibraries/three/addons/objects/ReflectorForSSRPass.js +393 -0
  187. package/Resources/WebLibraries/three/addons/objects/Refractor.js +389 -0
  188. package/Resources/WebLibraries/three/addons/objects/ShadowMesh.js +130 -0
  189. package/Resources/WebLibraries/three/addons/objects/Sky.js +342 -0
  190. package/Resources/WebLibraries/three/addons/objects/SkyMesh.js +403 -0
  191. package/Resources/WebLibraries/three/addons/objects/Water.js +374 -0
  192. package/Resources/WebLibraries/three/addons/objects/Water2.js +403 -0
  193. package/Resources/WebLibraries/three/addons/objects/Water2Mesh.js +199 -0
  194. package/Resources/WebLibraries/three/addons/objects/WaterMesh.js +194 -0
  195. package/Resources/WebLibraries/three/addons/postprocessing/AfterimagePass.js +187 -0
  196. package/Resources/WebLibraries/three/addons/postprocessing/BloomPass.js +274 -0
  197. package/Resources/WebLibraries/three/addons/postprocessing/BokehPass.js +218 -0
  198. package/Resources/WebLibraries/three/addons/postprocessing/ClearPass.js +97 -0
  199. package/Resources/WebLibraries/three/addons/postprocessing/CubeTexturePass.js +146 -0
  200. package/Resources/WebLibraries/three/addons/postprocessing/DotScreenPass.js +114 -0
  201. package/Resources/WebLibraries/three/addons/postprocessing/EffectComposer.js +365 -0
  202. package/Resources/WebLibraries/three/addons/postprocessing/FXAAPass.js +40 -0
  203. package/Resources/WebLibraries/three/addons/postprocessing/FilmPass.js +113 -0
  204. package/Resources/WebLibraries/three/addons/postprocessing/GTAOPass.js +735 -0
  205. package/Resources/WebLibraries/three/addons/postprocessing/GlitchPass.js +177 -0
  206. package/Resources/WebLibraries/three/addons/postprocessing/HalftonePass.js +134 -0
  207. package/Resources/WebLibraries/three/addons/postprocessing/LUTPass.js +138 -0
  208. package/Resources/WebLibraries/three/addons/postprocessing/MaskPass.js +195 -0
  209. package/Resources/WebLibraries/three/addons/postprocessing/OutlinePass.js +776 -0
  210. package/Resources/WebLibraries/three/addons/postprocessing/OutputPass.js +148 -0
  211. package/Resources/WebLibraries/three/addons/postprocessing/Pass.js +191 -0
  212. package/Resources/WebLibraries/three/addons/postprocessing/RenderPass.js +193 -0
  213. package/Resources/WebLibraries/three/addons/postprocessing/RenderPixelatedPass.js +314 -0
  214. package/Resources/WebLibraries/three/addons/postprocessing/RenderTransitionPass.js +267 -0
  215. package/Resources/WebLibraries/three/addons/postprocessing/SAOPass.js +407 -0
  216. package/Resources/WebLibraries/three/addons/postprocessing/SMAAPass.js +230 -0
  217. package/Resources/WebLibraries/three/addons/postprocessing/SSAARenderPass.js +313 -0
  218. package/Resources/WebLibraries/three/addons/postprocessing/SSAOPass.js +527 -0
  219. package/Resources/WebLibraries/three/addons/postprocessing/SSRPass.js +858 -0
  220. package/Resources/WebLibraries/three/addons/postprocessing/SavePass.js +132 -0
  221. package/Resources/WebLibraries/three/addons/postprocessing/ShaderPass.js +135 -0
  222. package/Resources/WebLibraries/three/addons/postprocessing/TAARenderPass.js +243 -0
  223. package/Resources/WebLibraries/three/addons/postprocessing/TexturePass.js +131 -0
  224. package/Resources/WebLibraries/three/addons/postprocessing/UnrealBloomPass.js +541 -0
  225. package/Resources/WebLibraries/three/addons/shaders/ACESFilmicToneMappingShader.js +96 -0
  226. package/Resources/WebLibraries/three/addons/shaders/AfterimageShader.js +63 -0
  227. package/Resources/WebLibraries/three/addons/shaders/BasicShader.js +36 -0
  228. package/Resources/WebLibraries/three/addons/shaders/BleachBypassShader.js +68 -0
  229. package/Resources/WebLibraries/three/addons/shaders/BlendShader.js +56 -0
  230. package/Resources/WebLibraries/three/addons/shaders/BokehShader.js +151 -0
  231. package/Resources/WebLibraries/three/addons/shaders/BokehShader2.js +404 -0
  232. package/Resources/WebLibraries/three/addons/shaders/BrightnessContrastShader.js +62 -0
  233. package/Resources/WebLibraries/three/addons/shaders/ColorCorrectionShader.js +59 -0
  234. package/Resources/WebLibraries/three/addons/shaders/ColorifyShader.js +57 -0
  235. package/Resources/WebLibraries/three/addons/shaders/ConvolutionShader.js +74 -0
  236. package/Resources/WebLibraries/three/addons/shaders/CopyShader.js +52 -0
  237. package/Resources/WebLibraries/three/addons/shaders/DOFMipMapShader.js +63 -0
  238. package/Resources/WebLibraries/three/addons/shaders/DepthLimitedBlurShader.js +183 -0
  239. package/Resources/WebLibraries/three/addons/shaders/DigitalGlitch.js +104 -0
  240. package/Resources/WebLibraries/three/addons/shaders/DotScreenShader.js +75 -0
  241. package/Resources/WebLibraries/three/addons/shaders/ExposureShader.js +51 -0
  242. package/Resources/WebLibraries/three/addons/shaders/FXAAShader.js +298 -0
  243. package/Resources/WebLibraries/three/addons/shaders/FilmShader.js +73 -0
  244. package/Resources/WebLibraries/three/addons/shaders/FocusShader.js +94 -0
  245. package/Resources/WebLibraries/three/addons/shaders/FreiChenShader.js +103 -0
  246. package/Resources/WebLibraries/three/addons/shaders/GTAOShader.js +437 -0
  247. package/Resources/WebLibraries/three/addons/shaders/GammaCorrectionShader.js +52 -0
  248. package/Resources/WebLibraries/three/addons/shaders/HalftoneShader.js +332 -0
  249. package/Resources/WebLibraries/three/addons/shaders/HorizontalBlurShader.js +68 -0
  250. package/Resources/WebLibraries/three/addons/shaders/HorizontalTiltShiftShader.js +70 -0
  251. package/Resources/WebLibraries/three/addons/shaders/HueSaturationShader.js +74 -0
  252. package/Resources/WebLibraries/three/addons/shaders/KaleidoShader.js +65 -0
  253. package/Resources/WebLibraries/three/addons/shaders/LuminosityHighPassShader.js +68 -0
  254. package/Resources/WebLibraries/three/addons/shaders/LuminosityShader.js +54 -0
  255. package/Resources/WebLibraries/three/addons/shaders/MirrorShader.js +62 -0
  256. package/Resources/WebLibraries/three/addons/shaders/NormalMapShader.js +60 -0
  257. package/Resources/WebLibraries/three/addons/shaders/OutputShader.js +103 -0
  258. package/Resources/WebLibraries/three/addons/shaders/PoissonDenoiseShader.js +230 -0
  259. package/Resources/WebLibraries/three/addons/shaders/RGBShiftShader.js +61 -0
  260. package/Resources/WebLibraries/three/addons/shaders/SAOShader.js +201 -0
  261. package/Resources/WebLibraries/three/addons/shaders/SMAAShader.js +489 -0
  262. package/Resources/WebLibraries/three/addons/shaders/SSAOShader.js +331 -0
  263. package/Resources/WebLibraries/three/addons/shaders/SSRShader.js +396 -0
  264. package/Resources/WebLibraries/three/addons/shaders/SepiaShader.js +57 -0
  265. package/Resources/WebLibraries/three/addons/shaders/SobelOperatorShader.js +98 -0
  266. package/Resources/WebLibraries/three/addons/shaders/SubsurfaceScatteringShader.js +95 -0
  267. package/Resources/WebLibraries/three/addons/shaders/TechnicolorShader.js +51 -0
  268. package/Resources/WebLibraries/three/addons/shaders/ToonShader.js +349 -0
  269. package/Resources/WebLibraries/three/addons/shaders/TriangleBlurShader.js +79 -0
  270. package/Resources/WebLibraries/three/addons/shaders/UnpackDepthRGBAShader.js +60 -0
  271. package/Resources/WebLibraries/three/addons/shaders/VelocityShader.js +137 -0
  272. package/Resources/WebLibraries/three/addons/shaders/VerticalBlurShader.js +66 -0
  273. package/Resources/WebLibraries/three/addons/shaders/VerticalTiltShiftShader.js +70 -0
  274. package/Resources/WebLibraries/three/addons/shaders/VignetteShader.js +56 -0
  275. package/Resources/WebLibraries/three/addons/shaders/VolumeShader.js +285 -0
  276. package/Resources/WebLibraries/three/addons/shaders/WaterRefractionShader.js +106 -0
  277. package/Resources/WebLibraries/three/addons/textures/FlakesTexture.js +54 -0
  278. package/Resources/WebLibraries/three/addons/tsl/WebGLNodesHandler.js +607 -0
  279. package/Resources/WebLibraries/three/addons/tsl/display/AfterImageNode.js +256 -0
  280. package/Resources/WebLibraries/three/addons/tsl/display/AnaglyphPassNode.js +550 -0
  281. package/Resources/WebLibraries/three/addons/tsl/display/BilateralBlurNode.js +377 -0
  282. package/Resources/WebLibraries/three/addons/tsl/display/BleachBypass.js +33 -0
  283. package/Resources/WebLibraries/three/addons/tsl/display/BloomNode.js +599 -0
  284. package/Resources/WebLibraries/three/addons/tsl/display/CRT.js +150 -0
  285. package/Resources/WebLibraries/three/addons/tsl/display/ChromaticAberrationNode.js +163 -0
  286. package/Resources/WebLibraries/three/addons/tsl/display/DenoiseNode.js +354 -0
  287. package/Resources/WebLibraries/three/addons/tsl/display/DepthOfFieldNode.js +572 -0
  288. package/Resources/WebLibraries/three/addons/tsl/display/DotScreenNode.js +104 -0
  289. package/Resources/WebLibraries/three/addons/tsl/display/FSR1Node.js +481 -0
  290. package/Resources/WebLibraries/three/addons/tsl/display/FXAANode.js +357 -0
  291. package/Resources/WebLibraries/three/addons/tsl/display/FilmNode.js +101 -0
  292. package/Resources/WebLibraries/three/addons/tsl/display/GTAONode.js +727 -0
  293. package/Resources/WebLibraries/three/addons/tsl/display/GaussianBlurNode.js +412 -0
  294. package/Resources/WebLibraries/three/addons/tsl/display/GodraysNode.js +604 -0
  295. package/Resources/WebLibraries/three/addons/tsl/display/ImportanceSampledEnvironment.js +564 -0
  296. package/Resources/WebLibraries/three/addons/tsl/display/LensflareNode.js +282 -0
  297. package/Resources/WebLibraries/three/addons/tsl/display/Lut3DNode.js +109 -0
  298. package/Resources/WebLibraries/three/addons/tsl/display/MotionBlur.js +33 -0
  299. package/Resources/WebLibraries/three/addons/tsl/display/OITPassNode.js +341 -0
  300. package/Resources/WebLibraries/three/addons/tsl/display/OutlineNode.js +916 -0
  301. package/Resources/WebLibraries/three/addons/tsl/display/ParallaxBarrierPassNode.js +90 -0
  302. package/Resources/WebLibraries/three/addons/tsl/display/PixelationPassNode.js +227 -0
  303. package/Resources/WebLibraries/three/addons/tsl/display/RGBShiftNode.js +96 -0
  304. package/Resources/WebLibraries/three/addons/tsl/display/RecurrentDenoiseNode.js +812 -0
  305. package/Resources/WebLibraries/three/addons/tsl/display/RetroPassNode.js +263 -0
  306. package/Resources/WebLibraries/three/addons/tsl/display/SMAANode.js +729 -0
  307. package/Resources/WebLibraries/three/addons/tsl/display/SSAAPassNode.js +344 -0
  308. package/Resources/WebLibraries/three/addons/tsl/display/SSAONode.js +422 -0
  309. package/Resources/WebLibraries/three/addons/tsl/display/SSGINode.js +698 -0
  310. package/Resources/WebLibraries/three/addons/tsl/display/SSRNode.js +1430 -0
  311. package/Resources/WebLibraries/three/addons/tsl/display/SSSNode.js +479 -0
  312. package/Resources/WebLibraries/three/addons/tsl/display/Sepia.js +24 -0
  313. package/Resources/WebLibraries/three/addons/tsl/display/Shape.js +29 -0
  314. package/Resources/WebLibraries/three/addons/tsl/display/SharpenNode.js +284 -0
  315. package/Resources/WebLibraries/three/addons/tsl/display/SobelOperatorNode.js +168 -0
  316. package/Resources/WebLibraries/three/addons/tsl/display/StereoCompositePassNode.js +190 -0
  317. package/Resources/WebLibraries/three/addons/tsl/display/StereoPassNode.js +117 -0
  318. package/Resources/WebLibraries/three/addons/tsl/display/TAAUNode.js +700 -0
  319. package/Resources/WebLibraries/three/addons/tsl/display/TRAANode.js +609 -0
  320. package/Resources/WebLibraries/three/addons/tsl/display/TemporalReprojectNode.js +1024 -0
  321. package/Resources/WebLibraries/three/addons/tsl/display/TransitionNode.js +141 -0
  322. package/Resources/WebLibraries/three/addons/tsl/display/boxBlur.js +65 -0
  323. package/Resources/WebLibraries/three/addons/tsl/display/depthAwareBlend.js +80 -0
  324. package/Resources/WebLibraries/three/addons/tsl/display/depthAwareBlur.js +63 -0
  325. package/Resources/WebLibraries/three/addons/tsl/display/hashBlur.js +55 -0
  326. package/Resources/WebLibraries/three/addons/tsl/display/lensDirt.js +30 -0
  327. package/Resources/WebLibraries/three/addons/tsl/display/radialBlur.js +68 -0
  328. package/Resources/WebLibraries/three/addons/tsl/lighting/ClusteredLightsNode.js +994 -0
  329. package/Resources/WebLibraries/three/addons/tsl/lighting/DynamicLightsNode.js +201 -0
  330. package/Resources/WebLibraries/three/addons/tsl/lighting/LightProbeGridNode.js +183 -0
  331. package/Resources/WebLibraries/three/addons/tsl/lighting/data/AmbientLightDataNode.js +67 -0
  332. package/Resources/WebLibraries/three/addons/tsl/lighting/data/DirectionalLightDataNode.js +117 -0
  333. package/Resources/WebLibraries/three/addons/tsl/lighting/data/HemisphereLightDataNode.js +105 -0
  334. package/Resources/WebLibraries/three/addons/tsl/lighting/data/PointLightDataNode.js +140 -0
  335. package/Resources/WebLibraries/three/addons/tsl/lighting/data/SpotLightDataNode.js +167 -0
  336. package/Resources/WebLibraries/three/addons/tsl/math/Bayer.js +84 -0
  337. package/Resources/WebLibraries/three/addons/tsl/math/curlNoise.js +107 -0
  338. package/Resources/WebLibraries/three/addons/tsl/math/voronoiNoise.js +112 -0
  339. package/Resources/WebLibraries/three/addons/tsl/shadows/TileShadowNode.js +542 -0
  340. package/Resources/WebLibraries/three/addons/tsl/shadows/TileShadowNodeHelper.js +212 -0
  341. package/Resources/WebLibraries/three/addons/tsl/utils/GroundedSkybox.js +62 -0
  342. package/Resources/WebLibraries/three/addons/tsl/utils/RNoise.js +51 -0
  343. package/Resources/WebLibraries/three/addons/tsl/utils/Raymarching.js +70 -0
  344. package/Resources/WebLibraries/three/addons/tsl/utils/SoftParticles.js +53 -0
  345. package/Resources/WebLibraries/three/addons/tsl/utils/SpecularHelpers.js +302 -0
  346. package/Resources/WebLibraries/three/addons/tsl/utils/TAAUtils.js +184 -0
  347. package/Resources/WebLibraries/three/addons/utils/BufferGeometryUtils.js +1523 -0
  348. package/Resources/WebLibraries/three/addons/utils/CameraUtils.js +82 -0
  349. package/Resources/WebLibraries/three/addons/utils/ColorUtils.js +76 -0
  350. package/Resources/WebLibraries/three/addons/utils/GaussianSplatUtils.js +229 -0
  351. package/Resources/WebLibraries/three/addons/utils/GeometryCompressionUtils.js +547 -0
  352. package/Resources/WebLibraries/three/addons/utils/GeometryUtils.js +226 -0
  353. package/Resources/WebLibraries/three/addons/utils/LDrawUtils.js +211 -0
  354. package/Resources/WebLibraries/three/addons/utils/SceneOptimizer.js +459 -0
  355. package/Resources/WebLibraries/three/addons/utils/SceneUtils.js +363 -0
  356. package/Resources/WebLibraries/three/addons/utils/ShadowMapViewer.js +244 -0
  357. package/Resources/WebLibraries/three/addons/utils/ShadowMapViewerGPU.js +233 -0
  358. package/Resources/WebLibraries/three/addons/utils/SkeletonUtils.js +496 -0
  359. package/Resources/WebLibraries/three/addons/utils/SortUtils.js +175 -0
  360. package/Resources/WebLibraries/three/addons/utils/UVsDebug.js +173 -0
  361. package/Resources/WebLibraries/three/addons/utils/WebGLTextureUtils.js +115 -0
  362. package/Resources/WebLibraries/three/addons/utils/WebGPUTextureUtils.js +81 -0
  363. package/Resources/WebLibraries/three/addons/utils/WorkerPool.js +167 -0
  364. package/Resources/WebLibraries/three/addons/utils/unwrapUVs.js +865 -0
  365. package/Resources/WebLibraries/three/three.core.js +61162 -0
  366. package/Resources/WebLibraries/three/three.module.js +19537 -0
  367. package/Resources/WebLibraries/three/three.tsl.js +41903 -0
  368. package/Resources/WebLibraries/three/three.webgpu.js +53714 -0
  369. package/Resources/skills/2d-game/SKILL.md +305 -0
  370. package/Resources/skills/3d-game/SKILL.md +274 -0
  371. package/Resources/skills/accounts/SKILL.md +41 -0
  372. package/Resources/skills/android-design/SKILL.md +159 -0
  373. package/Resources/skills/app-ai/SKILL.md +154 -0
  374. package/Resources/skills/app-intents/SKILL.md +31 -0
  375. package/Resources/skills/app-kinds/SKILL.md +122 -0
  376. package/Resources/skills/apple-watch/SKILL.md +43 -0
  377. package/Resources/skills/assets/SKILL.md +183 -0
  378. package/Resources/skills/building-blocks/SKILL.md +97 -0
  379. package/Resources/skills/device-control/SKILL.md +56 -0
  380. package/Resources/skills/device-integrations/SKILL.md +278 -0
  381. package/Resources/skills/finder-files/SKILL.md +19 -0
  382. package/Resources/skills/game/SKILL.md +414 -0
  383. package/Resources/skills/game-3d/SKILL.md +12 -0
  384. package/Resources/skills/game-art/SKILL.md +11 -0
  385. package/Resources/skills/game-feel/SKILL.md +13 -0
  386. package/Resources/skills/game-levels/SKILL.md +12 -0
  387. package/Resources/skills/game-live/SKILL.md +12 -0
  388. package/Resources/skills/game-physics/SKILL.md +13 -0
  389. package/Resources/skills/game-playtest/SKILL.md +26 -0
  390. package/Resources/skills/game-ui/SKILL.md +278 -0
  391. package/Resources/skills/github-projects/SKILL.md +59 -0
  392. package/Resources/skills/icloud-sync/SKILL.md +30 -0
  393. package/Resources/skills/iphone-hardware/SKILL.md +57 -0
  394. package/Resources/skills/iphone-widgets/SKILL.md +53 -0
  395. package/Resources/skills/lg-developer-mode/SKILL.md +152 -0
  396. package/Resources/skills/mac-widgets/SKILL.md +60 -0
  397. package/Resources/skills/maps/SKILL.md +8 -0
  398. package/Resources/skills/menu-bar/SKILL.md +36 -0
  399. package/Resources/skills/more-apps/SKILL.md +53 -0
  400. package/Resources/skills/phone-controllers/SKILL.md +79 -0
  401. package/Resources/skills/phone-pages/SKILL.md +173 -0
  402. package/Resources/skills/roku-developer-mode/SKILL.md +106 -0
  403. package/Resources/skills/scene-3d/SKILL.md +27 -0
  404. package/Resources/skills/scripting/SKILL.md +17 -0
  405. package/Resources/skills/share-extension/SKILL.md +22 -0
  406. package/Resources/skills/tv-design/SKILL.md +72 -0
  407. package/Resources/skills/web-app/SKILL.md +136 -0
  408. package/Resources/skills/web-game/SKILL.md +95 -0
  409. package/Resources/skills/web-or-native/SKILL.md +103 -0
  410. package/Resources/skills/wish-links/SKILL.md +156 -0
  411. package/THIRD_PARTY_NOTICES.md +170 -0
  412. package/cli/android.mjs +941 -0
  413. package/cli/browser.mjs +268 -0
  414. package/cli/calls.mjs +390 -0
  415. package/cli/dev.mjs +773 -0
  416. package/cli/devices.mjs +984 -0
  417. package/cli/lamp.mjs +1016 -0
  418. package/cli/lampapp.mjs +332 -0
  419. package/cli/lamps/android-host/LampPageGateway.kt +345 -0
  420. package/cli/lamps/android-host/app/build.gradle.kts +40 -0
  421. package/cli/lamps/android-host/build.gradle.kts +4 -0
  422. package/cli/lamps/android-host/game/AndroidManifest.xml +33 -0
  423. package/cli/lamps/android-host/game/MainActivity.kt +173 -0
  424. package/cli/lamps/android-host/gradle/libs.versions.toml +39 -0
  425. package/cli/lamps/android-host/gradle.properties +8 -0
  426. package/cli/lamps/android-host/page/AndroidManifest.xml +35 -0
  427. package/cli/lamps/android-host/page/MainActivity.kt +193 -0
  428. package/cli/lamps/android-host/settings.gradle.kts +30 -0
  429. package/cli/lamps/android-host/tools.json +43 -0
  430. package/cli/lamps/lamp-controllers.js +2 -0
  431. package/cli/lamps/lamp-for-games.js +6863 -0
  432. package/cli/lamps/lamp.js +7023 -0
  433. package/cli/lamps/mac-starter/.lamp/meta.json +1 -0
  434. package/cli/lamps/mac-starter/APP.md +12 -0
  435. package/cli/lamps/mac-starter/Package.swift +8 -0
  436. package/cli/lamps/mac-starter/Sources/App.swift +11 -0
  437. package/cli/lamps/mac-starter/Sources/ContentView.swift +17 -0
  438. package/cli/lamps/mac-starter/Sources/LampSupport.swift +18097 -0
  439. package/cli/lamps/mac-starter/build.sh +336 -0
  440. package/cli/lamps/mac-starter/gitignore +3 -0
  441. package/cli/lamps/mac-starter/lamp-starter.json +6 -0
  442. package/cli/lamps/web-starter/APP.md +8 -0
  443. package/cli/lamps/web-starter/app.js +1 -0
  444. package/cli/lamps/web-starter/index.html +17 -0
  445. package/cli/lamps/web-starter/lamp-starter.json +5 -0
  446. package/cli/lamps/web-starter/lamp.js +7023 -0
  447. package/cli/lamps/web-starter/style.css +25 -0
  448. package/cli/link.mjs +138 -0
  449. package/cli/mac.mjs +621 -0
  450. package/cli/mdns.mjs +205 -0
  451. package/cli/msix.mjs +413 -0
  452. package/cli/network.mjs +209 -0
  453. package/cli/outside.mjs +140 -0
  454. package/cli/page.js +165 -0
  455. package/cli/place.mjs +298 -0
  456. package/cli/png.mjs +184 -0
  457. package/cli/share.mjs +202 -0
  458. package/cli/skill/SKILL.md +255 -0
  459. package/cli/skills.mjs +71 -0
  460. package/cli/state.mjs +173 -0
  461. package/cli/update.mjs +57 -0
  462. package/package.json +20 -4
  463. package/site/lib/quota.js +59 -0
  464. package/site/lib/shared-wishes.js +996 -0
@@ -0,0 +1,367 @@
1
+ {
2
+ "app": {
3
+ "declared": {
4
+ "files": {
5
+ "Web/app.js": "// The controller moves focus and presses buttons: Lamp's lamp.js gives the d-pad and left stick as arrow keys, A as\n// Enter and B as Escape.\nfunction focusables() { return Array.prototype.slice.call(document.querySelectorAll(\".focusable\")); }\n\n// Moves focus to the nearest focusable thing in the direction of an arrow (the controller's d-pad and stick).\ndocument.addEventListener(\"keydown\", function (e) {\n var dirs = { ArrowUp: [0, -1], ArrowDown: [0, 1], ArrowLeft: [-1, 0], ArrowRight: [1, 0] };\n var d = dirs[e.key];\n if (!d) return;\n var current = document.activeElement, items = focusables();\n if (!current || items.indexOf(current) < 0) { if (items[0]) items[0].focus(); return; }\n var r = current.getBoundingClientRect(), best = null, bestScore = Infinity;\n items.forEach(function (el) {\n if (el === current) return;\n var o = el.getBoundingClientRect();\n var dx = (o.left + o.width / 2) - (r.left + r.width / 2), dy = (o.top + o.height / 2) - (r.top + r.height / 2);\n if (dx * d[0] + dy * d[1] <= 0) return;\n var score = Math.abs(dx * d[0] + dy * d[1]) + 2 * Math.abs(dx * d[1] + dy * d[0]);\n if (score < bestScore) { bestScore = score; best = el; }\n });\n if (best) { best.focus(); e.preventDefault(); }\n});\n\nwindow.addEventListener(\"load\", function () { var f = focusables()[0]; if (f) f.focus(); });\n",
6
+ "Web/index.html": "<!doctype html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<title>{{NAME}}</title>\n<link rel=\"stylesheet\" href=\"style.css\">\n</head>\n<body>\n<main id=\"app\">\n <h1>{{NAME}}</h1>\n <p>Made with Lamp.</p>\n <button class=\"focusable\" autofocus>Start</button>\n</main>\n<script src=\"lamp.js\"></script>\n<script src=\"app.js\"></script>\n</body>\n</html>\n",
7
+ "Web/style.css": "html, body { margin: 0; width: 1920px; height: 1080px; overflow: hidden; background: #10131c; color: #f4f5f8;\n font-family: \"Segoe UI\", sans-serif; }\n#app { padding: 96px 120px; }\nh1 { font-size: 88px; margin: 0 0 24px; }\np { font-size: 40px; opacity: .8; }\nbutton { font: inherit; font-size: 40px; padding: 20px 48px; border-radius: 16px; border: 4px solid transparent;\n background: #2a3042; color: inherit; }\nbutton:focus { outline: none; border-color: #7aa2ff; transform: scale(1.06); }\n"
8
+ },
9
+ "host": "webview2",
10
+ "output": "build/app.zip",
11
+ "package": "rm -f build/app.zip && mkdir -p build && cd Web && zip -qr ../build/app.zip .",
12
+ "rules": "The app is a web page in Web/ (HTML, CSS and JavaScript, no build step and no frameworks from the network), shown full screen at 1920x1080 on the Xbox in Lamp's host for Microsoft Edge's Chromium web view (WebView2), served from the package at https://lamp.example/: modern JavaScript and CSS work, as in a current Chrome, and so does WebGL 2. The page is 1920x1080 CSS pixels, as in the preview. Design for a TV across the room: large type (36px and up), high contrast, nothing that scrolls the whole page. It's driven by the controller: Lamp's lamp.js gives the d-pad and left stick as the arrow keys, A as Enter (which also presses the focused element) and B as Escape, and the other buttons as keys named GamepadX, GamepadY, GamepadLeftShoulder, GamepadRightShoulder, GamepadLeftTrigger, GamepadRightTrigger, GamepadMenu and GamepadView; read e.key, never e.keyCode. Give every control the class `focusable` and a visible :focus style, and use the arrow-focus code in app.js; B (Escape) goes back a screen, and on the first screen does nothing, since the app stays open. index.html loads Lamp's lamp.js before app.js; keep it so. Lamp wraps Web/ into a signed Windows package itself. console.log, console.error and uncaught errors go to the app's log on the Xbox, which look_at_app with on_device shows beside the console's own screenshot: look there to see how it really runs. Lamp writes three.js in Web/three before every build (never edit it, never load a 3D library from the network); for a 3D game or scene, read the 3d-game skill with read_skill before writing it: it says how a page with no game runtime loads the library and sizes its renderer. An Xbox One is a modest console: draw many copies of one shape as one instanced draw, never as hundreds of separate meshes, reuse geometries and materials, keep to a standard lit material or cheaper, one or two lights and no real-time shadows, and aim for 60 frames a second. In a game, read the controller directly each frame while it's played with navigator.getGamepads()[0] (the standard mapping: axes 0 and 1 the left stick, 2 and 3 the right, with a dead zone of about 0.15; buttons[0] A, [1] B, [2] X, [3] Y, [4] and [5] the bumpers, [6] and [7] the triggers' value, [12] to [15] the d-pad), and ignore the arrow and Enter keys lamp.js sends meanwhile. Shake the controller with the standard gp.vibrationActuator.playEffect('dual-rumble', { duration, strongMagnitude, weakMagnitude }) ('trigger-rumble' with leftTrigger and rightTrigger for the triggers' own motors), which Lamp's host plays on the controller; keep each effect short (under a second) and call it again for a long rumble. Take the keyboard too, as the same moves (WASD or the arrows, Space, Enter, Escape for B): that's how the game is played in the preview on the person's Mac, where you try it with use_app, holding a key with amount in seconds. A game (anything played, 2D or 3D) also has capabilities.json at the app's root (beside Web/, not in it) saying {\"game\": true}: Lamp then installs it on the Xbox as a game, which the console gives about five times the memory and its whole GPU; an app with menus and pages leaves it out.",
13
+ "start": "index.html",
14
+ "support": {
15
+ "web": "Web/lamp.js",
16
+ "three": "Web/three"
17
+ },
18
+ "wrap": "msix",
19
+ "preview": "Web"
20
+ },
21
+ "purpose": "an app, or a game played through menus (a quiz, a board or card game)"
22
+ },
23
+ "supports": [
24
+ "web"
25
+ ],
26
+ "input": {
27
+ "controller": "xbox",
28
+ "layout": "xbox"
29
+ },
30
+ "bridge": {
31
+ "install": [
32
+ {
33
+ "http": {
34
+ "auth": {
35
+ "digest": false,
36
+ "password": "{field:password}",
37
+ "user": "lamp"
38
+ },
39
+ "https": true,
40
+ "path": "/api/os/info",
41
+ "port": 11443
42
+ }
43
+ },
44
+ {
45
+ "http": {
46
+ "auth": {
47
+ "digest": false,
48
+ "password": "{field:password}",
49
+ "user": "lamp"
50
+ },
51
+ "body": "{\"Value\":\"{isGame}\"}",
52
+ "headers": {
53
+ "Content-Type": "application/json",
54
+ "X-CSRF-Token": "{cookie:CSRF-Token}"
55
+ },
56
+ "https": true,
57
+ "method": "PUT",
58
+ "path": "/ext/settings/DefaultUWPContentTypeToGame",
59
+ "port": 11443,
60
+ "restore": "Value"
61
+ }
62
+ },
63
+ {
64
+ "http": {
65
+ "auth": {
66
+ "digest": false,
67
+ "password": "{field:password}",
68
+ "user": "lamp"
69
+ },
70
+ "form": {
71
+ "app.msix": "@{package}",
72
+ "lamp.cer": "@{certificate}"
73
+ },
74
+ "headers": {
75
+ "X-CSRF-Token": "{cookie:CSRF-Token}"
76
+ },
77
+ "https": true,
78
+ "method": "POST",
79
+ "path": "/api/app/packagemanager/package?package=app.msix",
80
+ "port": 11443
81
+ }
82
+ },
83
+ {
84
+ "http": {
85
+ "auth": {
86
+ "digest": false,
87
+ "password": "{field:password}",
88
+ "user": "lamp"
89
+ },
90
+ "expect": {
91
+ "equals": "true",
92
+ "json": "Success"
93
+ },
94
+ "https": true,
95
+ "path": "/api/app/packagemanager/state",
96
+ "poll": 300,
97
+ "port": 11443
98
+ }
99
+ },
100
+ {
101
+ "http": {
102
+ "auth": {
103
+ "digest": false,
104
+ "password": "{field:password}",
105
+ "user": "lamp"
106
+ },
107
+ "expect": {
108
+ "equals": "{packageFullName}",
109
+ "json": "InstalledPackages.*.PackageFullName"
110
+ },
111
+ "https": true,
112
+ "path": "/api/app/packagemanager/packages",
113
+ "port": 11443,
114
+ "until": 120
115
+ }
116
+ }
117
+ ],
118
+ "launch": [
119
+ {
120
+ "http": {
121
+ "auth": {
122
+ "digest": false,
123
+ "password": "{field:password}",
124
+ "user": "lamp"
125
+ },
126
+ "https": true,
127
+ "path": "/api/os/info",
128
+ "port": 11443
129
+ }
130
+ },
131
+ {
132
+ "http": {
133
+ "auth": {
134
+ "digest": false,
135
+ "password": "{field:password}",
136
+ "user": "lamp"
137
+ },
138
+ "headers": {
139
+ "X-CSRF-Token": "{cookie:CSRF-Token}"
140
+ },
141
+ "https": true,
142
+ "method": "POST",
143
+ "path": "/api/taskmanager/app?appid={base64:appUserModelID}&package={base64:packageFullName}",
144
+ "port": 11443
145
+ }
146
+ }
147
+ ],
148
+ "running": [
149
+ {
150
+ "http": {
151
+ "auth": {
152
+ "digest": false,
153
+ "password": "{field:password}",
154
+ "user": "lamp"
155
+ },
156
+ "expect": {
157
+ "equals": "{packageFullName}",
158
+ "json": "Processes.*.PackageFullName"
159
+ },
160
+ "https": true,
161
+ "path": "/api/resourcemanager/processes",
162
+ "port": 11443,
163
+ "until": 8
164
+ }
165
+ }
166
+ ],
167
+ "look": [
168
+ {
169
+ "http": {
170
+ "auth": {
171
+ "digest": false,
172
+ "password": "{field:password}",
173
+ "user": "lamp"
174
+ },
175
+ "https": true,
176
+ "keep": "picture",
177
+ "path": "/ext/screenshot",
178
+ "port": 11443
179
+ }
180
+ }
181
+ ],
182
+ "stop": [
183
+ {
184
+ "http": {
185
+ "auth": {
186
+ "digest": false,
187
+ "password": "{field:password}",
188
+ "user": "lamp"
189
+ },
190
+ "https": true,
191
+ "path": "/api/os/info",
192
+ "port": 11443
193
+ }
194
+ },
195
+ {
196
+ "http": {
197
+ "auth": {
198
+ "digest": false,
199
+ "password": "{field:password}",
200
+ "user": "lamp"
201
+ },
202
+ "headers": {
203
+ "X-CSRF-Token": "{cookie:CSRF-Token}"
204
+ },
205
+ "https": true,
206
+ "method": "DELETE",
207
+ "path": "/api/taskmanager/app?package={base64:packageFullName}&forcestop=yes",
208
+ "port": 11443
209
+ }
210
+ }
211
+ ],
212
+ "log": [
213
+ {
214
+ "http": {
215
+ "auth": {
216
+ "digest": false,
217
+ "password": "{field:password}",
218
+ "user": "lamp"
219
+ },
220
+ "https": true,
221
+ "keep": "log",
222
+ "path": "/api/filesystem/apps/file?knownfolderid=LocalAppData&packagefullname={packageFullName}&path=%5CLocalState&filename=log.txt",
223
+ "port": 11443
224
+ }
225
+ }
226
+ ],
227
+ "remove": [
228
+ {
229
+ "http": {
230
+ "auth": {
231
+ "digest": false,
232
+ "password": "{field:password}",
233
+ "user": "lamp"
234
+ },
235
+ "https": true,
236
+ "path": "/api/os/info",
237
+ "port": 11443
238
+ }
239
+ },
240
+ {
241
+ "http": {
242
+ "auth": {
243
+ "digest": false,
244
+ "password": "{field:password}",
245
+ "user": "lamp"
246
+ },
247
+ "headers": {
248
+ "X-CSRF-Token": "{cookie:CSRF-Token}"
249
+ },
250
+ "https": true,
251
+ "method": "DELETE",
252
+ "path": "/api/app/packagemanager/package?package={packageFullName}",
253
+ "port": 11443
254
+ }
255
+ }
256
+ ]
257
+ },
258
+ "find": [
259
+ {
260
+ "contains": "UPnP-Device-Host",
261
+ "ssdp": "urn:schemas-upnp-org:device:MediaRenderer:1"
262
+ }
263
+ ],
264
+ "id": "xbox-one",
265
+ "identity": {
266
+ "id": {
267
+ "description": true,
268
+ "xml": "device/UDN"
269
+ },
270
+ "model": {
271
+ "contains": "Xbox",
272
+ "description": true,
273
+ "xml": "device/modelName"
274
+ },
275
+ "name": {
276
+ "description": true,
277
+ "xml": "device/friendlyName"
278
+ },
279
+ "os": "Xbox OS"
280
+ },
281
+ "kind": "game console",
282
+ "maker": "Microsoft",
283
+ "name": "Xbox",
284
+ "sources": [
285
+ "https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/devkit-activation",
286
+ "https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/device-portal-xbox",
287
+ "https://learn.microsoft.com/en-us/windows/uwp/debug-test-perf/device-portal-api-core"
288
+ ],
289
+ "steps": [
290
+ {
291
+ "accepts": [
292
+ "account",
293
+ "softwareRisk"
294
+ ],
295
+ "check": [
296
+ {
297
+ "tcp": 11443
298
+ }
299
+ ],
300
+ "id": "dev-mode",
301
+ "known": {
302
+ "how": "people",
303
+ "model": "Xbox Series X",
304
+ "source": "https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/devkit-activation",
305
+ "version": "10.0.26100"
306
+ },
307
+ "lines": [
308
+ "Join the Microsoft developer program at the link (one-time fee)",
309
+ "On the Xbox, install Xbox Dev Mode from the Store",
310
+ "Open it and enter its code at aka.ms/activatexbox",
311
+ "Back on the Xbox, choose Switch and restart",
312
+ "In Dev Home, open Remote Access Settings",
313
+ "Check Enable Xbox Device Portal"
314
+ ],
315
+ "link": "https://partner.microsoft.com/dashboard/registration",
316
+ "title": "Switch the Xbox to Developer Mode",
317
+ "wait": true
318
+ },
319
+ {
320
+ "check": [
321
+ {
322
+ "field": "password"
323
+ },
324
+ {
325
+ "contains": "Xbox",
326
+ "http": {
327
+ "auth": {
328
+ "digest": false,
329
+ "password": "{field:password}",
330
+ "user": "lamp"
331
+ },
332
+ "https": true,
333
+ "path": "/api/os/info",
334
+ "port": 11443
335
+ },
336
+ "json": "Platform"
337
+ }
338
+ ],
339
+ "field": {
340
+ "key": "password",
341
+ "label": "Device Portal password",
342
+ "secret": true
343
+ },
344
+ "id": "device-portal",
345
+ "known": {
346
+ "how": "people",
347
+ "model": "Xbox Series X",
348
+ "source": "https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/device-portal-xbox",
349
+ "version": "10.0.26100"
350
+ },
351
+ "lines": [
352
+ "In Remote Access Settings, choose Set username and password",
353
+ "Use lamp as the user name, and pick a password",
354
+ "Type that password here"
355
+ ],
356
+ "model": true,
357
+ "title": "Give Lamp the Device Portal password"
358
+ }
359
+ ],
360
+ "kinds": {
361
+ "game": {
362
+ "lamp": "native-game",
363
+ "purpose": "a game of Lamp's own (C++ on its game kit) when it's played on the Xbox: the package it goes there as"
364
+ }
365
+ },
366
+ "certificateRoot": "/config/rootcertificate"
367
+ }
@@ -0,0 +1,63 @@
1
+ # The game kit's libraries
2
+
3
+ Lamp writes these into every Xbox game it makes, and the game is built with them. Each is used as published, at the
4
+ commit named, under its own licence.
5
+
6
+ - sokol_gfx.h, sokol_log.h, sokol_gl.h, sokol_debugtext.h, sokol_shape.h: https://github.com/floooh/sokol at
7
+ efeb77603e24daea7d1dd6445b9358bb5d82533b, zlib licence (below).
8
+ - HandmadeMath.h: https://github.com/HandmadeMath/HandmadeMath at 661fef0893bccfe30342049e848b8d54e7430234, public
9
+ domain (the file's own words, with a fallback grant of a perpetual, irrevocable license to copy, modify and
10
+ distribute it).
11
+ - cgltf.h: https://github.com/jkuhlmann/cgltf at 85cd62382dfea638278962690cf515023f33ed00, MIT licence, Copyright (c)
12
+ 2018-2021 Johannes Kuhlmann.
13
+ - stb_image.h and stb_vorbis.c: https://github.com/nothings/stb at 003501f6d7a8668ce8b6d875e34dd97ad0d5d5b5, MIT
14
+ licence or public domain, Copyright (c) 2017 Sean Barrett (the licence is at the end of each file).
15
+ - dr_wav.h, dr_mp3.h: https://github.com/mackron/dr_libs at dfe8377631000664666519fdb83da193fd8037f4, public domain
16
+ (Unlicense) or MIT No Attribution, Copyright 2023 David Reid (the licence is at the end of each file).
17
+
18
+ ## sokol
19
+
20
+ zlib/libpng license
21
+
22
+ Copyright (c) 2018 Andre Weissflog
23
+
24
+ This software is provided 'as-is', without any express or implied warranty.
25
+ In no event will the authors be held liable for any damages arising from the
26
+ use of this software.
27
+
28
+ Permission is granted to anyone to use this software for any purpose,
29
+ including commercial applications, and to alter it and redistribute it
30
+ freely, subject to the following restrictions:
31
+
32
+ 1. The origin of this software must not be misrepresented; you must not
33
+ claim that you wrote the original software. If you use this software in a
34
+ product, an acknowledgment in the product documentation would be
35
+ appreciated but is not required.
36
+
37
+ 2. Altered source versions must be plainly marked as such, and must not
38
+ be misrepresented as being the original software.
39
+
40
+ 3. This notice may not be removed or altered from any source
41
+ distribution.
42
+
43
+ ## MIT licence (cgltf)
44
+
45
+ Copyright (c) 2018-2021 Johannes Kuhlmann
46
+
47
+ Permission is hereby granted, free of charge, to any person obtaining a copy
48
+ of this software and associated documentation files (the "Software"), to deal
49
+ in the Software without restriction, including without limitation the rights
50
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
51
+ copies of the Software, and to permit persons to whom the Software is
52
+ furnished to do so, subject to the following conditions:
53
+
54
+ The above copyright notice and this permission notice shall be included in all
55
+ copies or substantial portions of the Software.
56
+
57
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
58
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
59
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
60
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
61
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
62
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
63
+ SOFTWARE.