polyweave-gamekit 0.1.0__py3-none-any.whl

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 (685) hide show
  1. polyweave/__init__.py +66 -0
  2. polyweave/__main__.py +7 -0
  3. polyweave/kernel/__init__.py +1 -0
  4. polyweave/kernel/cache.py +182 -0
  5. polyweave/kernel/codes.py +1344 -0
  6. polyweave/kernel/config.py +1147 -0
  7. polyweave/kernel/describe.py +400 -0
  8. polyweave/kernel/doors.py +75 -0
  9. polyweave/kernel/errors.py +291 -0
  10. polyweave/kernel/files.py +69 -0
  11. polyweave/kernel/git.py +75 -0
  12. polyweave/kernel/image.py +90 -0
  13. polyweave/kernel/jobs/__init__.py +30 -0
  14. polyweave/kernel/jobs/children.py +64 -0
  15. polyweave/kernel/jobs/process.py +262 -0
  16. polyweave/kernel/jobs/record.py +211 -0
  17. polyweave/kernel/jobs/report.py +92 -0
  18. polyweave/kernel/jobs/runner.py +420 -0
  19. polyweave/kernel/jobs/stages.py +63 -0
  20. polyweave/kernel/jobs/worker.py +201 -0
  21. polyweave/kernel/layer.py +489 -0
  22. polyweave/kernel/post/__init__.py +165 -0
  23. polyweave/kernel/post/files.py +68 -0
  24. polyweave/kernel/post/mesh.py +150 -0
  25. polyweave/kernel/post/pixels.py +358 -0
  26. polyweave/kernel/post/voxels.py +302 -0
  27. polyweave/kernel/provenance.py +1167 -0
  28. polyweave/layers/__init__.py +1 -0
  29. polyweave/layers/engine/__init__.py +1 -0
  30. polyweave/layers/engine/capture.py +1020 -0
  31. polyweave/layers/engine/codes.py +441 -0
  32. polyweave/layers/engine/contrast.py +382 -0
  33. polyweave/layers/engine/driving.py +1669 -0
  34. polyweave/layers/engine/engine.py +589 -0
  35. polyweave/layers/engine/flashes.py +237 -0
  36. polyweave/layers/engine/frame_cost.py +289 -0
  37. polyweave/layers/engine/godot/__init__.py +63 -0
  38. polyweave/layers/engine/godot/addons/polyweave_driver/driver.gd +879 -0
  39. polyweave/layers/engine/godot/addons/polyweave_voxels/voxel.gdshader +25 -0
  40. polyweave/layers/engine/godot/addons/polyweave_voxels/voxel_draw.gd +117 -0
  41. polyweave/layers/engine/godot/addons/polyweave_voxels/voxel_model.gd +127 -0
  42. polyweave/layers/engine/godot/addons/polyweave_voxels/voxels.gd +73 -0
  43. polyweave/layers/engine/godot/first_screen.gd +35 -0
  44. polyweave/layers/engine/godot/parse_all.gd +26 -0
  45. polyweave/layers/engine/godot/perf_run.gd +57 -0
  46. polyweave/layers/engine/godot/preset_run.gd +71 -0
  47. polyweave/layers/engine/godot/quiet_draw.gd +23 -0
  48. polyweave/layers/engine/integrity.py +329 -0
  49. polyweave/layers/engine/layer.py +101 -0
  50. polyweave/layers/engine/offscreen.py +397 -0
  51. polyweave/layers/engine/pack.py +134 -0
  52. polyweave/layers/engine/perf.py +144 -0
  53. polyweave/layers/engine/presets.py +186 -0
  54. polyweave/layers/engine/pressure.py +264 -0
  55. polyweave/layers/engine/runs.py +131 -0
  56. polyweave/layers/engine/settings.py +66 -0
  57. polyweave/layers/engine/states.py +165 -0
  58. polyweave/layers/engine/tables.py +235 -0
  59. polyweave/layers/engine/testing.py +248 -0
  60. polyweave/layers/geometry/__init__.py +604 -0
  61. polyweave/layers/geometry/blend.py +215 -0
  62. polyweave/layers/geometry/build.py +210 -0
  63. polyweave/layers/geometry/codes.py +341 -0
  64. polyweave/layers/geometry/cost.py +426 -0
  65. polyweave/layers/geometry/custom.py +149 -0
  66. polyweave/layers/geometry/expr.py +215 -0
  67. polyweave/layers/geometry/finish.py +671 -0
  68. polyweave/layers/geometry/fracture.py +208 -0
  69. polyweave/layers/geometry/kit.py +189 -0
  70. polyweave/layers/geometry/layer.py +152 -0
  71. polyweave/layers/geometry/looks/__init__.py +87 -0
  72. polyweave/layers/geometry/looks/finish.py +15 -0
  73. polyweave/layers/geometry/looks/fuzz.py +23 -0
  74. polyweave/layers/geometry/make.py +611 -0
  75. polyweave/layers/geometry/mesh_buy.py +192 -0
  76. polyweave/layers/geometry/normalise.py +994 -0
  77. polyweave/layers/geometry/ops/__init__.py +69 -0
  78. polyweave/layers/geometry/ops/_shared.py +97 -0
  79. polyweave/layers/geometry/ops/annulus.py +31 -0
  80. polyweave/layers/geometry/ops/bevel.py +36 -0
  81. polyweave/layers/geometry/ops/blend.py +66 -0
  82. polyweave/layers/geometry/ops/carve.py +41 -0
  83. polyweave/layers/geometry/ops/cells.py +48 -0
  84. polyweave/layers/geometry/ops/crowned.py +30 -0
  85. polyweave/layers/geometry/ops/custom.py +23 -0
  86. polyweave/layers/geometry/ops/inflate.py +70 -0
  87. polyweave/layers/geometry/ops/mesh.py +40 -0
  88. polyweave/layers/geometry/ops/mirror.py +55 -0
  89. polyweave/layers/geometry/ops/model.py +125 -0
  90. polyweave/layers/geometry/ops/paint.py +59 -0
  91. polyweave/layers/geometry/ops/plate.py +62 -0
  92. polyweave/layers/geometry/ops/primitive.py +54 -0
  93. polyweave/layers/geometry/ops/prism.py +56 -0
  94. polyweave/layers/geometry/ops/transform.py +51 -0
  95. polyweave/layers/geometry/ops/union.py +44 -0
  96. polyweave/layers/geometry/outline.py +409 -0
  97. polyweave/layers/geometry/page.py +22 -0
  98. polyweave/layers/geometry/port.py +387 -0
  99. polyweave/layers/geometry/render/__init__.py +781 -0
  100. polyweave/layers/geometry/render/blender.py +959 -0
  101. polyweave/layers/geometry/render/rig.py +221 -0
  102. polyweave/layers/geometry/representations/__init__.py +66 -0
  103. polyweave/layers/geometry/representations/mesh.py +133 -0
  104. polyweave/layers/geometry/representations/voxels/__init__.py +69 -0
  105. polyweave/layers/geometry/representations/voxels/colour.py +124 -0
  106. polyweave/layers/geometry/representations/voxels/compare.py +163 -0
  107. polyweave/layers/geometry/representations/voxels/fit.py +421 -0
  108. polyweave/layers/geometry/representations/voxels/model.py +1029 -0
  109. polyweave/layers/geometry/representations/voxels/sheet.py +281 -0
  110. polyweave/layers/geometry/review.py +435 -0
  111. polyweave/layers/geometry/settings.py +62 -0
  112. polyweave/layers/geometry/shape.py +276 -0
  113. polyweave/layers/geometry/solid.py +1125 -0
  114. polyweave/layers/geometry/solver.py +222 -0
  115. polyweave/layers/geometry/surface.py +297 -0
  116. polyweave/layers/geometry/texture.py +307 -0
  117. polyweave/layers/geometry/tuning.py +140 -0
  118. polyweave/layers/geometry/units.py +314 -0
  119. polyweave/layers/kits/__init__.py +1259 -0
  120. polyweave/layers/kits/access/core/access.gd +216 -0
  121. polyweave/layers/kits/access/core/filter.gdshader +31 -0
  122. polyweave/layers/kits/access/core/filters.gd +64 -0
  123. polyweave/layers/kits/access/core/flash_run.gd +42 -0
  124. polyweave/layers/kits/access/core/options.gd +47 -0
  125. polyweave/layers/kits/access/core/proof.gd +345 -0
  126. polyweave/layers/kits/access/fixture/flash.gd +11 -0
  127. polyweave/layers/kits/access/fixture/flash.tscn +10 -0
  128. polyweave/layers/kits/access/fixture/main.tscn +35 -0
  129. polyweave/layers/kits/access/fixture/polyweave_access.gd +10 -0
  130. polyweave/layers/kits/access/fixture/project.godot +9 -0
  131. polyweave/layers/kits/access/fixture/shake.gd +8 -0
  132. polyweave/layers/kits/access/fixture/shake.tscn +8 -0
  133. polyweave/layers/kits/access/kit.toml +22 -0
  134. polyweave/layers/kits/audio/core/audio.gd +276 -0
  135. polyweave/layers/kits/audio/core/options.gd +23 -0
  136. polyweave/layers/kits/audio/core/proof.gd +334 -0
  137. polyweave/layers/kits/audio/fixture/main.tscn +3 -0
  138. polyweave/layers/kits/audio/fixture/polyweave_audio.gd +15 -0
  139. polyweave/layers/kits/audio/fixture/project.godot +9 -0
  140. polyweave/layers/kits/audio/fixture/sounds/confirm.wav +0 -0
  141. polyweave/layers/kits/audio/fixture/sounds/focus.wav +0 -0
  142. polyweave/layers/kits/audio/kit.toml +20 -0
  143. polyweave/layers/kits/codes.py +39 -0
  144. polyweave/layers/kits/crash/core/catcher.gd +30 -0
  145. polyweave/layers/kits/crash/core/log.gd +161 -0
  146. polyweave/layers/kits/crash/core/proof.gd +70 -0
  147. polyweave/layers/kits/crash/fixture/main.gd +8 -0
  148. polyweave/layers/kits/crash/fixture/main.tscn +6 -0
  149. polyweave/layers/kits/crash/fixture/project.godot +9 -0
  150. polyweave/layers/kits/crash/kit.toml +19 -0
  151. polyweave/layers/kits/credits/core/credits.gd +83 -0
  152. polyweave/layers/kits/credits/core/proof.gd +104 -0
  153. polyweave/layers/kits/credits/fixture/art/badge.png +0 -0
  154. polyweave/layers/kits/credits/fixture/art/badge.png.prov.json +34 -0
  155. polyweave/layers/kits/credits/fixture/art/mark.png +0 -0
  156. polyweave/layers/kits/credits/fixture/art/mark.png.prov.json +33 -0
  157. polyweave/layers/kits/credits/fixture/credits.json +24 -0
  158. polyweave/layers/kits/credits/fixture/main.tscn +3 -0
  159. polyweave/layers/kits/credits/fixture/polyweave.toml +4 -0
  160. polyweave/layers/kits/credits/fixture/project.godot +9 -0
  161. polyweave/layers/kits/credits/fixture/source/badge.png +0 -0
  162. polyweave/layers/kits/credits/fixture/source/mark.png +0 -0
  163. polyweave/layers/kits/credits/kit.toml +21 -0
  164. polyweave/layers/kits/credits/scene/credits.tscn +11 -0
  165. polyweave/layers/kits/determinism/core/proof.gd +100 -0
  166. polyweave/layers/kits/determinism/core/random.gd +69 -0
  167. polyweave/layers/kits/determinism/core/recorder.gd +76 -0
  168. polyweave/layers/kits/determinism/fixture/main.gd +16 -0
  169. polyweave/layers/kits/determinism/fixture/main.tscn +6 -0
  170. polyweave/layers/kits/determinism/fixture/polyweave_random.gd +8 -0
  171. polyweave/layers/kits/determinism/fixture/polyweave_state.gd +8 -0
  172. polyweave/layers/kits/determinism/fixture/project.godot +16 -0
  173. polyweave/layers/kits/determinism/fixture/record.json +4 -0
  174. polyweave/layers/kits/determinism/kit.toml +18 -0
  175. polyweave/layers/kits/dialogue/core/dialogue.gd +150 -0
  176. polyweave/layers/kits/dialogue/core/proof.gd +184 -0
  177. polyweave/layers/kits/dialogue/fixture/art/luna.png +0 -0
  178. polyweave/layers/kits/dialogue/fixture/i18n/strings.csv +6 -0
  179. polyweave/layers/kits/dialogue/fixture/main.tscn +3 -0
  180. polyweave/layers/kits/dialogue/fixture/polyweave_dialogue.gd +11 -0
  181. polyweave/layers/kits/dialogue/fixture/project.godot +9 -0
  182. polyweave/layers/kits/dialogue/kit.toml +21 -0
  183. polyweave/layers/kits/dialogue/scene/dialogue_box.tscn +41 -0
  184. polyweave/layers/kits/graphics/core/graphics.gd +162 -0
  185. polyweave/layers/kits/graphics/core/options.gd +18 -0
  186. polyweave/layers/kits/graphics/core/proof.gd +68 -0
  187. polyweave/layers/kits/graphics/fixture/main.tscn +17 -0
  188. polyweave/layers/kits/graphics/fixture/project.godot +9 -0
  189. polyweave/layers/kits/graphics/kit.toml +19 -0
  190. polyweave/layers/kits/language/core/language.gd +178 -0
  191. polyweave/layers/kits/language/core/options.gd +19 -0
  192. polyweave/layers/kits/language/core/proof.gd +125 -0
  193. polyweave/layers/kits/language/fixture/fonts/kana.ttf +0 -0
  194. polyweave/layers/kits/language/fixture/i18n/strings.csv +7 -0
  195. polyweave/layers/kits/language/fixture/main.tscn +39 -0
  196. polyweave/layers/kits/language/fixture/polyweave_language.gd +7 -0
  197. polyweave/layers/kits/language/fixture/project.godot +9 -0
  198. polyweave/layers/kits/language/kit.toml +22 -0
  199. polyweave/layers/kits/launch/core/proof.gd +134 -0
  200. polyweave/layers/kits/launch/core/scenes.gd +142 -0
  201. polyweave/layers/kits/launch/core/splash.gd +78 -0
  202. polyweave/layers/kits/launch/fixture/logo.png +0 -0
  203. polyweave/layers/kits/launch/fixture/main.tscn +3 -0
  204. polyweave/layers/kits/launch/fixture/polyweave_launch.gd +6 -0
  205. polyweave/layers/kits/launch/fixture/project.godot +8 -0
  206. polyweave/layers/kits/launch/kit.toml +20 -0
  207. polyweave/layers/kits/launch/scene/splash.tscn +13 -0
  208. polyweave/layers/kits/layer.py +27 -0
  209. polyweave/layers/kits/menus/core/confirm.gd +13 -0
  210. polyweave/layers/kits/menus/core/menu.gd +108 -0
  211. polyweave/layers/kits/menus/core/pause.gd +54 -0
  212. polyweave/layers/kits/menus/core/proof.gd +146 -0
  213. polyweave/layers/kits/menus/fixture/main.tscn +3 -0
  214. polyweave/layers/kits/menus/fixture/project.godot +15 -0
  215. polyweave/layers/kits/menus/kit.toml +21 -0
  216. polyweave/layers/kits/menus/scene/main_menu.tscn +17 -0
  217. polyweave/layers/kits/options/core/options_screen.gd +159 -0
  218. polyweave/layers/kits/options/core/proof.gd +256 -0
  219. polyweave/layers/kits/options/core/settings.gd +285 -0
  220. polyweave/layers/kits/options/fixture/main.tscn +3 -0
  221. polyweave/layers/kits/options/fixture/polyweave_options.gd +31 -0
  222. polyweave/layers/kits/options/fixture/project.godot +8 -0
  223. polyweave/layers/kits/options/kit.toml +31 -0
  224. polyweave/layers/kits/options/scene/options_screen.tscn +13 -0
  225. polyweave/layers/kits/players/core/players.gd +237 -0
  226. polyweave/layers/kits/players/core/proof.gd +234 -0
  227. polyweave/layers/kits/players/fixture/main.tscn +3 -0
  228. polyweave/layers/kits/players/fixture/project.godot +20 -0
  229. polyweave/layers/kits/players/kit.toml +23 -0
  230. polyweave/layers/kits/presence/core/presence.gd +176 -0
  231. polyweave/layers/kits/presence/core/proof.gd +118 -0
  232. polyweave/layers/kits/presence/fixture/main.tscn +3 -0
  233. polyweave/layers/kits/presence/fixture/project.godot +9 -0
  234. polyweave/layers/kits/presence/kit.toml +20 -0
  235. polyweave/layers/kits/prompts/core/icons/generic/dpad_down_64.png +0 -0
  236. polyweave/layers/kits/prompts/core/icons/generic/dpad_down_64.png.prov.json +28 -0
  237. polyweave/layers/kits/prompts/core/icons/generic/dpad_left_64.png +0 -0
  238. polyweave/layers/kits/prompts/core/icons/generic/dpad_left_64.png.prov.json +28 -0
  239. polyweave/layers/kits/prompts/core/icons/generic/dpad_right_64.png +0 -0
  240. polyweave/layers/kits/prompts/core/icons/generic/dpad_right_64.png.prov.json +28 -0
  241. polyweave/layers/kits/prompts/core/icons/generic/dpad_up_64.png +0 -0
  242. polyweave/layers/kits/prompts/core/icons/generic/dpad_up_64.png.prov.json +28 -0
  243. polyweave/layers/kits/prompts/core/icons/generic/east_64.png +0 -0
  244. polyweave/layers/kits/prompts/core/icons/generic/east_64.png.prov.json +28 -0
  245. polyweave/layers/kits/prompts/core/icons/generic/l_stick_64.png +0 -0
  246. polyweave/layers/kits/prompts/core/icons/generic/l_stick_64.png.prov.json +28 -0
  247. polyweave/layers/kits/prompts/core/icons/generic/lb_64.png +0 -0
  248. polyweave/layers/kits/prompts/core/icons/generic/lb_64.png.prov.json +28 -0
  249. polyweave/layers/kits/prompts/core/icons/generic/ls_64.png +0 -0
  250. polyweave/layers/kits/prompts/core/icons/generic/ls_64.png.prov.json +28 -0
  251. polyweave/layers/kits/prompts/core/icons/generic/lt_64.png +0 -0
  252. polyweave/layers/kits/prompts/core/icons/generic/lt_64.png.prov.json +28 -0
  253. polyweave/layers/kits/prompts/core/icons/generic/north_64.png +0 -0
  254. polyweave/layers/kits/prompts/core/icons/generic/north_64.png.prov.json +28 -0
  255. polyweave/layers/kits/prompts/core/icons/generic/r_stick_64.png +0 -0
  256. polyweave/layers/kits/prompts/core/icons/generic/r_stick_64.png.prov.json +28 -0
  257. polyweave/layers/kits/prompts/core/icons/generic/rb_64.png +0 -0
  258. polyweave/layers/kits/prompts/core/icons/generic/rb_64.png.prov.json +28 -0
  259. polyweave/layers/kits/prompts/core/icons/generic/rs_64.png +0 -0
  260. polyweave/layers/kits/prompts/core/icons/generic/rs_64.png.prov.json +28 -0
  261. polyweave/layers/kits/prompts/core/icons/generic/rt_64.png +0 -0
  262. polyweave/layers/kits/prompts/core/icons/generic/rt_64.png.prov.json +28 -0
  263. polyweave/layers/kits/prompts/core/icons/generic/select_64.png +0 -0
  264. polyweave/layers/kits/prompts/core/icons/generic/select_64.png.prov.json +28 -0
  265. polyweave/layers/kits/prompts/core/icons/generic/south_64.png +0 -0
  266. polyweave/layers/kits/prompts/core/icons/generic/south_64.png.prov.json +28 -0
  267. polyweave/layers/kits/prompts/core/icons/generic/start_64.png +0 -0
  268. polyweave/layers/kits/prompts/core/icons/generic/start_64.png.prov.json +28 -0
  269. polyweave/layers/kits/prompts/core/icons/generic/west_64.png +0 -0
  270. polyweave/layers/kits/prompts/core/icons/generic/west_64.png.prov.json +28 -0
  271. polyweave/layers/kits/prompts/core/icons/keyboard/key_0_64.png +0 -0
  272. polyweave/layers/kits/prompts/core/icons/keyboard/key_0_64.png.prov.json +28 -0
  273. polyweave/layers/kits/prompts/core/icons/keyboard/key_1_64.png +0 -0
  274. polyweave/layers/kits/prompts/core/icons/keyboard/key_1_64.png.prov.json +28 -0
  275. polyweave/layers/kits/prompts/core/icons/keyboard/key_2_64.png +0 -0
  276. polyweave/layers/kits/prompts/core/icons/keyboard/key_2_64.png.prov.json +28 -0
  277. polyweave/layers/kits/prompts/core/icons/keyboard/key_3_64.png +0 -0
  278. polyweave/layers/kits/prompts/core/icons/keyboard/key_3_64.png.prov.json +28 -0
  279. polyweave/layers/kits/prompts/core/icons/keyboard/key_4_64.png +0 -0
  280. polyweave/layers/kits/prompts/core/icons/keyboard/key_4_64.png.prov.json +28 -0
  281. polyweave/layers/kits/prompts/core/icons/keyboard/key_5_64.png +0 -0
  282. polyweave/layers/kits/prompts/core/icons/keyboard/key_5_64.png.prov.json +28 -0
  283. polyweave/layers/kits/prompts/core/icons/keyboard/key_6_64.png +0 -0
  284. polyweave/layers/kits/prompts/core/icons/keyboard/key_6_64.png.prov.json +28 -0
  285. polyweave/layers/kits/prompts/core/icons/keyboard/key_7_64.png +0 -0
  286. polyweave/layers/kits/prompts/core/icons/keyboard/key_7_64.png.prov.json +28 -0
  287. polyweave/layers/kits/prompts/core/icons/keyboard/key_8_64.png +0 -0
  288. polyweave/layers/kits/prompts/core/icons/keyboard/key_8_64.png.prov.json +28 -0
  289. polyweave/layers/kits/prompts/core/icons/keyboard/key_9_64.png +0 -0
  290. polyweave/layers/kits/prompts/core/icons/keyboard/key_9_64.png.prov.json +28 -0
  291. polyweave/layers/kits/prompts/core/icons/keyboard/key_a_64.png +0 -0
  292. polyweave/layers/kits/prompts/core/icons/keyboard/key_a_64.png.prov.json +28 -0
  293. polyweave/layers/kits/prompts/core/icons/keyboard/key_alt_64.png +0 -0
  294. polyweave/layers/kits/prompts/core/icons/keyboard/key_alt_64.png.prov.json +28 -0
  295. polyweave/layers/kits/prompts/core/icons/keyboard/key_b_64.png +0 -0
  296. polyweave/layers/kits/prompts/core/icons/keyboard/key_b_64.png.prov.json +28 -0
  297. polyweave/layers/kits/prompts/core/icons/keyboard/key_backspace_64.png +0 -0
  298. polyweave/layers/kits/prompts/core/icons/keyboard/key_backspace_64.png.prov.json +28 -0
  299. polyweave/layers/kits/prompts/core/icons/keyboard/key_c_64.png +0 -0
  300. polyweave/layers/kits/prompts/core/icons/keyboard/key_c_64.png.prov.json +28 -0
  301. polyweave/layers/kits/prompts/core/icons/keyboard/key_ctrl_64.png +0 -0
  302. polyweave/layers/kits/prompts/core/icons/keyboard/key_ctrl_64.png.prov.json +28 -0
  303. polyweave/layers/kits/prompts/core/icons/keyboard/key_d_64.png +0 -0
  304. polyweave/layers/kits/prompts/core/icons/keyboard/key_d_64.png.prov.json +28 -0
  305. polyweave/layers/kits/prompts/core/icons/keyboard/key_down_64.png +0 -0
  306. polyweave/layers/kits/prompts/core/icons/keyboard/key_down_64.png.prov.json +28 -0
  307. polyweave/layers/kits/prompts/core/icons/keyboard/key_e_64.png +0 -0
  308. polyweave/layers/kits/prompts/core/icons/keyboard/key_e_64.png.prov.json +28 -0
  309. polyweave/layers/kits/prompts/core/icons/keyboard/key_enter_64.png +0 -0
  310. polyweave/layers/kits/prompts/core/icons/keyboard/key_enter_64.png.prov.json +28 -0
  311. polyweave/layers/kits/prompts/core/icons/keyboard/key_escape_64.png +0 -0
  312. polyweave/layers/kits/prompts/core/icons/keyboard/key_escape_64.png.prov.json +28 -0
  313. polyweave/layers/kits/prompts/core/icons/keyboard/key_f_64.png +0 -0
  314. polyweave/layers/kits/prompts/core/icons/keyboard/key_f_64.png.prov.json +28 -0
  315. polyweave/layers/kits/prompts/core/icons/keyboard/key_g_64.png +0 -0
  316. polyweave/layers/kits/prompts/core/icons/keyboard/key_g_64.png.prov.json +28 -0
  317. polyweave/layers/kits/prompts/core/icons/keyboard/key_h_64.png +0 -0
  318. polyweave/layers/kits/prompts/core/icons/keyboard/key_h_64.png.prov.json +28 -0
  319. polyweave/layers/kits/prompts/core/icons/keyboard/key_i_64.png +0 -0
  320. polyweave/layers/kits/prompts/core/icons/keyboard/key_i_64.png.prov.json +28 -0
  321. polyweave/layers/kits/prompts/core/icons/keyboard/key_j_64.png +0 -0
  322. polyweave/layers/kits/prompts/core/icons/keyboard/key_j_64.png.prov.json +28 -0
  323. polyweave/layers/kits/prompts/core/icons/keyboard/key_k_64.png +0 -0
  324. polyweave/layers/kits/prompts/core/icons/keyboard/key_k_64.png.prov.json +28 -0
  325. polyweave/layers/kits/prompts/core/icons/keyboard/key_l_64.png +0 -0
  326. polyweave/layers/kits/prompts/core/icons/keyboard/key_l_64.png.prov.json +28 -0
  327. polyweave/layers/kits/prompts/core/icons/keyboard/key_left_64.png +0 -0
  328. polyweave/layers/kits/prompts/core/icons/keyboard/key_left_64.png.prov.json +28 -0
  329. polyweave/layers/kits/prompts/core/icons/keyboard/key_m_64.png +0 -0
  330. polyweave/layers/kits/prompts/core/icons/keyboard/key_m_64.png.prov.json +28 -0
  331. polyweave/layers/kits/prompts/core/icons/keyboard/key_n_64.png +0 -0
  332. polyweave/layers/kits/prompts/core/icons/keyboard/key_n_64.png.prov.json +28 -0
  333. polyweave/layers/kits/prompts/core/icons/keyboard/key_o_64.png +0 -0
  334. polyweave/layers/kits/prompts/core/icons/keyboard/key_o_64.png.prov.json +28 -0
  335. polyweave/layers/kits/prompts/core/icons/keyboard/key_p_64.png +0 -0
  336. polyweave/layers/kits/prompts/core/icons/keyboard/key_p_64.png.prov.json +28 -0
  337. polyweave/layers/kits/prompts/core/icons/keyboard/key_q_64.png +0 -0
  338. polyweave/layers/kits/prompts/core/icons/keyboard/key_q_64.png.prov.json +28 -0
  339. polyweave/layers/kits/prompts/core/icons/keyboard/key_r_64.png +0 -0
  340. polyweave/layers/kits/prompts/core/icons/keyboard/key_r_64.png.prov.json +28 -0
  341. polyweave/layers/kits/prompts/core/icons/keyboard/key_right_64.png +0 -0
  342. polyweave/layers/kits/prompts/core/icons/keyboard/key_right_64.png.prov.json +28 -0
  343. polyweave/layers/kits/prompts/core/icons/keyboard/key_s_64.png +0 -0
  344. polyweave/layers/kits/prompts/core/icons/keyboard/key_s_64.png.prov.json +28 -0
  345. polyweave/layers/kits/prompts/core/icons/keyboard/key_shift_64.png +0 -0
  346. polyweave/layers/kits/prompts/core/icons/keyboard/key_shift_64.png.prov.json +28 -0
  347. polyweave/layers/kits/prompts/core/icons/keyboard/key_space_64.png +0 -0
  348. polyweave/layers/kits/prompts/core/icons/keyboard/key_space_64.png.prov.json +28 -0
  349. polyweave/layers/kits/prompts/core/icons/keyboard/key_t_64.png +0 -0
  350. polyweave/layers/kits/prompts/core/icons/keyboard/key_t_64.png.prov.json +28 -0
  351. polyweave/layers/kits/prompts/core/icons/keyboard/key_tab_64.png +0 -0
  352. polyweave/layers/kits/prompts/core/icons/keyboard/key_tab_64.png.prov.json +28 -0
  353. polyweave/layers/kits/prompts/core/icons/keyboard/key_u_64.png +0 -0
  354. polyweave/layers/kits/prompts/core/icons/keyboard/key_u_64.png.prov.json +28 -0
  355. polyweave/layers/kits/prompts/core/icons/keyboard/key_up_64.png +0 -0
  356. polyweave/layers/kits/prompts/core/icons/keyboard/key_up_64.png.prov.json +28 -0
  357. polyweave/layers/kits/prompts/core/icons/keyboard/key_v_64.png +0 -0
  358. polyweave/layers/kits/prompts/core/icons/keyboard/key_v_64.png.prov.json +28 -0
  359. polyweave/layers/kits/prompts/core/icons/keyboard/key_w_64.png +0 -0
  360. polyweave/layers/kits/prompts/core/icons/keyboard/key_w_64.png.prov.json +28 -0
  361. polyweave/layers/kits/prompts/core/icons/keyboard/key_x_64.png +0 -0
  362. polyweave/layers/kits/prompts/core/icons/keyboard/key_x_64.png.prov.json +28 -0
  363. polyweave/layers/kits/prompts/core/icons/keyboard/key_y_64.png +0 -0
  364. polyweave/layers/kits/prompts/core/icons/keyboard/key_y_64.png.prov.json +28 -0
  365. polyweave/layers/kits/prompts/core/icons/keyboard/key_z_64.png +0 -0
  366. polyweave/layers/kits/prompts/core/icons/keyboard/key_z_64.png.prov.json +28 -0
  367. polyweave/layers/kits/prompts/core/icons/keyboard/mouse_left_64.png +0 -0
  368. polyweave/layers/kits/prompts/core/icons/keyboard/mouse_left_64.png.prov.json +28 -0
  369. polyweave/layers/kits/prompts/core/icons/keyboard/mouse_middle_64.png +0 -0
  370. polyweave/layers/kits/prompts/core/icons/keyboard/mouse_middle_64.png.prov.json +28 -0
  371. polyweave/layers/kits/prompts/core/icons/keyboard/mouse_right_64.png +0 -0
  372. polyweave/layers/kits/prompts/core/icons/keyboard/mouse_right_64.png.prov.json +28 -0
  373. polyweave/layers/kits/prompts/core/icons/playstation/dpad_down_64.png +0 -0
  374. polyweave/layers/kits/prompts/core/icons/playstation/dpad_down_64.png.prov.json +28 -0
  375. polyweave/layers/kits/prompts/core/icons/playstation/dpad_left_64.png +0 -0
  376. polyweave/layers/kits/prompts/core/icons/playstation/dpad_left_64.png.prov.json +28 -0
  377. polyweave/layers/kits/prompts/core/icons/playstation/dpad_right_64.png +0 -0
  378. polyweave/layers/kits/prompts/core/icons/playstation/dpad_right_64.png.prov.json +28 -0
  379. polyweave/layers/kits/prompts/core/icons/playstation/dpad_up_64.png +0 -0
  380. polyweave/layers/kits/prompts/core/icons/playstation/dpad_up_64.png.prov.json +28 -0
  381. polyweave/layers/kits/prompts/core/icons/playstation/east_64.png +0 -0
  382. polyweave/layers/kits/prompts/core/icons/playstation/east_64.png.prov.json +28 -0
  383. polyweave/layers/kits/prompts/core/icons/playstation/l_stick_64.png +0 -0
  384. polyweave/layers/kits/prompts/core/icons/playstation/l_stick_64.png.prov.json +28 -0
  385. polyweave/layers/kits/prompts/core/icons/playstation/lb_64.png +0 -0
  386. polyweave/layers/kits/prompts/core/icons/playstation/lb_64.png.prov.json +28 -0
  387. polyweave/layers/kits/prompts/core/icons/playstation/ls_64.png +0 -0
  388. polyweave/layers/kits/prompts/core/icons/playstation/ls_64.png.prov.json +28 -0
  389. polyweave/layers/kits/prompts/core/icons/playstation/lt_64.png +0 -0
  390. polyweave/layers/kits/prompts/core/icons/playstation/lt_64.png.prov.json +28 -0
  391. polyweave/layers/kits/prompts/core/icons/playstation/north_64.png +0 -0
  392. polyweave/layers/kits/prompts/core/icons/playstation/north_64.png.prov.json +28 -0
  393. polyweave/layers/kits/prompts/core/icons/playstation/r_stick_64.png +0 -0
  394. polyweave/layers/kits/prompts/core/icons/playstation/r_stick_64.png.prov.json +28 -0
  395. polyweave/layers/kits/prompts/core/icons/playstation/rb_64.png +0 -0
  396. polyweave/layers/kits/prompts/core/icons/playstation/rb_64.png.prov.json +28 -0
  397. polyweave/layers/kits/prompts/core/icons/playstation/rs_64.png +0 -0
  398. polyweave/layers/kits/prompts/core/icons/playstation/rs_64.png.prov.json +28 -0
  399. polyweave/layers/kits/prompts/core/icons/playstation/rt_64.png +0 -0
  400. polyweave/layers/kits/prompts/core/icons/playstation/rt_64.png.prov.json +28 -0
  401. polyweave/layers/kits/prompts/core/icons/playstation/select_64.png +0 -0
  402. polyweave/layers/kits/prompts/core/icons/playstation/select_64.png.prov.json +28 -0
  403. polyweave/layers/kits/prompts/core/icons/playstation/south_64.png +0 -0
  404. polyweave/layers/kits/prompts/core/icons/playstation/south_64.png.prov.json +28 -0
  405. polyweave/layers/kits/prompts/core/icons/playstation/start_64.png +0 -0
  406. polyweave/layers/kits/prompts/core/icons/playstation/start_64.png.prov.json +28 -0
  407. polyweave/layers/kits/prompts/core/icons/playstation/west_64.png +0 -0
  408. polyweave/layers/kits/prompts/core/icons/playstation/west_64.png.prov.json +28 -0
  409. polyweave/layers/kits/prompts/core/icons/switch/dpad_down_64.png +0 -0
  410. polyweave/layers/kits/prompts/core/icons/switch/dpad_down_64.png.prov.json +28 -0
  411. polyweave/layers/kits/prompts/core/icons/switch/dpad_left_64.png +0 -0
  412. polyweave/layers/kits/prompts/core/icons/switch/dpad_left_64.png.prov.json +28 -0
  413. polyweave/layers/kits/prompts/core/icons/switch/dpad_right_64.png +0 -0
  414. polyweave/layers/kits/prompts/core/icons/switch/dpad_right_64.png.prov.json +28 -0
  415. polyweave/layers/kits/prompts/core/icons/switch/dpad_up_64.png +0 -0
  416. polyweave/layers/kits/prompts/core/icons/switch/dpad_up_64.png.prov.json +28 -0
  417. polyweave/layers/kits/prompts/core/icons/switch/east_64.png +0 -0
  418. polyweave/layers/kits/prompts/core/icons/switch/east_64.png.prov.json +28 -0
  419. polyweave/layers/kits/prompts/core/icons/switch/l_stick_64.png +0 -0
  420. polyweave/layers/kits/prompts/core/icons/switch/l_stick_64.png.prov.json +28 -0
  421. polyweave/layers/kits/prompts/core/icons/switch/lb_64.png +0 -0
  422. polyweave/layers/kits/prompts/core/icons/switch/lb_64.png.prov.json +28 -0
  423. polyweave/layers/kits/prompts/core/icons/switch/ls_64.png +0 -0
  424. polyweave/layers/kits/prompts/core/icons/switch/ls_64.png.prov.json +28 -0
  425. polyweave/layers/kits/prompts/core/icons/switch/lt_64.png +0 -0
  426. polyweave/layers/kits/prompts/core/icons/switch/lt_64.png.prov.json +28 -0
  427. polyweave/layers/kits/prompts/core/icons/switch/north_64.png +0 -0
  428. polyweave/layers/kits/prompts/core/icons/switch/north_64.png.prov.json +28 -0
  429. polyweave/layers/kits/prompts/core/icons/switch/r_stick_64.png +0 -0
  430. polyweave/layers/kits/prompts/core/icons/switch/r_stick_64.png.prov.json +28 -0
  431. polyweave/layers/kits/prompts/core/icons/switch/rb_64.png +0 -0
  432. polyweave/layers/kits/prompts/core/icons/switch/rb_64.png.prov.json +28 -0
  433. polyweave/layers/kits/prompts/core/icons/switch/rs_64.png +0 -0
  434. polyweave/layers/kits/prompts/core/icons/switch/rs_64.png.prov.json +28 -0
  435. polyweave/layers/kits/prompts/core/icons/switch/rt_64.png +0 -0
  436. polyweave/layers/kits/prompts/core/icons/switch/rt_64.png.prov.json +28 -0
  437. polyweave/layers/kits/prompts/core/icons/switch/select_64.png +0 -0
  438. polyweave/layers/kits/prompts/core/icons/switch/select_64.png.prov.json +28 -0
  439. polyweave/layers/kits/prompts/core/icons/switch/south_64.png +0 -0
  440. polyweave/layers/kits/prompts/core/icons/switch/south_64.png.prov.json +28 -0
  441. polyweave/layers/kits/prompts/core/icons/switch/start_64.png +0 -0
  442. polyweave/layers/kits/prompts/core/icons/switch/start_64.png.prov.json +28 -0
  443. polyweave/layers/kits/prompts/core/icons/switch/west_64.png +0 -0
  444. polyweave/layers/kits/prompts/core/icons/switch/west_64.png.prov.json +28 -0
  445. polyweave/layers/kits/prompts/core/icons/xbox/dpad_down_64.png +0 -0
  446. polyweave/layers/kits/prompts/core/icons/xbox/dpad_down_64.png.prov.json +28 -0
  447. polyweave/layers/kits/prompts/core/icons/xbox/dpad_left_64.png +0 -0
  448. polyweave/layers/kits/prompts/core/icons/xbox/dpad_left_64.png.prov.json +28 -0
  449. polyweave/layers/kits/prompts/core/icons/xbox/dpad_right_64.png +0 -0
  450. polyweave/layers/kits/prompts/core/icons/xbox/dpad_right_64.png.prov.json +28 -0
  451. polyweave/layers/kits/prompts/core/icons/xbox/dpad_up_64.png +0 -0
  452. polyweave/layers/kits/prompts/core/icons/xbox/dpad_up_64.png.prov.json +28 -0
  453. polyweave/layers/kits/prompts/core/icons/xbox/east_64.png +0 -0
  454. polyweave/layers/kits/prompts/core/icons/xbox/east_64.png.prov.json +28 -0
  455. polyweave/layers/kits/prompts/core/icons/xbox/l_stick_64.png +0 -0
  456. polyweave/layers/kits/prompts/core/icons/xbox/l_stick_64.png.prov.json +28 -0
  457. polyweave/layers/kits/prompts/core/icons/xbox/lb_64.png +0 -0
  458. polyweave/layers/kits/prompts/core/icons/xbox/lb_64.png.prov.json +28 -0
  459. polyweave/layers/kits/prompts/core/icons/xbox/ls_64.png +0 -0
  460. polyweave/layers/kits/prompts/core/icons/xbox/ls_64.png.prov.json +28 -0
  461. polyweave/layers/kits/prompts/core/icons/xbox/lt_64.png +0 -0
  462. polyweave/layers/kits/prompts/core/icons/xbox/lt_64.png.prov.json +28 -0
  463. polyweave/layers/kits/prompts/core/icons/xbox/north_64.png +0 -0
  464. polyweave/layers/kits/prompts/core/icons/xbox/north_64.png.prov.json +28 -0
  465. polyweave/layers/kits/prompts/core/icons/xbox/r_stick_64.png +0 -0
  466. polyweave/layers/kits/prompts/core/icons/xbox/r_stick_64.png.prov.json +28 -0
  467. polyweave/layers/kits/prompts/core/icons/xbox/rb_64.png +0 -0
  468. polyweave/layers/kits/prompts/core/icons/xbox/rb_64.png.prov.json +28 -0
  469. polyweave/layers/kits/prompts/core/icons/xbox/rs_64.png +0 -0
  470. polyweave/layers/kits/prompts/core/icons/xbox/rs_64.png.prov.json +28 -0
  471. polyweave/layers/kits/prompts/core/icons/xbox/rt_64.png +0 -0
  472. polyweave/layers/kits/prompts/core/icons/xbox/rt_64.png.prov.json +28 -0
  473. polyweave/layers/kits/prompts/core/icons/xbox/select_64.png +0 -0
  474. polyweave/layers/kits/prompts/core/icons/xbox/select_64.png.prov.json +28 -0
  475. polyweave/layers/kits/prompts/core/icons/xbox/south_64.png +0 -0
  476. polyweave/layers/kits/prompts/core/icons/xbox/south_64.png.prov.json +28 -0
  477. polyweave/layers/kits/prompts/core/icons/xbox/start_64.png +0 -0
  478. polyweave/layers/kits/prompts/core/icons/xbox/start_64.png.prov.json +28 -0
  479. polyweave/layers/kits/prompts/core/icons/xbox/west_64.png +0 -0
  480. polyweave/layers/kits/prompts/core/icons/xbox/west_64.png.prov.json +28 -0
  481. polyweave/layers/kits/prompts/core/prompt_icon.gd +19 -0
  482. polyweave/layers/kits/prompts/core/prompts.gd +562 -0
  483. polyweave/layers/kits/prompts/core/proof.gd +334 -0
  484. polyweave/layers/kits/prompts/fixture/main.tscn +3 -0
  485. polyweave/layers/kits/prompts/fixture/project.godot +28 -0
  486. polyweave/layers/kits/prompts/icons/generic.icons.toml +84 -0
  487. polyweave/layers/kits/prompts/icons/keyboard.icons.toml +216 -0
  488. polyweave/layers/kits/prompts/icons/playstation.icons.toml +86 -0
  489. polyweave/layers/kits/prompts/icons/switch.icons.toml +83 -0
  490. polyweave/layers/kits/prompts/icons/xbox.icons.toml +88 -0
  491. polyweave/layers/kits/prompts/kit.toml +30 -0
  492. polyweave/layers/kits/prompts/proof.accept.toml +10 -0
  493. polyweave/layers/kits/prompts/scene/prompt_legend.tscn +15 -0
  494. polyweave/layers/kits/remap/core/bindings.gd +618 -0
  495. polyweave/layers/kits/remap/core/icons/remap/listening_64.png +0 -0
  496. polyweave/layers/kits/remap/core/icons/remap/listening_64.png.prov.json +28 -0
  497. polyweave/layers/kits/remap/core/icons/remap/reset_64.png +0 -0
  498. polyweave/layers/kits/remap/core/icons/remap/reset_64.png.prov.json +28 -0
  499. polyweave/layers/kits/remap/core/options.gd +11 -0
  500. polyweave/layers/kits/remap/core/pad_screen.gd +370 -0
  501. polyweave/layers/kits/remap/core/pads/playstation.json +29 -0
  502. polyweave/layers/kits/remap/core/pads/playstation.png +0 -0
  503. polyweave/layers/kits/remap/core/pads/playstation.png.prov.json +38 -0
  504. polyweave/layers/kits/remap/core/pads/switch.json +29 -0
  505. polyweave/layers/kits/remap/core/pads/switch.png +0 -0
  506. polyweave/layers/kits/remap/core/pads/switch.png.prov.json +30 -0
  507. polyweave/layers/kits/remap/core/pads/xbox.json +29 -0
  508. polyweave/layers/kits/remap/core/pads/xbox.png +0 -0
  509. polyweave/layers/kits/remap/core/pads/xbox.png.prov.json +38 -0
  510. polyweave/layers/kits/remap/core/proof.gd +507 -0
  511. polyweave/layers/kits/remap/core/remap_menu.gd +398 -0
  512. polyweave/layers/kits/remap/fixture/main.tscn +3 -0
  513. polyweave/layers/kits/remap/fixture/project.godot +24 -0
  514. polyweave/layers/kits/remap/icons/remap.icons.toml +20 -0
  515. polyweave/layers/kits/remap/kit.toml +45 -0
  516. polyweave/layers/kits/remap/pads/pads.accept.toml +26 -0
  517. polyweave/layers/kits/remap/pads/playstation.svg +34 -0
  518. polyweave/layers/kits/remap/pads/switch.svg +94 -0
  519. polyweave/layers/kits/remap/pads/xbox.svg +34 -0
  520. polyweave/layers/kits/remap/proof.accept.toml +10 -0
  521. polyweave/layers/kits/remap/scene/remap_menu.tscn +15 -0
  522. polyweave/layers/kits/saves/core/proof.gd +148 -0
  523. polyweave/layers/kits/saves/core/saves.gd +192 -0
  524. polyweave/layers/kits/saves/fixture/main.tscn +3 -0
  525. polyweave/layers/kits/saves/fixture/polyweave_saves.gd +14 -0
  526. polyweave/layers/kits/saves/fixture/project.godot +8 -0
  527. polyweave/layers/kits/saves/kit.toml +21 -0
  528. polyweave/layers/kits/settings.py +17 -0
  529. polyweave/layers/kits/state/core/proof.gd +36 -0
  530. polyweave/layers/kits/state/core/state.gd +85 -0
  531. polyweave/layers/kits/state/fixture/level.gd +7 -0
  532. polyweave/layers/kits/state/fixture/main.tscn +13 -0
  533. polyweave/layers/kits/state/fixture/player.gd +3 -0
  534. polyweave/layers/kits/state/fixture/polyweave_state.gd +9 -0
  535. polyweave/layers/kits/state/fixture/project.godot +9 -0
  536. polyweave/layers/kits/state/kit.toml +18 -0
  537. polyweave/layers/kits/tables/core/proof.gd +93 -0
  538. polyweave/layers/kits/tables/core/tables.gd +120 -0
  539. polyweave/layers/kits/tables/fixture/data/enemies.csv +4 -0
  540. polyweave/layers/kits/tables/fixture/data/tables.toml +12 -0
  541. polyweave/layers/kits/tables/fixture/project.godot +7 -0
  542. polyweave/layers/kits/tables/fixture/tables/enemies.gd +26 -0
  543. polyweave/layers/kits/tables/kit.toml +19 -0
  544. polyweave/layers/kits/tests/core/proof.gd +29 -0
  545. polyweave/layers/kits/tests/core/test.gd +54 -0
  546. polyweave/layers/kits/tests/fixture/project.godot +8 -0
  547. polyweave/layers/kits/tests/fixture/tests/legacy_test.gd +14 -0
  548. polyweave/layers/kits/tests/fixture/tests/sums_test.gd +7 -0
  549. polyweave/layers/kits/tests/kit.toml +18 -0
  550. polyweave/layers/motion/__init__.py +1 -0
  551. polyweave/layers/motion/camera.py +724 -0
  552. polyweave/layers/motion/clip.py +758 -0
  553. polyweave/layers/motion/codes.py +155 -0
  554. polyweave/layers/motion/layer.py +52 -0
  555. polyweave/layers/motion/motion.py +78 -0
  556. polyweave/layers/motion/settings.py +37 -0
  557. polyweave/layers/motion/skeleton.py +677 -0
  558. polyweave/layers/motion/sprites.py +287 -0
  559. polyweave/layers/motion/timeline.py +422 -0
  560. polyweave/layers/picture/__init__.py +1 -0
  561. polyweave/layers/picture/codes.py +114 -0
  562. polyweave/layers/picture/copies.py +193 -0
  563. polyweave/layers/picture/fitting.py +206 -0
  564. polyweave/layers/picture/layer.py +61 -0
  565. polyweave/layers/picture/page.py +224 -0
  566. polyweave/layers/picture/panel.py +1727 -0
  567. polyweave/layers/picture/picture.py +668 -0
  568. polyweave/layers/picture/scenario.py +191 -0
  569. polyweave/layers/picture/settings.py +69 -0
  570. polyweave/layers/picture/style.py +695 -0
  571. polyweave/layers/picture/variation.py +637 -0
  572. polyweave/layers/picture/vector.py +476 -0
  573. polyweave/layers/reference/__init__.py +1 -0
  574. polyweave/layers/reference/layer.py +90 -0
  575. polyweave/layers/reference/reference.py +592 -0
  576. polyweave/layers/reference/reference_compare.py +285 -0
  577. polyweave/layers/reference/reference_concept.py +391 -0
  578. polyweave/layers/reference/reference_events.py +415 -0
  579. polyweave/layers/reference/reference_objects.py +590 -0
  580. polyweave/layers/reference/reference_regions.py +224 -0
  581. polyweave/layers/reference/reference_register.py +167 -0
  582. polyweave/layers/reference/reference_transcription.py +237 -0
  583. polyweave/layers/reference/settings.py +44 -0
  584. polyweave/layers/sound/__init__.py +1 -0
  585. polyweave/layers/sound/codes.py +213 -0
  586. polyweave/layers/sound/layer.py +70 -0
  587. polyweave/layers/sound/licences.py +93 -0
  588. polyweave/layers/sound/music.py +1049 -0
  589. polyweave/layers/sound/music_draft.py +413 -0
  590. polyweave/layers/sound/music_heard.py +387 -0
  591. polyweave/layers/sound/music_render.py +729 -0
  592. polyweave/layers/sound/page.py +20 -0
  593. polyweave/layers/sound/settings.py +74 -0
  594. polyweave/layers/sound/sfx.py +570 -0
  595. polyweave/layers/sound/sfxr.py +334 -0
  596. polyweave/layers/sound/sound.py +893 -0
  597. polyweave/layers/sound/sound_buy.py +932 -0
  598. polyweave/layers/sound/sound_loop.py +270 -0
  599. polyweave/layers/sound/sound_stems.py +180 -0
  600. polyweave/layers/store/__init__.py +1 -0
  601. polyweave/layers/store/codes.py +191 -0
  602. polyweave/layers/store/compose.py +218 -0
  603. polyweave/layers/store/icons.py +417 -0
  604. polyweave/layers/store/layer.py +42 -0
  605. polyweave/layers/store/store.py +298 -0
  606. polyweave/layers/store/stores/steam.toml +61 -0
  607. polyweave/layers/store/video.py +575 -0
  608. polyweave/layers/vfx/__init__.py +1 -0
  609. polyweave/layers/vfx/codes.py +42 -0
  610. polyweave/layers/vfx/layer.py +50 -0
  611. polyweave/layers/vfx/page.py +26 -0
  612. polyweave/layers/vfx/vfx.py +1599 -0
  613. polyweave/layers/words/__init__.py +1 -0
  614. polyweave/layers/words/codes.py +175 -0
  615. polyweave/layers/words/layer.py +79 -0
  616. polyweave/layers/words/page.py +35 -0
  617. polyweave/layers/words/settings.py +42 -0
  618. polyweave/layers/words/svgtext.py +301 -0
  619. polyweave/layers/words/words.py +894 -0
  620. polyweave/layers/words/world.py +956 -0
  621. polyweave/loop/__init__.py +1 -0
  622. polyweave/loop/accept.py +861 -0
  623. polyweave/loop/calibrate.py +405 -0
  624. polyweave/loop/declared.py +98 -0
  625. polyweave/loop/extend.py +597 -0
  626. polyweave/loop/ladder.py +139 -0
  627. polyweave/loop/loop.py +808 -0
  628. polyweave/loop/measure.py +1446 -0
  629. polyweave/loop/person.py +179 -0
  630. polyweave/loop/review.py +743 -0
  631. polyweave/loop/review_page/locales/en.json +244 -0
  632. polyweave/loop/review_page/locales/pt-BR.json +244 -0
  633. polyweave/loop/review_page/screen/GLTFLoader.js +1 -0
  634. polyweave/loop/review_page/screen/OrbitControls.js +1 -0
  635. polyweave/loop/review_page/screen/index.css +2 -0
  636. polyweave/loop/review_page/screen/index.html +13 -0
  637. polyweave/loop/review_page/screen/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  638. polyweave/loop/review_page/screen/inter-cyrillic-wght-normal.woff2 +0 -0
  639. polyweave/loop/review_page/screen/inter-greek-ext-wght-normal.woff2 +0 -0
  640. polyweave/loop/review_page/screen/inter-greek-wght-normal.woff2 +0 -0
  641. polyweave/loop/review_page/screen/inter-latin-ext-wght-normal.woff2 +0 -0
  642. polyweave/loop/review_page/screen/inter-latin-wght-normal.woff2 +0 -0
  643. polyweave/loop/review_page/screen/inter-vietnamese-wght-normal.woff2 +0 -0
  644. polyweave/loop/review_page/screen/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
  645. polyweave/loop/review_page/screen/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
  646. polyweave/loop/review_page/screen/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
  647. polyweave/loop/review_page/screen/review.js +60 -0
  648. polyweave/loop/review_page/screen/stamp.json +15 -0
  649. polyweave/loop/review_page/screen/three.module.js +4220 -0
  650. polyweave/loop/review_text.py +78 -0
  651. polyweave/loop/search.py +864 -0
  652. polyweave/loop/trace.py +157 -0
  653. polyweave/loop/verdict.py +1007 -0
  654. polyweave/services/__init__.py +1 -0
  655. polyweave/services/client.py +174 -0
  656. polyweave/services/elevenlabs.py +221 -0
  657. polyweave/services/generated.py +184 -0
  658. polyweave/services/ideogram.py +276 -0
  659. polyweave/services/meshy.py +85 -0
  660. polyweave/services/purchase.py +849 -0
  661. polyweave/services/rodin.py +82 -0
  662. polyweave/services/scenario.py +199 -0
  663. polyweave/services/schema.py +266 -0
  664. polyweave/services/service.py +388 -0
  665. polyweave/services/tripo.py +86 -0
  666. polyweave/surface/__init__.py +1 -0
  667. polyweave/surface/adoption.py +171 -0
  668. polyweave/surface/brief.py +313 -0
  669. polyweave/surface/capabilities.py +263 -0
  670. polyweave/surface/census.py +245 -0
  671. polyweave/surface/cli.py +196 -0
  672. polyweave/surface/commands.py +454 -0
  673. polyweave/surface/migrate.py +573 -0
  674. polyweave/surface/moved.toml +137 -0
  675. polyweave/surface/newgame.py +169 -0
  676. polyweave/surface/project.py +1041 -0
  677. polyweave/surface/quote.py +81 -0
  678. polyweave/surface/report.py +95 -0
  679. polyweave/surface/revision.py +689 -0
  680. polyweave/surface/server.py +396 -0
  681. polyweave_gamekit-0.1.0.dist-info/METADATA +126 -0
  682. polyweave_gamekit-0.1.0.dist-info/RECORD +685 -0
  683. polyweave_gamekit-0.1.0.dist-info/WHEEL +4 -0
  684. polyweave_gamekit-0.1.0.dist-info/entry_points.txt +2 -0
  685. polyweave_gamekit-0.1.0.dist-info/licenses/LICENSE +21 -0
