hyperlux 0.0.1__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 (797) hide show
  1. hyperlux-0.0.1/.gitignore +1 -0
  2. hyperlux-0.0.1/PKG-INFO +518 -0
  3. hyperlux-0.0.1/README.md +499 -0
  4. hyperlux-0.0.1/hatch_build.py +44 -0
  5. hyperlux-0.0.1/hyperdrone/__init__.py +53 -0
  6. hyperlux-0.0.1/hyperdrone/_cuda/__init__.py +76 -0
  7. hyperlux-0.0.1/hyperdrone/_dlpack.py +30 -0
  8. hyperlux-0.0.1/hyperdrone/_jit/__init__.py +131 -0
  9. hyperlux-0.0.1/hyperdrone/_jit/_build.py +113 -0
  10. hyperlux-0.0.1/hyperdrone/_jit/_lock.py +23 -0
  11. hyperlux-0.0.1/hyperdrone/_jit/_patches.py +99 -0
  12. hyperlux-0.0.1/hyperdrone/_jit/_toolchain.py +17 -0
  13. hyperlux-0.0.1/hyperdrone/_jit/_workspace.py +94 -0
  14. hyperlux-0.0.1/hyperdrone/_native/cmake/hyperdrone_jit.cmake +65 -0
  15. hyperlux-0.0.1/hyperdrone/_native/common/bindings.h +39 -0
  16. hyperlux-0.0.1/hyperdrone/_native/common/cuda_staging.h +80 -0
  17. hyperlux-0.0.1/hyperdrone/_native/common/jit_host.h +69 -0
  18. hyperlux-0.0.1/hyperdrone/_native/common/models.h +26 -0
  19. hyperlux-0.0.1/hyperdrone/_native/common/verbosity.h +52 -0
  20. hyperlux-0.0.1/hyperdrone/_native/dynamics/CMakeLists.txt +63 -0
  21. hyperlux-0.0.1/hyperdrone/_native/dynamics/host.cpp +188 -0
  22. hyperlux-0.0.1/hyperdrone/_native/dynamics/iface.h +71 -0
  23. hyperlux-0.0.1/hyperdrone/_native/dynamics/impl.cpp +638 -0
  24. hyperlux-0.0.1/hyperdrone/_native/env/CMakeLists.txt +98 -0
  25. hyperlux-0.0.1/hyperdrone/_native/env/environment.cpp +191 -0
  26. hyperlux-0.0.1/hyperdrone/_native/env/environment.h +296 -0
  27. hyperlux-0.0.1/hyperdrone/_native/env/impl.cpp +783 -0
  28. hyperlux-0.0.1/hyperdrone/_native/env/rotorcraft_bindings.cpp +53 -0
  29. hyperlux-0.0.1/hyperdrone/_native/render/CMakeLists.txt +96 -0
  30. hyperlux-0.0.1/hyperdrone/_native/render/renderer.cpp +970 -0
  31. hyperlux-0.0.1/hyperdrone/_native/render/rig_bindings.h +152 -0
  32. hyperlux-0.0.1/hyperdrone/_native/render/scene_bindings.cpp +515 -0
  33. hyperlux-0.0.1/hyperdrone/_outputs.py +32 -0
  34. hyperlux-0.0.1/hyperdrone/_parameters.py +36 -0
  35. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/CMakeLists.txt +207 -0
  36. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/LICENSE +21 -0
  37. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/.DS_Store +0 -0
  38. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/all.cmake +34 -0
  39. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/git-diff.cmake +100 -0
  40. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/git-hash.cmake +24 -0
  41. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/summary.cmake +65 -0
  42. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/tier0-compiler.cmake +18 -0
  43. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/tier1-blas.cmake +51 -0
  44. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/tier2-json-hdf5-zlib.cmake +82 -0
  45. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/tier3-tensorboard.cmake +25 -0
  46. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/tier4-cuda.cmake +42 -0
  47. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/autodetect/tier5-cli11.cmake +24 -0
  48. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/dependencies/assimp.cmake +19 -0
  49. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/legacy_flags.cmake +33 -0
  50. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/assimp.cmake +30 -0
  51. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/googletest.cmake +20 -0
  52. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/metal.cmake +25 -0
  53. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/mujoco.cmake +89 -0
  54. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/optix.cmake +25 -0
  55. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/raytracing.cmake +105 -0
  56. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/raytracing_generic.cmake +2 -0
  57. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/vulkan.cmake +4 -0
  58. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/optional/webgpu.cmake +24 -0
  59. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/scripts/embed_text.cmake +7 -0
  60. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/cmake/scripts/generate-git-snapshot.cmake +138 -0
  61. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/conta/conta.h +1480 -0
  62. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/metra/metra.h +381 -0
  63. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/matrix.h +143 -0
  64. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_arm.h +33 -0
  65. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu.h +314 -0
  66. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_accelerate.h +37 -0
  67. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_blas.h +67 -0
  68. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_mkl.h +38 -0
  69. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_openblas.h +34 -0
  70. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cuda.h +289 -0
  71. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_dummy.h +20 -0
  72. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_esp32.h +29 -0
  73. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_generic.h +944 -0
  74. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_wasm32.h +13 -0
  75. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/persist_code.h +136 -0
  76. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_arm.h +1 -0
  77. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu.h +94 -0
  78. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_accelerate.h +25 -0
  79. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_blas.h +115 -0
  80. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_mkl.h +25 -0
  81. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_openblas.h +25 -0
  82. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cuda.h +713 -0
  83. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_generic.h +1356 -0
  84. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/persist_code.h +130 -0
  85. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/tensor.h +490 -0
  86. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/arm.h +91 -0
  87. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu.h +210 -0
  88. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_accelerate.h +23 -0
  89. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_blas.h +21 -0
  90. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_emscripten.h +20 -0
  91. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_mkl.h +45 -0
  92. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_openblas.h +56 -0
  93. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_tensorboard.h +34 -0
  94. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cuda.h +464 -0
  95. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cuda_streams.h +23 -0
  96. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/devices.h +105 -0
  97. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/dummy.h +55 -0
  98. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/esp32.h +85 -0
  99. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/generic.h +0 -0
  100. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/devices/wasm32.h +59 -0
  101. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/model.h +218 -0
  102. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/operations_generic.h +769 -0
  103. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/persist.h +278 -0
  104. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter.h +100 -0
  105. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter_persist.h +52 -0
  106. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/tensor_operations_generic.h +55 -0
  107. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_backend.h +117 -0
  108. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_interface.h +36 -0
  109. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/l2f.h +98 -0
  110. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_dyn.h +18 -0
  111. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_generic.h +268 -0
  112. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_backend.h +31 -0
  113. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_interface.h +12 -0
  114. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_backend.h +98 -0
  115. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_interface.h +50 -0
  116. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/executor.h +133 -0
  117. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/helper.h +109 -0
  118. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/operations_generic.h +219 -0
  119. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arduino.h +117 -0
  120. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arm.h +56 -0
  121. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu.h +57 -0
  122. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu_tensorboard.h +151 -0
  123. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cuda.h +65 -0
  124. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_dummy.h +45 -0
  125. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_wasm32.h +56 -0
  126. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_arm.h +98 -0
  127. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cpu.h +138 -0
  128. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cuda.h +380 -0
  129. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_dummy.h +93 -0
  130. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_esp32.h +92 -0
  131. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_generic.h +295 -0
  132. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_wasm32.h +230 -0
  133. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/mode/mode.h +98 -0
  134. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/activation_functions.h +113 -0
  135. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/capability.h +61 -0
  136. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/persist_code.h +31 -0
  137. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/group.h +99 -0
  138. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/layer.h +122 -0
  139. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_cuda.h +64 -0
  140. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_generic.h +186 -0
  141. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/persist.h +33 -0
  142. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/layer.h +300 -0
  143. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cpu_mkl.h +590 -0
  144. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cuda.h +809 -0
  145. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_generic.h +1219 -0
  146. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist.h +99 -0
  147. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist_code.h +170 -0
  148. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/layer.h +145 -0
  149. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/dsp.h +63 -0
  150. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/opt.h +173 -0
  151. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu.h +13 -0
  152. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_accelerate.h +66 -0
  153. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_blas.h +282 -0
  154. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_mkl.h +66 -0
  155. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_openblas.h +65 -0
  156. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cuda.h +519 -0
  157. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_dummy.h +8 -0
  158. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/dsp.h +58 -0
  159. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/opt.h +167 -0
  160. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_generic.h +429 -0
  161. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist.h +62 -0
  162. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_code.h +178 -0
  163. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_common.h +59 -0
  164. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/layer.h +188 -0
  165. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_cuda.h +356 -0
  166. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_generic.h +536 -0
  167. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/persist.h +32 -0
  168. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/layer.h +119 -0
  169. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/operations_generic.h +223 -0
  170. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/persist.h +46 -0
  171. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/layer.h +121 -0
  172. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/operations_generic.h +154 -0
  173. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist.h +44 -0
  174. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist_code.h +106 -0
  175. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_cuda.h +602 -0
  176. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_generic.h +251 -0
  177. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/layer.h +206 -0
  178. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/operations_generic.h +889 -0
  179. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist.h +75 -0
  180. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist_code.h +199 -0
  181. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/layers.h +3 -0
  182. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/layer.h +143 -0
  183. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_cuda.h +80 -0
  184. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_generic.h +216 -0
  185. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/persist.h +39 -0
  186. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu.h +1 -0
  187. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_accelerate.h +1 -0
  188. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_blas.h +1 -0
  189. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_mkl.h +3 -0
  190. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_openblas.h +1 -0
  191. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cuda.h +9 -0
  192. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_dummy.h +1 -0
  193. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_generic.h +3 -0
  194. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/layer.h +223 -0
  195. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_cuda.h +138 -0
  196. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_generic.h +446 -0
  197. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/persist.h +70 -0
  198. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/layer.h +154 -0
  199. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_cuda.h +119 -0
  200. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_generic.h +502 -0
  201. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist.h +50 -0
  202. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist_code.h +173 -0
  203. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/layer.h +116 -0
  204. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_cuda.h +156 -0
  205. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_generic.h +295 -0
  206. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist.h +83 -0
  207. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist_code.h +163 -0
  208. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/layer.h +123 -0
  209. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/operations_generic.h +272 -0
  210. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist.h +17 -0
  211. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist_code.h +164 -0
  212. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/layer.h +122 -0
  213. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_cuda.h +55 -0
  214. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_generic.h +160 -0
  215. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist.h +47 -0
  216. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist_code.h +106 -0
  217. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/layer.h +132 -0
  218. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_cuda.h +141 -0
  219. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_generic.h +230 -0
  220. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/categorical_cross_entropy/operations_generic.h +102 -0
  221. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_cuda.h +97 -0
  222. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_generic.h +101 -0
  223. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/operations_generic.h +2 -0
  224. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/nn.h +14 -0
  225. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu.h +1 -0
  226. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_accelerate.h +1 -0
  227. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_blas.h +1 -0
  228. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mkl.h +1 -0
  229. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mux.h +16 -0
  230. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_openblas.h +1 -0
  231. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cuda.h +2 -0
  232. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_dummy.h +1 -0
  233. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_generic.h +15 -0
  234. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/adam.h +121 -0
  235. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_cuda.h +98 -0
  236. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_generic.h +150 -0
  237. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist.h +39 -0
  238. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist_code.h +80 -0
  239. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_cuda.h +85 -0
  240. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_generic.h +109 -0
  241. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/persist.h +25 -0
  242. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/instance/operations_generic.h +107 -0
  243. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/lamb.h +40 -0
  244. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/operations_generic.h +68 -0
  245. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/optimizers.h +3 -0
  246. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_cuda.h +85 -0
  247. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_generic.h +140 -0
  248. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist.h +37 -0
  249. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist_code.h +72 -0
  250. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_cuda.h +49 -0
  251. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_generic.h +50 -0
  252. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/sgd.h +92 -0
  253. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/update.h +54 -0
  254. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_cuda.h +0 -0
  255. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_generic.h +98 -0
  256. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/parameters.h +79 -0
  257. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist.h +34 -0
  258. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist_code.h +136 -0
  259. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist.h +2 -0
  260. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist_code.h +27 -0
  261. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/behaviors/skip_parameter_gradients.h +65 -0
  262. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/README.md +107 -0
  263. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/model.h +19 -0
  264. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/persist_code.h +77 -0
  265. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/network.h +174 -0
  266. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_cuda.h +10 -0
  267. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_dummy.h +8 -0
  268. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_generic.h +407 -0
  269. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist.h +56 -0
  270. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist_code.h +137 -0
  271. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/network.h +55 -0
  272. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/operations_generic.h +86 -0
  273. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist.h +43 -0
  274. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist_code.h +142 -0
  275. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/models.h +3 -0
  276. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/model.h +148 -0
  277. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/operations_generic.h +288 -0
  278. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist.h +25 -0
  279. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist_code.h +71 -0
  280. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cpu.h +0 -0
  281. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cuda.h +1 -0
  282. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_dummy.h +1 -0
  283. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_generic.h +4 -0
  284. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/model.h +290 -0
  285. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_cuda.h +174 -0
  286. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_generic.h +623 -0
  287. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist.h +80 -0
  288. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist_code.h +200 -0
  289. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist.h +1 -0
  290. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist_code.h +1 -0
  291. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/model.h +43 -0
  292. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/operations_generic.h +73 -0
  293. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/resnet/resnet.h +97 -0
  294. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/model.h +270 -0
  295. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/operations_generic.h +625 -0
  296. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist.h +99 -0
  297. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist_code.h +115 -0
  298. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/bf16.h +28 -0
  299. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/categories.h +22 -0
  300. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/persist_code.h +54 -0
  301. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/policy.h +48 -0
  302. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_1.h +18 -0
  303. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_2.h +14 -0
  304. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_3.h +14 -0
  305. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm.h +19 -0
  306. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_1.h +17 -0
  307. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_2.h +12 -0
  308. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_3.h +15 -0
  309. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu.h +19 -0
  310. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_1.h +16 -0
  311. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_2.h +12 -0
  312. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_3.h +15 -0
  313. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate.h +19 -0
  314. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_1.h +17 -0
  315. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_2.h +12 -0
  316. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_3.h +15 -0
  317. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl.h +18 -0
  318. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mux.h +158 -0
  319. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_1.h +16 -0
  320. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_2.h +12 -0
  321. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_3.h +15 -0
  322. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas.h +18 -0
  323. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_1.h +16 -0
  324. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_2.h +12 -0
  325. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_3.h +15 -0
  326. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard.h +19 -0
  327. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_1.h +18 -0
  328. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_2.h +12 -0
  329. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_3.h +12 -0
  330. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda.h +19 -0
  331. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_1.h +15 -0
  332. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_2.h +12 -0
  333. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_3.h +12 -0
  334. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy.h +19 -0
  335. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_1.h +16 -0
  336. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_2.h +12 -0
  337. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_3.h +13 -0
  338. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32.h +19 -0
  339. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_1.h +15 -0
  340. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_2.h +12 -0
  341. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_3.h +12 -0
  342. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32.h +19 -0
  343. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/hdf5.h +54 -0
  344. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/operations_cpu.h +419 -0
  345. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/io.h +55 -0
  346. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_cpu.h +58 -0
  347. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_generic.h +620 -0
  348. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_posix.h +63 -0
  349. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/tar.h +74 -0
  350. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/persist/code.h +38 -0
  351. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_arm.h +39 -0
  352. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cpu.h +81 -0
  353. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cuda.h +172 -0
  354. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_dummy.h +72 -0
  355. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_esp32.h +45 -0
  356. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic.h +133 -0
  357. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic_array.h +73 -0
  358. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_wasm32.h +57 -0
  359. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/random/persist.h +77 -0
  360. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/camera.h +105 -0
  361. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/cache.h +26 -0
  362. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/free_space.h +60 -0
  363. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/operations_cpu.h +411 -0
  364. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/glb/glb.h +25 -0
  365. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/glb/operations_cpu.h +1288 -0
  366. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/operations_cpu.h +136 -0
  367. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/catalog.h +232 -0
  368. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/conversion.h +33 -0
  369. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/operations_cpu.h +123 -0
  370. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/procthor.h +39 -0
  371. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_cpu.h +626 -0
  372. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_generic.h +1214 -0
  373. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/context.h +195 -0
  374. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/device_source.h +17 -0
  375. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/operations_cpu.h +1088 -0
  376. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device.h +215 -0
  377. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device_impl.h +1135 -0
  378. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/operations_cuda.h +1701 -0
  379. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/overlay_accel.h +64 -0
  380. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/specialization.h +35 -0
  381. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/context.h +234 -0
  382. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/device_source.h +48 -0
  383. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/operations_cpu.h +2023 -0
  384. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/bvh_sah.h +182 -0
  385. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/context.h +237 -0
  386. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/device_source.h +17 -0
  387. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/operations_cpu.h +1277 -0
  388. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_common.h +831 -0
  389. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_mux.h +32 -0
  390. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_post.h +96 -0
  391. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/outputs/operations_generic.h +225 -0
  392. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/outputs/outputs.h +228 -0
  393. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/renderer.h +388 -0
  394. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/save_cpu.h +319 -0
  395. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/scene.h +44 -0
  396. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/transforms_generic.h +25 -0
  397. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/types.h +45 -0
  398. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/operations_cpu.h +96 -0
  399. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/operations_generic.h +154 -0
  400. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/rig.h +70 -0
  401. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/scene.h +132 -0
  402. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/segmentation_cpu.h +145 -0
  403. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/transforms.h +204 -0
  404. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/types.h +76 -0
  405. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/algorithms.h +6 -0
  406. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu.h +1 -0
  407. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu_mkl.h +1 -0
  408. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_generic.h +1 -0
  409. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/config.h +243 -0
  410. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_cuda.h +9 -0
  411. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_generic.h +205 -0
  412. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/persist.h +109 -0
  413. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/state.h +51 -0
  414. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/mixed_imitation.h +63 -0
  415. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_cuda.h +190 -0
  416. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic.h +332 -0
  417. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic_mixed_imitation.h +81 -0
  418. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/persist.h +28 -0
  419. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/ppo.h +105 -0
  420. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_gru.h +84 -0
  421. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_mlp.h +61 -0
  422. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/config.h +106 -0
  423. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/operations_generic.h +193 -0
  424. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/state.h +52 -0
  425. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu.h +9 -0
  426. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_accelerate.h +2 -0
  427. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mkl.h +2 -0
  428. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mux.h +9 -0
  429. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cuda.h +131 -0
  430. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_generic.h +580 -0
  431. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/sac.h +151 -0
  432. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_gru.h +72 -0
  433. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_mlp.h +54 -0
  434. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/config.h +107 -0
  435. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/operations_generic.h +174 -0
  436. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/state.h +46 -0
  437. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu.h +9 -0
  438. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_accelerate.h +2 -0
  439. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mkl.h +2 -0
  440. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mux.h +9 -0
  441. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cuda.h +117 -0
  442. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_generic.h +359 -0
  443. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/td3.h +141 -0
  444. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/components.h +4 -0
  445. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/off_policy_runner.h +225 -0
  446. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu.h +95 -0
  447. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_accelerate.h +21 -0
  448. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_mkl.h +21 -0
  449. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cuda.h +237 -0
  450. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic.h +498 -0
  451. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic_per_env.h +112 -0
  452. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/collection.h +57 -0
  453. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/on_policy_runner.h +122 -0
  454. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu.h +2 -0
  455. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_accelerate.h +8 -0
  456. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_mkl.h +8 -0
  457. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_mux.h +12 -0
  458. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cuda.h +183 -0
  459. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic.h +366 -0
  460. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic_common.h +74 -0
  461. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/persist.h +47 -0
  462. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu.h +2 -0
  463. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_accelerate.h +1 -0
  464. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_mkl.h +1 -0
  465. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_generic.h +2 -0
  466. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_cpu.h +9 -0
  467. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_generic.h +123 -0
  468. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/persist.h +57 -0
  469. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/replay_buffer.h +93 -0
  470. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/operations_generic.h +76 -0
  471. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/persist.h +31 -0
  472. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/running_normalizer.h +33 -0
  473. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/operations_generic.h +58 -0
  474. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/operations_generic.h +28 -0
  475. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/wrapper.h +26 -0
  476. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/wrappers.h +29 -0
  477. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/acrobot.h +88 -0
  478. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_cpu.h +152 -0
  479. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_generic.h +202 -0
  480. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/environment.h +40 -0
  481. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_cuda.h +204 -0
  482. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_generic.h +106 -0
  483. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_generic_common.h +26 -0
  484. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/persist.h +33 -0
  485. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/car.h +119 -0
  486. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_cpu.h +110 -0
  487. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_generic.h +206 -0
  488. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_json.h +59 -0
  489. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/track.h +23 -0
  490. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/ui.h +189 -0
  491. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/environments.h +28 -0
  492. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/environment.h +87 -0
  493. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_cpu.h +212 -0
  494. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_generic.h +215 -0
  495. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/observation.h +75 -0
  496. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/operations_cpu.h +1079 -0
  497. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/operations_cuda.h +569 -0
  498. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/pose.h +253 -0
  499. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/presets.h +154 -0
  500. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/operations_cpu.h +26 -0
  501. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/operations_generic.h +91 -0
  502. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/raptor.h +71 -0
  503. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/operations_cpu.h +225 -0
  504. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/operations_generic.h +62 -0
  505. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/rig.h +28 -0
  506. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_cpu.h +86 -0
  507. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_cuda.h +69 -0
  508. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_optix.h +163 -0
  509. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cpu.h +223 -0
  510. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cpu_spectator.h +194 -0
  511. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cuda.h +1 -0
  512. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cuda_spectator.h +109 -0
  513. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/spectator.h +82 -0
  514. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/spy.h +108 -0
  515. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/ui.h +30 -0
  516. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/moving_gate.h +103 -0
  517. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/operations_cpu.h +279 -0
  518. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/operations_cuda.h +242 -0
  519. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_cpu.h +324 -0
  520. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_cuda.h +314 -0
  521. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_generic_position_hold.h +128 -0
  522. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/position_hold.h +22 -0
  523. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/target_frame.h +94 -0
  524. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/yaw/operations_cuda.h +43 -0
  525. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/yaw/operations_generic.h +73 -0
  526. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/baseline.h +46 -0
  527. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/calibration.h +62 -0
  528. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/metrics.h +101 -0
  529. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/operations_cpu.h +374 -0
  530. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/visual_inertial_localization.h +126 -0
  531. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/world.h +326 -0
  532. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/inertial_velocity.h +27 -0
  533. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/metrics.h +266 -0
  534. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/multirotor.h +1138 -0
  535. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_cpu.h +2252 -0
  536. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/05_state_is_nan.h +148 -0
  537. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/10_sample_initial_parameters.h +228 -0
  538. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/20_initial_state.h +208 -0
  539. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/30_sample_initial_state.h +300 -0
  540. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/35_get_desired_state.h +63 -0
  541. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/40_observe.h +637 -0
  542. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/50_state_algebra.h +57 -0
  543. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/60_dynamics.h +134 -0
  544. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/70_post_integration.h +368 -0
  545. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/80_abs_diff.h +312 -0
  546. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic.h +367 -0
  547. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic_inertial_velocity.h +44 -0
  548. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_helper_generic.h +43 -0
  549. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic.h +70 -0
  550. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic_forward.h +24 -0
  551. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/default.h +209 -0
  552. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/arpl.h +112 -0
  553. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie.h +127 -0
  554. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie_brushless.h +108 -0
  555. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie_openmv.h +119 -0
  556. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/flightmare.h +111 -0
  557. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/fs.h +113 -0
  558. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/mrs.h +110 -0
  559. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/savagebee_pusher.h +108 -0
  560. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft.h +117 -0
  561. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft_rigid.h +118 -0
  562. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500.h +88 -0
  563. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_real.h +88 -0
  564. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_sim.h +114 -0
  565. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/init/default.h +56 -0
  566. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/registry.h +108 -0
  567. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/default.h +64 -0
  568. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/reward_functions.h +1 -0
  569. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/operations_generic.h +202 -0
  570. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/squared.h +52 -0
  571. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/termination/default.h +33 -0
  572. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/lissajous.h +72 -0
  573. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/trajectory.h +78 -0
  574. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/persist.h +21 -0
  575. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/persist_code.h +53 -0
  576. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/quaternion_helper.h +103 -0
  577. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/ui.h +180 -0
  578. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/environment.h +69 -0
  579. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_cpu.h +46 -0
  580. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_generic.h +78 -0
  581. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/README.MD +5 -0
  582. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ant.h +77 -0
  583. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/model.h +415 -0
  584. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/operations_cpu.h +162 -0
  585. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/persist.h +86 -0
  586. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ui.h +141 -0
  587. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/mujoco.h +1 -0
  588. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/bottleneck.h +113 -0
  589. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_cpu.h +289 -0
  590. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_generic.h +495 -0
  591. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/environments.h +16 -0
  592. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/observation.h +37 -0
  593. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_cpu.h +2 -0
  594. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_generic.h +33 -0
  595. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_cpu.h +146 -0
  596. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_generic.h +262 -0
  597. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/pendulum.h +197 -0
  598. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui.h +97 -0
  599. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui_xeus.h +124 -0
  600. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_cpu.h +426 -0
  601. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_generic.h +424 -0
  602. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/reacher.h +137 -0
  603. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/loop.h +15 -0
  604. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/config.h +28 -0
  605. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/operations_cpu.h +233 -0
  606. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/persist.h +30 -0
  607. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/state.h +21 -0
  608. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/config.h +25 -0
  609. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/operations_generic.h +47 -0
  610. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/persist.h +20 -0
  611. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/state.h +17 -0
  612. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/config.h +47 -0
  613. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/operations_generic.h +106 -0
  614. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/persist.h +40 -0
  615. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/state.h +36 -0
  616. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/config.h +22 -0
  617. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/operations_cpu.h +44 -0
  618. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/persist.h +20 -0
  619. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/state.h +26 -0
  620. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/config.h +37 -0
  621. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/operations_cpu.h +113 -0
  622. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/persist.h +20 -0
  623. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/state.h +24 -0
  624. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/config.h +43 -0
  625. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/operations_cpu.h +190 -0
  626. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/persist.h +30 -0
  627. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/state.h +37 -0
  628. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/steps.h +4 -0
  629. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/config.h +27 -0
  630. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/operations_cpu.h +52 -0
  631. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/persist.h +20 -0
  632. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/state.h +25 -0
  633. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/operations_generic.h +3 -0
  634. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/rl.h +5 -0
  635. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/evaluation.h +106 -0
  636. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_cpu.h +48 -0
  637. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_generic.h +275 -0
  638. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation.h +269 -0
  639. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation_analysis.h +85 -0
  640. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/rl_tools.h +80 -0
  641. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/client.h +50 -0
  642. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_boost.h +92 -0
  643. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_cpu.h +174 -0
  644. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_websocket.h +208 -0
  645. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/server.h +448 -0
  646. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/universe.h +4 -0
  647. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/declarations_cpu.h +13 -0
  648. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/declarations_cpu_emscripten.h +15 -0
  649. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_arm.h +29 -0
  650. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cpu.h +24 -0
  651. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cpu_emscripten.h +28 -0
  652. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cuda.h +33 -0
  653. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_dummy.h +18 -0
  654. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_esp32.h +20 -0
  655. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_generic.h +19 -0
  656. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_wasm32.h +18 -0
  657. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_cpu.h +16 -0
  658. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_generic.h +14 -0
  659. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/extrack.h +129 -0
  660. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/operations_cpu.h +588 -0
  661. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/integrators.h +103 -0
  662. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/memcpy.h +16 -0
  663. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/operations_generic.h +48 -0
  664. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/tuple.h +147 -0
  665. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/typing.h +122 -0
  666. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/vector_operations.h +172 -0
  667. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_cuda.h +53 -0
  668. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_generic.h +93 -0
  669. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/string/operations_generic.h +201 -0
  670. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/utils/zlib/operations_cpu.h +45 -0
  671. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/include/rl_tools/version.h +28 -0
  672. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/CMakeLists.txt +15 -0
  673. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/README.md +261 -0
  674. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/CMakeLists.txt +11 -0
  675. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/CMakeLists.txt +17 -0
  676. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/freestanding_check.cpp +125 -0
  677. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/CMakeLists.txt +31 -0
  678. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/device.metal +1053 -0
  679. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/metal_cpp_impl.cpp +6 -0
  680. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/CMakeLists.txt +51 -0
  681. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/device.cu +1 -0
  682. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/overlay_accel.cu +310 -0
  683. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/CMakeLists.txt +37 -0
  684. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device.comp +1088 -0
  685. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device_spirv.cpp +44 -0
  686. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/webgpu/CMakeLists.txt +31 -0
  687. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/webgpu/device.wgsl +1538 -0
  688. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/CMakeLists.txt +129 -0
  689. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/README.md +131 -0
  690. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark.cpp +184 -0
  691. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark_dynamic.cpp +497 -0
  692. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/download_paper_scene.py +74 -0
  693. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/CMakeLists.txt +104 -0
  694. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/Info.plist +36 -0
  695. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/Sources/BenchmarkApp.swift +172 -0
  696. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/benchmark.h +10 -0
  697. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/benchmark.mm +46 -0
  698. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/build.sh +17 -0
  699. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/rig.cpp +119 -0
  700. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix.cpp +1384 -0
  701. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix.h +5 -0
  702. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_config.h.in +25 -0
  703. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_identity.cmake +11 -0
  704. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_main.cpp +5 -0
  705. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.cu +125 -0
  706. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.h +58 -0
  707. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics_contract.h +179 -0
  708. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics_cpu.cpp +77 -0
  709. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/camera_orbit.h +51 -0
  710. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/CMakeLists.txt +199 -0
  711. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/antialiasing.cpp +215 -0
  712. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone.cpp +321 -0
  713. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone_device.cu +359 -0
  714. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/environment.h +92 -0
  715. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/operations_cpu.h +263 -0
  716. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/example.cpp +274 -0
  717. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/fixed_pose.cpp +223 -0
  718. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/flow.cpp +120 -0
  719. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/interactive.cpp +1021 -0
  720. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/minimal.cpp +84 -0
  721. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/minimal_overlay.cpp +139 -0
  722. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/motion_blur.cpp +233 -0
  723. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace.cpp +1829 -0
  724. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace_motion_blur.cpp +648 -0
  725. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/CMakeLists.txt +147 -0
  726. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/README.md +15 -0
  727. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/job.sbatch +28 -0
  728. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model.h +260 -0
  729. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_config.h +24 -0
  730. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_forward_cuda.h +397 -0
  731. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_operations.h +418 -0
  732. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_persist.h +45 -0
  733. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_student.h +70 -0
  734. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.cpp +223 -0
  735. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.h +68 -0
  736. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/.gitignore +5 -0
  737. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/CMakeLists.txt +4 -0
  738. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info.plist +24 -0
  739. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info_ios.plist +36 -0
  740. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/CameraManager.swift +120 -0
  741. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/ContentView.swift +703 -0
  742. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/DatasetRecorder.swift +285 -0
  743. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/YawPredictorApp.swift +25 -0
  744. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/YawPredictor.entitlements +8 -0
  745. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build.sh +66 -0
  746. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build_ios.sh +133 -0
  747. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/generate.sh +6 -0
  748. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/h5_to_tar.cpp +82 -0
  749. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.cpp +166 -0
  750. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.h +26 -0
  751. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/project.yml +30 -0
  752. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/test_tar_vs_hdf5.cpp +173 -0
  753. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_cuda.cu +699 -0
  754. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_dataset_overlay.cpp +475 -0
  755. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_distill_cuda.cu +995 -0
  756. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_eval.cu +457 -0
  757. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_real_world_eval.cpp +660 -0
  758. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_viewer.cu +443 -0
  759. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/CMakeLists.txt +63 -0
  760. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/example.cpp +102 -0
  761. hyperlux-0.0.1/hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/ui.cpp +380 -0
  762. hyperlux-0.0.1/hyperdrone/dynamics/__init__.py +5 -0
  763. hyperlux-0.0.1/hyperdrone/dynamics/_component.py +31 -0
  764. hyperlux-0.0.1/hyperdrone/dynamics/_config.py +48 -0
  765. hyperlux-0.0.1/hyperdrone/dynamics/_sim.py +166 -0
  766. hyperlux-0.0.1/hyperdrone/env/__init__.py +23 -0
  767. hyperlux-0.0.1/hyperdrone/env/_multi_environment.py +570 -0
  768. hyperlux-0.0.1/hyperdrone/env/_rotorcraft.py +29 -0
  769. hyperlux-0.0.1/hyperdrone/env/_spy.py +39 -0
  770. hyperlux-0.0.1/hyperdrone/examples/.gitignore +3 -0
  771. hyperlux-0.0.1/hyperdrone/examples/Benchmark.ipynb +113 -0
  772. hyperlux-0.0.1/hyperdrone/examples/HyperDrone.ipynb +597 -0
  773. hyperlux-0.0.1/hyperdrone/examples/Orbiter.ipynb +497 -0
  774. hyperlux-0.0.1/hyperdrone/examples/Overview.ipynb +380 -0
  775. hyperlux-0.0.1/hyperdrone/examples/Renderer.ipynb +218 -0
  776. hyperlux-0.0.1/hyperdrone/examples/__init__.py +16 -0
  777. hyperlux-0.0.1/hyperdrone/examples/articulation.py +55 -0
  778. hyperlux-0.0.1/hyperdrone/examples/benchmark.py +236 -0
  779. hyperlux-0.0.1/hyperdrone/examples/benchmark_minimal.py +65 -0
  780. hyperlux-0.0.1/hyperdrone/examples/data.py +56 -0
  781. hyperlux-0.0.1/hyperdrone/examples/drone_flythrough.py +169 -0
  782. hyperlux-0.0.1/hyperdrone/examples/hyperdrone_videos/my_world_preview.h +17 -0
  783. hyperlux-0.0.1/hyperdrone/examples/my_world.h +17 -0
  784. hyperlux-0.0.1/hyperdrone/examples/render_procthor.py +40 -0
  785. hyperlux-0.0.1/hyperdrone/examples/shots.py +108 -0
  786. hyperlux-0.0.1/hyperdrone/examples/spy.py +40 -0
  787. hyperlux-0.0.1/hyperdrone/examples/visual_inertial_localization.py +158 -0
  788. hyperlux-0.0.1/hyperdrone/gym/__init__.py +67 -0
  789. hyperlux-0.0.1/hyperdrone/render/__init__.py +57 -0
  790. hyperlux-0.0.1/hyperdrone/render/_component.py +51 -0
  791. hyperlux-0.0.1/hyperdrone/render/_config.py +76 -0
  792. hyperlux-0.0.1/hyperdrone/render/_renderer.py +498 -0
  793. hyperlux-0.0.1/hyperdrone/render/_rig.py +136 -0
  794. hyperlux-0.0.1/hyperdrone/render/_sampling.py +72 -0
  795. hyperlux-0.0.1/hyperdrone/render/_scene.py +38 -0
  796. hyperlux-0.0.1/hyperdrone/render/datasets.py +15 -0
  797. hyperlux-0.0.1/pyproject.toml +38 -0
