luvatrix 0.2.2__tar.gz → 0.2.4__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 (198) hide show
  1. {luvatrix-0.2.2 → luvatrix-0.2.4}/MANIFEST.in +2 -0
  2. {luvatrix-0.2.2/luvatrix.egg-info → luvatrix-0.2.4}/PKG-INFO +16 -2
  3. {luvatrix-0.2.2 → luvatrix-0.2.4}/README.md +14 -0
  4. {luvatrix-0.2.2 → luvatrix-0.2.4/luvatrix.egg-info}/PKG-INFO +16 -2
  5. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix.egg-info/SOURCES.txt +5 -0
  6. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix.egg-info/requires.txt +1 -1
  7. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/__init__.py +1 -1
  8. luvatrix-0.2.4/luvatrix_core/_accel_native.c +28685 -0
  9. luvatrix-0.2.4/luvatrix_core/_accel_native.pyx +177 -0
  10. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/accel.py +105 -1
  11. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/app_runtime.py +9 -0
  12. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/interaction_work.py +19 -2
  13. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/ui_frame_renderer.py +2 -22
  14. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/unified_runtime.py +23 -1
  15. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/runner.py +105 -0
  16. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/scene_target.py +51 -3
  17. luvatrix-0.2.4/luvatrix_core/scaffold.py +464 -0
  18. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/.gitignore +1 -0
  19. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/build.gradle.kts +6 -0
  20. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/cpp/luvatrix_vulkan_renderer.cpp +47 -13
  21. luvatrix-0.2.4/luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/LaunchPerformance.kt +38 -0
  22. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/LuvatrixVulkanView.kt +69 -5
  23. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/MainActivity.kt +39 -13
  24. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/NativeVulkan.kt +2 -0
  25. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/python/luvatrix_android_boot.py +151 -20
  26. luvatrix-0.2.4/luvatrix_core/templates/native/android/app/src/test/java/com/luvatrix/app/LaunchTimelineTest.kt +40 -0
  27. {luvatrix-0.2.2 → luvatrix-0.2.4}/main.py +33 -0
  28. {luvatrix-0.2.2 → luvatrix-0.2.4}/pyproject.toml +5 -2
  29. luvatrix-0.2.4/setup.py +18 -0
  30. luvatrix-0.2.2/luvatrix_core/scaffold.py +0 -240
  31. {luvatrix-0.2.2 → luvatrix-0.2.4}/LICENSE +0 -0
  32. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix/__init__.py +0 -0
  33. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix/app.py +0 -0
  34. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix/auth/__init__.py +0 -0
  35. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix/auth/calendar.py +0 -0
  36. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix/auth/google.py +0 -0
  37. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix/auth/sign_in.py +0 -0
  38. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix/auth/ui.py +0 -0
  39. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix.egg-info/dependency_links.txt +0 -0
  40. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix.egg-info/entry_points.txt +0 -0
  41. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix.egg-info/top_level.txt +0 -0
  42. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/__init__.py +0 -0
  43. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/audit.py +0 -0
  44. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/coordinates.py +0 -0
  45. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/debug_capture.py +0 -0
  46. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/debug_menu.py +0 -0
  47. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/display_runtime.py +0 -0
  48. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/energy_safety.py +0 -0
  49. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/engine.py +0 -0
  50. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/events.py +0 -0
  51. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/frame_rate_controller.py +0 -0
  52. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/hdi_thread.py +0 -0
  53. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/process_runtime.py +0 -0
  54. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/process_sdk.py +0 -0
  55. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/protocol_governance.py +0 -0
  56. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/scene_display_runtime.py +0 -0
  57. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/scene_graph.py +0 -0
  58. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/scene_rasterizer.py +0 -0
  59. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/sensor_manager.py +0 -0
  60. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/core/window_matrix.py +0 -0
  61. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/perf/copy_telemetry.py +0 -0
  62. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/__init__.py +0 -0
  63. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/__init__.py +0 -0
  64. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/camera_processing_contract.py +0 -0
  65. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/camera_style.py +0 -0
  66. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/hdi_source.py +0 -0
  67. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/sensors.py +0 -0
  68. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/android/vulkan_target.py +0 -0
  69. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/frame_pipeline.py +0 -0
  70. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/ios/__init__.py +0 -0
  71. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/ios/hdi_source.py +0 -0
  72. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/ios/lifecycle.py +0 -0
  73. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/ios/metal_backend.py +0 -0
  74. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/ios/runner.py +0 -0
  75. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/ios/scene_target.py +0 -0
  76. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/ios/window_system.py +0 -0
  77. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/__init__.py +0 -0
  78. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/hdi_source.py +0 -0
  79. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/iohid_source.py +0 -0
  80. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/metal_backend.py +0 -0
  81. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/metal_presenter.py +0 -0
  82. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/metal_scene_target.py +0 -0
  83. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/sensors.py +0 -0
  84. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/vulkan_backend.py +0 -0
  85. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/vulkan_presenter.py +0 -0
  86. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/macos/window_system.py +0 -0
  87. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/package_sync.py +0 -0
  88. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/vulkan_compat.py +0 -0
  89. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/vulkan_scaling.py +0 -0
  90. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/vulkan_setup.py +0 -0
  91. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/__init__.py +0 -0
  92. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/build.py +0 -0
  93. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/command_buffer.py +0 -0
  94. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/python_shim/luvatrix/__init__.py +0 -0
  95. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/python_shim/luvatrix/app.py +0 -0
  96. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/runtime_assets/index.html +0 -0
  97. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/runtime_assets/runtime/command-buffer.js +0 -0
  98. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/runtime_assets/runtime/input.js +0 -0
  99. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/runtime_assets/runtime/luvatrix-web.js +0 -0
  100. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/runtime_assets/runtime/package.json +0 -0
  101. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/runtime_assets/runtime/renderers.js +0 -0
  102. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/runtime_assets/runtime/spotify-bridge.js +0 -0
  103. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/server.py +0 -0
  104. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/platform/web/websocket_target.py +0 -0
  105. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/render/__init__.py +0 -0
  106. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/render/framebuffer.py +0 -0
  107. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/render/svg.py +0 -0
  108. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/targets/__init__.py +0 -0
  109. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/targets/base.py +0 -0
  110. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/targets/cpu_scene_target.py +0 -0
  111. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/targets/metal_target.py +0 -0
  112. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/targets/scene_target.py +0 -0
  113. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/targets/vulkan_target.py +0 -0
  114. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/targets/web_target.py +0 -0
  115. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/AndroidManifest.xml +0 -0
  116. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/assets/luvatrix_bitmap_font.txt +0 -0
  117. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/assets/luvatrix_launch_config.json +0 -0
  118. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/assets/luvatrix_matrix_font_alpha.txt +0 -0
  119. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/cpp/CMakeLists.txt +0 -0
  120. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/cpp/luvatrix_camera_preview.frag +0 -0
  121. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/cpp/luvatrix_camera_preview_shaders.h +0 -0
  122. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/CameraBridge.kt +0 -0
  123. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/python/.gitignore +0 -0
  124. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/python/luvatrix_launch_config.json +0 -0
  125. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  126. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  127. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  128. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  129. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  130. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/app/src/main/res/values/styles.xml +0 -0
  131. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/build.gradle.kts +0 -0
  132. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/gradle.properties +0 -0
  133. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/gradlew +0 -0
  134. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/scripts/emulator_acceptance.sh +0 -0
  135. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/scripts/sync_python_assets.sh +0 -0
  136. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/android/settings.gradle.kts +0 -0
  137. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/AppDelegate.swift +0 -0
  138. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
  139. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/Assets.xcassets/AppIcon.appiconset/icon.png +0 -0
  140. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/Assets.xcassets/Contents.json +0 -0
  141. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/Info.plist +0 -0
  142. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/Luvatrix-Bridging-Header.h +0 -0
  143. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/Luvatrix.entitlements +0 -0
  144. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/PythonBridge.h +0 -0
  145. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/PythonBridge.m +0 -0
  146. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/Luvatrix/main.swift +0 -0
  147. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/project.yml +0 -0
  148. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/templates/native/ios/scripts/setup_ios.sh +0 -0
  149. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/ui/__init__.py +0 -0
  150. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/ui/element.py +0 -0
  151. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_core/ui/page_loader.py +0 -0
  152. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/__init__.py +0 -0
  153. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/adapters/__init__.py +0 -0
  154. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/adapters/normalize.py +0 -0
  155. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/api.py +0 -0
  156. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/compile/__init__.py +0 -0
  157. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/compile/app_protocol.py +0 -0
  158. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/display.py +0 -0
  159. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/dynamic_axis.py +0 -0
  160. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/errors.py +0 -0
  161. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/figure.py +0 -0
  162. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/live.py +0 -0
  163. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/raster/__init__.py +0 -0
  164. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/raster/canvas.py +0 -0
  165. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/raster/draw_lines.py +0 -0
  166. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/raster/draw_markers.py +0 -0
  167. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/raster/draw_text.py +0 -0
  168. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/raster/layers.py +0 -0
  169. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/scales.py +0 -0
  170. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_plot/series.py +0 -0
  171. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/__init__.py +0 -0
  172. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/component_schema.py +0 -0
  173. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/controls/__init__.py +0 -0
  174. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/controls/button.py +0 -0
  175. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/controls/interaction.py +0 -0
  176. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/controls/stained_glass_button.py +0 -0
  177. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/controls/svg_component.py +0 -0
  178. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/controls/svg_renderer.py +0 -0
  179. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planes_protocol.py +0 -0
  180. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planes_runtime.py +0 -0
  181. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planes_v2_validator.py +0 -0
  182. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planning/__init__.py +0 -0
  183. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planning/agile_renderer.py +0 -0
  184. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planning/exporters.py +0 -0
  185. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planning/gantt_renderer.py +0 -0
  186. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planning/interaction.py +0 -0
  187. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planning/schema.py +0 -0
  188. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/planning/validation.py +0 -0
  189. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/style/__init__.py +0 -0
  190. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/style/theme.py +0 -0
  191. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/table/__init__.py +0 -0
  192. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/table/component.py +0 -0
  193. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/text/__init__.py +0 -0
  194. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/text/component.py +0 -0
  195. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/text/renderer.py +0 -0
  196. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/text/wrapping.py +0 -0
  197. {luvatrix-0.2.2 → luvatrix-0.2.4}/luvatrix_ui/ui_ir.py +0 -0
  198. {luvatrix-0.2.2 → luvatrix-0.2.4}/setup.cfg +0 -0
