framerudiments 0.4.1__tar.gz → 0.4.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 (260) hide show
  1. {framerudiments-0.4.1 → framerudiments-0.4.2}/AGENTS.md +4 -0
  2. {framerudiments-0.4.1 → framerudiments-0.4.2}/MANIFEST.in +1 -0
  3. {framerudiments-0.4.1/src/framerudiments.egg-info → framerudiments-0.4.2}/PKG-INFO +304 -242
  4. {framerudiments-0.4.1 → framerudiments-0.4.2}/README.md +300 -241
  5. {framerudiments-0.4.1 → framerudiments-0.4.2}/RELEASE_NOTES.md +15 -0
  6. framerudiments-0.4.2/docs/ECOSYSTEM.md +32 -0
  7. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/controlled-audio-response.md +5 -0
  8. framerudiments-0.4.2/docs/hybrid-preset-analysis.md +119 -0
  9. framerudiments-0.4.2/docs/media/natural-materials.mp4 +0 -0
  10. framerudiments-0.4.2/docs/media/natural-materials.png +0 -0
  11. framerudiments-0.4.2/docs/natural-materials.md +189 -0
  12. framerudiments-0.4.2/integration/test_fire_volume_gpu.py +20 -0
  13. {framerudiments-0.4.1 → framerudiments-0.4.2}/pyproject.toml +4 -3
  14. framerudiments-0.4.2/scripts/Run-ControlledPresetAnalysis.ps1 +41 -0
  15. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/Run-FullPresetAnalysis.ps1 +41 -3
  16. framerudiments-0.4.2/scripts/Run-HybridPresetAnalysis.ps1 +92 -0
  17. framerudiments-0.4.2/scripts/bake_mantaflow_fire.py +158 -0
  18. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/controlled_preset_analysis.py +24 -7
  19. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_visualisation_gallery.py +1 -1
  20. framerudiments-0.4.2/scripts/prepare_fire_atlas.py +38 -0
  21. framerudiments-0.4.2/scripts/render_natural_material_demo.py +100 -0
  22. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/__init__.py +5 -1
  23. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/compositor.py +19 -1
  24. framerudiments-0.4.2/src/framerudiments/fire_assets/mantaflow/NOTICE.md +12 -0
  25. framerudiments-0.4.2/src/framerudiments/fire_assets/mantaflow/atlas.json +161 -0
  26. framerudiments-0.4.2/src/framerudiments/fire_assets/mantaflow/flames.png +0 -0
  27. framerudiments-0.4.2/src/framerudiments/fire_assets/marburg/NOTICE.md +16 -0
  28. framerudiments-0.4.2/src/framerudiments/fire_assets/marburg/atlas.json +47 -0
  29. framerudiments-0.4.2/src/framerudiments/fire_assets/marburg/flames.png +0 -0
  30. framerudiments-0.4.2/src/framerudiments/fire_assets.py +349 -0
  31. framerudiments-0.4.2/src/framerudiments/fire_fluid.py +163 -0
  32. framerudiments-0.4.2/src/framerudiments/fire_renderer.py +246 -0
  33. framerudiments-0.4.2/src/framerudiments/fire_volume.py +109 -0
  34. framerudiments-0.4.2/src/framerudiments/natural_materials.py +334 -0
  35. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/particle_engine.py +26 -5
  36. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/render.py +51 -24
  37. {framerudiments-0.4.1 → framerudiments-0.4.2/src/framerudiments.egg-info}/PKG-INFO +304 -242
  38. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments.egg-info/SOURCES.txt +25 -0
  39. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments.egg-info/requires.txt +4 -0
  40. framerudiments-0.4.2/tests/test_checkpoint_batches.py +32 -0
  41. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_controlled_audio.py +4 -1
  42. framerudiments-0.4.2/tests/test_fire_methods.py +160 -0
  43. framerudiments-0.4.2/tests/test_hybrid_launcher.py +56 -0
  44. framerudiments-0.4.2/tests/test_natural_materials.py +133 -0
  45. framerudiments-0.4.1/scripts/Run-ControlledPresetAnalysis.ps1 +0 -58
  46. {framerudiments-0.4.1 → framerudiments-0.4.2}/LICENSE +0 -0
  47. {framerudiments-0.4.1 → framerudiments-0.4.2}/analysis-releases.json +0 -0
  48. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/FrameRudiments-PATCH_WORKFLOW.md +0 -0
  49. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/annular-modulation.md +0 -0
  50. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/authoring-workspace.md +0 -0
  51. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/beat-alignment.md +0 -0
  52. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/expanded-effects.md +0 -0
  53. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/extraction.md +0 -0
  54. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/full-preset-analysis.md +0 -0
  55. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/keyframed-mattes.md +0 -0
  56. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/beat-alignment-evidence.json +0 -0
  57. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/beat-alignment.mp4 +0 -0
  58. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/beat-alignment.png +0 -0
  59. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/demo-transcript.md +0 -0
  60. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/effects-pipeline.svg +0 -0
  61. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/full-frame-comparison.png +0 -0
  62. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/full-frame-demo.mp4 +0 -0
  63. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/media-evidence.json +0 -0
  64. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/preset-test-cards.png +0 -0
  65. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/rangoli-transcript.md +0 -0
  66. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/rangoli.mp4 +0 -0
  67. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/rangoli.png +0 -0
  68. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/test-card-inputs/colour-bars.png +0 -0
  69. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/test-card-inputs/grid-rings.png +0 -0
  70. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/media/test-card-inputs/text-card.png +0 -0
  71. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/multi-stem-modulation.md +0 -0
  72. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/music-reactive-3d.md +0 -0
  73. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/particle-smoke.md +0 -0
  74. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/phase3-compositing.md +0 -0
  75. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/preset-behaviour.md +0 -0
  76. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/preset-profiling.md +0 -0
  77. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/project-format.md +0 -0
  78. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/projectm-local-runtime.md +0 -0
  79. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/quality-effects.md +0 -0
  80. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/rangoli.md +0 -0
  81. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/rich-lyric-effects.md +0 -0
  82. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/rudiment-renderers.md +0 -0
  83. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/scoped-post-effects.md +0 -0
  84. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/solid-spatial-renderers.md +0 -0
  85. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/spatial-renderers.md +0 -0
  86. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/spatiotemporal-supersampling.md +0 -0
  87. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/spectrum.md +0 -0
  88. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/sprite-visualisations.md +0 -0
  89. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/stem-sources-and-masks.md +0 -0
  90. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/variable-bpm-word-subtitles.md +0 -0
  91. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/visualisation-atlas.md +0 -0
  92. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/visualisation-coverage-matrix.md +0 -0
  93. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/visualiser-routing.md +0 -0
  94. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/visualisers.md +0 -0
  95. {framerudiments-0.4.1 → framerudiments-0.4.2}/docs/workflow-media.md +0 -0
  96. {framerudiments-0.4.1 → framerudiments-0.4.2}/integration/test_music_spatial_gpu.py +0 -0
  97. {framerudiments-0.4.1 → framerudiments-0.4.2}/integration/test_preset_analysis.py +0 -0
  98. {framerudiments-0.4.1 → framerudiments-0.4.2}/integration/test_released_preset_analysis.py +0 -0
  99. {framerudiments-0.4.1 → framerudiments-0.4.2}/integration/test_visualisers_gpu.py +0 -0
  100. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/Run-PresetBehaviourAnalysis.ps1 +0 -0
  101. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/authoring_preview.py +0 -0
  102. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/build_sprite_assets.py +0 -0
  103. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/check_projectm_runtime.py +0 -0
  104. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/check_release_packages.py +0 -0
  105. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/ensure_projectm_runtime.py +0 -0
  106. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/full_preset_analysis.py +0 -0
  107. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_particle_gallery.py +0 -0
  108. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_post_effect_gallery.py +0 -0
  109. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_quality_gallery.py +0 -0
  110. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_rich_lyric_gallery.py +0 -0
  111. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_sprite_gallery.py +0 -0
  112. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_supersampling_gallery.py +0 -0
  113. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_timing_gallery.py +0 -0
  114. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/generate_visualiser_routing_gallery.py +0 -0
  115. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/install_analysis_releases.py +0 -0
  116. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/prepare_pixelcue_taggers.py +0 -0
  117. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/preset_behaviour_pipeline.py +0 -0
  118. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/profile_visualisation_coverage.py +0 -0
  119. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/profile_visualisers.py +0 -0
  120. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/projectm_dll_diagnostics.py +0 -0
  121. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/repair_projectm_mingw.py +0 -0
  122. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/select_projectm_generator.py +0 -0
  123. {framerudiments-0.4.1 → framerudiments-0.4.2}/scripts/validate_patch.py +0 -0
  124. {framerudiments-0.4.1 → framerudiments-0.4.2}/setup.cfg +0 -0
  125. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/__main__.py +0 -0
  126. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/advanced_renderers.py +0 -0
  127. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/atlas.py +0 -0
  128. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/audio_probes.py +0 -0
  129. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/beat_alignment.py +0 -0
  130. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/beat_timeline.py +0 -0
  131. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/choreography.py +0 -0
  132. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/circular_renderers.py +0 -0
  133. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/cli.py +0 -0
  134. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/controlled_profiling.py +0 -0
  135. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/demo.py +0 -0
  136. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/effect_catalogue.py +0 -0
  137. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/effect_renderers.py +0 -0
  138. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/effects.py +0 -0
  139. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/encoding.py +0 -0
  140. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/flight.py +0 -0
  141. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/gpu_spatial_backend.py +0 -0
  142. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/io.py +0 -0
  143. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/keyframes.py +0 -0
  144. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/layer_animation.py +0 -0
  145. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/layer_displacement.py +0 -0
  146. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/layer_masks.py +0 -0
  147. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/lyric_indicator.py +0 -0
  148. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/modulation.py +0 -0
  149. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/motion.py +0 -0
  150. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/music_spatial_renderers.py +0 -0
  151. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/output_quality.py +0 -0
  152. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/post_effects.py +0 -0
  153. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/preset_library.py +0 -0
  154. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/preset_profiling.py +0 -0
  155. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/profile_analysis.py +0 -0
  156. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/project.py +0 -0
  157. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/projectm_backend.py +0 -0
  158. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/quality_effects.py +0 -0
  159. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/rangoli_renderer.py +0 -0
  160. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/rich_subtitles.py +0 -0
  161. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/rudiment_renderers.py +0 -0
  162. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/scoped_effects.py +0 -0
  163. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/solid_spatial_renderers.py +0 -0
  164. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/spatial_renderers.py +0 -0
  165. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/spectrum.py +0 -0
  166. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/arcade.png +0 -0
  167. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/crystal.png +0 -0
  168. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/fire.png +0 -0
  169. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/generated-neon.png +0 -0
  170. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/glass.png +0 -0
  171. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/hud.png +0 -0
  172. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/ice.png +0 -0
  173. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/lcd-amber.png +0 -0
  174. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/lcd-green.png +0 -0
  175. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/lcd.png +0 -0
  176. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/led.png +0 -0
  177. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/manifest.json +0 -0
  178. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/metal.png +0 -0
  179. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/mono.png +0 -0
  180. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/neon.png +0 -0
  181. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/pixel.png +0 -0
  182. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/plasma.png +0 -0
  183. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_assets/vfd.png +0 -0
  184. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_catalogue.py +0 -0
  185. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/sprite_renderers.py +0 -0
  186. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/stem_blend.py +0 -0
  187. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/stemlab.py +0 -0
  188. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/subtitles.py +0 -0
  189. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/super_sampling.py +0 -0
  190. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/terrain_field.py +0 -0
  191. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/timeline.py +0 -0
  192. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visual_style.py +0 -0
  193. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualisation_catalogue.py +0 -0
  194. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/butterchurn-page.js +0 -0
  195. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/butterchurn-worker.mjs +0 -0
  196. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/feedback.json +0 -0
  197. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/feedback.milk +0 -0
  198. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/julia.json +0 -0
  199. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/julia.milk +0 -0
  200. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/kaleidoscope.json +0 -0
  201. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/kaleidoscope.milk +0 -0
  202. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/package-lock.json +0 -0
  203. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/package.json +0 -0
  204. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_assets/rangoli-background.milk +0 -0
  205. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_routing.py +0 -0
  206. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualiser_setup.py +0 -0
  207. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/visualisers.py +0 -0
  208. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments/word_timing.py +0 -0
  209. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments.egg-info/dependency_links.txt +0 -0
  210. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments.egg-info/entry_points.txt +0 -0
  211. {framerudiments-0.4.1 → framerudiments-0.4.2}/src/framerudiments.egg-info/top_level.txt +0 -0
  212. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/conftest.py +0 -0
  213. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_adapters.py +0 -0
  214. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_advanced_renderers.py +0 -0
  215. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_authoring_preview.py +0 -0
  216. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_beat_alignment.py +0 -0
  217. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_behaviour_pipeline.py +0 -0
  218. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_coverage_matrix.py +0 -0
  219. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_default_antialias.py +0 -0
  220. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_effect_batch.py +0 -0
  221. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_extracted_helpers.py +0 -0
  222. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_flight.py +0 -0
  223. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_full_preset_analysis.py +0 -0
  224. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_gpu_ci_isolation.py +0 -0
  225. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_keyframes.py +0 -0
  226. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_layer_masks.py +0 -0
  227. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_lyrics.py +0 -0
  228. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_music_spatial_pipeline.py +0 -0
  229. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_music_spatial_renderers.py +0 -0
  230. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_particle_engine.py +0 -0
  231. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_patch_validation.py +0 -0
  232. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_phase3_animation.py +0 -0
  233. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_phase3_gpu_injection.py +0 -0
  234. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_pipeline.py +0 -0
  235. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_preset_profiling.py +0 -0
  236. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_projectm_dll_diagnostics.py +0 -0
  237. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_projectm_generator.py +0 -0
  238. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_projectm_runtime_preflight.py +0 -0
  239. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_pytest_temp_isolation.py +0 -0
  240. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_quality_effects.py +0 -0
  241. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_rangoli_renderer.py +0 -0
  242. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_release_metadata.py +0 -0
  243. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_repair_projectm_mingw.py +0 -0
  244. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_rich_subtitles.py +0 -0
  245. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_rudiment_renderers.py +0 -0
  246. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_scoped_effects.py +0 -0
  247. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_solid_spatial_integration.py +0 -0
  248. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_solid_spatial_renderers.py +0 -0
  249. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_spatial_renderers.py +0 -0
  250. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_spectrum.py +0 -0
  251. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_sprite_renderers.py +0 -0
  252. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_stem_blend.py +0 -0
  253. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_stem_source_integration.py +0 -0
  254. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_supersampling.py +0 -0
  255. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_timeline.py +0 -0
  256. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_variable_bpm_words.py +0 -0
  257. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_visualisation_modulation.py +0 -0
  258. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_visualiser_routing.py +0 -0
  259. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_visualisers.py +0 -0
  260. {framerudiments-0.4.1 → framerudiments-0.4.2}/tests/test_windows_launcher_splitpath.py +0 -0
