spawnpoint-studio 0.3.1__tar.gz → 0.3.2__tar.gz

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 (164) hide show
  1. {spawnpoint_studio-0.3.1/compiler/spawnpoint_studio.egg-info → spawnpoint_studio-0.3.2}/PKG-INFO +6 -1
  2. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/README.md +5 -0
  3. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/analyze.py +5 -0
  4. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/cli.py +8 -0
  5. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/graph.py +1 -0
  6. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/ai.py +6 -0
  7. spawnpoint_studio-0.3.2/compiler/spawnpoint/sprites/cartoon.py +1010 -0
  8. spawnpoint_studio-0.3.2/compiler/spawnpoint/sprites/chibi.py +612 -0
  9. spawnpoint_studio-0.3.2/compiler/spawnpoint/sprites/creatures.py +337 -0
  10. spawnpoint_studio-0.3.2/compiler/spawnpoint/sprites/gallery.py +67 -0
  11. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/generate.py +225 -38
  12. spawnpoint_studio-0.3.2/compiler/spawnpoint/sprites/items.py +205 -0
  13. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/assemble.py +81 -7
  14. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/edits.py +1 -1
  15. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/prompts.py +20 -3
  16. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2/compiler/spawnpoint_studio.egg-info}/PKG-INFO +6 -1
  17. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint_studio.egg-info/SOURCES.txt +4 -0
  18. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_sprites.py +303 -3
  19. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_studio.py +4 -2
  20. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/projectile_component.gd +4 -0
  21. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/build.gd +1 -0
  22. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/pyproject.toml +1 -1
  23. spawnpoint_studio-0.3.1/compiler/spawnpoint/sprites/cartoon.py +0 -477
  24. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/LICENSE +0 -0
  25. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/MANIFEST.in +0 -0
  26. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/__init__.py +0 -0
  27. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/build.py +0 -0
  28. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/cockpit/__init__.py +0 -0
  29. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/cockpit/server.py +0 -0
  30. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/cockpit/static/app.css +0 -0
  31. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/cockpit/static/app.js +0 -0
  32. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/cockpit/static/index.html +0 -0
  33. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/demo.py +0 -0
  34. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/demo_touch.js +0 -0
  35. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/diagnostics.py +0 -0
  36. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/expr.py +0 -0
  37. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/gif.py +0 -0
  38. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/godot.py +0 -0
  39. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/level.py +0 -0
  40. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/llm_server.py +0 -0
  41. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/manifest.py +0 -0
  42. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/playtest/__init__.py +0 -0
  43. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/playtest/report.py +0 -0
  44. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/playtest/runner.py +0 -0
  45. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/playtest/tuner.py +0 -0
  46. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/project.py +0 -0
  47. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/py.typed +0 -0
  48. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/rules.py +0 -0
  49. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sfx.py +0 -0
  50. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/__init__.py +0 -0
  51. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/contour.py +0 -0
  52. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/importer.py +0 -0
  53. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/motion.py +0 -0
  54. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/palettes.py +0 -0
  55. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/resolve.py +0 -0
  56. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/scenery.py +0 -0
  57. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/spriteset.py +0 -0
  58. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/sprites/tiles.py +0 -0
  59. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/__init__.py +0 -0
  60. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/brief.py +0 -0
  61. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/creative.py +0 -0
  62. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/dataset.py +0 -0
  63. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/genres.py +0 -0
  64. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/levelgen.py +0 -0
  65. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/llm.py +0 -0
  66. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/orchestrator.py +0 -0
  67. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/web.py +0 -0
  68. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio/webcheck.py +0 -0
  69. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint/studio_cli.py +0 -0
  70. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint_studio.egg-info/dependency_links.txt +0 -0
  71. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint_studio.egg-info/entry_points.txt +0 -0
  72. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint_studio.egg-info/requires.txt +0 -0
  73. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/spawnpoint_studio.egg-info/top_level.txt +0 -0
  74. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/conftest.py +0 -0
  75. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_ai_sprites.py +0 -0
  76. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_analyze.py +0 -0
  77. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_cockpit.py +0 -0
  78. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_demo.py +0 -0
  79. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_e2e.py +0 -0
  80. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_expr.py +0 -0
  81. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_genres.py +0 -0
  82. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_gif.py +0 -0
  83. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_godot_library.py +0 -0
  84. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_graph.py +0 -0
  85. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_level.py +0 -0
  86. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_live_llm.py +0 -0
  87. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_manifest.py +0 -0
  88. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_playtest.py +0 -0
  89. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_rules.py +0 -0
  90. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_sfx.py +0 -0
  91. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/compiler/tests/test_web.py +0 -0
  92. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/castle_defense.json +0 -0
  93. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/coin_hopper.json +0 -0
  94. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/dino_eggs.json +0 -0
  95. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/knight_quest.json +0 -0
  96. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/neon_arena.json +0 -0
  97. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/night_survivor.json +0 -0
  98. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/ninja_rescue.json +0 -0
  99. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/pixel_arena.json +0 -0
  100. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/pixel_hopper.json +0 -0
  101. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/star_run.json +0 -0
  102. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/examples/sunny_farm.json +0 -0
  103. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/aim_component.gd +0 -0
  104. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/animator_component.gd +0 -0
  105. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/base_component.gd +0 -0
  106. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/bubble_board_component.gd +0 -0
  107. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/chase_ai_component.gd +0 -0
  108. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/collectible_component.gd +0 -0
  109. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/crop_pest_component.gd +0 -0
  110. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/experience_component.gd +0 -0
  111. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/farm_plot_component.gd +0 -0
  112. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/farmer_component.gd +0 -0
  113. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/flight_path_component.gd +0 -0
  114. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/gate_component.gd +0 -0
  115. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/ground_patch_component.gd +0 -0
  116. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/health_bar_component.gd +0 -0
  117. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/health_component.gd +0 -0
  118. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/hitbox_component.gd +0 -0
  119. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/hurtbox_component.gd +0 -0
  120. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/juice_component.gd +0 -0
  121. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/level_up_menu_component.gd +0 -0
  122. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/market_component.gd +0 -0
  123. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/path_follower_component.gd +0 -0
  124. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/patrol_ai_component.gd +0 -0
  125. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/platformer_movement_component.gd +0 -0
  126. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/player_input_component.gd +0 -0
  127. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/shmup_ship_component.gd +0 -0
  128. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/spawner_component.gd +0 -0
  129. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/stomp_component.gd +0 -0
  130. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/top_down_movement_component.gd +0 -0
  131. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/tower_brain_component.gd +0 -0
  132. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/tower_builder_component.gd +0 -0
  133. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/tower_slot_component.gd +0 -0
  134. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/trigger_zone_component.gd +0 -0
  135. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/wave_spawner_component.gd +0 -0
  136. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/weapon_component.gd +0 -0
  137. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/components/xp_orb_component.gd +0 -0
  138. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/manifest.json +0 -0
  139. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/camera_rig.gd +0 -0
  140. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/cockpit.gd +0 -0
  141. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/entity_core.gd +0 -0
  142. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/fx.gd +0 -0
  143. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/game_state.gd +0 -0
  144. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/hud.gd +0 -0
  145. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/level.gd +0 -0
  146. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/sfx.gd +0 -0
  147. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/sp.gd +0 -0
  148. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/runtime/world.gd +0 -0
  149. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/shaders/flash.gdshader +0 -0
  150. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/shaders/floor_grid.gdshader +0 -0
  151. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/build.tscn +0 -0
  152. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/capture.gd +0 -0
  153. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/capture.tscn +0 -0
  154. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/dump_manifest.gd +0 -0
  155. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/dump_manifest.tscn +0 -0
  156. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/playtest.gd +0 -0
  157. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/playtest.tscn +0 -0
  158. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/playtest_nav.gd +0 -0
  159. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/record.gd +0 -0
  160. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/record.tscn +0 -0
  161. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/smoke.gd +0 -0
  162. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/godot/addons/spawn_point/tools/smoke.tscn +0 -0
  163. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/setup.cfg +0 -0
  164. {spawnpoint_studio-0.3.1 → spawnpoint_studio-0.3.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spawnpoint-studio
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Turn a sentence into a juicy, playable Godot 4 game — locally, on a consumer GPU.
5
5
  Author: smoky1496
6
6
  License: MIT
@@ -204,8 +204,13 @@ spawnpoint sprites import hero.png --grid 32x32 --anim idle=0-3 --anim run=4-9
204
204
  spawnpoint sprites import sheet.png --rows idle,run,jump # auto-sliced by transparent gutters
205
205
  spawnpoint sprites import kenney_frames/ # idle_0.png, walk_1.png, ...
206
206
  spawnpoint sprites preview assets/sprites/Knight.sprite.json # contact sheet + collision outline
207
+ spawnpoint sprites gallery --style cartoon -o gallery.png # every kind on one sheet, for review
207
208
  ```
208
209
 
210
+ Names pick the art: `Knight` gets a helmet and shield, `SkeletonArcher` a skull and a bow (and shoots
211
+ arrows), `HealthPotion` is a potion, `GoldKey` a key. Layer 2 scatters trees, bushes and rocks that
212
+ match the palette, drawn behind everything and without collision.
213
+
209
214
  Record a clip of any built game to share it (a window opens for a few seconds; autopilot plays):
210
215
 
211
216
  ```bash
@@ -180,8 +180,13 @@ spawnpoint sprites import hero.png --grid 32x32 --anim idle=0-3 --anim run=4-9
180
180
  spawnpoint sprites import sheet.png --rows idle,run,jump # auto-sliced by transparent gutters
181
181
  spawnpoint sprites import kenney_frames/ # idle_0.png, walk_1.png, ...
182
182
  spawnpoint sprites preview assets/sprites/Knight.sprite.json # contact sheet + collision outline
183
+ spawnpoint sprites gallery --style cartoon -o gallery.png # every kind on one sheet, for review
183
184
  ```
184
185
 
186
+ Names pick the art: `Knight` gets a helmet and shield, `SkeletonArcher` a skull and a bow (and shoots
187
+ arrows), `HealthPotion` is a potion, `GoldKey` a key. Layer 2 scatters trees, bushes and rocks that
188
+ match the palette, drawn behind everything and without collision.
189
+
185
190
  Record a clip of any built game to share it (a window opens for a few seconds; autopilot plays):
186
191
 
187
192
  ```bash
@@ -347,6 +347,7 @@ class _Analyzer:
347
347
  "eye": ent.body == "character" and sprite is None,
348
348
  "pivot": "bottom" if g.genre == "platformer" and ent.body == "character" else "center",
349
349
  "sprite": sprite_resolve.plan_entry(name, sprite) if sprite is not None else None,
350
+ "z": -1 if ent.decor else 0,
350
351
  })