@@ -1,5 +1,7 @@
1
1
  include README.md
2
2
  include LICENSE
3
+ include luvatrix_core/_accel_native.c
4
+ include luvatrix_core/_accel_native.pyx
3
5
  recursive-include luvatrix_core/platform/web/runtime_assets *
4
6
  recursive-include luvatrix_core/platform/web/python_shim *
5
7
  recursive-include luvatrix_core/templates/native *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: luvatrix
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: Luvatrix runtime and plotting toolkit
5
5
  Author: Luvatrix contributors
6
6
  License-Expression: LicenseRef-Proprietary
@@ -18,7 +18,7 @@ Requires-Python: <3.15,>=3.14
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
20
  Requires-Dist: numpy>=2.4.2
21
- Requires-Dist: Pillow>=10.3.0
21
+ Requires-Dist: Pillow>=12.3.0
22
22
  Provides-Extra: desktop
23
23
  Requires-Dist: torch>=2.4.0; extra == "desktop"
24
24
  Provides-Extra: macos
@@ -114,6 +114,20 @@ luvatrix init-native . --target android --out android
114
114
  luvatrix init-native . --target ios --out ios
115
115
  ```
116
116
 
117
+ Initialized native projects include per-file scaffold provenance. Upgrade untouched
118
+ template files while preserving app customizations with:
119
+
120
+ ```bash
121
+ luvatrix upgrade-native . --target android --out android
122
+ ```
123
+
124
+ For native projects created before provenance tracking, run once with `--adopt`.
125
+ Customized files are preserved and current-template candidates are written under
126
+ `.luvatrix-scaffold-updates/` for review.
127
+
128
+ Measured release improvements and their raw trial data are indexed in
129
+ [`docs/performance/`](docs/performance/README.md).
130
+
117
131
  Then run with the app-owned native project:
118
132
 
119
133
  ```bash
