atome 0.5.4.1.9 → 0.5.5.6.4

Sign up to get free protection for your applications and to get access to all the features.
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