atome 0.5.4.1.9 → 0.5.5.6.4

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 (357) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/README.md +70 -1
  4. data/Rakefile +246 -75
  5. data/app_builder_helpers/Rakefile +276 -288
  6. data/documentation/basic.md +242 -0
  7. data/documentation/deep learning/architecture.txt +3763 -0
  8. data/documentation/deep learning/atome.png +0 -0
  9. data/documentation/deep learning/basic_infos.txt +227 -0
  10. data/documentation/deep learning/example_of_users_code.rb +1810 -0
  11. data/documentation/deep learning/misc.txt +24 -0
  12. data/documentation/deep learning/ruby_js_example.rb +272 -0
  13. data/documentation/deep learning/wasm_script_help.text +14 -0
  14. data/documentation/framework/enhance_atome.md +1 -1
  15. data/documentation/tutorials/tutorials.md +7 -0
  16. data/exe/atome +308 -208
  17. data/lib/atome/atome.rb +52 -156
  18. data/lib/atome/extensions/atome.rb +129 -47
  19. data/lib/atome/extensions/mathematics.rb +20 -0
  20. data/lib/atome/extensions/ping.rb +2 -3
  21. data/lib/atome/genesis/generators/atome.rb +57 -30
  22. data/lib/atome/genesis/generators/communication.rb +9 -0
  23. data/lib/atome/genesis/generators/effect.rb +0 -1
  24. data/lib/atome/genesis/generators/event.rb +279 -43
  25. data/lib/atome/genesis/generators/geometry.rb +1 -10
  26. data/lib/atome/genesis/generators/hierarchy.rb +103 -0
  27. data/lib/atome/genesis/generators/identity.rb +45 -84
  28. data/lib/atome/genesis/generators/material.rb +31 -34
  29. data/lib/atome/genesis/generators/property.rb +31 -0
  30. data/lib/atome/genesis/generators/security.rb +31 -0
  31. data/lib/atome/genesis/generators/spatial.rb +3 -5
  32. data/lib/atome/genesis/generators/time.rb +0 -1
  33. data/lib/atome/genesis/generators/utility.rb +181 -66
  34. data/lib/atome/genesis/genesis.rb +152 -55
  35. data/lib/atome/genesis/sparkle.rb +59 -75
  36. data/lib/atome/helpers/color_helper/color/rgb/colors.rb +1 -1
  37. data/lib/atome/helpers/color_helper/color/rgb.rb +1 -1
  38. data/lib/atome/helpers/color_helper/color.rb +226 -7
  39. data/lib/atome/helpers/essentials.rb +22 -26
  40. data/lib/atome/helpers/security.rb +71 -0
  41. data/lib/atome/helpers/utilities.rb +191 -178
  42. data/lib/atome/kernel/black_matter.rb +22 -0
  43. data/lib/atome/kernel/universe.rb +123 -24
  44. data/lib/atome/presets/atome.rb +39 -35
  45. data/lib/atome/version.rb +3 -2
  46. data/lib/atome.rb +12 -12
  47. data/lib/atome_relative.rb +36 -0
  48. data/lib/{atome/renderers → platform_specific}/opal/atome_opal_extensions.rb +4 -1
  49. data/lib/{atome/renderers → platform_specific}/opal/extensions/color.rb +12 -5
  50. data/lib/{atome/renderers → platform_specific}/opal/extensions/geolocation.rb +1 -0
  51. data/lib/platform_specific/opal/extensions/js.rb +21 -0
  52. data/lib/platform_specific/opal/extensions/object.rb +6 -0
  53. data/lib/platform_specific/opal/extensions/ping.rb +31 -0
  54. data/lib/{atome/renderers → platform_specific}/opal/extensions/sha.rb +4 -2
  55. data/lib/platform_specific/wasm/atome_wasm_extensions.rb +11 -0
  56. data/lib/renderers/headless/headless.rb +18 -0
  57. data/lib/renderers/headless/index.rb +6 -0
  58. data/lib/renderers/headless/index_relative.rb +6 -0
  59. data/lib/renderers/headless/utility.rb +6 -0
  60. data/{vendor/assets/src/medias/rubies/examples/top.rb → lib/renderers/html/atome.rb} +0 -1
  61. data/lib/renderers/html/atome_html.rb +22 -0
  62. data/lib/renderers/html/effect.rb +26 -0
  63. data/lib/renderers/html/event.rb +43 -0
  64. data/lib/renderers/html/geometry.rb +31 -0
  65. data/lib/renderers/html/hierarchy.rb +233 -0
  66. data/lib/renderers/html/html.rb +1112 -0
  67. data/lib/renderers/html/identity.rb +84 -0
  68. data/lib/renderers/html/index.rb +19 -0
  69. data/lib/renderers/html/index_relative.rb +20 -0
  70. data/lib/renderers/html/material.rb +53 -0
  71. data/lib/renderers/html/property.rb +24 -0
  72. data/lib/renderers/html/spatial.rb +46 -0
  73. data/lib/renderers/html/time.rb +1 -0
  74. data/lib/renderers/html/utility.rb +38 -0
  75. data/lib/renderers/renderer.rb +16 -0
  76. data/lib/renderers/server/index.rb +4 -0
  77. data/lib/renderers/server/index_relative.rb +4 -0
  78. data/lib/renderers/server/utility.rb +4 -0
  79. data/sig/atome.rbs +6 -0
  80. data/sig/object.rbs +4 -0
  81. data/sig/universe.rbs +3 -0
  82. data/vendor/assets/Rakefile +3 -3
  83. data/vendor/assets/application/examples/a_concat.rb +16 -0
  84. data/vendor/assets/application/examples/affect.rb +8 -0
  85. data/vendor/assets/application/examples/animation.rb +96 -0
  86. data/vendor/assets/application/examples/apply.rb +8 -0
  87. data/vendor/assets/application/examples/atome.rb +5 -0
  88. data/vendor/assets/application/examples/attach.rb +34 -0
  89. data/vendor/assets/application/examples/attached.rb +38 -0
  90. data/vendor/assets/application/examples/basic_understanding.rb +52 -0
  91. data/vendor/assets/application/examples/browse.rb +17 -0
  92. data/vendor/assets/application/examples/callback.rb +20 -0
  93. data/vendor/assets/application/examples/category.rb +12 -0
  94. data/vendor/assets/application/examples/clear.rb +96 -0
  95. data/vendor/assets/application/examples/clones.rb +177 -0
  96. data/vendor/assets/application/examples/code.rb +13 -0
  97. data/vendor/assets/application/examples/color.rb +54 -0
  98. data/vendor/assets/application/examples/convert.rb +163 -0
  99. data/vendor/assets/application/examples/copy.rb +25 -0
  100. data/vendor/assets/application/examples/copybck.rb +68 -0
  101. data/vendor/assets/application/examples/debug.rb +78 -0
  102. data/vendor/assets/application/examples/delete.rb +93 -0
  103. data/vendor/assets/application/examples/display.rb +279 -0
  104. data/vendor/assets/application/examples/display_bck.rb +164 -0
  105. data/vendor/assets/application/examples/drag.rb +45 -0
  106. data/vendor/assets/application/examples/drop.rb +35 -0
  107. data/vendor/assets/application/examples/duplicate.rb +64 -0
  108. data/vendor/assets/application/examples/edit.rb +21 -0
  109. data/vendor/assets/application/examples/encode.rb +6 -0
  110. data/vendor/assets/application/examples/file.rb +50 -0
  111. data/vendor/assets/application/examples/find.rb +157 -0
  112. data/vendor/assets/application/examples/generator_and_build.rb +15 -0
  113. data/vendor/assets/application/examples/getter.rb +16 -0
  114. data/vendor/assets/application/examples/grab.rb +14 -0
  115. data/vendor/assets/application/examples/gradient.rb +35 -0
  116. data/vendor/assets/application/examples/group.rb +44 -0
  117. data/vendor/assets/application/examples/hierarchy.rb +21 -0
  118. data/vendor/assets/application/examples/history.rb +31 -0
  119. data/vendor/assets/application/examples/hypertext.rb +113 -0
  120. data/vendor/assets/application/examples/image.rb +5 -0
  121. data/vendor/assets/application/examples/keyboard.rb +59 -0
  122. data/vendor/assets/application/examples/layout.rb +227 -0
  123. data/vendor/assets/application/examples/login.rb +10 -0
  124. data/vendor/assets/application/examples/markup.rb +4 -0
  125. data/vendor/assets/application/examples/match.rb +115 -0
  126. data/vendor/assets/application/examples/messaging.rb +16 -0
  127. data/vendor/assets/application/examples/monitor.rb +14 -0
  128. data/vendor/assets/application/examples/on_resize.rb +7 -0
  129. data/vendor/assets/{src/medias/rubies/examples/get_renderer_list.rb → application/examples/online.rb} +1 -1
  130. data/vendor/assets/application/examples/over.rb +29 -0
  131. data/vendor/assets/application/examples/paint.rb +23 -0
  132. data/vendor/assets/application/examples/particles.rb +4 -0
  133. data/vendor/assets/application/examples/percent_to_px.rb +4 -0
  134. data/vendor/assets/application/examples/play.rb +50 -0
  135. data/vendor/assets/application/examples/presets.rb +33 -0
  136. data/vendor/assets/application/examples/random.rb +42 -0
  137. data/vendor/assets/application/examples/raw_html.rb +48 -0
  138. data/vendor/assets/application/examples/read.rb +11 -0
  139. data/vendor/assets/application/examples/refresh.rb +62 -0
  140. data/vendor/assets/application/examples/remove.rb +47 -0
  141. data/vendor/assets/application/examples/repeat.rb +26 -0
  142. data/vendor/assets/application/examples/resize.rb +17 -0
  143. data/vendor/assets/application/examples/scroll.rb +11 -0
  144. data/vendor/assets/application/examples/security.rb +76 -0
  145. data/vendor/assets/application/examples/selected.rb +30 -0
  146. data/vendor/assets/application/examples/shadow.rb +46 -0
  147. data/vendor/assets/application/examples/shapes.rb +6 -0
  148. data/vendor/assets/{src/medias/rubies → application}/examples/smooth.rb +5 -1
  149. data/vendor/assets/application/examples/style.rb +4 -0
  150. data/vendor/assets/application/examples/sync.rb +39 -0
  151. data/vendor/assets/application/examples/tagged.rb +24 -0
  152. data/vendor/assets/application/examples/terminal.rb +4 -0
  153. data/vendor/assets/application/examples/text.rb +5 -0
  154. data/vendor/assets/application/examples/touch.rb +38 -0
  155. data/vendor/assets/application/examples/type_mutation.rb +18 -0
  156. data/vendor/assets/application/examples/universe.rb +8 -0
  157. data/vendor/assets/application/examples/vector.rb +24 -0
  158. data/vendor/assets/application/examples/video.rb +14 -0
  159. data/vendor/assets/application/examples/wait.rb +6 -0
  160. data/vendor/assets/application/examples/www.rb +10 -0
  161. data/vendor/assets/application/index.rb +1 -1
  162. data/vendor/assets/application/test.rb +29 -0
  163. data/vendor/assets/application/works/photos.rb +672 -0
  164. data/vendor/assets/application/works/photos2.rb +218 -0
  165. data/vendor/assets/application/works/photos3.rb +343 -0
  166. data/vendor/assets/application/works/photos4.rb +34 -0
  167. data/vendor/assets/application/works/photos6.rb +6 -0
  168. data/vendor/assets/application/works/trigga.rb +0 -0
  169. data/vendor/assets/application/works/vie.rb +74 -0
  170. data/vendor/assets/server/atome_server.rb +37 -41
  171. data/vendor/assets/server/atome_server_wasm.rb +112 -0
  172. data/vendor/assets/server/capture.rb +10 -0
  173. data/vendor/assets/server/config.ru +5 -4
  174. data/vendor/assets/src/css/style.css +29 -4
  175. data/vendor/assets/src/index.html +31 -38
  176. data/vendor/assets/src/index_opal.html +42 -0
  177. data/vendor/assets/src/index_server.html +43 -0
  178. data/vendor/assets/src/index_server_wasm.html +46 -0
  179. data/vendor/assets/src/js/atome/atome.js +170 -150
  180. data/vendor/assets/src/js/atome/atome_helpers/add_font.js +46 -0
  181. data/vendor/assets/src/js/atome/atome_helpers/atome_drag.js +3 -1
  182. data/vendor/assets/src/js/atome/atome_helpers/atome_events.js +12 -7
  183. data/vendor/assets/src/js/atome/atome_helpers/communication.js +126 -0
  184. data/vendor/assets/src/js/atome/atome_helpers/{atome_file.js → file.js} +1 -1
  185. data/vendor/assets/src/js/atome/specific/opal.js +3 -0
  186. data/vendor/assets/src/js/atome/specific/wasm.js +12 -0
  187. data/vendor/assets/src/js/third_parties/browser.script.iife.min.js +13 -0
  188. data/vendor/assets/src/js/third_parties/fabric.min.js +1 -1
  189. data/vendor/assets/src/js/third_parties/html-to-image.min.js +2 -0
  190. data/vendor/assets/src/js/third_parties/jsencrypt.min.js +2 -0
  191. data/vendor/assets/src/js/third_parties/papaparse.min.js +7 -0
  192. data/vendor/assets/src/medias/fonts/Roboto/LICENSE.txt +202 -0
  193. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Black.ttf +0 -0
  194. data/vendor/assets/src/medias/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
  195. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Bold.ttf +0 -0
  196. data/vendor/assets/src/medias/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
  197. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Italic.ttf +0 -0
  198. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Light.ttf +0 -0
  199. data/vendor/assets/src/medias/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
  200. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Medium.ttf +0 -0
  201. data/vendor/assets/src/medias/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
  202. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Regular.ttf +0 -0
  203. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Thin.ttf +0 -0
  204. data/vendor/assets/src/medias/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
  205. data/vendor/assets/src/medias/images/logos/Facebook.svg +1 -1
  206. data/vendor/assets/src/medias/images/logos/LinkedIn-full.svg +109 -0
  207. data/vendor/assets/src/medias/images/logos/LinkedIn.svg +11 -0
  208. data/vendor/assets/src/medias/images/logos/X.svg +5 -0
  209. data/vendor/assets/src-tauri/Cargo.toml +1 -1
  210. data/vendor/assets/src-tauri/src/main.rs +59 -5
  211. data/vendor/assets/src-tauri/tauri.conf.json +1 -1
  212. data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_arm +0 -0
  213. data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_x86 +0 -0
  214. data/vendor/assets/src-wasm/wasm/wasi-vfs-unix +0 -0
  215. data/vendor/assets/src-wasm/wasm/wasi-vfs.exe +0 -0
  216. metadata +188 -180
  217. data/lib/atome/extensions/mathematic.rb +0 -20
  218. data/lib/atome/extensions/matrix.rb +0 -346
  219. data/lib/atome/helpers/callbacks.rb +0 -133
  220. data/lib/atome/kernel/batch.rb +0 -26
  221. data/lib/atome/kernel/essentials.rb +0 -23
  222. data/lib/atome/renderers/browser/atome.rb +0 -177
  223. data/lib/atome/renderers/browser/browser.rb +0 -47
  224. data/lib/atome/renderers/browser/effect.rb +0 -23
  225. data/lib/atome/renderers/browser/event.rb +0 -96
  226. data/lib/atome/renderers/browser/geometry.rb +0 -27
  227. data/lib/atome/renderers/browser/helpers/animation_helper.rb +0 -69
  228. data/lib/atome/renderers/browser/helpers/browser_helper.rb +0 -101
  229. data/lib/atome/renderers/browser/helpers/color_helper.rb +0 -95
  230. data/lib/atome/renderers/browser/helpers/drag_helper.rb +0 -52
  231. data/lib/atome/renderers/browser/helpers/drop_helper.rb +0 -13
  232. data/lib/atome/renderers/browser/helpers/effect_helper.rb +0 -23
  233. data/lib/atome/renderers/browser/helpers/event_helper.rb +0 -76
  234. data/lib/atome/renderers/browser/helpers/image_helper.rb +0 -27
  235. data/lib/atome/renderers/browser/helpers/over_helper.rb +0 -13
  236. data/lib/atome/renderers/browser/helpers/shadow_helper.rb +0 -74
  237. data/lib/atome/renderers/browser/helpers/shape_helper.rb +0 -22
  238. data/lib/atome/renderers/browser/helpers/text_helper.rb +0 -38
  239. data/lib/atome/renderers/browser/helpers/video_helper.rb +0 -50
  240. data/lib/atome/renderers/browser/helpers/web_helper.rb +0 -26
  241. data/lib/atome/renderers/browser/identity.rb +0 -61
  242. data/lib/atome/renderers/browser/material.rb +0 -121
  243. data/lib/atome/renderers/browser/opal_add_on.rb +0 -32
  244. data/lib/atome/renderers/browser/opal_browser.rb +0 -6
  245. data/lib/atome/renderers/browser/spatial.rb +0 -59
  246. data/lib/atome/renderers/browser/time.rb +0 -3
  247. data/lib/atome/renderers/browser/utility.rb +0 -49
  248. data/lib/atome/renderers/headless/headless.rb +0 -10
  249. data/lib/atome/renderers/headless/utility.rb +0 -6
  250. data/lib/atome/renderers/html/atome.rb +0 -49
  251. data/lib/atome/renderers/html/effect.rb +0 -19
  252. data/lib/atome/renderers/html/event.rb +0 -9
  253. data/lib/atome/renderers/html/geometry.rb +0 -11
  254. data/lib/atome/renderers/html/html.rb +0 -42
  255. data/lib/atome/renderers/html/identity.rb +0 -14
  256. data/lib/atome/renderers/html/opal_browser.rb +0 -6
  257. data/lib/atome/renderers/html/spatial.rb +0 -28
  258. data/lib/atome/renderers/html/utility.rb +0 -17
  259. data/lib/atome/renderers/opal/extensions/atome.rb +0 -29
  260. data/lib/atome/renderers/opal/extensions/ping.rb +0 -18
  261. data/lib/atome/renderers/renderer.rb +0 -15
  262. data/lib/atome/renderers/server/server.rb +0 -10
  263. data/lib/atome/renderers/server/utility.rb +0 -6
  264. data/vendor/assets/aui.rb +0 -5
  265. data/vendor/assets/r&d/misc.rb +0 -219
  266. data/vendor/assets/r&d/ping.rb +0 -3
  267. data/vendor/assets/r&d/storage.rb +0 -9
  268. data/vendor/assets/r&d/view_example.rb +0 -21
  269. data/vendor/assets/src/js/atome/atome_helpers/atome_communication.js +0 -40
  270. data/vendor/assets/src/medias/javascripts/test.js +0 -1
  271. data/vendor/assets/src/medias/rubies/demos.rb +0 -63
  272. data/vendor/assets/src/medias/rubies/examples/add.rb +0 -24
  273. data/vendor/assets/src/medias/rubies/examples/animation.rb +0 -81
  274. data/vendor/assets/src/medias/rubies/examples/atome_new.rb +0 -27
  275. data/vendor/assets/src/medias/rubies/examples/attach.rb +0 -15
  276. data/vendor/assets/src/medias/rubies/examples/attached.rb +0 -15
  277. data/vendor/assets/src/medias/rubies/examples/auto_height.rb +0 -5
  278. data/vendor/assets/src/medias/rubies/examples/auto_width.rb +0 -4
  279. data/vendor/assets/src/medias/rubies/examples/batch.rb +0 -17
  280. data/vendor/assets/src/medias/rubies/examples/blur.rb +0 -4
  281. data/vendor/assets/src/medias/rubies/examples/bottom.rb +0 -3
  282. data/vendor/assets/src/medias/rubies/examples/box.rb +0 -20
  283. data/vendor/assets/src/medias/rubies/examples/center.rb +0 -21
  284. data/vendor/assets/src/medias/rubies/examples/circle.rb +0 -3
  285. data/vendor/assets/src/medias/rubies/examples/class.rb +0 -13
  286. data/vendor/assets/src/medias/rubies/examples/clear.rb +0 -10
  287. data/vendor/assets/src/medias/rubies/examples/clone.rb +0 -35
  288. data/vendor/assets/src/medias/rubies/examples/code.rb +0 -11
  289. data/vendor/assets/src/medias/rubies/examples/color.rb +0 -73
  290. data/vendor/assets/src/medias/rubies/examples/create_atome_in_atome.rb +0 -13
  291. data/vendor/assets/src/medias/rubies/examples/cursor.rb +0 -7
  292. data/vendor/assets/src/medias/rubies/examples/delete.rb +0 -42
  293. data/vendor/assets/src/medias/rubies/examples/depth.rb +0 -6
  294. data/vendor/assets/src/medias/rubies/examples/detached.rb +0 -13
  295. data/vendor/assets/src/medias/rubies/examples/drag.rb +0 -98
  296. data/vendor/assets/src/medias/rubies/examples/drop.rb +0 -26
  297. data/vendor/assets/src/medias/rubies/examples/edit.rb +0 -12
  298. data/vendor/assets/src/medias/rubies/examples/element.rb +0 -6
  299. data/vendor/assets/src/medias/rubies/examples/empty_atome.rb +0 -12
  300. data/vendor/assets/src/medias/rubies/examples/fullscreen.rb +0 -15
  301. data/vendor/assets/src/medias/rubies/examples/grab.rb +0 -5
  302. data/vendor/assets/src/medias/rubies/examples/height.rb +0 -7
  303. data/vendor/assets/src/medias/rubies/examples/hide.rb +0 -7
  304. data/vendor/assets/src/medias/rubies/examples/id.rb +0 -14
  305. data/vendor/assets/src/medias/rubies/examples/image.rb +0 -8
  306. data/vendor/assets/src/medias/rubies/examples/left.rb +0 -7
  307. data/vendor/assets/src/medias/rubies/examples/link.rb +0 -22
  308. data/vendor/assets/src/medias/rubies/examples/markers.rb +0 -48
  309. data/vendor/assets/src/medias/rubies/examples/materials.rb +0 -15
  310. data/vendor/assets/src/medias/rubies/examples/matrix.rb +0 -102
  311. data/vendor/assets/src/medias/rubies/examples/matrix_changes.rb +0 -483
  312. data/vendor/assets/src/medias/rubies/examples/matrix_simple.rb +0 -32
  313. data/vendor/assets/src/medias/rubies/examples/monitoring.rb +0 -70
  314. data/vendor/assets/src/medias/rubies/examples/mute.rb +0 -22
  315. data/vendor/assets/src/medias/rubies/examples/on.rb +0 -26
  316. data/vendor/assets/src/medias/rubies/examples/opacity.rb +0 -5
  317. data/vendor/assets/src/medias/rubies/examples/over.rb +0 -21
  318. data/vendor/assets/src/medias/rubies/examples/pause.rb +0 -15
  319. data/vendor/assets/src/medias/rubies/examples/physical.rb +0 -19
  320. data/vendor/assets/src/medias/rubies/examples/play.rb +0 -15
  321. data/vendor/assets/src/medias/rubies/examples/read.rb +0 -11
  322. data/vendor/assets/src/medias/rubies/examples/refresh.rb +0 -8
  323. data/vendor/assets/src/medias/rubies/examples/remove.rb +0 -16
  324. data/vendor/assets/src/medias/rubies/examples/repeat.rb +0 -6
  325. data/vendor/assets/src/medias/rubies/examples/right.rb +0 -3
  326. data/vendor/assets/src/medias/rubies/examples/rotate.rb +0 -4
  327. data/vendor/assets/src/medias/rubies/examples/schedule.rb +0 -13
  328. data/vendor/assets/src/medias/rubies/examples/shadow.rb +0 -84
  329. data/vendor/assets/src/medias/rubies/examples/size.rb +0 -8
  330. data/vendor/assets/src/medias/rubies/examples/sort.rb +0 -18
  331. data/vendor/assets/src/medias/rubies/examples/style.rb +0 -4
  332. data/vendor/assets/src/medias/rubies/examples/tags.rb +0 -10
  333. data/vendor/assets/src/medias/rubies/examples/text.rb +0 -39
  334. data/vendor/assets/src/medias/rubies/examples/time.rb +0 -18
  335. data/vendor/assets/src/medias/rubies/examples/to_px.rb +0 -10
  336. data/vendor/assets/src/medias/rubies/examples/touch.rb +0 -56
  337. data/vendor/assets/src/medias/rubies/examples/vector.rb +0 -39
  338. data/vendor/assets/src/medias/rubies/examples/video.rb +0 -65
  339. data/vendor/assets/src/medias/rubies/examples/wait.rb +0 -8
  340. data/vendor/assets/src/medias/rubies/examples/web.rb +0 -13
  341. data/vendor/assets/src/medias/rubies/examples/width.rb +0 -6
  342. data/vendor/assets/src/medias/rubies/test.rb +0 -1
  343. data/vendor/assets/src/medias/rubies/text_read.rb +0 -1
  344. data/vendor/assets/src/medias/rubies/unstable/!run.rb +0 -16
  345. data/vendor/assets/src/medias/rubies/unstable/_2_solve.rb +0 -72
  346. data/vendor/assets/src/medias/rubies/unstable/_attach.rb +0 -12
  347. data/vendor/assets/src/medias/rubies/unstable/_audio.rb +0 -231
  348. data/vendor/assets/src/medias/rubies/unstable/_dataset.rb +0 -257
  349. data/vendor/assets/src/medias/rubies/unstable/_matrix.rb +0 -58
  350. data/vendor/assets/src/medias/rubies/unstable/_os.rb +0 -29
  351. data/vendor/assets/src/medias/rubies/unstable/_table2.rb +0 -108
  352. data/vendor/assets/src/medias/rubies/unstable/_vie.rb +0 -211
  353. data/vendor/assets/src/medias/rubies/users/code.rb +0 -6
  354. /data/lib/{atome/renderers → platform_specific}/opal/opal.rb +0 -0
  355. /data/lib/{atome/renderers → platform_specific}/opal/opal_parser.rb +0 -0
  356. /data/{vendor/assets/src/utilities/mode.rb → lib/renderers/html/communication.rb} +0 -0
  357. /data/{vendor/assets/src/medias/rubies/unstable/_test.rb → lib/renderers/html/security.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4feb89bd1af8453078bbe9c826af8f6176c321ee7b155e109c3b8a3f6033e87e
4
- data.tar.gz: 7d13f98dde5fbafb74f27eae1ea4fe025ef7de735c939414cc23708205963a6f
3
+ metadata.gz: 8b31290fc95efc0a70d4679d5354bcef415b2366fd11c2daee3821de259d7cc9
4
+ data.tar.gz: b0fd13de4867f9f139682d786405049097b975e7afe619dcf14781f538db27e6
5
5
  SHA512:
6
- metadata.gz: 82eca49b901057c6070c7db3f64496efee49b63833a27b6b0dc2388a32a7cf1e6b37a7531bec2e9272f963f9d39f75ae7884c20d89cbe1482c0abe58dc674b6e
7
- data.tar.gz: c1013e2b38c94c2a46fef8aa91fade3361ef952d71be71e7ddbeada26955c43a7ce21e252a5ceadf954fd4a8ea96faf7298f5666be5db9311b1478f6280d834e
6
+ metadata.gz: 94cf7f832e676b8b26c9ee2441ecbe3dc08eee174f6eb3bec92b68869de9d9bd1c1b81408fbacfd0c12fe7de25b682fd67458263fca0c2bc078704e0f0d285e9
7
+ data.tar.gz: ecf1425bda14c78a0047a514e84d5ac2ed017f95c05b37598045d8ea6b3f878bc27e560bfe5b2b02884f15a9996f0c2cc3c0505e72170222e0ded5126fd6f829
data/Gemfile CHANGED
@@ -7,6 +7,8 @@ gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
9
 
10
+ gem 'faye-websocket'
11
+
10
12
  gem "minitest", "~> 5.0"
11
13
 
12
- gem 'rubocop', group: 'development'
14
+ gem 'rubocop', group: 'development', require: false
data/README.md CHANGED
@@ -32,6 +32,10 @@ Open source technology included
32
32
 
33
33
  [comment]: <> (<img src="https://github.com/atomecorp/atome/raw/master/documentation/images/logos/ruby.png" width="100" />)
34
34
 
35
+ - Ruby Wasm : is a ruby standard libary used to embed the ruby language in many environments including the web (https://github.com/ruby/ruby.wasm)
36
+
37
+ [comment]: <> (<img src="https://github.com/atomecorp/atome/raw/master/documentation/images/logos/ruby.png" width="100" />)
38
+
35
39
  - Opal : is a ruby gem used to compile the ruby language to JS (https://opalrb.com)
36
40
 
37
41
  [comment]: <> (<img src="https://github.com/atomecorp/atome/raw/master/documentation/images/logos/opal.png" width="100" />)
@@ -105,4 +109,69 @@ Contact:
105
109
  -
106
110
  **[queries@atome.one](mailto:contact@atome.one)**
107
111
 
108
- <img src="./documentation/images//atome.svg" width="100" />
112
+ <img src="./documentation/images//atome.svg" width="100" />
113
+
114
+
115
+
116
+ ---
117
+
118
+ # Atome Framework: The Future of Multimedia Object Modeling
119
+
120
+ ## Technical Overview
121
+
122
+ ### The Unified Object Model
123
+
124
+ Atome Framework introduces a revolutionary concept in multimedia object modeling: the Unified Object Model. This model
125
+ allows for the seamless creation and manipulation of various multimedia elements like text, images, sound, colors,
126
+ videos, vector shapes, and more, all under a single object model.
127
+
128
+ ### Polymorphism
129
+
130
+ The framework leverages the power of polymorphism, allowing objects to take on multiple forms. This enables a high
131
+ degree of flexibility and extensibility in how objects are used and manipulated.
132
+
133
+ ### Features
134
+
135
+ - **Method Sharing**: All objects share common methods
136
+ like `top`, `left`, `width`, `height`, `red`, `green`, `blue`, `alpha`, `rotate`, and many more.
137
+ - **Type Identification**: Easily identify the type of object you're dealing with through the `type` method.
138
+ - **Parent-Child Relationships**: Any object can have another object as its child, allowing for complex nested
139
+ structures.
140
+ - **Multiple Parenting**: Objects can have multiple parents, enabling versatile and dynamic object relationships.
141
+ - **Multiple Rendering**: Objects can be rendered in multiple ways simultaneously, such as text description, audio
142
+ description, and on-screen rendering.
143
+ - **Code Rendering**: The framework supports code rendering through technologies like Opal or WebAssembly, offering even
144
+ more versatility.
145
+
146
+ ### Meta-Programming
147
+
148
+ The framework heavily utilizes meta-programming to avoid code redundancy and to keep the codebase small and efficient.
149
+
150
+ ## Commercial Overview
151
+
152
+ ### Easy to Learn, Powerful to Use
153
+
154
+ Atome Framework is designed to be easy for novices while also offering an optimized, academic mode for seasoned
155
+ developers.
156
+
157
+ ### Open Source and MIT Licensed
158
+
159
+ The framework is entirely open-source and comes with an MIT license, inviting collaboration and innovation.
160
+
161
+ ### Extensible API
162
+
163
+ Adding new features is made easy with an automated API system.
164
+
165
+ ## Why Collaborate on GitHub?
166
+
167
+ - **Innovative Model**: Be part of a revolutionary approach to multimedia object modeling.
168
+ - **Community Support**: Benefit from a community of developers for support and feature requests.
169
+ - **Career Boost**: Enhance your portfolio by contributing to a cutting-edge project.
170
+
171
+ ## Call to Action
172
+
173
+ Join us in making multimedia object modeling more efficient, flexible, and powerful than ever before. Star our GitHub
174
+ repository, fork it, and send us your pull requests.
175
+
176
+ ---
177
+
data/Rakefile CHANGED
@@ -1,107 +1,278 @@
1
1
  # frozen_string_literal: true
2
-
2
+ require 'fileutils'
3
+ require 'securerandom'
4
+ require 'digest/sha2'
3
5
  require 'bundler/gem_tasks'
4
- require 'rake/testtask'
6
+ load 'exe/atome'
5
7
 
6
- Rake::TestTask.new(:test) do |t|
7
- t.libs << 'test'
8
- t.libs << 'lib'
9
- t.test_files = FileList['test/**/test_*.rb']
8
+ task :cleanup do
9
+ `gem cleanup atome;yes | gem uninstall atome;cd pkg`
10
+ end
11
+ task :reset_cache do
12
+ `rm -r -f ./tmp`
13
+ `rm -r -f ./pkg`
10
14
  end
11
15
 
12
- task default: :test
13
-
14
- task :test_build do
15
- FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
16
- FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
17
- FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
16
+ def resolve_requires(file_path, root_path, processed_files = Set.new, depth = 0)
17
+ return '' unless File.exist?(file_path)
18
+ return '' if processed_files.include?(file_path) || depth > 10 # check circular dependencies and depth
18
19
 
19
- `rake build`
20
- `cd pkg; gem install atome --local`
21
- `cd test/test_app;atome update`
22
- `cd test/test_app;atome refresh`
23
- puts 'solution re-build!'
20
+ content = File.read(file_path)
21
+ processed_files.add(file_path)
22
+ current_dir = File.dirname(File.expand_path(file_path)) # use the absolute pah
23
+ content.gsub!(/^(require|require_relative)\s+['"](.*?)['"]$/) do |match|
24
+ type = $1
25
+ required_file_name = $2
26
+ required_file = if type == 'require_relative'
27
+ File.join(current_dir, required_file_name + '.rb')
28
+ else
29
+ File.join(root_path, required_file_name + '.rb')
30
+ end
31
+ if File.exist?(required_file)
32
+ resolve_requires(required_file, root_path, processed_files, depth + 1)
33
+ else
34
+ match
35
+ end
36
+ end
37
+ content
38
+ end
24
39
 
40
+ def generate_resolved_file(source_file_path)
41
+ root_path = File.dirname(File.expand_path(source_file_path))
42
+ resolve_requires(source_file_path, root_path)
25
43
  end
26
44
 
27
- task :test_browser do
28
- FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
29
- FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
30
- FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
31
- `cd test/test_app;atome update;atome run compile`
32
- `open test/test_app/src/index.html`
33
- puts 'atome browser is running'
45
+ task :test_wasm do
46
+ project_name = :test
47
+ source = '.'
48
+ destination = './tmp'
49
+ script_source = './test/application'
50
+ wasi_file = 'wasi-vfs-osx_arm'
51
+ host_mode = 'pure_wasm'
52
+ create_application(source, destination, project_name)
53
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
54
+ `open ./tmp/#{project_name}/src/index.html`
55
+ puts 'atome wasm is build and running!'
34
56
  end
35
57
 
36
- task :test_build_browser do
37
- FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
38
- FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
39
- FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
58
+ task :test_wasm_osx_x86 do
59
+ # wasi Source here : https://github.com/kateinoigakukun/wasi-vfs/releases
60
+ project_name = :test
61
+ source = '.'
62
+ destination = './tmp'
63
+ script_source = './test/application'
64
+ wasi_file = 'wasi-vfs-osx_x86'
65
+ host_mode = 'pure_wasm'
66
+ create_application(source, destination, project_name)
67
+ wasm_common(source, destination, project_name, wasi_file, script_source, host_mode, script_source)
68
+ `open ./tmp/#{project_name}/src/index.html`
69
+ puts 'atome wasm is build and running!'
70
+ end
71
+ task :test_wasm_windows do
72
+ # wasi Source here : https://github.com/kateinoigakukun/wasi-vfs/releases
73
+ project_name = :test
74
+ source = '.'
75
+ destination = './tmp'
76
+ script_source = './test/application'
77
+ wasi_file = 'wasi-vfs.exe pack'
78
+ host_mode = 'pure_wasm'
79
+ create_application(source, destination, project_name)
80
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
81
+ `open ./tmp/#{project_name}/src/index.html`
82
+ puts 'atome wasm is build and running!'
83
+ end
84
+ task :test_wasm_unix do
85
+ # wasi Source here : https://github.com/kateinoigakukun/wasi-vfs/releases
86
+ project_name = :test
87
+ source = '.'
88
+ destination = './tmp'
89
+ script_source = './test/application'
90
+ wasi_file = 'wasi-vfs-unix pack tmp'
91
+ host_mode = 'pure_wasm'
92
+ create_application(source, destination, project_name)
93
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
94
+ `open ./tmp/#{project_name}/src/index.html`
95
+ puts 'atome wasm is build and running!'
96
+ end
40
97
 
41
- `rake build`
42
- `cd pkg; gem install atome --local`
43
- `cd test/test_app;atome update`
44
- `cd test/test_app;atome refresh`
45
- `cd test/test_app;atome update;atome run browser guard `
46
- # `open test/test_app/src/index.html`
47
- puts 'atome browser is running'
98
+ task :test_opal do
99
+ project_name = :test
100
+ source = '.'
101
+ destination = './tmp'
102
+ script_source = './test/application'
103
+ create_application(source, destination, project_name)
104
+ # the line below is to add addition script to the application folder (useful for test per example)
105
+ add_to_application_folder(script_source, destination, project_name)
106
+ # build opal
107
+ build_opal_library(source, destination, project_name)
108
+ # build parser
109
+ build_opal_parser(source, destination, project_name)
110
+ # build atome kernel
111
+ build_atome_kernel_for_opal(source, destination, project_name)
112
+ # build host_mode
113
+ build_host_mode(destination, project_name, 'web-opal')
114
+ # build Opal extensions
115
+ build_opal_extensions(source, destination, project_name)
116
+ # build application
117
+ build_opal_application(source, destination, project_name)
118
+ # open the app
119
+ `open #{destination}/#{project_name}/src/index_opal.html`
120
+ puts 'atome opal is build and running!'
48
121
  end
122
+ task :server_wasm do
123
+ project_name = :test
124
+ source = '.'
125
+ destination = './tmp'
126
+ script_source = './test/application'
127
+ wasi_file = 'wasi-vfs-osx_arm'
128
+ host_mode = 'pure_wasm'
129
+ create_application(source, destination, project_name)
130
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
131
+ # `open ./tmp/#{project_name}/src/index.html`
132
+ puts 'atome wasm is build and running!'
133
+ build_for_server(destination, project_name, 9292, :production)
49
134
 
50
- task :test_build_osx do
51
- FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
52
- FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
53
- FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
135
+ end
136
+ task :test_server do
137
+ project_name = :test
138
+ source = '.'
139
+ destination = './tmp'
140
+ script_source = './test/application'
141
+ create_application(source, destination, project_name)
142
+ # the line below is to add addition script to the application folder (useful for test per example)
143
+ add_to_application_folder(script_source, destination, project_name)
144
+ # build opal
145
+ build_opal_library(source, destination, project_name)
146
+ # build parser
147
+ build_opal_parser(source, destination, project_name)
148
+ # build atome kernel
149
+ build_atome_kernel_for_opal(source, destination, project_name)
150
+ # build host_mode
151
+ build_host_mode(destination, project_name, 'puma-roda')
152
+ # build Opal extensions
153
+ build_opal_extensions(source, destination, project_name)
154
+ # build application
155
+ build_opal_application(source, destination, project_name)
156
+ # build and open the app
157
+ threads = []
158
+ threads << Thread.new do
159
+ sleep 1
160
+ `open http://localhost:9292`
161
+ end
162
+ build_for_server(destination, project_name, 9292, :production)
163
+ end
54
164
 
55
- `rake build`
56
- `cd pkg; gem install atome --local`
57
- `cd test/test_app;atome update`
58
- `cd test/test_app;atome refresh`
59
- `cd test/test_app;atome update;atome run osx guard`
60
- # `cd test/test_app;atome run osx guard`
165
+ task :test_osx do
166
+ project_name = :test
167
+ source = '.'
168
+ destination = './tmp'
169
+ script_source = './test/application'
170
+ wasi_file = 'wasi-vfs-osx_arm'
171
+ host_mode = 'tauri'
172
+ create_application(source, destination, project_name)
173
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
174
+ destination = './tmp'
175
+ # build and open the app
176
+ build_for_osx(destination, :dev)
61
177
  puts 'atome osx is running'
62
178
  end
63
179
 
64
- task :cleanup do
65
- `gem cleanup atome;yes | gem uninstall atome;cd pkg`
180
+ task :build_osx do
181
+ project_name = :test
182
+ source = '.'
183
+ destination = './tmp'
184
+ script_source = './test/application'
185
+ wasi_file = 'wasi-vfs-osx_arm'
186
+ host_mode = 'tauri'
187
+ create_application(source, destination, project_name)
188
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
189
+ destination = './tmp'
190
+ # build and open the app
191
+ build_for_osx(destination, :build)
192
+ puts 'atome osx is running'
66
193
  end
67
194
 
68
-
69
- task :test_server do
70
- FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
71
- FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
72
- FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
73
- `gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;cd pkg; gem install atome --local`
74
- `cd test/test_app;atome update;atome run server guard`
195
+ task :update_osx do
196
+ project_name = :test
197
+ source = '.'
198
+ destination = './tmp'
199
+ script_source = './test/application'
200
+ wasi_file = 'wasi-vfs-osx_arm'
201
+ host_mode = 'tauri'
202
+ update_application(source, destination, project_name)
203
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
204
+ destination = './tmp'
205
+ puts 'atome osx is updated'
75
206
  end
76
207
 
208
+ task :osx_server do
209
+ project_name = :test
210
+ source = '.'
211
+ destination = './tmp'
212
+ script_source = './test/application'
213
+ create_application(source, destination, project_name)
214
+ # the line below is to add addition script to the application folder (useful for test per example)
215
+ add_to_application_folder(script_source, destination, project_name)
216
+ # build opal
217
+ build_opal_library(source, destination, project_name)
218
+ # build parser
219
+ build_opal_parser(source, destination, project_name)
220
+ # build atome kernel
221
+ build_atome_kernel_for_opal(source, destination, project_name)
222
+ # build host_mode
223
+ build_host_mode(destination, project_name, 'puma-roda')
224
+ # build Opal extensions
225
+ build_opal_extensions(source, destination, project_name)
226
+ # build application
227
+ build_opal_application(source, destination, project_name)
228
+ # build and open the app
77
229
 
78
- # task :run_server do
79
- # `cd test/test_app;atome run server guard`
80
- # end
230
+ project_name = :test
231
+ source = '.'
232
+ destination = './tmp'
233
+ script_source = './test/application'
234
+ wasi_file = 'wasi-vfs-osx_arm'
235
+ host_mode = 'tauri'
236
+ create_application(source, destination, project_name)
237
+ wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
238
+ destination = './tmp'
239
+ threads = []
240
+ threads << Thread.new do
241
+ build_for_server(destination, project_name, 9292, :production)
242
+ end
243
+ build_for_osx(destination)
81
244
 
82
- task :refresh do
83
- FileUtils.copy_entry('vendor/assets/src/medias/rubies/examples/', 'test/test_app/src/medias/rubies/examples/')
84
- `cd test/test_app;atome build`
85
- puts "refreshed!"
86
- end
87
245
 
88
- # task :open_server do
89
- # `open http://127.0.0.1:1430/`
90
- # end
246
+ puts 'atome osx is running'
247
+
91
248
 
92
- task :run_example_server do
93
- FileUtils.copy_entry('vendor/assets/src/medias/rubies/examples/', 'test/test_app/src/medias/rubies/examples/')
94
- `cd test/test_app;atome run server`
95
- end
96
249
 
97
250
 
98
- # task :taurification do
99
- # `cd test/test_app;cargo tauri dev`
100
- # end
101
251
 
102
- task :test_osx do
103
- `cd test/test_app;atome run osx guard`
104
252
  end
105
253
 
106
254
 
107
- task default: :test
255
+ task :build_gem do
256
+ # building the gem
257
+ `rake build` # run build_app thru ARGV in exe atome
258
+ # installing the gem
259
+ `cd pkg; gem install atome --local`
260
+ # open the app
261
+ puts 'atome gem built and installed'
262
+ end
263
+
264
+ # task :run_wasm_client_code do
265
+ # app_name = :test
266
+ # dest_path = './tmp/'
267
+ # user_code = './test/application'
268
+ # # user_code = './vendor/assets/application'
269
+ # # user_code = './test/client/delices_de_vezelin'
270
+ # application_location = "#{dest_path}#{app_name}"
271
+ # source_file = "#{user_code}/index.rb"
272
+ # new_file_content = generate_resolved_file(source_file)
273
+ # index_html = File.read('vendor/assets/src/index.html')
274
+ # index_html = index_html.sub('</html>', "<script type='text/ruby' >#{new_file_content}</script>\n</html>")
275
+ # File.write("#{application_location}/src/index.html", index_html)
276
+ # `open #{application_location}/src/index.html`
277
+ # puts 'atome wasm user code executed'
278
+ # end