@@ -0,0 +1 @@
1
+ /dist/
@@ -0,0 +1,518 @@
1
+ Metadata-Version: 2.5
2
+ Name: hyperlux
3
+ Version: 0.0.1
4
+ Summary: The fastest drone simulator and renderer (raytracer).
5
+ Author-email: Jonas Eschmann <jonas.eschmann@gmail.com>
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: conta>=0.0.1
9
+ Requires-Dist: nanobind>=2.0
10
+ Requires-Dist: numpy
11
+ Provides-Extra: examples
12
+ Requires-Dist: imageio; extra == 'examples'
13
+ Requires-Dist: imageio-ffmpeg; extra == 'examples'
14
+ Requires-Dist: matplotlib; extra == 'examples'
15
+ Requires-Dist: scipy>=1.15; extra == 'examples'
16
+ Provides-Extra: gym
17
+ Requires-Dist: gymnasium>=1.0; extra == 'gym'
18
+ Description-Content-Type: text/markdown
19
+
20
+ # hyperdrone
21
+
22
+ Drone simulation stack for RLtools: raytracing renderer, L2F multirotor dynamics, and
23
+ environment setup under one Python package.
24
+
25
+ | Subpackage | What it is |
26
+ |---|---|
27
+ | `hyperdrone.render` | Raytracing renderer (OptiX / Metal / Vulkan / generic CPU). Self-contained — no dependency on drone dynamics. |
28
+ | `hyperdrone.dynamics` | Vectorized, stateful L2F multirotor simulator (`Sim`); cpu and cuda variants. |
29
+ | `hyperdrone.env` | The RL environment: the C++ `MultiEnvironment<hyperdrone::World>` driven through the exact rl_tools batch verbs. |
30
+ | `hyperdrone.gym` | Optional Gymnasium `VectorEnv` adapter over `hyperdrone.env` (`pip install "hyperdrone[gym]"`). |
31
+
32
+ Native components are JIT-compiled per set of compile-time constants (resolution, camera
33
+ count, drone count, ...) into a persistent cache; later uses load the cached library
34
+ directly. `render` and `dynamics` are peers that never import each other — the coupling
35
+ surface is a plain DLPack tensor of packed camera bases, device-resident on OptiX + CUDA.
36
+ Rendering uses a shared scene module and a directly bound Python extension per renderer
37
+ configuration; scene and asset-pool objects can be reused across configurations. Environment
38
+ configurations are also directly bound extensions, sharing their C++ implementation with
39
+ the golden-rollout generator.
40
+
41
+ ## Notebooks
42
+
43
+ | Notebook | Open in Colab |
44
+ |---|---|
45
+ | [Overview](hyperdrone/examples/Overview.ipynb) | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rl-tools/rl-tools/blob/master/interface/python/hyperdrone/hyperdrone/examples/Overview.ipynb) |
46
+ | [HyperDrone](hyperdrone/examples/HyperDrone.ipynb) | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rl-tools/rl-tools/blob/master/interface/python/hyperdrone/hyperdrone/examples/HyperDrone.ipynb#scrollTo=g-cDv8bdN7j9) |
47
+ | [Benchmark](hyperdrone/examples/Benchmark.ipynb) | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rl-tools/rl-tools/blob/master/interface/python/hyperdrone/hyperdrone/examples/Benchmark.ipynb) |
48
+ | [Renderer](hyperdrone/examples/Renderer.ipynb) | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rl-tools/rl-tools/blob/master/interface/python/hyperdrone/hyperdrone/examples/Renderer.ipynb) |
49
+ | [Orbiter](hyperdrone/examples/Orbiter.ipynb) | [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rl-tools/rl-tools/blob/master/interface/python/hyperdrone/hyperdrone/examples/Orbiter.ipynb) |
50
+
51
+ ## Install
52
+
53
+ From an rl-tools checkout (development):
54
+
55
+ ```bash
56
+ .venv/bin/pip install -e interface/python/hyperdrone
57
+ ```
58
+
59
+ From an sdist (self-contained — bundles the rl-tools headers and raytracing sources, no
60
+ checkout needed):
61
+
62
+ ```bash
63
+ pip install hyperdrone-<version>.tar.gz
64
+ ```
65
+
66
+ Install the dependencies used by the packaged examples with:
67
+
68
+ ```bash
69
+ pip install "hyperdrone[examples]"
70
+ ```
71
+
72
+ Requirements: CMake >= 3.24, a C++17 compiler, and git for dependency downloads.
73
+ GLB loading uses the Assimp 6.0.4 release archive with a pinned SHA-256, shared by render and env builds. Cached archives are reused offline and verified by CMake before extraction.
74
+ CUDA + OptiX driver is required for the OptiX render backend and cuda dynamics,
75
+ Vulkan dev + glslang for the VULKAN backend. The WEBGPU backend fetches a hash-pinned
76
+ wgpu-native prebuilt at first build (no extra system packages). Nothing beyond the
77
+ build toolchain for GENERIC + cpu.
78
+
79
+ ## Environment
80
+
81
+ | Variable | Meaning |
82
+ |---|---|
83
+ | `HYPERDRONE_RENDER_BACKEND` | `OPTIX` \| `METAL` \| `VULKAN` \| `WEBGPU` \| `GENERIC` \| `AUTO` (AUTO preference: OPTIX > METAL > VULKAN > WEBGPU > GENERIC) |
84
+ | `HYPERDRONE_CACHE_DIR` | root for CMake build trees and downloaded build dependencies (default `~/.cache/hyperdrone`) |
85
+ | `HYPERDRONE_RLTOOLS_ROOT` | rl-tools source root override (default: enclosing checkout, else the vendored tree) |
86
+ | `HYPERDRONE_PROCTHOR_PATH` | examples only: local ProcTHOR scene override (otherwise downloaded and cached) |
87
+ | `HYPERDRONE_SKIP_BUILD` | skip the CMake staleness check when the artifacts already exist |
88
+ | `HYPERDRONE_OFFLINE` | forbid network during builds (requires seeded/vendored dependencies) |
89
+ | `HYPERDRONE_BUILD_JOBS` | parallel build jobs (default 5) |
90
+
91
+ Each component, variant and native CPU instruction set gets its own build tree (`render-optix-*`, `dynamics-cuda-*`,
92
+ ...); switching never invalidates another's cache. All configure/build steps run under a
93
+ per-tree file lock, so many worker processes can share one cache safely. CMake
94
+ FetchContent sources and native build state live in `<cache>/.dependencies`; the native
95
+ build does not write generated files into an editable checkout or installed package. CUDA trees also distinguish the native GPU architecture or explicit `CUDAARCHS` target.
96
+
97
+ At the default verbosity, each successful renderer allocation reports the selected backend on
98
+ stderr, for example `#rl_tools::rendering::raytracing: backend=metal`. The
99
+ `Renderer.backend` and `MultiEnvironment.render_backend` properties provide the same
100
+ lowercase name from the compiled renderer type.
101
+ `hyperdrone.set_verbosity(level)` selects the native log level, `error`, `warning`, `info`
102
+ (default, includes the backend line) or `debug`, for loaded and future native modules alike.
103
+ Changes apply to subsequent diagnostic checks, including during native work on other threads;
104
+ a diagnostic already checked may finish at its previous level. Application stdout is independent
105
+ of diagnostic verbosity.
106
+
107
+ ## Rendering
108
+
109
+ ```python
110
+ import numpy as np
111
+ from hyperdrone import render
112
+ from hyperdrone.examples.data import procthor_scene_path
113
+
114
+ scene = render.load_scene(procthor_scene_path(), fidelity="high")
115
+
116
+ renderer = render.Renderer(width=320, height=240, num_cameras=4, output=("rgb", "depth"), fidelity="high")
117
+ renderer.init(scene)
118
+
119
+ camera = renderer.camera(position=(0, 0, 1.5), look_at=(1, 0, 1.5), fov=80)
120
+ renderer.set_cameras(np.repeat(camera[None], 4, axis=0))
121
+ renderer.render()
122
+
123
+ rgb = renderer.frame() # (4, 240, 320, 4) uint8
124
+ depth = renderer.depth() # (4, 240, 320) float32
125
+ ```
126
+
127
+ The renderer operates in the L2F FLU frame: +X forward, +Y left, +Z up; GLB assets are
128
+ swizzled at load time. Procedural scenes (`render.Scene()` + `render.Object` /
129
+ `render.Mesh` / `render.SceneLight`), segmentation output, overlays (per-camera dynamic
130
+ content via `AssetPool` + `spawn`/`attach`), motion blur, and anti-aliasing follow the
131
+ same API as before under `hyperdrone.render.*`.
132
+
133
+ Converted ProcTHOR scenes carry ambient `(0.6, 0.6, 0.6)` and a black background in
134
+ `scenes[].extras.rl_tools.environment` (`mode: "solid"`, `ambient` and `background`
135
+ are nonnegative linear RGB triples). Scene loading imports these settings; importing
136
+ objects or assemblies leaves the parent environment alone. Ambient affects `high`
137
+ and `veryhigh`, approximating indirect illumination without light bounces. Override
138
+ imported settings with `scene.set_environment(...)` before `renderer.init(scene)`.
139
+
140
+ `render()` produces all image outputs selected at construction; `render_launch()` and `render_sync()` split submission from waiting. Collision probes run separately through `probe()` or `probe_launch()` / `probe_sync()`, after `generate_probe_directions()`, and are read with `collisions()`. `num_probes` sets their count per camera (default 1); zero compiles the probe pass out and makes probe operations raise. Probe 0 follows the camera's principal axis; the remaining directions are a fixed Fibonacci set in the camera's FLU frame (x forward, y image left, z image up), so the pattern turns with the camera.
141
+
142
+ ### Zero-copy I/O (DLPack)
143
+
144
+ ```python
145
+ renderer.frame() # snapshot copy (safe to keep)
146
+ renderer.frame(out=rgba_array) # fill an existing writable, aligned, C-contiguous uint8 array
147
+ rgba = torch.from_dlpack(renderer.frame_dlpack())
148
+ # live uint8 (num_cameras, height, width, 4), zero-copy GPU tensor on OptiX
149
+ packed = torch.from_dlpack(renderer.frame_raw_dlpack())
150
+ # same memory as packed uint32 (num_cameras, height, width)
151
+ ```
152
+
153
+ Inputs accept any DLPack producer. CUDA-resident camera input (OptiX):
154
+ `set_cameras` dispatches on `__dlpack_device__`, so a CUDA tensor — a torch GPU tensor,
155
+ a CuPy/JAX CUDA array, or `Sim.camera_bases_dlpack(aspect=renderer.aspect)` — is handed
156
+ over device-to-device on the render stream, fully async; `stream=` takes the producer's
157
+ cudaStream_t handle for event-ordered hand-off. The renderer retains asynchronous inputs until the corresponding render/probe synchronization; do not mutate their contents until that work finishes.
158
+
159
+ ## Dynamics
160
+
161
+ ```python
162
+ from hyperdrone import dynamics
163
+
164
+ sim = dynamics.Sim(4096, parameters={"dynamics": {"dynamics": {"model": "x500_sim"}}}, seed=0, device="cuda")
165
+ sim.reset() # nominal state; reset(sample_states=True) samples the configured distribution
166
+ sim.step(actions) # (N, 4) float32 in [-1, 1], host or CUDA tensor
167
+ sim.state["position"] # independent host copy
168
+ sim.state_dlpack("position") # live backend buffer
169
+ sim.observe() # (N, 18): position, row-major body-to-world rotation, velocities
170
+ sim.set_instance_parameters({"dynamics": {"dynamics": {"mass": 1.2}}}, mask=selected)
171
+ sim.instance_parameters() # per-drone values; overrides last until each drone's next reset
172
+ sim.parameters # fresh copy of the constructor's resolved shared parameters
173
+
174
+ cameras = sim.camera_bases_dlpack(fov=100, aspect=renderer.aspect)
175
+ renderer.set_cameras(cameras, stream=sim.stream)
176
+ ```
177
+
178
+ `Sim` defaults to `device="cpu"`; choose `"cuda"` or `"auto"` explicitly. Seed at construction, then `reset(mask=None, *, sample_states=False)` advances the sampling sequence only for selected drones. Observation noise uses a separate stream from stepping. The shared parameter schema matches the environment's `"dynamics"` tree; integration `dt` is fixed at construction and available as read-only `sim.dt`. Per-drone overrides affect `dynamics.dynamics`; a reset restores that drone's nominal parameters. `motor_command` is the rotor command in the model's action-limit units, not measured RPM. A process can load one dynamics variant.
179
+
180
+ Host accessors return independent snapshots; names ending in `_dlpack()` expose live storage. Drive each object on its construction CUDA device, and finish consuming a borrowed buffer before the producer overwrites it. `Sim` orders DLPack exports onto the consumer's stream. Camera bases have shape `(N, 12)` and concatenate `position`, `dir_00`, `dir_du`, and `dir_dv` world-FLU vectors; the pixel-centre ray is `normalize(dir_00 + (x+0.5)/width * dir_du + (y+0.5)/height * dir_dv)`; `aspect` is required when constructing them.
181
+
182
+ ## RL environment
183
+
184
+ ```python
185
+ import numpy as np
186
+ from hyperdrone.env import EnvConfig, MultiEnvironment
187
+
188
+ config = EnvConfig(num_environments=1, instances_per_environment=1024, width=32, height=32, task="target_frame")
189
+ env = MultiEnvironment("scenes/", config=config, seed=0)
190
+
191
+ mask = np.ones(env.total_instances, dtype=bool)
192
+ env.reset(mask) # resample parameters + states where mask is set
193
+ observations = env.observe() # (total, observation_dim) float32
194
+ env.step(actions) # (total, action_dim) float32 in [-1, 1]
195
+ rewards, terminated = env.rewards(), env.terminated()
196
+ critic_input = env.observe_privileged()
197
+ env.rotate_scene() # deterministic scene rotation; reset all instances after
198
+ env.observation_layout # named blocks: which channels/values mean what
199
+ ```
200
+
201
+ `reset(mask)` samples parameters and states immediately. `observe()` renders as needed,
202
+ and each observation is acquired at most once per simulation step. Frame history advances once per simulation step, and repeated reads reuse that step's frame; skipped reads do not stretch camera exposure beyond `shutter_fraction * dt`. The training loop owns episode counters and
203
+ chooses when to reset; the Gymnasium adapter below supplies same-step autoreset and time limits.
204
+
205
+ On the OptiX backend the World runs on the GPU (`env.device == "cuda"`): its RNG and every
206
+ instance tensor live there, and every verb is enqueued on one CUDA stream, `env.stream`, which
207
+ you bind to the stream your tensors live on. CUDA arrays (any DLPack producer on
208
+ `env.device_id`) are then read in place and outputs written into `out=`, in stream order,
209
+ with no copies or host synchronization:
210
+
211
+ ```python
212
+ import torch
213
+ env = MultiEnvironment("scenes/", config=config, seed=0, stream=torch.cuda.current_stream().cuda_stream)
214
+ observations = torch.empty((T, env.total_instances, env.observation_dim), device="cuda")
215
+ rewards = torch.empty((T, env.total_instances), device="cuda")
216
+ terminated = torch.empty((T, env.total_instances), dtype=torch.bool, device="cuda")
217
+ reset_mask = torch.ones(env.total_instances, dtype=torch.bool, device="cuda")
218
+ for t in range(T):
219
+ env.reset(reset_mask) # CUDA bool mask
220
+ env.observe(out=observations[t]) # written into the rollout buffer
221
+ env.step(policy(observations[t])) # CUDA float32 actions
222
+ env.rewards(out=rewards[t])
223
+ env.terminated(out=terminated[t])
224
+ reset_mask = terminated[t] # plus your episode limits
225
+ ```
226
+
227
+ Order data produced on another stream yourself (`env_stream.wait_stream(producer)`), as
228
+ between any two torch streams; setting `env.stream` orders the new stream after the old
229
+ one's work. numpy arrays work with every World: they are staged through the environment
230
+ and the call synchronizes. `EnvConfig(device="cpu")` keeps the World on the host; the
231
+ visual-inertial localization task (no CUDA verbs yet) and `spec_header` Worlds (whose verbs
232
+ may be host loops) default to it.
233
+
234
+ `EnvConfig` is the compile-time part (the JIT key); the runtime part is `MultiEnvironment(..., parameters={"dynamics": {"dynamics": {"model": "x500", "mass": 2.1}}, "cameras": [{"fov": 90}]})`, a partial dict merged over the nominal parameters as the base of every drone (the specification's randomization ranges apply on top at reset). `env.parameters` returns drone zero's resolved nominal parameters, including its entry-specific overrides: `"dynamics"` is the l2f parameter set, where a `"model"` key loads an l2f registry entry (`hyperdrone.dynamics.MODELS`) before the rest is merged, and each entry in `"cameras"` holds `mount.pose` (`position` and `orientation`, a (w, x, y, z) quaternion mapping the camera's FLU axes into the body frame) and the horizontal `fov` in degrees. `env.instance_parameters()` returns what each instance is using in the current episode (after randomization), and `env.set_instance_parameters(overrides, mask)` changes it until that instance's next reset (one dict for all selected instances or one per instance); only the drone itself varies (`dynamics.dynamics`, `dynamics.imu`, `cameras`, and `"drone"`, which starts from another table entry's nominal and swaps the rendered body).
235
+
236
+ Several drones fly in one environment through the drone table, `MultiEnvironment(..., drones=[{"asset": x500, "parameters": {...}}, {"asset": crazyflie, "parameters": {"dynamics": {"dynamics": {"model": "crazyflie"}}}}, ...])`: every agent samples one entry uniformly at each group reset, independently of the scene its environment shows, so every scene meets every drone. An entry pairs the body/prop_* GLB rendered into the instance's cameras with a partial parameter dict merged over the shared constructor base (the per-drone keys `dynamics.dynamics`, `dynamics.imu`, `cameras`); the same GLB may back several dynamics entries, distinct GLBs load once and all of them need the same part count (an agent's body swaps in place at reset, on the GPU for a CUDA World). The table holds up to `env.max_drone_types` entries (8, a `spec_header` World sets its own), `env.drones` returns the resolved native table, and each agent's `"drone"` value in `env.instance_parameters()` indexes it. `env.self_visible` and `env.max_drone_types` report the compiled world's capabilities, including custom `spec_header` worlds. `drone_asset=X` is the one-entry table. The six rigged assemblies in `hyperdrone.examples.data.RIGGED_MODELS` use matching l2f registry entries; each prop spins with the dynamics rotor at its position whatever rotor order the entry uses.
237
+
238
+ With `EnvConfig(preset="x500_fpv", num_agents=7, num_camera_agents=7)`, each instance is a group of seven mutually visible drones; groups share scene geometry but remain isolated episodes. `instance_parameters()` returns `{"agents": [...]}` per group, and `set_instance_parameters({"agents": [{"drone": i} for i in choices]}, mask)` assigns models independently (`{}` leaves an agent unchanged). Single-agent entries keep the flat schema. Scene placement, exposure, shutter fraction, reset, reward and termination remain group-wide; all agents share the integration timestep.
239
+
240
+ `num_camera_agents` defaults to 1 and selects agents `[0, num_camera_agents)` to produce images; all `num_agents` drones still receive actions and appear in state, privileged observations and rendered geometry. `EnvConfig(num_agents=7, num_camera_agents=1, preset="x500_fpv", num_cameras_per_agent=2)` gives agent 0 two synchronized cameras. Set mounts and horizontal FOVs with `parameters={"cameras": [fpv, chase]}`; each agent retains a list of exactly `num_cameras_per_agent` entries, and `{}` preserves a camera’s existing values in a partial override. All cameras share resolution, output channels and capture timing. `env.num_views` is `env.num_camera_agents * env.num_cameras_per_agent`, ordered by agent then camera. Base-world `frames()` tiles these views vertically; `env.frames().reshape(env.total_instances, env.num_camera_agents, env.num_cameras_per_agent, H, W, 3)` exposes the axes without copying.
241
+
242
+ All environment semantics — reset, reward, termination, scene scheduling, observation
243
+ composition — live on the C++ side (`rl_tools::rl::environments::hyperdrone::MultiEnvironment<World>`);
244
+ the binding marshals tensors and nothing else, and a seeded host-World rollout is pinned
245
+ bit-exact against the C++ verbs by a golden test. The scenes argument is a directory of `.glb`
246
+ scenes (sorted corpus) or a list of references — `.glb` paths, `conta:HASH` strings, or
247
+ conta store manifest entries `{"description": ..., "hash": ...}` — used as the corpus in
248
+ list order and partitioned across environments; conta references (scenes, `drone_asset=`,
249
+ `assets={"gate": reference}`) resolve through the `conta` package into the shared content-addressed
250
+ cache, so a config pins the exact corpus on any machine. Configuration follows the C++
251
+ extension ladder:
252
+ `preset=` names the platform (`"crazyflie"`, `"x500_fpv"` — SELF_VISIBLE, pass a
253
+ body/prop_* GLB via `drone_asset=`; `hyperdrone.env.Rotorcraft(assembly, rotor_positions=...,
254
+ rotor_torque_directions=...)` is the same rig as a `render.Rig` for manual composition: every
255
+ `prop_*` part spins about its hub, and given the dynamics rotor layout (`sim.parameters["dynamics"]["dynamics"]`)
256
+ coordinate i is the phase of rotor i spinning against its reaction torque, so `sim.state["motor_command"]` supplies motor command values for a chosen visual spin calibration; without rotors the props follow part order and the
257
+ Quad-X convention, front-right CCW — and `"x500_fpv_imu"`, the same platform stepping at
258
+ IMU rate), `task=` names the wrapper (`"target_frame"`, `"moving_gate"`,
259
+ `"visual_inertial_localization"`), `num_agents=` enables multi-agent, `num_camera_agents=` selects the prefix with cameras, `num_cameras_per_agent=` sets their camera count, and `EnvConfig(spec_header=...)` pins
260
+ an arbitrary C++ specification (a header defining `hyperdrone_env_user::WORLD`, hashed
261
+ into the JIT key); its final C++ specification must define `N_CAMERA_AGENTS` explicitly. A spec header can go beyond constants to a full user-authored task
262
+ wrapper — verb overloads registering and moving entities, compiled reward, termination:
263
+ `hyperdrone/examples/Orbiter.ipynb` walks through one, and `tests/env/test_orbiter.py`
264
+ compiles and flies its header. The environment's raytracing backend follows
265
+ `HYPERDRONE_RENDER_BACKEND` like the renderer.
266
+
267
+ Entity wrappers share their own pose writes in `prepare_entity_poses`: `render` calls it before forwarding acquisition, and `step` calls it before forwarding when a frame is pending and history or flow requires its poses. The base World separates input production (`prepare_render_inputs`), temporal reset (`reset_render_state`, using prepared poses for flow) and advancement (`advance_flow`), and acquisition (`render`, which publishes transforms, updates acceleration, and scatters images into history). Pose helpers neither render nor call `update`; CUDA may fuse temporal bookkeeping into existing kernels without changing these semantics.
268
+
269
+ The target-frame task requires one agent with one camera and pre-renders its episode setups: a bank of one setup per instance
270
+ (drone, scene placement, camera, brightness and the target perturbations) is rendered in one pass
271
+ every `TARGET_BANK_REFRESH_STEPS` simulation steps (a compile-time task constant, default 32) and after
272
+ a scene change, and resets adopt the bank's setups in turn and copy their frames, so a reset
273
+ adds no render pass of its own; resets beyond the instance count within one refresh reuse
274
+ setups. Each episode's drone and camera come from its setup, so `set_instance_parameters`
275
+ rejects drone and camera overrides for this task; a replayed spawn re-renders its target frame.
276
+
277
+ `EnvConfig(motion_blur_samples=8)` enables camera and propeller motion blur for presets and tasks; valid counts are 1 (default, disabled), 2, 4, 8, 16, and 32. Custom spec headers control `ENABLE_MOTION_BLUR` and `MOTION_BLUR_SAMPLES` directly.
278
+
279
+ For repeatable shots, capture `points = env.spawn_points()` after a reset and save the returned dictionaries, then use `env.reset(mask, spawn_points=points)` with one entry per selected instance (a host mask). Each entry pins the active scene by content hash, one drone-table index per agent in `"drone"`, scene translation/yaw, per-agent pose (`xyz, wxyz`), and shutter fraction. The reset uses constructor-supplied drone dynamics and camera mounts; velocity/motor initialization and task-specific randomization still follow their configured ranges. Scene changes remain explicit through `rotate_scene()`, which requires resetting every instance before further use; a shot for a different active scene is rejected.
280
+
281
+ Manual composition of `Sim` and `Renderer` (no MDP — rendering research, data
282
+ generation) remains first-class: see `python -m hyperdrone.examples.drone_flythrough`
283
+ for the wiring. `ClearanceSampler` lives in `hyperdrone.render` — it rides the
284
+ renderer's collision probes and is deterministic given a seed.
285
+
286
+ ### Native spy
287
+
288
+ `env.spy()` opens a live camera mosaic and an independent spectator camera. Call `update()` on the main thread after your usual `observe()` or `render()` and before changing the environment; the spy reads existing observations without producing new ones. GUI events are processed only by `update()`, so call it regularly even when training is paused. Closing its window leaves the environment running; `update()` then returns `False`.
289
+
290
+ ```python
291
+ env.reset()
292
+ with env.spy() as spy:
293
+ for _ in range(1000):
294
+ observations = env.observe()
295
+ spy.update()
296
+ env.step(policy(observations))
297
+ env.reset(env.terminated())
298
+ env.close()
299
+ ```
300
+
301
+ Click a camera tile to select its member, instance, agent and camera, then click the spectator for mouse look. WASD moves, Q/E moves down/up, Shift accelerates, and Esc releases the mouse; the spectator pose is retained for each world independently. The spectator has its own renderer; camera capture and spectator refresh are capped at 20 Hz, and GUI work at 60 Hz. They still consume GPU bandwidth and rendering capacity. Use `with` or explicitly close the spy on the main thread before environment teardown. The Gymnasium adapter also exposes `env.spy()`; call `update()` after `reset()` or `step()`.
302
+
303
+ The optional native dependencies are GLFW, desktop OpenGL and Dear ImGui (on Ubuntu: `libglfw3-dev`, `libgl1-mesa-dev`, `libimgui-dev`). Alternatively, supply an existing ImGui source checkout with `RL_TOOLS_IMGUI_SOURCE_DIR=/path/to/imgui` before the first JIT configure. After adding dependencies to an existing build, run `cmake /path/to/cache/env-<backend>-<tag>` (add `-DRL_TOOLS_IMGUI_SOURCE_DIR=/path/to/imgui` for a source checkout), unset `HYPERDRONE_SKIP_BUILD`, and restart Python; constructing the next environment rebuilds its native module. The build directory lives under `HYPERDRONE_CACHE_DIR` (default `~/.cache/hyperdrone`); CMake reports `HyperDrone spy` availability. Ordinary environments remain usable when these dependencies are absent; `env.spy()` then explains the missing build feature. No display or window is opened until `env.spy()` is called.
304
+
305
+ Run a local-scene example with `python -m hyperdrone.examples.spy /path/to/scene.glb`.
306
+
307
+ C++ uses `hyperdrone::Spy<hyperdrone::spy::Config<ENVIRONMENT>>` with device-first `malloc`, `init`, `update` and `free`; link `RLtools::HyperDroneSpy` and close the spy before freeing its environment. The [C++ example](../../../src/rl/environments/hyperdrone/spy/example.cpp) builds as `example_hyperdrone_spy` when the GUI dependencies are available. Both interfaces share the same capture, spectator and window implementation.
308
+
309
+ ### Visual-inertial localization
310
+
311
+ `task="visual_inertial_localization"` on `preset="x500_fpv_imu"` is the localization
312
+ benchmark: fixed-length synchronized episodes stepping at IMU rate (`env.dt`), a camera
313
+ frame every `env.frame_stride` steps, and the IMU sample of each step from
314
+ `env.observe_imu()` (named by `env.observation_layout_imu`: accelerometer, gyroscope,
315
+ frame age, new-frame flag). The task is autonomous: the RAPTOR autopilot built into it
316
+ flies a waypoint route (its checkpoint is pinned by content hash and fetched through
317
+ conta on first use), so `action_dim` is 0 and `step()` takes no actions. The privileged
318
+ observation carries the current `waypoint` next to the dynamics state; the drone's own
319
+ body is not rendered, matching the C++ benchmark harness. Resets must be all-or-none per
320
+ environment.
321
+
322
+ ```python
323
+ config = EnvConfig(instances_per_environment=2, width=160, height=120, preset="x500_fpv_imu", task="visual_inertial_localization")
324
+ env = MultiEnvironment(scenes, config=config, seed=0)
325
+ env.reset()
326
+ for step in range(env.episode_step_limit):
327
+ if step % env.frame_stride == 0:
328
+ frames = env.frames() # the estimator's camera frame
329
+ env.step()
330
+ imu = env.observe_imu() # the estimator's IMU sample for this step
331
+ truth = env.observe_privileged() # position / rotation matrix / velocities / waypoint
332
+ ```
333
+
334
+ `python -m hyperdrone.examples.visual_inertial_localization` runs an episode and scores
335
+ IMU dead reckoning against the ground truth, the same protocol as the C++ demo.
336
+
337
+ ### Gymnasium
338
+
339
+ ```python
340
+ from hyperdrone.gym import VectorEnv # pip install "hyperdrone[gym]"
341
+ env = VectorEnv("scenes/", config=EnvConfig(instances_per_environment=1024), seed=0)
342
+ observations, infos = env.reset()
343
+ observations, rewards, terminations, truncations, infos = env.step(actions)
344
+ ```
345
+
346
+ The adapter resets instances that terminate or reach `episode_step_limit` within the same
347
+ step. Returned observations start the new episode for those instances; no final observation
348
+ is exposed. `truncations` flags time limits that are not terminations. The core packages
349
+ never import gymnasium.
350
+
351
+ End-to-end example: `python -m hyperdrone.examples.drone_flythrough`; renderer benchmark:
352
+ `python -m hyperdrone.examples.benchmark` (flag-compatible with the C++ benchmark
353
+ counterpart).
354
+
355
+ ## Publishing
356
+
357
+ From the repository root, build and upload a release with:
358
+
359
+ ```bash
360
+ interface/python/hyperdrone/scripts/publish.sh
361
+ ```
362
+
363
+ Set the release version in `hyperdrone/__init__.py`; package metadata and JIT caches use that single source. The script uses the repository's `.venv` (creating it if needed), installs the build and
364
+ upload tools, builds a bundled source archive and a `py3-none-any` wheel from that
365
+ archive, checks both with Twine, and uploads both to PyPI. Authenticate through your
366
+ existing Twine configuration (`~/.pypirc`, keyring, or `TWINE_PASSWORD`), or enter a
367
+ PyPI API token when prompted.
368
+
369
+ Use `interface/python/hyperdrone/scripts/publish.sh --build-only` to build and check
370
+ without uploading. Each run keeps its two artifacts in a fresh
371
+ `interface/python/hyperdrone/dist/release.*` directory, so older builds are never
372
+ included in an upload. Native components remain JIT-compiled on first use.
373
+
374
+ ## Tests
375
+
376
+ Use the repository `.venv` with editable `interface/python/hyperdrone[gym]` installed; point `CONTA_ROOT` at the local test assets.
377
+
378
+ ```bash
379
+ HYPERDRONE_RENDER_BACKEND=GENERIC .venv/bin/python -m pytest interface/python/hyperdrone/tests -v
380
+ ```
381
+
382
+ With the spy dependencies installed, run `HYPERDRONE_TEST_SPY=1 xvfb-run -a .venv/bin/python -m pytest interface/python/hyperdrone/tests/env/test_spy.py` to check the native GUI lifecycle and exact simulation equivalence; omit `xvfb-run -a` when using a desktop display.
383
+
384
+ `tests/jit` exercises the build infrastructure against a toy component in seconds;
385
+ `tests/test_architecture.py` enforces the import DAG (render and dynamics never see each
386
+ other); `scripts/test_sdist.sh` is the self-containment rot guard (build sdist → clean
387
+ venv → vendored-tree render).
388
+
389
+ `render.datasets.Train200()` exposes the header-pinned 200-scene ProcTHOR training subset (scene IDs 0–199). Catalog access loads the native core without resolving assets; use `dataset["ProcTHOR-Train-1"].reference` with `render.load_scene`, or `dataset.references[:4]` with `MultiEnvironment`. The RLtools commit identifies the catalog's membership, order, and hashes. This collection's Train-1 artifact differs from the scene pinned by `examples.data.procthor_scene_path()` and the rendering goldens.
390
+
391
+ ```python
392
+ from hyperdrone import render
393
+
394
+ dataset = render.datasets.Train200()
395
+ scene = render.load_scene(dataset["ProcTHOR-Train-1"].reference)
396
+ ```
397
+
398
+ Select any combination with `output=("rgb", "depth", "segmentation", "normals", "flow")`.
399
+ Outputs other than RGB are:
400
+
401
+ | Accessor | dtype | Per-camera shape | Contract |
402
+ |---|---|---|---|
403
+ | `depth()` | float32 | `(H, W)` | Camera-forward depth from the pixel-centre shutter-close ray; miss `+inf` |
404
+ | `segmentation()` | uint32 | `(H, W)` | Instance IDs or semantic classes; miss `0xFFFFFFFF` |
405
+ | `normals()` | float32 | `(H, W, 3)` | World-FLU geometric unit normal facing against the ray; miss zero |
406
+ | `flow()` | float32 | `(H, W, 2)` | Current-to-previous `(dx, dy)` displacement in pixels, positive along image columns/rows |
407
+ | `flow_status()` | uint32 | `(H, W)` | `render.FlowStatus`: VALID, MISS, BEHIND, OUT_OF_FRAME, OCCLUDED |
408
+
409
+ `Renderer` prepends `num_cameras`; host accessors return snapshots or fill an exact-shape/dtype `out=` array, and `*_dlpack()` exposes the live backend buffer. Read after `render()` or `render_sync()`. Depth, segmentation, normals and flow use pixel centres at shutter close, independently of RGB anti-aliasing and motion blur. MISS and BEHIND flow vectors are zero; OUT_OF_FRAME and OCCLUDED
410
+ retain geometric displacement, so use `flow_status() == render.FlowStatus.VALID` as the mask.
411
+
412
+ ```python
413
+ renderer = render.Renderer(width=128, height=128, output=("rgb", "depth", "normals", "flow"))
414
+ renderer.init(scene)
415
+ renderer.set_cameras(previous_cameras)
416
+ renderer.render() # first capture seeds previous=current
417
+ renderer.advance_flow() # snapshot camera AND object poses
418
+ renderer.set_cameras(current_cameras) # update object transforms here too, then update()
419
+ renderer.render()
420
+ flow, status = renderer.flow(), renderer.flow_status()
421
+ ```
422
+
423
+ `EnvConfig(output=("rgb", "depth", "segmentation", "normals", "flow"))` enables the same
424
+ auxiliary channels in `MultiEnvironment`, with RGB policy observations. Its accessors accept
425
+ `out=` (NumPy, or CUDA arrays on a CUDA World) and return
426
+ `(total_instances, num_views, H, W[, channels])`. They render pending frames as `observe()` does;
427
+ repeated reads reuse the capture. Flow retains each due capture even when it is unread, follows task frame cadence, and resets per instance or on scene changes. The first/reset capture
428
+ has zero motion. `semantic_segmentation=True` selects classes, and `env.outputs` /
429
+ `env.segmentation_mode` describe the compiled configuration. Normals use the renderer’s scene
430
+ FLU frame; instance IDs are local to each environment’s active renderer. Custom `spec_header` Worlds declare their renderer `OUTPUTS` list, including float RGB for policy observations and `Probes` for scene annotations; leave the corresponding Python options at their defaults.
431
+
432
+ `EnvConfig(dataset="glb")` (the default) uses the taxonomy authored in the GLBs;
433
+ `dataset="procthor"` requires each scene to declare `ai2thor-hab` when semantic output is enabled.
434
+ Dataset selection is compiled into the JIT module and also applies with `spec_header`.
435
+ In semantic mode, initialization validates all scenes and pooled drone/gate assets against one
436
+ taxonomy, then shares its immutable dictionary across them. Conflicting names or complete class
437
+ mappings fail initialization; IDs are preserved. Scene rotation does not change the dictionary.
438
+
439
+ ```python
440
+ config = EnvConfig(dataset="procthor", output=("rgb", "segmentation"), semantic_segmentation=True)
441
+ env = MultiEnvironment(scenes, config=config)
442
+ classes = env.segmentation_classes # dict[int, str], an independent copy
443
+ taxonomy = env.segmentation_taxonomy # "ai2thor-hab"
444
+ env.reset()
445
+ labels = env.segmentation()
446
+ names_present = {int(id): classes.get(int(id), "Background") for id in np.unique(labels)}
447
+ env.close()
448
+ ```
449
+
450
+ These properties return `{}` and `""` when semantic output is disabled or all classes are
451
+ unnamed. Unnamed objects in a named taxonomy must use IDs in that dictionary. The reserved
452
+ background ID `0xFFFFFFFF` is excluded from the dictionary.
453
+
454
+ For labelled ProcTHOR rendering, preserve GLB root instances and select the output meaning:
455
+
456
+ ```python
457
+ scene = render.load_scene(procthor_scene_path(), rgb=False, preserve_instances=True)
458
+ renderer = render.Renderer(width=512, height=512, output="segmentation",
459
+ semantic_segmentation=True) # False selects instance IDs
460
+ renderer.init(scene)
461
+ # Set cameras and render as usual.
462
+ labels = renderer.segmentation() # uint32; renderer.segmentation_mode identifies the mode
463
+ classes = scene.segmentation_classes # {class_id: name}, taxonomy: scene.segmentation_taxonomy
464
+ ```
465
+
466
+ Semantic IDs come from AI2THOR-Hab's taxonomy: unknown is `0` (including Ceiling, which has no dataset category); background is `0xFFFFFFFF` in both modes. Instance IDs identify scene instances: use `scene.instance_object(id)` then `scene.object_name(object_index)` for static hits. Overlay instance IDs are `scene.num_instances + placement.overlay * renderer.config.max_overlay_instances + placement.first_slot + part`. `spawn()` returns an `OverlayPlacement`; transform and despawn methods reject stale, foreign and forged handles. Semantic IDs must never be used as object indices. Loading remains welded by default for RGB; semantic rendering rejects a welded object containing multiple classes. Assemblies and asset-pool copies retain labels and the taxonomy. Composing conflicting taxonomies requires an explicit remapping before semantic rendering.
467
+
468
+ Assign labels before `Renderer.init()`: `object.segmentation_class = id`, `scene.set_object_segmentation_class(index, id)`, `assembly.set_segmentation_class(index, id)`, or `pool.set_object_segmentation_class(asset, object_index, id)` retains the current taxonomy and explicitly makes that object's class valid, including welded objects. Assignment rejects IDs absent from that taxonomy. `object.assign_segmentation_class(id, taxonomy="custom", classes={0: "Unknown", 7: "Furniture"})` replaces the taxonomy; omitting taxonomy/classes selects unnamed numeric IDs.
469
+
470
+ Objects, scenes, assemblies and pools expose `remap_segmentation_classes(mapping, taxonomy="custom", classes={...})`; pools also expose `remap_asset_segmentation_classes(asset, mapping, ...)`. Omitting taxonomy/classes selects unnamed numeric IDs. Mappings must cover every used class, and validation failures leave labels unchanged. Remapping preserves valid class boundaries and rejects mixed-class welded objects; explicitly assign one class first if collapsing their labels is intentional. Remap conflicting sources separately before composition. The C++ equivalents are device-first `assign_segmentation_class` and `remap_segmentation_classes` in `rendering/segmentation_cpu.h`, with a shared immutable target taxonomy (or `nullptr` for unnamed IDs).
471
+
472
+ ### Articulated assets
473
+
474
+ `render.Rig` is a rigid-link tree: `world_link = world_parent @ origin @ joint(q)` and
475
+ `world_geometry = world_link @ offset`, with links declared parent before child (parent `-1`
476
+ is the base pose) and joints `fixed`, `revolute` (radians about `axis`), `prismatic` (metres
477
+ along `axis`) or `spherical` (wxyz quaternion). `rig.coordinate_slices` locates each link's
478
+ coordinates, `rig.default_coordinates` is the neutral state. `Rig.from_assembly(assembly,
479
+ joints={"slider": ("prismatic", (0, 1, 0))})` builds one link per part at its rest frame and
480
+ articulates parts by name; `load_assembly(path, part_nodes=[...])` keeps nested GLB nodes as
481
+ independent parts (an enclosing node first) and records their parent for that. Procedural
482
+ assets grow with `ObjectAssembly.add_part(object, transform)`. The drone rig the environment
483
+ renders is `hyperdrone.env.Rotorcraft`, a `Rig` built from the body/prop_* convention (see the
484
+ RL environment section).
485
+
486
+ ```python
487
+ renderer.set_transform(placement, body, rig=rig, coordinates=phases)
488
+ renderer.set_transform_pair(placement, body_open, body_close, rig=rig,
489
+ coordinates_open=phases_open, coordinates_close=phases_close)
490
+ renderer.update()
491
+ renderer.render()
492
+ ```
493
+
494
+ With a rig, the rigid verbs take the rig's base pose and joint coordinates (default: the
495
+ neutral state) and place the parts at its geometry-to-world poses; the pair form samples the
496
+ shutter (the base follows the constant-twist screw, the coordinates interpolate before the
497
+ kinematics, so a revolute joint keeps every revolution). The same poses are available as
498
+ arrays: `rig.evaluate(base, q)` is `(num_parts, 3, 4)` for `set_transforms`, `rig.sample(base_open,
499
+ base_close, q_open, q_close, renderer.motion_blur_samples)` the `(samples, parts, 3, 4)` motion plus
500
+ the shutter-close poses for `set_motion_transforms`. Batches of identical assets, one per
501
+ overlay, submit the whole tensor at once with `set_all_transforms(poses)` of shape
502
+ `(num_overlays, max_overlay_instances, 3, 4)` (and `set_all_motion_transforms`); `rig.evaluate`
503
+ accepts batched `(B, 3, 4)` bases for that. On OptiX the bulk transform setters also take CUDA
504
+ tensors (`stream=` orders the copy after the producer), and `renderer.transforms_dlpack()` /
505
+ `transforms_motion_dlpack()` expose the live input tensors for in-place producers ordered
506
+ against `renderer.render_stream`; publish pending host writes with `update()` before writing
507
+ them. `python -m hyperdrone.examples.articulation` renders a spinning hinge and a sliding block
508
+ with motion blur; `hyperdrone/examples/Renderer.ipynb` flies the x500 with spinning props.
509
+
510
+ ## Stability
511
+
512
+ The release contract covers documented names, single-agent shapes and documented `HYPERDRONE_*` variables. Multi-agent parameter/spawn shapes, observation layouts (including `agent<i>/` block prefixes), team-mean rewards and any-agent termination remain experimental. The shipped tasks are single-agent. `spec_header` constants and their shadowing form the stable extension tier; custom verb-overload wrappers are experimental and should pin the package version. The JIT key hashes the top-level header only; changes to included headers rebuild that tree in place.
513
+
514
+ Reproducibility is per seed, configuration, reset masks and call sequence on one host build (`-O3 -march=native -ffast-math`). RNG streams may change in minor releases. Environment IMU noise and shutter sampling still share the physics RNG. The `Train200` catalog is immutable; cite its RLtools commit for paper datasets and identify the examples and golden scenes separately as fixtures.
515
+
516
+ Presets name platforms and default to a neutral MDP: zero reward and disabled termination. Configure the task through `parameters["dynamics"]["mdp"]`; `moving_gate` adds +10 for a pass and terminates on gate crashes. Preset and task names are stable. Privileged observations are ground truth, with row-major body-to-world rotation matrices. Views are ordered `(instance, agent, camera)` and stacked along image height; all cameras share resolution.
517
+
518
+ All RGB fidelity tiers store sRGB; alpha is always 255 and reserved. Medium uses a checker background. Probe misses return `+inf` with boolean hit flags; `ClearanceSampler` accepts candidates whose sampled rays have no hit closer than the clearance radius; it does not compute the environment's free-space annotation table.