351
352
  entities[-1]["components"] = comps
352
353
 
@@ -413,6 +414,8 @@ class _Analyzer:
413
414
  }
414
415
 
415
416
  def _layer(self, ent: Entity, team: str) -> int:
417
+ if ent.decor:
418
+ return 0
416
419
  if ent.body == "character":
417
420
  return {"player": L_PLAYER, "enemy": L_ENEMY}.get(team, 0)
418
421
  if ent.body == "static":
@@ -420,6 +423,8 @@ class _Analyzer:
420
423
  return 0 if "Projectile" in ent.components else L_PICKUP
421
424
 
422
425
  def _mask(self, ent: Entity) -> int:
426
+ if ent.decor:
427
+ return 0
423
428
  if ent.body == "character":
424
429
  return L_WORLD
425
430
  if ent.body == "static":
@@ -121,6 +121,9 @@ def main(argv: list[str] | None = None) -> int:
121
121
  sv2.add_argument("sprite", type=Path)
122
122
  sv2.add_argument("-o", "--out", type=Path)
123
123
  sps.add_parser("kinds", help="list the procedural sprite kinds")
124
+ sga = sps.add_parser("gallery", help="render one contact sheet of every procedural kind, for review")
125
+ sga.add_argument("--style", choices=["pixel", "fine", "cartoon"], default="fine")
126
+ sga.add_argument("-o", "--out", type=Path, default=Path("sprite-gallery.png"))
124
127
 
