nucleation 0.1.20__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 (298) hide show
  1. nucleation-0.1.20/.cargo/config.toml +2 -0
  2. nucleation-0.1.20/.github/workflows/ci.yml +195 -0
  3. nucleation-0.1.20/.gitignore +3 -0
  4. nucleation-0.1.20/.idea/.gitignore +5 -0
  5. nucleation-0.1.20/.idea/minecraft_schematic_utils.iml +13 -0
  6. nucleation-0.1.20/.idea/modules.xml +8 -0
  7. nucleation-0.1.20/.idea/vcs.xml +6 -0
  8. nucleation-0.1.20/Cargo.lock +2681 -0
  9. nucleation-0.1.20/Cargo.toml +69 -0
  10. nucleation-0.1.20/Dockerfile +4 -0
  11. nucleation-0.1.20/LICENSE +661 -0
  12. nucleation-0.1.20/PKG-INFO +194 -0
  13. nucleation-0.1.20/README.md +169 -0
  14. nucleation-0.1.20/benches/schematic_bench.rs +62 -0
  15. nucleation-0.1.20/build-ffi.sh +13 -0
  16. nucleation-0.1.20/build-wasm.sh +180 -0
  17. nucleation-0.1.20/examples/ffi.md +0 -0
  18. nucleation-0.1.20/examples/python.md +0 -0
  19. nucleation-0.1.20/examples/rust.md +0 -0
  20. nucleation-0.1.20/examples/wasm.md +0 -0
  21. nucleation-0.1.20/package.json +1 -0
  22. nucleation-0.1.20/pyproject.toml +31 -0
  23. nucleation-0.1.20/simple_cube.litematic +0 -0
  24. nucleation-0.1.20/src/block_entity/generic.rs +117 -0
  25. nucleation-0.1.20/src/block_entity/mod.rs +3 -0
  26. nucleation-0.1.20/src/block_position.rs +38 -0
  27. nucleation-0.1.20/src/block_state.rs +124 -0
  28. nucleation-0.1.20/src/bounding_box.rs +93 -0
  29. nucleation-0.1.20/src/chunk.rs +8 -0
  30. nucleation-0.1.20/src/entity.rs +323 -0
  31. nucleation-0.1.20/src/ffi.rs +755 -0
  32. nucleation-0.1.20/src/formats/litematic.rs +532 -0
  33. nucleation-0.1.20/src/formats/mod.rs +2 -0
  34. nucleation-0.1.20/src/formats/schematic.rs +548 -0
  35. nucleation-0.1.20/src/item/mod.rs +2 -0
  36. nucleation-0.1.20/src/item/stack.rs +33 -0
  37. nucleation-0.1.20/src/lib.rs +34 -0
  38. nucleation-0.1.20/src/metadata.rs +96 -0
  39. nucleation-0.1.20/src/print_utils.rs +138 -0
  40. nucleation-0.1.20/src/python.rs +350 -0
  41. nucleation-0.1.20/src/region.rs +1014 -0
  42. nucleation-0.1.20/src/universal_schematic.rs +1313 -0
  43. nucleation-0.1.20/src/utils/block_string.rs +300 -0
  44. nucleation-0.1.20/src/utils/mod.rs +5 -0
  45. nucleation-0.1.20/src/utils/nbt.rs +244 -0
  46. nucleation-0.1.20/src/wasm.rs +433 -0
  47. nucleation-0.1.20/test_schematic.schem +0 -0
  48. nucleation-0.1.20/tests/integration_tests.rs +217 -0
  49. nucleation-0.1.20/tests/samples/1x1.litematic +0 -0
  50. nucleation-0.1.20/tests/samples/3x2x3.litematic +0 -0
  51. nucleation-0.1.20/tests/samples/3x3.litematic +0 -0
  52. nucleation-0.1.20/tests/samples/4x2x4.litematic +0 -0
  53. nucleation-0.1.20/tests/samples/4x4x4+1.litematic +0 -0
  54. nucleation-0.1.20/tests/samples/Evaluator.schem +0 -0
  55. nucleation-0.1.20/tests/samples/all_items.litematic +0 -0
  56. nucleation-0.1.20/tests/samples/and.schem +0 -0
  57. nucleation-0.1.20/tests/samples/brewer.litematic +0 -0
  58. nucleation-0.1.20/tests/samples/cutecounter.schem +0 -0
  59. nucleation-0.1.20/tests/samples/door_plot.litematic +0 -0
  60. nucleation-0.1.20/tests/samples/file.litematic.l +0 -0
  61. nucleation-0.1.20/tests/samples/gol.litematic +0 -0
  62. nucleation-0.1.20/tests/samples/large_schematic.schem +0 -0
  63. nucleation-0.1.20/tests/samples/linear_plotter.litematic +0 -0
  64. nucleation-0.1.20/tests/samples/new_chest_test.schem +0 -0
  65. nucleation-0.1.20/tests/samples/quarry.litematic +0 -0
  66. nucleation-0.1.20/tests/samples/sample.litematic +0 -0
  67. nucleation-0.1.20/tests/samples/sample.schem +0 -0
  68. nucleation-0.1.20/tests/samples/spinny.litematic +0 -0
  69. nucleation-0.1.20/tests/samples/ss-sorter.litematic +0 -0
  70. nucleation-0.1.20/tests/samples/storage_thingy.litematic +0 -0
  71. nucleation-0.1.20/tests/samples/test_coordinate_thingy.litematic +0 -0
  72. nucleation-0.1.20/tests/samples/test_cube.schem +0 -0
  73. nucleation-0.1.20/tests/samples/trencher.litematic +0 -0
  74. nucleation-0.1.20/tests/samples/wool_palette.litematic +0 -0
  75. nucleation-0.1.20/wasm-test/bun.lockb +0 -0
  76. nucleation-0.1.20/wasm-test/index.html +18 -0
  77. nucleation-0.1.20/wasm-test/index.js +82 -0
  78. nucleation-0.1.20/wasm-test/minecraft_schematic_utils.js +108 -0
  79. nucleation-0.1.20/wasm-test/minecraft_schematic_utils_bg.wasm +0 -0
  80. nucleation-0.1.20/wasm-test/node_modules/@types/node/LICENSE +21 -0
  81. nucleation-0.1.20/wasm-test/node_modules/@types/node/README.md +15 -0
  82. nucleation-0.1.20/wasm-test/node_modules/@types/node/assert/strict.d.ts +8 -0
  83. nucleation-0.1.20/wasm-test/node_modules/@types/node/assert.d.ts +1040 -0
  84. nucleation-0.1.20/wasm-test/node_modules/@types/node/async_hooks.d.ts +541 -0
  85. nucleation-0.1.20/wasm-test/node_modules/@types/node/buffer.d.ts +2363 -0
  86. nucleation-0.1.20/wasm-test/node_modules/@types/node/child_process.d.ts +1542 -0
  87. nucleation-0.1.20/wasm-test/node_modules/@types/node/cluster.d.ts +578 -0
  88. nucleation-0.1.20/wasm-test/node_modules/@types/node/console.d.ts +452 -0
  89. nucleation-0.1.20/wasm-test/node_modules/@types/node/constants.d.ts +19 -0
  90. nucleation-0.1.20/wasm-test/node_modules/@types/node/crypto.d.ts +4522 -0
  91. nucleation-0.1.20/wasm-test/node_modules/@types/node/dgram.d.ts +596 -0
  92. nucleation-0.1.20/wasm-test/node_modules/@types/node/diagnostics_channel.d.ts +545 -0
  93. nucleation-0.1.20/wasm-test/node_modules/@types/node/dns/promises.d.ts +473 -0
  94. nucleation-0.1.20/wasm-test/node_modules/@types/node/dns.d.ts +853 -0
  95. nucleation-0.1.20/wasm-test/node_modules/@types/node/dom-events.d.ts +124 -0
  96. nucleation-0.1.20/wasm-test/node_modules/@types/node/domain.d.ts +170 -0
  97. nucleation-0.1.20/wasm-test/node_modules/@types/node/events.d.ts +884 -0
  98. nucleation-0.1.20/wasm-test/node_modules/@types/node/fs/promises.d.ts +1245 -0
  99. nucleation-0.1.20/wasm-test/node_modules/@types/node/fs.d.ts +4317 -0
  100. nucleation-0.1.20/wasm-test/node_modules/@types/node/globals.d.ts +411 -0
  101. nucleation-0.1.20/wasm-test/node_modules/@types/node/globals.global.d.ts +1 -0
  102. nucleation-0.1.20/wasm-test/node_modules/@types/node/http.d.ts +1889 -0
  103. nucleation-0.1.20/wasm-test/node_modules/@types/node/http2.d.ts +2418 -0
  104. nucleation-0.1.20/wasm-test/node_modules/@types/node/https.d.ts +550 -0
  105. nucleation-0.1.20/wasm-test/node_modules/@types/node/index.d.ts +89 -0
  106. nucleation-0.1.20/wasm-test/node_modules/@types/node/inspector.d.ts +2746 -0
  107. nucleation-0.1.20/wasm-test/node_modules/@types/node/module.d.ts +315 -0
  108. nucleation-0.1.20/wasm-test/node_modules/@types/node/net.d.ts +996 -0
  109. nucleation-0.1.20/wasm-test/node_modules/@types/node/os.d.ts +495 -0
  110. nucleation-0.1.20/wasm-test/node_modules/@types/node/package.json +217 -0
  111. nucleation-0.1.20/wasm-test/node_modules/@types/node/path.d.ts +191 -0
  112. nucleation-0.1.20/wasm-test/node_modules/@types/node/perf_hooks.d.ts +645 -0
  113. nucleation-0.1.20/wasm-test/node_modules/@types/node/process.d.ts +1747 -0
  114. nucleation-0.1.20/wasm-test/node_modules/@types/node/punycode.d.ts +117 -0
  115. nucleation-0.1.20/wasm-test/node_modules/@types/node/querystring.d.ts +153 -0
  116. nucleation-0.1.20/wasm-test/node_modules/@types/node/readline/promises.d.ts +150 -0
  117. nucleation-0.1.20/wasm-test/node_modules/@types/node/readline.d.ts +540 -0
  118. nucleation-0.1.20/wasm-test/node_modules/@types/node/repl.d.ts +430 -0
  119. nucleation-0.1.20/wasm-test/node_modules/@types/node/sea.d.ts +153 -0
  120. nucleation-0.1.20/wasm-test/node_modules/@types/node/stream/consumers.d.ts +12 -0
  121. nucleation-0.1.20/wasm-test/node_modules/@types/node/stream/promises.d.ts +83 -0
  122. nucleation-0.1.20/wasm-test/node_modules/@types/node/stream/web.d.ts +367 -0
  123. nucleation-0.1.20/wasm-test/node_modules/@types/node/stream.d.ts +1707 -0
  124. nucleation-0.1.20/wasm-test/node_modules/@types/node/string_decoder.d.ts +67 -0
  125. nucleation-0.1.20/wasm-test/node_modules/@types/node/test.d.ts +1470 -0
  126. nucleation-0.1.20/wasm-test/node_modules/@types/node/timers/promises.d.ts +97 -0
  127. nucleation-0.1.20/wasm-test/node_modules/@types/node/timers.d.ts +240 -0
  128. nucleation-0.1.20/wasm-test/node_modules/@types/node/tls.d.ts +1217 -0
  129. nucleation-0.1.20/wasm-test/node_modules/@types/node/trace_events.d.ts +197 -0
  130. nucleation-0.1.20/wasm-test/node_modules/@types/node/tty.d.ts +208 -0
  131. nucleation-0.1.20/wasm-test/node_modules/@types/node/url.d.ts +944 -0
  132. nucleation-0.1.20/wasm-test/node_modules/@types/node/util.d.ts +2276 -0
  133. nucleation-0.1.20/wasm-test/node_modules/@types/node/v8.d.ts +764 -0
  134. nucleation-0.1.20/wasm-test/node_modules/@types/node/vm.d.ts +921 -0
  135. nucleation-0.1.20/wasm-test/node_modules/@types/node/wasi.d.ts +181 -0
  136. nucleation-0.1.20/wasm-test/node_modules/@types/node/worker_threads.d.ts +691 -0
  137. nucleation-0.1.20/wasm-test/node_modules/@types/node/zlib.d.ts +530 -0
  138. nucleation-0.1.20/wasm-test/node_modules/@types/ws/LICENSE +21 -0
  139. nucleation-0.1.20/wasm-test/node_modules/@types/ws/README.md +15 -0
  140. nucleation-0.1.20/wasm-test/node_modules/@types/ws/index.d.mts +21 -0
  141. nucleation-0.1.20/wasm-test/node_modules/@types/ws/index.d.ts +401 -0
  142. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/LICENSE +21 -0
  143. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/README.md +15 -0
  144. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert/strict.d.ts +8 -0
  145. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert.d.ts +1040 -0
  146. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/async_hooks.d.ts +541 -0
  147. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/buffer.d.ts +2293 -0
  148. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/child_process.d.ts +1544 -0
  149. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/cluster.d.ts +578 -0
  150. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/console.d.ts +452 -0
  151. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/constants.d.ts +19 -0
  152. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/crypto.d.ts +4451 -0
  153. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/dgram.d.ts +596 -0
  154. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  155. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns/promises.d.ts +476 -0
  156. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns.d.ts +865 -0
  157. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/dom-events.d.ts +124 -0
  158. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/domain.d.ts +170 -0
  159. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/events.d.ts +931 -0
  160. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs/promises.d.ts +1264 -0
  161. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs.d.ts +4390 -0
  162. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.d.ts +510 -0
  163. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.global.d.ts +1 -0
  164. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/http.d.ts +1921 -0
  165. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/http2.d.ts +2418 -0
  166. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/https.d.ts +550 -0
  167. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/index.d.ts +90 -0
  168. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/inspector.d.ts +2746 -0
  169. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/module.d.ts +301 -0
  170. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/net.d.ts +999 -0
  171. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/LICENSE +21 -0
  172. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/README.md +6 -0
  173. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/agent.d.ts +31 -0
  174. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/api.d.ts +43 -0
  175. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/balanced-pool.d.ts +29 -0
  176. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cache.d.ts +36 -0
  177. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/client.d.ts +108 -0
  178. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/connector.d.ts +34 -0
  179. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/content-type.d.ts +21 -0
  180. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cookies.d.ts +28 -0
  181. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
  182. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/dispatcher.d.ts +255 -0
  183. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
  184. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/errors.d.ts +149 -0
  185. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/eventsource.d.ts +63 -0
  186. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/fetch.d.ts +209 -0
  187. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/file.d.ts +39 -0
  188. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/filereader.d.ts +54 -0
  189. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/formdata.d.ts +108 -0
  190. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  191. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-origin.d.ts +7 -0
  192. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/handlers.d.ts +15 -0
  193. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/header.d.ts +4 -0
  194. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/index.d.ts +71 -0
  195. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/interceptors.d.ts +15 -0
  196. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-agent.d.ts +50 -0
  197. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-client.d.ts +25 -0
  198. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-errors.d.ts +12 -0
  199. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  200. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-pool.d.ts +25 -0
  201. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/package.json +55 -0
  202. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/patch.d.ts +71 -0
  203. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool-stats.d.ts +19 -0
  204. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool.d.ts +39 -0
  205. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/proxy-agent.d.ts +28 -0
  206. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/readable.d.ts +60 -0
  207. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-agent.d.ts +8 -0
  208. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-handler.d.ts +116 -0
  209. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/util.d.ts +18 -0
  210. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/webidl.d.ts +222 -0
  211. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/websocket.d.ts +152 -0
  212. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/os.d.ts +495 -0
  213. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/package.json +217 -0
  214. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/path.d.ts +200 -0
  215. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/perf_hooks.d.ts +941 -0
  216. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/process.d.ts +1913 -0
  217. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/punycode.d.ts +117 -0
  218. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/querystring.d.ts +153 -0
  219. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline/promises.d.ts +150 -0
  220. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline.d.ts +540 -0
  221. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/repl.d.ts +430 -0
  222. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/sea.d.ts +153 -0
  223. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/sqlite.d.ts +213 -0
  224. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/consumers.d.ts +12 -0
  225. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/promises.d.ts +83 -0
  226. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/web.d.ts +367 -0
  227. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream.d.ts +1707 -0
  228. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/string_decoder.d.ts +67 -0
  229. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/test.d.ts +2006 -0
  230. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers/promises.d.ts +97 -0
  231. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers.d.ts +240 -0
  232. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/tls.d.ts +1220 -0
  233. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/trace_events.d.ts +197 -0
  234. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/tty.d.ts +208 -0
  235. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/url.d.ts +969 -0
  236. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/util.d.ts +2298 -0
  237. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/v8.d.ts +808 -0
  238. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/vm.d.ts +922 -0
  239. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/wasi.d.ts +181 -0
  240. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/worker_threads.d.ts +712 -0
  241. nucleation-0.1.20/wasm-test/node_modules/@types/ws/node_modules/@types/node/zlib.d.ts +539 -0
  242. nucleation-0.1.20/wasm-test/node_modules/@types/ws/package.json +71 -0
  243. nucleation-0.1.20/wasm-test/node_modules/bun-types/README.md +35 -0
  244. nucleation-0.1.20/wasm-test/node_modules/bun-types/bun.d.ts +5424 -0
  245. nucleation-0.1.20/wasm-test/node_modules/bun-types/deprecated.d.ts +79 -0
  246. nucleation-0.1.20/wasm-test/node_modules/bun-types/fetch.d.ts +58 -0
  247. nucleation-0.1.20/wasm-test/node_modules/bun-types/ffi.d.ts +1050 -0
  248. nucleation-0.1.20/wasm-test/node_modules/bun-types/globals.d.ts +2098 -0
  249. nucleation-0.1.20/wasm-test/node_modules/bun-types/html-rewriter.d.ts +131 -0
  250. nucleation-0.1.20/wasm-test/node_modules/bun-types/index.d.ts +22 -0
  251. nucleation-0.1.20/wasm-test/node_modules/bun-types/jsc.d.ts +229 -0
  252. nucleation-0.1.20/wasm-test/node_modules/bun-types/overrides.d.ts +74 -0
  253. nucleation-0.1.20/wasm-test/node_modules/bun-types/package.json +32 -0
  254. nucleation-0.1.20/wasm-test/node_modules/bun-types/sqlite.d.ts +1157 -0
  255. nucleation-0.1.20/wasm-test/node_modules/bun-types/test.d.ts +2208 -0
  256. nucleation-0.1.20/wasm-test/node_modules/bun-types/wasm.d.ts +291 -0
  257. nucleation-0.1.20/wasm-test/node_modules/undici-types/README.md +6 -0
  258. nucleation-0.1.20/wasm-test/node_modules/undici-types/agent.d.ts +31 -0
  259. nucleation-0.1.20/wasm-test/node_modules/undici-types/api.d.ts +43 -0
  260. nucleation-0.1.20/wasm-test/node_modules/undici-types/balanced-pool.d.ts +18 -0
  261. nucleation-0.1.20/wasm-test/node_modules/undici-types/cache.d.ts +36 -0
  262. nucleation-0.1.20/wasm-test/node_modules/undici-types/client.d.ts +97 -0
  263. nucleation-0.1.20/wasm-test/node_modules/undici-types/connector.d.ts +34 -0
  264. nucleation-0.1.20/wasm-test/node_modules/undici-types/content-type.d.ts +21 -0
  265. nucleation-0.1.20/wasm-test/node_modules/undici-types/cookies.d.ts +28 -0
  266. nucleation-0.1.20/wasm-test/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
  267. nucleation-0.1.20/wasm-test/node_modules/undici-types/dispatcher.d.ts +241 -0
  268. nucleation-0.1.20/wasm-test/node_modules/undici-types/errors.d.ts +128 -0
  269. nucleation-0.1.20/wasm-test/node_modules/undici-types/fetch.d.ts +209 -0
  270. nucleation-0.1.20/wasm-test/node_modules/undici-types/file.d.ts +39 -0
  271. nucleation-0.1.20/wasm-test/node_modules/undici-types/filereader.d.ts +54 -0
  272. nucleation-0.1.20/wasm-test/node_modules/undici-types/formdata.d.ts +108 -0
  273. nucleation-0.1.20/wasm-test/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  274. nucleation-0.1.20/wasm-test/node_modules/undici-types/global-origin.d.ts +7 -0
  275. nucleation-0.1.20/wasm-test/node_modules/undici-types/handlers.d.ts +9 -0
  276. nucleation-0.1.20/wasm-test/node_modules/undici-types/header.d.ts +4 -0
  277. nucleation-0.1.20/wasm-test/node_modules/undici-types/index.d.ts +63 -0
  278. nucleation-0.1.20/wasm-test/node_modules/undici-types/interceptors.d.ts +5 -0
  279. nucleation-0.1.20/wasm-test/node_modules/undici-types/mock-agent.d.ts +50 -0
  280. nucleation-0.1.20/wasm-test/node_modules/undici-types/mock-client.d.ts +25 -0
  281. nucleation-0.1.20/wasm-test/node_modules/undici-types/mock-errors.d.ts +12 -0
  282. nucleation-0.1.20/wasm-test/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  283. nucleation-0.1.20/wasm-test/node_modules/undici-types/mock-pool.d.ts +25 -0
  284. nucleation-0.1.20/wasm-test/node_modules/undici-types/package.json +55 -0
  285. nucleation-0.1.20/wasm-test/node_modules/undici-types/patch.d.ts +71 -0
  286. nucleation-0.1.20/wasm-test/node_modules/undici-types/pool-stats.d.ts +19 -0
  287. nucleation-0.1.20/wasm-test/node_modules/undici-types/pool.d.ts +28 -0
  288. nucleation-0.1.20/wasm-test/node_modules/undici-types/proxy-agent.d.ts +30 -0
  289. nucleation-0.1.20/wasm-test/node_modules/undici-types/readable.d.ts +61 -0
  290. nucleation-0.1.20/wasm-test/node_modules/undici-types/webidl.d.ts +220 -0
  291. nucleation-0.1.20/wasm-test/node_modules/undici-types/websocket.d.ts +131 -0
  292. nucleation-0.1.20/wasm-test/nucleation-web.js +118 -0
  293. nucleation-0.1.20/wasm-test/nucleation-web_bg.wasm +0 -0
  294. nucleation-0.1.20/wasm-test/nucleation.js +5 -0
  295. nucleation-0.1.20/wasm-test/nucleation_bg.js +17 -0
  296. nucleation-0.1.20/wasm-test/nucleation_bg.wasm +0 -0
  297. nucleation-0.1.20/wasm-test/package.json +16 -0
  298. nucleation-0.1.20/wasm-test/server.js +37 -0