@@ -18,3 +18,7 @@ https://kieransimkin.co.uk/danceflow/.
18
18
  Future v* tags publish automatically after CI. Keep the pypi environment free
19
19
  of human reviewer gates; preserve tests, source/tag identity, checksum validation
20
20
  and immutable assets. New publication destinations still require user authority.
21
+
22
+ ## Full ecosystem and release preflight
23
+
24
+ Before every new workflow run, check the latest stable official release and observe the actual runtime used by the job. Follow [the shared preflight](https://github.com/kieransimkin/DanceFlow/blob/main/docs/workflows/release-preflight.md) and this project's [people-and-agent guide](docs/ECOSYSTEM.md). Review the complete relevant capability inventory rather than only a familiar command. Consider every DanceFlow component against the actual task; use and compose all applicable supported capabilities, and improve a concrete reusable gap in its canonical repository. Record why existing capabilities suffice when no change is justified. No catalogue checklist expands the task, authorises model downloads/training, or proves integration. Preserve exact source/package identity, clocks, model-local storage, privacy, costs, immutable releases and separate deployment gates.
@@ -9,3 +9,4 @@ prune visualiser-analysis
9
9
 
10
10
  recursive-include scripts *.py *.ps1
11
11
  recursive-include src/framerudiments/sprite_assets *.png *.json
12
+ recursive-include src/framerudiments/fire_assets *.png *.json *.md