@@ -76,6 +76,20 @@ luvatrix init-native . --target android --out android
76
76
  luvatrix init-native . --target ios --out ios
77
77
  ```
78
78
 
79
+ Initialized native projects include per-file scaffold provenance. Upgrade untouched
80
+ template files while preserving app customizations with:
81
+
82
+ ```bash
83
+ luvatrix upgrade-native . --target android --out android
84
+ ```
85
+
86
+ For native projects created before provenance tracking, run once with `--adopt`.
87
+ Customized files are preserved and current-template candidates are written under
88
+ `.luvatrix-scaffold-updates/` for review.
89
+
90
+ Measured release improvements and their raw trial data are indexed in
91
+ [`docs/performance/`](docs/performance/README.md).
92
+
79
93
  Then run with the app-owned native project:
80
94
 
81
95
  ```bash
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: luvatrix
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: Luvatrix runtime and plotting toolkit
5
5
  Author: Luvatrix contributors
6
6
  License-Expression: LicenseRef-Proprietary
@@ -18,7 +18,7 @@ Requires-Python: <3.15,>=3.14
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
20
  Requires-Dist: numpy>=2.4.2
21
- Requires-Dist: Pillow>=10.3.0
21
+ Requires-Dist: Pillow>=12.3.0
22
22
  Provides-Extra: desktop