125
128
  ds = sub.add_parser("dataset", help="recorded fine-tuning data")
126
129
  ds.add_argument("action", choices=["stats", "path"])
@@ -272,6 +275,11 @@ def _sprites(args) -> int:
272
275
  for k, spec in gen.KINDS.items():
273
276
  print(f"{k:<8} {spec.size[0]}x{spec.size[1]} px animations: {', '.join(spec.anims)}")
274
277
  return 0
278
+ if args.sprites_cmd == "gallery":
279
+ from .sprites.gallery import gallery
280
+ gallery(args.style).save(args.out)
281
+ print(f"Wrote {args.out}")
282
+ return 0
275
283
  if args.sprites_cmd == "preview":
276
284
  s = load(args.sprite)
277
285
  out = args.out or args.sprite.with_suffix("").with_suffix(".preview.png")
@@ -75,6 +75,7 @@ class Entity(_Model):
75
75
  sprite: Union[str, SpriteRef, None] = None
76
76
  components: dict[str, dict[str, Any]] = Field(default_factory=dict)
77
77
  juice: Union[Literal["none"], dict[str, Any], None] = None
78
+ decor: bool = Field(default=False, description="scenery (trees, bushes, rocks): drawn behind everything, no collision")
78
79
 
79
80
 
80
81
  class Level(_Model):
@@ -42,6 +42,12 @@ KIND_HINT = {
42
42
  "heart": "a single heart pickup", "orb": "a single glowing orb", "door": "a tall wooden door",
43
43
  "exit": "a glowing exit doorway", "portal": "a swirling magic portal", "spikes": "a row of metal spikes",
44
44
  "bullet": "a small glowing projectile",
45
+ "beast": "a small four-legged animal, side view", "spider": "a small spider, side view",
46
+ "dragon": "a small winged dragon, side view", "ghost": "a small floating ghost", "snake": "a small snake, side view",
47
+ "key": "a single golden key", "potion": "a single potion bottle with a cork", "scroll": "a single rolled paper scroll",
48
+ "bomb": "a single round black bomb with a lit fuse", "chest": "a single wooden treasure chest",
49
+ "arrow": "a single arrow pointing right", "tree": "a single tree", "bush": "a single round bush",
50
+ "rock": "a single boulder",
45
51
  }
46
52
 
47
53