polyweave/__init__.py ADDED
@@ -0,0 +1,66 @@
1
+ """polyweave — a game's parts declared rather than dialled in.
2
+
3
+ Nothing is imported here on purpose. The caller is an agent whose turn is the budget,
4
+ and a package that pulls in its whole surface to answer one call spends that budget
5
+ before the call happens.
6
+
7
+ The one function here keeps that rule: `readable()` imports `sys` inside itself, and a
8
+ caller that never calls it pays nothing for it.
9
+
10
+ The package is laid out by which way its dependencies are meant to run (§PW499):
11
+
12
+ - `kernel/`: errors and doors, the operation registry, config, jobs, files, the cache,
13
+ the post-checks and the provenance record. It knows no medium.
14
+ - `loop/`: accept, measure, search, calibrate, verdict, review, brief, revision and the
15
+ loop's own ledger: what every medium is declared, measured, searched and judged by.
16
+ - `layers/<medium>/`: geometry (with render), picture, sound, words, vfx, motion,
17
+ engine, reference, store and kits. A measure reading one medium lives with it.
18
+ - `services/`: what was bought from a paid service, and what the service accepts.
19
+ - `surface/`: the server, the command line, the census, capabilities and the calls
20
+ that adopt a project whole.
21
+
22
+ A module that fits no layer cleanly sits with the layer that owns its data.
23
+ """
24
+
25
+ __version__ = "0.1.0"
26
+
27
+
28
+ def readable() -> list[str]:
29
+ """Write this process's output as UTF-8, and say which streams moved (§PW73).
30
+
31
+ Nothing in this package prints its prose. A refusal's message and remedy, and every
32
+ line a run reports, are returned for the caller to print — so the encoding of the
33
+ stream they land on is the caller's process to set, not this one's.
34
+
35
+ Left unset on a Windows desk it is the locale's. An em dash then goes out as the
36
+ single byte 0x97, which is correct cp1252 and nothing is lost writing it; what reads
37
+ the pipe decodes UTF-8, where that byte is not a character, and shows a lozenge. The
38
+ loss is at the far end, which is the worse end: the process that wrote the line saw
39
+ nothing wrong and has nothing to report.
40
+
41
+ A library must not reconfigure a process it does not own, so this is a call and not
42
+ something that happens on import. One line at the top of a runner, before it prints:
43
+
44
+ polyweave.readable()
45
+
46
+ It returns the streams it changed, which is empty where they were already UTF-8, and
47
+ it is safe to call twice. `sys` is the only import, so it costs nothing to the turn
48
+ of a caller that never uses it.
49
+ """
50
+ import sys
51
+
52
+ moved = []
53
+ for name in ("stdout", "stderr"):
54
+ stream = getattr(sys, name, None)
55
+ if stream is None or not hasattr(stream, "reconfigure"):
56
+ continue
57
+ if (getattr(stream, "encoding", "") or "").lower().replace("-", "") == "utf8":
58
+ continue
59
+ try:
60
+ stream.reconfigure(encoding="utf-8")
61
+ except (AttributeError, ValueError, OSError):
62
+ # A stream that cannot be reconfigured is one somebody else already wrapped,
63
+ # and taking it over would be the reach this call exists to avoid.
64
+ continue
65
+ moved.append(name)
66
+ return moved
polyweave/__main__.py ADDED
@@ -0,0 +1,7 @@
1
+ """`python -m polyweave`, the command line in `cli.py`."""
2
+
3
+ import sys
4
+
5
+ from .surface.cli import main
6
+
7
+ sys.exit(main())
@@ -0,0 +1 @@
1
+ """What every layer stands on: errors, the registry, config, jobs, records."""
@@ -0,0 +1,182 @@
1
+ """Renders are content-addressed, so the same picture is paid for once.
2
+
3
+ The evidence is §PW14: a search revisits neighbourhoods and a caller re-runs the same
4
+ render across sessions, and without a cache every one of those is paid again at the full
5
+ price of a path trace.
6
+
7
+ The key is the provenance record's own subset — the input hashes, the parameter values,
8
+ the renderer version, the colour pipeline and the seed. Everything that can change the
9
+ output is in it and nothing that cannot, which is what makes a hit **safe to return**
10
+ rather than merely likely to be right.
11
+
12
+ key = provenance.cache_key(provenance.planned(...)) # before anything is rendered
13
+ hit = look(key, work=...) # or None
14
+ put(key, artefact, record, work=...) # after a miss
15
+
16
+ Two things matter more than they look. **A hit is reported as a hit**, because a caller
17
+ timing a sweep needs to know what it actually measured. And **preview rungs are cached
18
+ too**, since those are the renders a search asks for thousands of times while the full
19
+ ones are asked for once.
20
+ """
21
+
22
+ from __future__ import annotations
23
+
24
+ import contextlib
25
+ import json
26
+ import os
27
+ import shutil
28
+ import time
29
+ from pathlib import Path
30
+
31
+ from .errors import PolyweaveError
32
+ from .files import read_text_retrying, write_atomic
33
+
34
+ #: Under the project, so it can be inspected and deleted by hand. `[paths] work` is the
35
+ #: only location the plugin chooses for itself, and it belongs in `.gitignore`.
36
+ DIRECTORY = "cache"
37
+
38
+ #: What a project may hold before the least recently used are dropped.
39
+ MAX_BYTES = 8_000_000_000
40
+
41
+
42
+ def where(work: str | Path) -> Path:
43
+ return Path(work) / DIRECTORY
44
+
45
+
46
+ def slot(key: str, work: str | Path, suffix: str = ".png") -> tuple[Path, Path]:
47
+ """The artefact and its record, fanned out by the key's first two characters."""
48
+ if not key or len(key) < 4:
49
+ raise PolyweaveError(
50
+ "prov.bad-key",
51
+ f"{key!r} is not a cache key",
52
+ "compute it with cache_key over a provenance record",
53
+ )
54
+ folder = where(work) / key[:2]
55
+ return folder / f"{key}{suffix}", folder / f"{key}.json"
56
+
57
+
58
+ def look(key: str, *, work: str | Path, suffix: str = ".png") -> dict | None:
59
+ """What this key holds, or nothing.
60
+
61
+ A record whose artefact is missing is **dropped rather than repaired**: half an
62
+ entry is a hit waiting to return a file that is not there.
63
+ """
64
+ artefact, record = slot(key, work, suffix)
65
+ if not record.is_file():
66
+ return None
67
+ if not artefact.is_file():
68
+ with contextlib.suppress(OSError):
69
+ record.unlink()
70
+ return None
71
+ text = read_text_retrying(record)
72
+ if text is None: # pragma: no cover - removed between the two reads
73
+ return None
74
+ try:
75
+ held = json.loads(text)
76
+ except json.JSONDecodeError:
77
+ with contextlib.suppress(OSError):
78
+ record.unlink()
79
+ artefact.unlink()
80
+ return None
81
+ _touch(artefact)
82
+ return {
83
+ "key": key,
84
+ "artefact": artefact,
85
+ "record": held,
86
+ "bytes": artefact.stat().st_size,
87
+ }
88
+
89
+
90
+ def put(key: str, artefact: str | Path, record: dict, *, work: str | Path) -> dict:
91
+ """Keep this artefact under its key, with the record that says what produced it."""
92
+ source = Path(artefact)
93
+ if not source.is_file():
94
+ raise PolyweaveError(
95
+ "prov.missing-artefact",
96
+ f"nothing is at {source} to cache",
97
+ "write the artefact before caching it",
98
+ )
99
+ held, beside = slot(key, work, source.suffix or ".png")
100
+ held.parent.mkdir(parents=True, exist_ok=True)
101
+ shutil.copy2(source, held)
102
+ write_atomic(beside, json.dumps(record, indent=2, sort_keys=True) + "\n")
103
+ return {"key": key, "artefact": held, "bytes": held.stat().st_size}
104
+
105
+
106
+ def take(hit: dict, out: str | Path) -> Path:
107
+ """Copy a hit out to where the caller wanted it written."""
108
+ destination = Path(out)
109
+ destination.parent.mkdir(parents=True, exist_ok=True)
110
+ shutil.copy2(hit["artefact"], destination)
111
+ return destination
112
+
113
+
114
+ def entries(work: str | Path) -> list[dict]:
115
+ """Every entry, newest use first."""
116
+ found = []
117
+ root = where(work)
118
+ if not root.is_dir():
119
+ return found
120
+ for record in root.rglob("*.json"):
121
+ key = record.stem
122
+ artefact = next(
123
+ (p for p in record.parent.glob(f"{key}.*") if p.suffix != ".json"), None
124
+ )
125
+ if artefact is None:
126
+ with contextlib.suppress(OSError):
127
+ record.unlink()
128
+ continue
129
+ stat = artefact.stat()
130
+ found.append(
131
+ {
132
+ "key": key,
133
+ "artefact": artefact,
134
+ "record": record,
135
+ "bytes": stat.st_size + record.stat().st_size,
136
+ "used": stat.st_mtime,
137
+ }
138
+ )
139
+ return sorted(found, key=lambda e: e["used"], reverse=True)
140
+
141
+
142
+ def stats(work: str | Path) -> dict:
143
+ held = entries(work)
144
+ return {
145
+ "entries": len(held),
146
+ "bytes": sum(e["bytes"] for e in held),
147
+ "where": str(where(work)),
148
+ }
149
+
150
+
151
+ def evict(*, work: str | Path, max_bytes: int = MAX_BYTES) -> dict:
152
+ """Drop the least recently used until the store is under its ceiling."""
153
+ held = entries(work)
154
+ total = sum(e["bytes"] for e in held)
155
+ dropped = []
156
+ for entry in reversed(held): # oldest use first
157
+ if total <= max_bytes:
158
+ break
159
+ for path in (entry["artefact"], entry["record"]):
160
+ with contextlib.suppress(OSError):
161
+ path.unlink()
162
+ total -= entry["bytes"]
163
+ dropped.append(entry["key"])
164
+ return {"dropped": dropped, "bytes": total, "entries": len(held) - len(dropped)}
165
+
166
+
167
+ def forget(key: str, *, work: str | Path, suffix: str = ".png") -> bool:
168
+ artefact, record = slot(key, work, suffix)
169
+ gone = False
170
+ for path in (artefact, record):
171
+ if path.is_file():
172
+ with contextlib.suppress(OSError):
173
+ path.unlink()
174
+ gone = True
175
+ return gone
176
+
177
+
178
+ def _touch(path: Path) -> None:
179
+ """Mark an entry as used now, which is what least-recently-used is measured on."""
180
+ with contextlib.suppress(OSError):
181
+ now = time.time()
182
+ os.utime(path, (now, now))