23
23
  Requires-Dist: torch>=2.4.0; extra == "desktop"
24
24
  Provides-Extra: macos
@@ -114,6 +114,20 @@ luvatrix init-native . --target android --out android
114
114
  luvatrix init-native . --target ios --out ios
115
115
  ```
116
116
 
117
+ Initialized native projects include per-file scaffold provenance. Upgrade untouched
118
+ template files while preserving app customizations with:
119
+
120
+ ```bash
121
+ luvatrix upgrade-native . --target android --out android
122
+ ```
123
+
124
+ For native projects created before provenance tracking, run once with `--adopt`.
125
+ Customized files are preserved and current-template candidates are written under
126
+ `.luvatrix-scaffold-updates/` for review.
127
+
128
+ Measured release improvements and their raw trial data are indexed in
129
+ [`docs/performance/`](docs/performance/README.md).
130
+
117
131
  Then run with the app-owned native project:
118
132
 
119
133
  ```bash
@@ -3,6 +3,7 @@ MANIFEST.in
3
3
  README.md
4
4
  main.py
5
5
  pyproject.toml
6
+ setup.py
6
7
  luvatrix/__init__.py
7
8
  luvatrix/app.py
8
9
  luvatrix.egg-info/PKG-INFO
@@ -17,6 +18,8 @@ luvatrix/auth/google.py
17
18
  luvatrix/auth/sign_in.py
18
19
  luvatrix/auth/ui.py
19
20
  luvatrix_core/__init__.py
21
+ luvatrix_core/_accel_native.c
22
+ luvatrix_core/_accel_native.pyx
20
23
  luvatrix_core/accel.py
21
24
  luvatrix_core/scaffold.py
22
25
  luvatrix_core/core/__init__.py
@@ -113,6 +116,7 @@ luvatrix_core/templates/native/android/app/src/main/cpp/luvatrix_camera_preview.
113
116
  luvatrix_core/templates/native/android/app/src/main/cpp/luvatrix_camera_preview_shaders.h
114
117
  luvatrix_core/templates/native/android/app/src/main/cpp/luvatrix_vulkan_renderer.cpp
115
118
  luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/CameraBridge.kt
119
+ luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/LaunchPerformance.kt
116
120
  luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/LuvatrixVulkanView.kt
117
121
  luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/MainActivity.kt
118
122
  luvatrix_core/templates/native/android/app/src/main/java/com/luvatrix/app/NativeVulkan.kt
@@ -125,6 +129,7 @@ luvatrix_core/templates/native/android/app/src/main/res/mipmap-xhdpi/ic_launcher
125
129
  luvatrix_core/templates/native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
126
130
  luvatrix_core/templates/native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
127
131
  luvatrix_core/templates/native/android/app/src/main/res/values/styles.xml
132
+ luvatrix_core/templates/native/android/app/src/test/java/com/luvatrix/app/LaunchTimelineTest.kt
128
133
  luvatrix_core/templates/native/android/scripts/emulator_acceptance.sh
129
134
  luvatrix_core/templates/native/android/scripts/sync_python_assets.sh
130
135
  luvatrix_core/templates/native/ios/project.yml
@@ -1,5 +1,5 @@
1
1
  numpy>=2.4.2
2
- Pillow>=10.3.0
2
+ Pillow>=12.3.0
3
3
 
4
4
  [android]
5
5
 
@@ -1,4 +1,4 @@
1
1
  """Luvatrix runtime."""
2
2
 
3
3
  __all__ = ["__version__"]
4
- __version__ = "0.2.2"
4
+ __version__ = "0.2.4"