@@ -0,0 +1,2 @@
1
+ #[target.aarch64-unknown-linux-gnu]
2
+ #linker = "aarch64-linux-gnu-gcc"
@@ -0,0 +1,195 @@
1
+ name: Nucleation CI/CD
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, master ]
6
+ paths:
7
+ - 'src/**'
8
+ - 'Cargo.toml'
9
+ - 'Cargo.lock'
10
+ - '.github/workflows/**'
11
+ pull_request:
12
+ branches: [ main, master ]
13
+ workflow_dispatch:
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ env:
19
+ CARGO_TERM_COLOR: always
20
+
21
+ jobs:
22
+ check-version:
23
+ runs-on: ubuntu-latest
24
+ outputs:
25
+ version: ${{ steps.version.outputs.version }}
26
+ should_release: ${{ steps.check.outputs.should_release }}
27
+ steps:
28
+ - uses: actions/checkout@v4
29
+ with:
30
+ fetch-depth: 2
31
+
32
+ - name: Get current version
33
+ id: version
34
+ run: |
35
+ VERSION=$(grep -m1 'version = ' Cargo.toml | cut -d '"' -f2)
36
+ echo "version=$VERSION" >> $GITHUB_OUTPUT
37
+ echo "Current version: $VERSION"
38
+
39
+ - name: Check if version changed
40
+ id: check
41
+ run: |
42
+ if [[ "${{ github.event_name }}" == "push" && "${{ github.ref }}" =~ ^refs/heads/(main|master)$ ]]; then
43
+ if git diff HEAD^ HEAD --name-only | grep -q "Cargo.toml"; then
44
+ OLD_VERSION=$(git show HEAD^:Cargo.toml | grep -m1 'version = ' | cut -d '"' -f2)
45
+ CURRENT_VERSION=$(grep -m1 'version = ' Cargo.toml | cut -d '"' -f2)
46
+ echo "Old version: $OLD_VERSION"
47
+ echo "Current version: $CURRENT_VERSION"
48
+ if [[ "$OLD_VERSION" != "$CURRENT_VERSION" ]]; then
49
+ echo "should_release=true" >> $GITHUB_OUTPUT
50
+ echo "Version was bumped from $OLD_VERSION to $CURRENT_VERSION. Will trigger release."
51
+ else
52
+ echo "should_release=false" >> $GITHUB_OUTPUT
53
+ echo "Version unchanged in Cargo.toml."
54
+ fi
55
+ else
56
+ echo "should_release=false" >> $GITHUB_OUTPUT
57
+ echo "Cargo.toml not modified in the last commit."
58
+ fi
59
+ else
60
+ echo "should_release=false" >> $GITHUB_OUTPUT
61
+ echo "Not on main/master branch or not a push event. Skipping release check."
62
+ fi
63
+
64
+ test:
65
+ runs-on: ubuntu-latest
66
+ steps:
67
+ - uses: actions/checkout@v4
68
+ - name: Set up Rust
69
+ uses: actions-rs/toolchain@v1
70
+ with:
71
+ profile: minimal
72
+ toolchain: stable
73
+ override: true
74
+ - name: Cache dependencies
75
+ uses: actions/cache@v4
76
+ with:
77
+ path: |
78
+ ~/.cargo/registry
79
+ ~/.cargo/git
80
+ target
81
+ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
82
+ - name: Run tests
83
+ run: cargo test --all-features
84
+ # - name: Run clippy
85
+ # run: cargo clippy -- -D warnings
86
+
87
+ build:
88
+ needs: [test]
89
+ runs-on: ubuntu-latest
90
+ steps:
91
+ - uses: actions/checkout@v4
92
+ - name: Set up Rust
93
+ uses: actions-rs/toolchain@v1
94
+ with:
95
+ profile: minimal
96
+ toolchain: stable
97
+ override: true
98
+ target: wasm32-unknown-unknown
99
+ - name: Cache dependencies
100
+ uses: actions/cache@v4
101
+ with:
102
+ path: |
103
+ ~/.cargo/registry
104
+ ~/.cargo/git
105
+ target
106
+ key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
107
+ - name: Install wasm-pack
108
+ run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
109
+ - name: Build Rust library
110
+ run: cargo build --release --all-features
111
+ - name: Build WebAssembly
112
+ run: |
113
+ chmod +x ./build-wasm.sh
114
+ ./build-wasm.sh
115
+ - name: Upload artifacts
116
+ uses: actions/upload-artifact@v4
117
+ with:
118
+ name: build-artifacts
119
+ path: |
120
+ target/release/libnucleation.*
121
+ pkg/
122
+
123
+ publish:
124
+ needs: [check-version, build]
125
+ runs-on: ubuntu-latest
126
+ if: needs.check-version.outputs.should_release == 'true'
127
+ permissions:
128
+ contents: write
129
+ steps:
130
+ - uses: actions/checkout@v4
131
+ - name: Set up Rust
132
+ uses: actions-rs/toolchain@v1
133
+ with:
134
+ profile: minimal
135
+ toolchain: stable
136
+ override: true
137
+ - name: Download artifacts
138
+ uses: actions/download-artifact@v4
139
+ with:
140
+ name: build-artifacts
141
+ - name: Publish to crates.io
142
+ uses: actions-rs/cargo@v1
143
+ with:
144
+ command: publish
145
+ args: --token ${{ secrets.CRATES_IO_TOKEN }}
146
+ - name: Setup Node.js
147
+ uses: actions/setup-node@v4
148
+ with:
149
+ node-version: '18.x'
150
+ registry-url: 'https://registry.npmjs.org'
151
+ - name: Prepare npm package
152
+ run: |
153
+ if [ ! -f "pkg/README.md" ]; then
154
+ echo "# Nucleation" > pkg/README.md
155
+ echo "" >> pkg/README.md
156
+ echo "A high-performance Minecraft schematic parser and utility library (WebAssembly version)" >> pkg/README.md
157
+ echo "" >> pkg/README.md
158
+ echo "See [GitHub Repository](https://github.com/Schem-at/Nucleation) for full documentation." >> pkg/README.md
159
+ fi
160
+ if [ ! -f "pkg/package.json" ]; then
161
+ echo "Error: pkg/package.json not found after downloading artifacts. Ensure it's created and uploaded."
162
+ exit 1
163
+ fi
164
+ node -e "
165
+ const fs = require('fs');
166
+ const pkgJsonPath = './pkg/package.json';
167
+ const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8'));
168
+ pkg.version = '${{ needs.check-version.outputs.version }}';
169
+ pkg.repository = {
170
+ type: 'git',
171
+ url: 'https://github.com/Schem-at/Nucleation'
172
+ };
173
+ pkg.description = 'A high-performance Minecraft schematic parser and utility library';
174
+ pkg.keywords = ['minecraft', 'schematic', 'parser', 'wasm', 'webassembly', 'voxel'];
175
+ pkg.author = 'Nano <nano@schem.at>';
176
+ pkg.license = 'MIT OR Apache-2.0';
177
+ pkg.homepage = 'https://github.com/Schem-at/Nucleation';
178
+ fs.writeFileSync(pkgJsonPath, JSON.stringify(pkg, null, 2));
179
+ console.log('Updated pkg/package.json with version ${{ needs.check-version.outputs.version }} and other details.');
180
+ "
181
+ - name: Publish to npm
182
+ run: cd pkg && npm publish
183
+ env:
184
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
185
+ - name: Create GitHub Release
186
+ uses: softprops/action-gh-release@v2
187
+ with:
188
+ tag_name: v${{ needs.check-version.outputs.version }}
189
+ name: Release v${{ needs.check-version.outputs.version }}
190
+ generate_release_notes: true
191
+ files: |
192
+ target/release/libnucleation.*
193
+ pkg/*.wasm
194
+ env:
195
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,3 @@
1
+ /target
2
+ /tests/output/*
3
+ /pkg/
@@ -0,0 +1,5 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="EMPTY_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <sourceFolder url="file://$MODULE_DIR$/benches" isTestSource="true" />
6
+ <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7
+ <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
8
+ <excludeFolder url="file://$MODULE_DIR$/target" />
9
+ </content>
10
+ <orderEntry type="inheritedJdk" />
11
+ <orderEntry type="sourceFolder" forTests="false" />
12
+ </component>
13
+ </module>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/minecraft_schematic_utils.iml" filepath="$PROJECT_DIR$/.idea/minecraft_schematic_utils.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>