atome 0.5.7.0.3 → 0.3191

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of atome might be problematic. Click here for more details.

Files changed (472) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +5 -77
  4. data/Rakefile +7 -502
  5. data/app_builder_helpers/Rakefile +235 -0
  6. data/documentation/framework/enhance_atome.md +1 -1
  7. data/documentation/installation/atome_server.md +1 -66
  8. data/documentation/tutorials/tutorials.md +0 -7
  9. data/exe/atome +157 -819
  10. data/lib/atome/atome_native_extensions.rb +3 -0
  11. data/lib/atome/extensions/geolocation.rb +1 -1
  12. data/lib/atome/extensions/ping.rb +11 -10
  13. data/lib/atome/extensions/sha.rb +6 -8
  14. data/lib/atome/kernel/atome_genesis.rb +93 -0
  15. data/lib/atome/kernel/generators/shapes.rb +7 -0
  16. data/lib/atome/kernel/properties/geometry.rb +120 -0
  17. data/lib/atome/kernel/universe.rb +24 -295
  18. data/lib/atome/renderers/headless/headless.rb +0 -0
  19. data/lib/atome/renderers/headless/properties/generator.rb +0 -0
  20. data/lib/atome/renderers/opal/atome_opal_extensions.rb +4 -0
  21. data/lib/{platform_specific → atome/renderers}/opal/extensions/geolocation.rb +1 -1
  22. data/lib/atome/renderers/opal/extensions/ping.rb +13 -0
  23. data/lib/atome/renderers/opal/extensions/sha.rb +11 -0
  24. data/lib/atome/renderers/opal/opal_browser.rb +8 -0
  25. data/lib/{platform_specific → atome/renderers}/opal/opal_parser.rb +0 -1
  26. data/lib/atome/renderers/opal/properties/generator.rb +6 -0
  27. data/lib/atome/renderers/server/server.rb +0 -0
  28. data/lib/atome/version.rb +1 -2
  29. data/lib/atome.rb +16 -35
  30. data/sig/atome.rbs +0 -75
  31. data/vendor/assets/Guardfile +4 -0
  32. data/vendor/assets/Rakefile +2 -12
  33. data/vendor/assets/application/index.rb +2 -7
  34. data/vendor/assets/build/css/style.css +53 -0
  35. data/vendor/assets/build/index.html +24 -0
  36. data/vendor/assets/build/js/application.js +0 -0
  37. data/vendor/assets/build/js/third_parties/interact.min.js +4 -0
  38. data/vendor/assets/build/js/third_parties/popmotion.min.js +1 -0
  39. data/vendor/assets/examples/misc.rb +219 -0
  40. data/vendor/assets/examples/ping.rb +3 -0
  41. data/vendor/assets/examples/storage.rb +9 -0
  42. data/vendor/assets/examples/view_example.rb +21 -0
  43. data/vendor/assets/server/atome_server.rb +96 -33
  44. data/vendor/assets/server/config.ru +3 -8
  45. metadata +69 -512
  46. data/CHANGELOG.md +0 -21
  47. data/atome.gemspec +0 -100
  48. data/documentation/basic.md +0 -241
  49. data/documentation/deep learning/architecture.txt +0 -3763
  50. data/documentation/deep learning/atome.png +0 -0
  51. data/documentation/deep learning/basic_infos.txt +0 -289
  52. data/documentation/deep learning/example_of_users_code.rb +0 -1810
  53. data/documentation/deep learning/misc.txt +0 -24
  54. data/documentation/deep learning/ruby_js_example.rb +0 -272
  55. data/documentation/deep learning/wasm_script_help.text +0 -14
  56. data/documentation/installation/buiding_atome.md +0 -307
  57. data/lib/atome/atome.rb +0 -131
  58. data/lib/atome/extensions/atome.rb +0 -705
  59. data/lib/atome/extensions/mathematics.rb +0 -20
  60. data/lib/atome/genesis/atomes.rb +0 -109
  61. data/lib/atome/genesis/genesis.rb +0 -272
  62. data/lib/atome/genesis/particles/atome.rb +0 -4
  63. data/lib/atome/genesis/particles/communication.rb +0 -43
  64. data/lib/atome/genesis/particles/effect.rb +0 -14
  65. data/lib/atome/genesis/particles/event.rb +0 -344
  66. data/lib/atome/genesis/particles/geometry.rb +0 -31
  67. data/lib/atome/genesis/particles/hierarchy.rb +0 -105
  68. data/lib/atome/genesis/particles/identity.rb +0 -82
  69. data/lib/atome/genesis/particles/material.rb +0 -119
  70. data/lib/atome/genesis/particles/property.rb +0 -147
  71. data/lib/atome/genesis/particles/security.rb +0 -77
  72. data/lib/atome/genesis/particles/spatial.rb +0 -98
  73. data/lib/atome/genesis/particles/time.rb +0 -4
  74. data/lib/atome/genesis/particles/utility.rb +0 -261
  75. data/lib/atome/genesis/presets.rb +0 -10
  76. data/lib/atome/genesis/sparkle.rb +0 -217
  77. data/lib/atome/kernel/black_matter.rb +0 -22
  78. data/lib/atome/presets/atome.rb +0 -79
  79. data/lib/atome/utilities/color_helper/color/cmyk.rb +0 -263
  80. data/lib/atome/utilities/color_helper/color/css.rb +0 -7
  81. data/lib/atome/utilities/color_helper/color/grayscale.rb +0 -197
  82. data/lib/atome/utilities/color_helper/color/hsl.rb +0 -240
  83. data/lib/atome/utilities/color_helper/color/palette/adobecolor.rb +0 -260
  84. data/lib/atome/utilities/color_helper/color/palette/gimp.rb +0 -104
  85. data/lib/atome/utilities/color_helper/color/palette/monocontrast.rb +0 -164
  86. data/lib/atome/utilities/color_helper/color/palette.rb +0 -4
  87. data/lib/atome/utilities/color_helper/color/rgb/colors.rb +0 -167
  88. data/lib/atome/utilities/color_helper/color/rgb/contrast.rb +0 -57
  89. data/lib/atome/utilities/color_helper/color/rgb/metallic.rb +0 -28
  90. data/lib/atome/utilities/color_helper/color/rgb.rb +0 -715
  91. data/lib/atome/utilities/color_helper/color/yiq.rb +0 -62
  92. data/lib/atome/utilities/color_helper/color.rb +0 -415
  93. data/lib/atome/utilities/essentials.rb +0 -70
  94. data/lib/atome/utilities/sanitizer.rb +0 -13
  95. data/lib/atome/utilities/security.rb +0 -71
  96. data/lib/atome/utilities/utilities.rb +0 -656
  97. data/lib/atome_relative.rb +0 -39
  98. data/lib/molecules/_deprecated_examples/site.rb +0 -34
  99. data/lib/molecules/init.rb +0 -31
  100. data/lib/molecules/intuition/_deprecated_inputs.rb +0 -111
  101. data/lib/molecules/intuition/_deprecated_toolbox.rb +0 -282
  102. data/lib/molecules/intuition/utillities.rb +0 -408
  103. data/lib/platform_specific/opal/atome_opal_extensions.rb +0 -11
  104. data/lib/platform_specific/opal/extensions/color.rb +0 -30
  105. data/lib/platform_specific/opal/extensions/js.rb +0 -20
  106. data/lib/platform_specific/opal/extensions/object.rb +0 -6
  107. data/lib/platform_specific/opal/extensions/ping.rb +0 -31
  108. data/lib/platform_specific/opal/extensions/sha.rb +0 -25
  109. data/lib/platform_specific/opal/opal.rb +0 -5
  110. data/lib/platform_specific/wasm/atome_wasm_extensions.rb +0 -11
  111. data/lib/renderers/headless/headless.rb +0 -18
  112. data/lib/renderers/headless/index.rb +0 -6
  113. data/lib/renderers/headless/index_relative.rb +0 -6
  114. data/lib/renderers/headless/utility.rb +0 -6
  115. data/lib/renderers/html/atome.rb +0 -2
  116. data/lib/renderers/html/atome_html.rb +0 -22
  117. data/lib/renderers/html/communication.rb +0 -3
  118. data/lib/renderers/html/effect.rb +0 -51
  119. data/lib/renderers/html/event.rb +0 -59
  120. data/lib/renderers/html/geometry.rb +0 -49
  121. data/lib/renderers/html/hierarchy.rb +0 -248
  122. data/lib/renderers/html/html.rb +0 -1688
  123. data/lib/renderers/html/identity.rb +0 -104
  124. data/lib/renderers/html/index.rb +0 -19
  125. data/lib/renderers/html/index_relative.rb +0 -20
  126. data/lib/renderers/html/material.rb +0 -88
  127. data/lib/renderers/html/property.rb +0 -52
  128. data/lib/renderers/html/security.rb +0 -1
  129. data/lib/renderers/html/spatial.rb +0 -75
  130. data/lib/renderers/html/time.rb +0 -1
  131. data/lib/renderers/html/utility.rb +0 -170
  132. data/lib/renderers/renderer.rb +0 -16
  133. data/lib/renderers/server/index.rb +0 -4
  134. data/lib/renderers/server/index_relative.rb +0 -4
  135. data/lib/renderers/server/utility.rb +0 -4
  136. data/sig/atome_js.rbs +0 -1
  137. data/sig/batch.rbs +0 -7
  138. data/sig/browser_helper.rbs +0 -14
  139. data/sig/essentials.rbs +0 -11
  140. data/sig/genesis.rbs +0 -3
  141. data/sig/global_variables.rbs +0 -1
  142. data/sig/matrix.rbs +0 -5
  143. data/sig/object.rbs +0 -7
  144. data/sig/universe.rbs +0 -3
  145. data/src/utilities/host_mode.rb +0 -5
  146. data/vendor/assets/application/examples/affect.rb +0 -8
  147. data/vendor/assets/application/examples/aid.rb +0 -10
  148. data/vendor/assets/application/examples/allow_copy.rb +0 -13
  149. data/vendor/assets/application/examples/allow_system_right_click.rb +0 -16
  150. data/vendor/assets/application/examples/alternate.rb +0 -36
  151. data/vendor/assets/application/examples/animation.rb +0 -91
  152. data/vendor/assets/application/examples/apply.rb +0 -8
  153. data/vendor/assets/application/examples/atome.rb +0 -5
  154. data/vendor/assets/application/examples/atome_particle_validation.rb +0 -7
  155. data/vendor/assets/application/examples/atome_sparkle_use.rb +0 -6
  156. data/vendor/assets/application/examples/atomizer.rb +0 -86
  157. data/vendor/assets/application/examples/attach.rb +0 -34
  158. data/vendor/assets/application/examples/attached.rb +0 -45
  159. data/vendor/assets/application/examples/b64_to_image.rb +0 -9
  160. data/vendor/assets/application/examples/basic_understanding.rb +0 -54
  161. data/vendor/assets/application/examples/behavior.rb +0 -32
  162. data/vendor/assets/application/examples/blur.rb +0 -26
  163. data/vendor/assets/application/examples/border.rb +0 -75
  164. data/vendor/assets/application/examples/browse.rb +0 -17
  165. data/vendor/assets/application/examples/categories.rb +0 -5
  166. data/vendor/assets/application/examples/category.rb +0 -16
  167. data/vendor/assets/application/examples/center.rb +0 -7
  168. data/vendor/assets/application/examples/clear.rb +0 -96
  169. data/vendor/assets/application/examples/clones&monitoring.rb +0 -105
  170. data/vendor/assets/application/examples/code.rb +0 -13
  171. data/vendor/assets/application/examples/color.rb +0 -54
  172. data/vendor/assets/application/examples/compute.rb +0 -16
  173. data/vendor/assets/application/examples/console.rb +0 -4
  174. data/vendor/assets/application/examples/convert.rb +0 -163
  175. data/vendor/assets/application/examples/copy.rb +0 -25
  176. data/vendor/assets/application/examples/copybck.rb +0 -68
  177. data/vendor/assets/application/examples/css.rb +0 -6
  178. data/vendor/assets/application/examples/database_handling.rb +0 -39
  179. data/vendor/assets/application/examples/debug.rb +0 -78
  180. data/vendor/assets/application/examples/delete.rb +0 -105
  181. data/vendor/assets/application/examples/dig.rb +0 -13
  182. data/vendor/assets/application/examples/display.rb +0 -279
  183. data/vendor/assets/application/examples/display_bck.rb +0 -164
  184. data/vendor/assets/application/examples/drag.rb +0 -54
  185. data/vendor/assets/application/examples/drop.rb +0 -35
  186. data/vendor/assets/application/examples/duplicate.rb +0 -70
  187. data/vendor/assets/application/examples/edit.rb +0 -24
  188. data/vendor/assets/application/examples/encode.rb +0 -6
  189. data/vendor/assets/application/examples/encrypt.rb +0 -6
  190. data/vendor/assets/application/examples/example.rb +0 -27
  191. data/vendor/assets/application/examples/executor.rb +0 -36
  192. data/vendor/assets/application/examples/file.rb +0 -16
  193. data/vendor/assets/application/examples/fill.rb +0 -23
  194. data/vendor/assets/application/examples/find.rb +0 -158
  195. data/vendor/assets/application/examples/fit.rb +0 -26
  196. data/vendor/assets/application/examples/fonts.rb +0 -15
  197. data/vendor/assets/application/examples/generator_and_build.rb +0 -15
  198. data/vendor/assets/application/examples/getter.rb +0 -16
  199. data/vendor/assets/application/examples/grab.rb +0 -14
  200. data/vendor/assets/application/examples/gradient.rb +0 -40
  201. data/vendor/assets/application/examples/group.rb +0 -44
  202. data/vendor/assets/application/examples/help.rb +0 -17
  203. data/vendor/assets/application/examples/hierarchy.rb +0 -21
  204. data/vendor/assets/application/examples/history.rb +0 -32
  205. data/vendor/assets/application/examples/holder.rb +0 -62
  206. data/vendor/assets/application/examples/hypertext.rb +0 -113
  207. data/vendor/assets/application/examples/image.rb +0 -5
  208. data/vendor/assets/application/examples/import.rb +0 -33
  209. data/vendor/assets/application/examples/increment.rb +0 -23
  210. data/vendor/assets/application/examples/infos.rb +0 -10
  211. data/vendor/assets/application/examples/input.rb +0 -34
  212. data/vendor/assets/application/examples/int8.rb +0 -17
  213. data/vendor/assets/application/examples/js&ruby.rb +0 -18
  214. data/vendor/assets/application/examples/keyboard.rb +0 -59
  215. data/vendor/assets/application/examples/layout.rb +0 -38
  216. data/vendor/assets/application/examples/list.rb +0 -72
  217. data/vendor/assets/application/examples/localstorage.rb +0 -19
  218. data/vendor/assets/application/examples/login.rb +0 -84
  219. data/vendor/assets/application/examples/markup.rb +0 -4
  220. data/vendor/assets/application/examples/match.rb +0 -115
  221. data/vendor/assets/application/examples/matrix.rb +0 -118
  222. data/vendor/assets/application/examples/monitor.rb +0 -14
  223. data/vendor/assets/application/examples/on_resize.rb +0 -7
  224. data/vendor/assets/application/examples/on_the_fly_ruby_code_loading.rb +0 -9
  225. data/vendor/assets/application/examples/online.rb +0 -3
  226. data/vendor/assets/application/examples/opacity.rb +0 -9
  227. data/vendor/assets/application/examples/over.rb +0 -29
  228. data/vendor/assets/application/examples/paint.rb +0 -29
  229. data/vendor/assets/application/examples/particles.rb +0 -4
  230. data/vendor/assets/application/examples/percent_to_px.rb +0 -4
  231. data/vendor/assets/application/examples/play.rb +0 -50
  232. data/vendor/assets/application/examples/preset.rb +0 -33
  233. data/vendor/assets/application/examples/random.rb +0 -42
  234. data/vendor/assets/application/examples/raw_html.rb +0 -48
  235. data/vendor/assets/application/examples/read.rb +0 -13
  236. data/vendor/assets/application/examples/recorder.rb +0 -74
  237. data/vendor/assets/application/examples/refresh.rb +0 -62
  238. data/vendor/assets/application/examples/remove.rb +0 -60
  239. data/vendor/assets/application/examples/repeat.rb +0 -26
  240. data/vendor/assets/application/examples/resize.rb +0 -17
  241. data/vendor/assets/application/examples/scroll.rb +0 -11
  242. data/vendor/assets/application/examples/security.rb +0 -76
  243. data/vendor/assets/application/examples/select_text.rb +0 -18
  244. data/vendor/assets/application/examples/selected.rb +0 -35
  245. data/vendor/assets/application/examples/server.rb +0 -24
  246. data/vendor/assets/application/examples/shadow.rb +0 -60
  247. data/vendor/assets/application/examples/shapes.rb +0 -6
  248. data/vendor/assets/application/examples/shortcut.rb +0 -25
  249. data/vendor/assets/application/examples/site.rb +0 -41
  250. data/vendor/assets/application/examples/size.rb +0 -17
  251. data/vendor/assets/application/examples/sliders.rb +0 -17
  252. data/vendor/assets/application/examples/smooth.rb +0 -9
  253. data/vendor/assets/application/examples/style.rb +0 -4
  254. data/vendor/assets/application/examples/sub_atome_manipulation.rb +0 -20
  255. data/vendor/assets/application/examples/svg_img_to_vector.rb +0 -6
  256. data/vendor/assets/application/examples/svg_vectorizer.rb +0 -21
  257. data/vendor/assets/application/examples/sync.rb +0 -38
  258. data/vendor/assets/application/examples/table.rb +0 -76
  259. data/vendor/assets/application/examples/tagged.rb +0 -24
  260. data/vendor/assets/application/examples/terminal.rb +0 -4
  261. data/vendor/assets/application/examples/test.rb +0 -584
  262. data/vendor/assets/application/examples/text.rb +0 -5
  263. data/vendor/assets/application/examples/tick.rb +0 -29
  264. data/vendor/assets/application/examples/tools.rb +0 -666
  265. data/vendor/assets/application/examples/touch.rb +0 -41
  266. data/vendor/assets/application/examples/type_mutation.rb +0 -18
  267. data/vendor/assets/application/examples/unit.rb +0 -14
  268. data/vendor/assets/application/examples/universe.rb +0 -8
  269. data/vendor/assets/application/examples/vector.rb +0 -37
  270. data/vendor/assets/application/examples/video.rb +0 -14
  271. data/vendor/assets/application/examples/wait.rb +0 -6
  272. data/vendor/assets/application/examples/www.rb +0 -10
  273. data/vendor/assets/server/atome_server_wasm.rb +0 -54
  274. data/vendor/assets/server/capture.rb +0 -10
  275. data/vendor/assets/server/database.rb +0 -63
  276. data/vendor/assets/server/eDen.rb +0 -302
  277. data/vendor/assets/server/extensions.rb +0 -13
  278. data/vendor/assets/src/css/style.css +0 -167
  279. data/vendor/assets/src/index.html +0 -45
  280. data/vendor/assets/src/index_opal.html +0 -40
  281. data/vendor/assets/src/index_server.html +0 -38
  282. data/vendor/assets/src/index_server_wasm.html +0 -45
  283. data/vendor/assets/src/index_wasm.html +0 -50
  284. data/vendor/assets/src/js/atome/atome.js +0 -506
  285. data/vendor/assets/src/js/atome/atome_helpers/add_font.js +0 -46
  286. data/vendor/assets/src/js/atome/atome_helpers/atome_animate.js +0 -65
  287. data/vendor/assets/src/js/atome/atome_helpers/atome_drag.js +0 -124
  288. data/vendor/assets/src/js/atome/atome_helpers/atome_drop.js +0 -12
  289. data/vendor/assets/src/js/atome/atome_helpers/atome_events.js +0 -171
  290. data/vendor/assets/src/js/atome/atome_helpers/atome_over.js +0 -43
  291. data/vendor/assets/src/js/atome/atome_helpers/atome_sort.js +0 -20
  292. data/vendor/assets/src/js/atome/atome_helpers/atome_time.js +0 -10
  293. data/vendor/assets/src/js/atome/atome_helpers/atome_video.js +0 -12
  294. data/vendor/assets/src/js/atome/atome_helpers/communication.js +0 -35
  295. data/vendor/assets/src/js/atome/atome_helpers/file.js +0 -12
  296. data/vendor/assets/src/js/atome/specific/opal.js +0 -111
  297. data/vendor/assets/src/js/atome/specific/wasm.js +0 -123
  298. data/vendor/assets/src/js/molecules/web.js +0 -4
  299. data/vendor/assets/src/js/third_parties/browser.script.iife.min.js +0 -13
  300. data/vendor/assets/src/js/third_parties/fabric.min.js +0 -1
  301. data/vendor/assets/src/js/third_parties/html-to-image.min.js +0 -2
  302. data/vendor/assets/src/js/third_parties/interact.min.js +0 -3
  303. data/vendor/assets/src/js/third_parties/jsencrypt.min.js +0 -2
  304. data/vendor/assets/src/js/third_parties/papaparse.min.js +0 -7
  305. data/vendor/assets/src/js/third_parties/popmotion.min.js +0 -1
  306. data/vendor/assets/src/js/third_parties/sortable.min.js +0 -2
  307. data/vendor/assets/src/js/third_parties/three.min.js +0 -6
  308. data/vendor/assets/src/js/third_parties/w3color.js +0 -646
  309. data/vendor/assets/src/js/third_parties/wad.min.js +0 -9
  310. data/vendor/assets/src/js/third_parties/zim.min.js +0 -1
  311. data/vendor/assets/src/medias/audios/audio_missing.wav +0 -0
  312. data/vendor/assets/src/medias/audios/clap.wav +0 -0
  313. data/vendor/assets/src/medias/audios/cowbell.wav +0 -0
  314. data/vendor/assets/src/medias/audios/hihat.wav +0 -0
  315. data/vendor/assets/src/medias/audios/kick.wav +0 -0
  316. data/vendor/assets/src/medias/audios/riff.m4a +0 -0
  317. data/vendor/assets/src/medias/audios/snare.wav +0 -0
  318. data/vendor/assets/src/medias/audios/tom.wav +0 -0
  319. data/vendor/assets/src/medias/fonts/Roboto/LICENSE.txt +0 -202
  320. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Black.ttf +0 -0
  321. data/vendor/assets/src/medias/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
  322. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Bold.ttf +0 -0
  323. data/vendor/assets/src/medias/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
  324. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Italic.ttf +0 -0
  325. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Light.ttf +0 -0
  326. data/vendor/assets/src/medias/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
  327. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Medium.ttf +0 -0
  328. data/vendor/assets/src/medias/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
  329. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Regular.ttf +0 -0
  330. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Thin.ttf +0 -0
  331. data/vendor/assets/src/medias/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
  332. data/vendor/assets/src/medias/fonts/Roboto_Slab/LICENSE.txt +0 -202
  333. data/vendor/assets/src/medias/fonts/Roboto_Slab/README.txt +0 -71
  334. data/vendor/assets/src/medias/fonts/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf +0 -0
  335. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Black.ttf +0 -0
  336. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Bold.ttf +0 -0
  337. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraBold.ttf +0 -0
  338. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraLight.ttf +0 -0
  339. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Light.ttf +0 -0
  340. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Medium.ttf +0 -0
  341. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Regular.ttf +0 -0
  342. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-SemiBold.ttf +0 -0
  343. data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Thin.ttf +0 -0
  344. data/vendor/assets/src/medias/images/atome.svg +0 -12
  345. data/vendor/assets/src/medias/images/ballanim.png +0 -0
  346. data/vendor/assets/src/medias/images/blank.png +0 -0
  347. data/vendor/assets/src/medias/images/green_planet.png +0 -0
  348. data/vendor/assets/src/medias/images/icons/Lowpass.svg +0 -8
  349. data/vendor/assets/src/medias/images/icons/activate.svg +0 -3
  350. data/vendor/assets/src/medias/images/icons/audio.svg +0 -7
  351. data/vendor/assets/src/medias/images/icons/band_pass.svg +0 -8
  352. data/vendor/assets/src/medias/images/icons/clear.svg +0 -5
  353. data/vendor/assets/src/medias/images/icons/color.svg +0 -5
  354. data/vendor/assets/src/medias/images/icons/copy.svg +0 -8
  355. data/vendor/assets/src/medias/images/icons/create.svg +0 -3
  356. data/vendor/assets/src/medias/images/icons/delete.svg +0 -8
  357. data/vendor/assets/src/medias/images/icons/edit-.svg +0 -4
  358. data/vendor/assets/src/medias/images/icons/edit.svg +0 -4
  359. data/vendor/assets/src/medias/images/icons/edition.svg +0 -4
  360. data/vendor/assets/src/medias/images/icons/email.svg +0 -13
  361. data/vendor/assets/src/medias/images/icons/equalizer-.svg +0 -5
  362. data/vendor/assets/src/medias/images/icons/equalizer.svg +0 -5
  363. data/vendor/assets/src/medias/images/icons/filter.svg +0 -4
  364. data/vendor/assets/src/medias/images/icons/folder.svg +0 -4
  365. data/vendor/assets/src/medias/images/icons/group.svg +0 -6
  366. data/vendor/assets/src/medias/images/icons/hamburger.svg +0 -8
  367. data/vendor/assets/src/medias/images/icons/high_pass.svg +0 -5
  368. data/vendor/assets/src/medias/images/icons/link.svg +0 -4
  369. data/vendor/assets/src/medias/images/icons/load.svg +0 -4
  370. data/vendor/assets/src/medias/images/icons/low_pass.svg +0 -5
  371. data/vendor/assets/src/medias/images/icons/mail_gray.svg +0 -6
  372. data/vendor/assets/src/medias/images/icons/mail_green.svg +0 -6
  373. data/vendor/assets/src/medias/images/icons/mail_orange.svg +0 -6
  374. data/vendor/assets/src/medias/images/icons/microphone.svg +0 -7
  375. data/vendor/assets/src/medias/images/icons/midi_in.svg +0 -4
  376. data/vendor/assets/src/medias/images/icons/midi_out.svg +0 -4
  377. data/vendor/assets/src/medias/images/icons/modules.svg +0 -11
  378. data/vendor/assets/src/medias/images/icons/paste.svg +0 -4
  379. data/vendor/assets/src/medias/images/icons/pause.svg +0 -5
  380. data/vendor/assets/src/medias/images/icons/play.svg +0 -7
  381. data/vendor/assets/src/medias/images/icons/record.svg +0 -4
  382. data/vendor/assets/src/medias/images/icons/save.svg +0 -5
  383. data/vendor/assets/src/medias/images/icons/select--.svg +0 -4
  384. data/vendor/assets/src/medias/images/icons/select-.svg +0 -5
  385. data/vendor/assets/src/medias/images/icons/select-all.svg +0 -4
  386. data/vendor/assets/src/medias/images/icons/select.svg +0 -4
  387. data/vendor/assets/src/medias/images/icons/settings.svg +0 -5
  388. data/vendor/assets/src/medias/images/icons/settings0.svg +0 -2
  389. data/vendor/assets/src/medias/images/icons/settings1.svg +0 -17
  390. data/vendor/assets/src/medias/images/icons/settings2.svg +0 -25
  391. data/vendor/assets/src/medias/images/icons/settings_old.svg +0 -6
  392. data/vendor/assets/src/medias/images/icons/shape.svg +0 -7
  393. data/vendor/assets/src/medias/images/icons/speaker.svg +0 -6
  394. data/vendor/assets/src/medias/images/icons/stop.svg +0 -4
  395. data/vendor/assets/src/medias/images/icons/tool.svg +0 -7
  396. data/vendor/assets/src/medias/images/icons/tools.svg +0 -9
  397. data/vendor/assets/src/medias/images/icons/undo.svg +0 -4
  398. data/vendor/assets/src/medias/images/icons/undo2.svg +0 -4
  399. data/vendor/assets/src/medias/images/icons/validate.svg +0 -9
  400. data/vendor/assets/src/medias/images/icons/vie.svg +0 -3
  401. data/vendor/assets/src/medias/images/icons/wave-saw.svg +0 -3
  402. data/vendor/assets/src/medias/images/icons/wave-sine.svg +0 -3
  403. data/vendor/assets/src/medias/images/icons/wave-square-.svg +0 -4
  404. data/vendor/assets/src/medias/images/icons/wave-square.svg +0 -3
  405. data/vendor/assets/src/medias/images/icons/wave-triangle.svg +0 -3
  406. data/vendor/assets/src/medias/images/icons/waveform-.svg +0 -4
  407. data/vendor/assets/src/medias/images/icons/waveform.svg +0 -7
  408. data/vendor/assets/src/medias/images/logos/Facebook.svg +0 -8
  409. data/vendor/assets/src/medias/images/logos/GitHub Black.svg +0 -7
  410. data/vendor/assets/src/medias/images/logos/GitHub.svg +0 -7
  411. data/vendor/assets/src/medias/images/logos/LinkedIn-full.svg +0 -109
  412. data/vendor/assets/src/medias/images/logos/LinkedIn.svg +0 -11
  413. data/vendor/assets/src/medias/images/logos/Orange/Facebook.svg +0 -8
  414. data/vendor/assets/src/medias/images/logos/Orange/TikTok.svg +0 -11
  415. data/vendor/assets/src/medias/images/logos/Orange/Twitter.svg +0 -8
  416. data/vendor/assets/src/medias/images/logos/Orange/instagram.svg +0 -8
  417. data/vendor/assets/src/medias/images/logos/Orange/vimeo.svg +0 -8
  418. data/vendor/assets/src/medias/images/logos/Orange/youtube.svg +0 -7
  419. data/vendor/assets/src/medias/images/logos/TikTok.svg +0 -11
  420. data/vendor/assets/src/medias/images/logos/Twitter.svg +0 -35
  421. data/vendor/assets/src/medias/images/logos/X.svg +0 -5
  422. data/vendor/assets/src/medias/images/logos/YouTube.svg +0 -1
  423. data/vendor/assets/src/medias/images/logos/apple.svg +0 -4
  424. data/vendor/assets/src/medias/images/logos/atome.svg +0 -12
  425. data/vendor/assets/src/medias/images/logos/freebsd.png +0 -0
  426. data/vendor/assets/src/medias/images/logos/freebsd.svg +0 -8
  427. data/vendor/assets/src/medias/images/logos/gray/Facebook.svg +0 -8
  428. data/vendor/assets/src/medias/images/logos/gray/TikTok.svg +0 -11
  429. data/vendor/assets/src/medias/images/logos/gray/Twitter.svg +0 -8
  430. data/vendor/assets/src/medias/images/logos/gray/instagram.svg +0 -8
  431. data/vendor/assets/src/medias/images/logos/gray/vimeo.svg +0 -8
  432. data/vendor/assets/src/medias/images/logos/gray/youtube.svg +0 -7
  433. data/vendor/assets/src/medias/images/logos/gray/youtube2.svg +0 -13
  434. data/vendor/assets/src/medias/images/logos/instagram.svg +0 -6
  435. data/vendor/assets/src/medias/images/logos/tiktok_back.svg +0 -1
  436. data/vendor/assets/src/medias/images/logos/vimeo.svg +0 -17
  437. data/vendor/assets/src/medias/images/noise.svg +0 -17
  438. data/vendor/assets/src/medias/images/red_planet.png +0 -0
  439. data/vendor/assets/src/medias/images/tile.png +0 -0
  440. data/vendor/assets/src/medias/texts/lorem.txt +0 -1
  441. data/vendor/assets/src/medias/utils/infos/color.rb +0 -29
  442. data/vendor/assets/src/medias/utils/infos/width.rb +0 -25
  443. data/vendor/assets/src/medias/videos/video_missing.mp4 +0 -0
  444. data/vendor/assets/src-tauri/.gitignore +0 -4
  445. data/vendor/assets/src-tauri/Cargo.toml +0 -27
  446. data/vendor/assets/src-tauri/build.rs +0 -3
  447. data/vendor/assets/src-tauri/icons/128x128.png +0 -0
  448. data/vendor/assets/src-tauri/icons/128x128@2x.png +0 -0
  449. data/vendor/assets/src-tauri/icons/32x32.png +0 -0
  450. data/vendor/assets/src-tauri/icons/Square107x107Logo.png +0 -0
  451. data/vendor/assets/src-tauri/icons/Square142x142Logo.png +0 -0
  452. data/vendor/assets/src-tauri/icons/Square150x150Logo.png +0 -0
  453. data/vendor/assets/src-tauri/icons/Square284x284Logo.png +0 -0
  454. data/vendor/assets/src-tauri/icons/Square30x30Logo.png +0 -0
  455. data/vendor/assets/src-tauri/icons/Square310x310Logo.png +0 -0
  456. data/vendor/assets/src-tauri/icons/Square44x44Logo.png +0 -0
  457. data/vendor/assets/src-tauri/icons/Square71x71Logo.png +0 -0
  458. data/vendor/assets/src-tauri/icons/Square89x89Logo.png +0 -0
  459. data/vendor/assets/src-tauri/icons/StoreLogo.png +0 -0
  460. data/vendor/assets/src-tauri/icons/icon.icns +0 -0
  461. data/vendor/assets/src-tauri/icons/icon.ico +0 -0
  462. data/vendor/assets/src-tauri/icons/icon.png +0 -0
  463. data/vendor/assets/src-tauri/src/main.rs +0 -71
  464. data/vendor/assets/src-tauri/tauri.conf.json +0 -70
  465. data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_arm +0 -0
  466. data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_x86 +0 -0
  467. data/vendor/assets/src-wasm/wasm/wasi-vfs-unix +0 -0
  468. data/vendor/assets/src-wasm/wasm/wasi-vfs.exe +0 -0
  469. /data/vendor/assets/{src → build}/favicon.ico +0 -0
  470. /data/vendor/assets/{src/js/third_parties → build/js}/ping.min.js +0 -0
  471. /data/vendor/assets/{src → build}/js/third_parties/interact.min.js.map +0 -0
  472. /data/vendor/assets/{src → build}/js/third_parties/sha256.min.js +0 -0
@@ -1,24 +0,0 @@
1
- Important, please note that almost all requests for JavaScript code will have to be translated into Ruby Wasm, which is the common denominator between Opal and Ruby Wasm. This is because any code written for Ruby Wasm will work with Opal, whereas the reverse is not true. For example, a code with backticks will not work. Can you take this into account each time you are asked for code?
2
-
3
- The most important thing is to never use backticks for interpreting JavaScript code in a Ruby environment; instead, use JS.eval.
4
-
5
- please ask me some question for you to better understand atome? one question at a time please
6
-
7
-
8
- je viens de te communiquer un fichier zip nommé atome peux tu analyser et le faire un retour , jai supprimé quelques fichier trop volumineux qui sont juste des fichiers sources nécessaires a construction dune application native ou les sources Wasm mais ces fichiers sont aucune incidence sur la façon de programmer ou utiliser atome
9
- oui il faut que tu analyse plus en datives et surtout lire et comprendre le code contenue dans les fichiers en particuliers la partie du code la plus importante est dans lib , le dossier examples est lui aussi important car il montre comment les utilisateurs peuvent se servir d'atome
10
-
11
- note que example est dans vendor/assets/application/examples
12
-
13
-
14
-
15
- lorsqu'une personne se designe comme utilisateurs ou si tu pense qu'elle est plus utilisateur que que devellopeur , tu devras lui fournir un code calqué sur le code trouvé dans les exemples , ici : vendor/assets/application/examples
16
- lorsqu'une personne se designe comme devellopeur ou si tu pense qu'elle est plus devellopeur que qu'utilisateur decars trouver des solutions similaire a ce que l'on trouve dans le dossier lib/atome/genesis/generators
17
-
18
- as tu remarqué que le core du framework fait appel a beaucoup de meta programmation est ce que cela ne te gene pas pour comprendre le core d'atome? la grosse partie comprenant de la meta programmation se trouve dans lib/atome.atome.rb et dans lib/atome/helpers/utilities.rb et aussi lib/atome/genesis/genesis.rb
19
-
20
- please this is important to note that within the HTML class @element is a js object, @id is both the id of the atome and the id of the html object
21
- finally @original_atome is used to acces the atome from the HTML class
22
-
23
- Q: What are some common types of projects or applications that users typically create using Atome?
24
- A: anything , the aim is to replace a ful operating system and all applications possible its a productivity booster, it's aim is to make any task easier and more consistent tan actual solution , without having to deal with computing problems such as file format , format conversion storage , remove all computer (non human ) related concepts such as file extension, conversion , file transfer, ..
@@ -1,272 +0,0 @@
1
- # In the context of the Atome framework, when you provide code, debug, or give examples, in fact, whenever there are comments in the code, please always write these comments in English.
2
-
3
- # here how to use a callback between ruby and javascript with binding and unbinding :
4
-
5
- # example with the over method
6
- # the method below add an event listener and trig the code found in the @original_atome.over_code[:enter]
7
- def over_enter(_option)
8
- @over_enter = @original_atome.instance_variable_get('@over_code')[:enter]
9
- return unless @over_enter
10
- @over_enter_callback = lambda do |event|
11
- @original_atome.instance_exec(event, &@over_enter) if @over_enter.is_a? Proc
12
- end
13
- @element.addEventListener('mouseenter', @over_enter_callback)
14
-
15
- end
16
-
17
- # you can unbind using the method below
18
- def remove_over_enter(_option)
19
- return unless @over_enter_callback
20
- # Remove the event listener using the same lambda
21
- @element.removeEventListener('mouseenter', @over_enter_callback)
22
- @over_enter_callback = nil
23
- @over_enter = nil
24
-
25
- end
26
-
27
- # please note that in the HTML class instance @element is always the current HTML object and is always define
28
- # You forget every time - one should never suggest using backticks to interpolate JS code. How can you integrate this?
29
-
30
- # Here is how to use direct JavaScript methods in a Ruby environment:
31
-
32
- # Remember that you can use a variety of JavaScript methods without resorting to eval. For instance, for an EventListener:
33
-
34
- @element.addEventListener('mouseleave', lambda do |event|
35
- @original_atome.instance_exec('my_params', &@over_leave) if @over_leave.is_a?(Proc)
36
- end)
37
- # Or for appending a child:
38
-
39
- def append_to(parent_id_found)
40
- parent_found = JS.global[:document].getElementById(parent_id_found.to_s)
41
- parent_found.appendChild(@element)
42
- self
43
- end
44
-
45
- # These examples demonstrate the integration of JavaScript functionality in a Ruby environment,
46
- # allowing for the use of JavaScript methods and events directly.
47
-
48
- # Here is an example of a callback when used with the over particle:
49
-
50
- def over_leave(_option)
51
- @over_leave = @original_atome.over_code[:leave]
52
- @element.addEventListener('mouseleave', lambda do |event|
53
- @original_atome.instance_exec(event, &@over_leave) if @over_leave.is_a?(Proc)
54
- end)
55
- end
56
-
57
- # This is also important because callbacks are often used. Try to remember this
58
-
59
- # Here is a series of examples of basic methods for you to understand how use JavaScript from Ruby
60
- # this example of callback is true when we have to deal with interoperability between ruby and javascript
61
-
62
- class HTML
63
-
64
- def initialize(id_found, current_atome)
65
- @element ||= JS.global[:document].getElementById(id_found.to_s)
66
- @id = id_found
67
- @original_atome = current_atome
68
- end
69
-
70
- def attr(attribute, value)
71
- @element.setAttribute(attribute.to_s, value.to_s)
72
- self
73
- end
74
-
75
- def add_class(class_to_add)
76
- @element[:classList].add(class_to_add.to_s)
77
- self
78
- end
79
-
80
- def id(id)
81
- attr('id', id)
82
- self
83
- end
84
-
85
- # to create a html div or H1 or any other tag the tag is found in the @original_atome.markup instance variable
86
- def shape(id)
87
- #
88
- # we remove any element if the id already exist
89
- check_double(id)
90
- markup_found = @original_atome.markup || :div
91
- @element_type = markup_found.to_s
92
- @element = JS.global[:document].createElement(@element_type)
93
- JS.global[:document][:body].appendChild(@element)
94
- add_class('atome')
95
- id(id)
96
- self
97
- end
98
-
99
- # below here is how to create various html tag
100
- def text(id)
101
- # we remove any element if the id already exist
102
- check_double(id)
103
- markup_found = @original_atome.markup || :pre
104
- @element_type = markup_found.to_s
105
- @element = JS.global[:document].createElement(@element_type)
106
- JS.global[:document][:body].appendChild(@element)
107
- add_class('atome')
108
- id(id)
109
- self
110
- end
111
-
112
- def image(id)
113
- # we remove any element if the id already exist
114
- check_double(id)
115
- markup_found = @original_atome.markup || :img
116
- @element_type = markup_found.to_s
117
- @element = JS.global[:document].createElement(@element_type)
118
- JS.global[:document][:body].appendChild(@element)
119
- add_class('atome')
120
- self.id(id)
121
- self
122
- end
123
-
124
- def video(id)
125
- # we remove any element if the id already exist
126
- check_double(id)
127
- markup_found = @original_atome.markup || :video
128
- @element_type = markup_found.to_s
129
- @element = JS.global[:document].createElement(@element_type)
130
- JS.global[:document][:body].appendChild(@element)
131
- add_class('atome')
132
- self.id(id)
133
- self
134
- end
135
-
136
- def www(id)
137
- # we remove any element if the id already exist
138
- check_double(id)
139
- markup_found = @original_atome.markup || :iframe
140
- @element_type = markup_found.to_s
141
- @element = JS.global[:document].createElement(@element_type)
142
- JS.global[:document][:body].appendChild(@element)
143
- add_class('atome')
144
- @element.setAttribute('src', 'https://www.youtube.com/embed/lLeQZ8Llkso?si=MMsGBEXELy9yBl9R')
145
- # below we get image to feed width and height if needed
146
- # image = JS.global[:Image].new
147
- self.id(id)
148
- self
149
- end
150
-
151
- def svg(id)
152
- # we remove any element if the id already exist
153
- check_double(id)
154
- markup_found = @original_atome.markup || 'svg'
155
- @element_type = markup_found.to_s
156
- svg_ns = "http://www.w3.org/2000/svg"
157
- @element = JS.global[:document].createElementNS(svg_ns, "svg")
158
- JS.global[:document][:body].appendChild(@element)
159
- @element.setAttribute('viewBox', '0 0 1024 1024')
160
- @element.setAttribute('version', '1.1')
161
- add_class('atome')
162
- self.id(id)
163
- self
164
- end
165
-
166
- def svg_data(data)
167
- data.each do |type_passed, datas|
168
- svg_ns = "http://www.w3.org/2000/svg"
169
- new_path = JS.global[:document].createElementNS(svg_ns.to_s, type_passed.to_s)
170
- JS.global[:document][:body].appendChild(new_path)
171
- datas.each do |property, value|
172
- new_path.setAttribute(property.to_s, value.to_s)
173
- end
174
- @element.appendChild(new_path)
175
- end
176
- end
177
-
178
- def update_svg_data(data)
179
- data.each do |type_passed, datas|
180
- element_to_update = JS.global[:document].getElementById(type_passed.to_s)
181
- datas.each do |property, value|
182
- element_to_update.setAttribute(property.to_s, value.to_s)
183
- end
184
- end
185
- end
186
-
187
- def colorize_svg_data(data)
188
- command = <<-JS
189
- let svgElement = document.getElementById("#{@id}");
190
- if (!svgElement) {
191
- return [];
192
- }
193
- var children = svgElement.children;
194
- var ids = [];
195
- for (var i = 0; i < children.length; i++) {
196
- var element = document.getElementById(children[i].id); // Récupérer l'élément par son ID
197
- if (element) {
198
- element.setAttribute('fill', '#{data}'); // Modifier l'attribut fill
199
- element.setAttribute('stroke', '#{data}'); // Modifier l'attribut stroke
200
- }
201
- ids.push(children[i].id);
202
- }
203
- return ids
204
- JS
205
- JS.eval(command)
206
- end
207
-
208
- def raw_data(html_string)
209
- @element[:innerHTML] = html_string
210
- end
211
-
212
- def video_path(video_path, type = 'video/mp4')
213
- source = JS.global[:document].createElement('source')
214
- source.setAttribute('src', video_path)
215
- source.setAttribute('type', type)
216
- @element.appendChild(source)
217
- end
218
-
219
- def sanitize_text(text)
220
- text.to_s
221
- .gsub('&', '&amp;')
222
- .gsub('<', '&lt;')
223
- .gsub('>', '&gt;')
224
- .gsub('"', '&quot;')
225
- .gsub("'", '&apos;')
226
- end
227
-
228
- def innerText(data)
229
- sanitized_data = sanitize_text(data.to_s)
230
- @element[:innerText] = sanitized_data
231
- end
232
-
233
- def textContent(data)
234
- @element[:textContent] = data
235
- end
236
-
237
- def path(objet_path)
238
- @element.setAttribute('src', objet_path)
239
- # below we get image to feed width and height if needed
240
- # image = JS.global[:Image].new
241
- @element[:src] = objet_path
242
- @element[:onload] = lambda do |_event|
243
- @element[:width]
244
- @element[:height]
245
- end
246
- end
247
-
248
- def transform(property, value = nil)
249
- transform_needed = "#{property}(#{value}deg)"
250
- @element[:style][:transform] = transform_needed.to_s
251
- end
252
-
253
- def style(property, value = nil)
254
- if value
255
- @element[:style][property] = value.to_s
256
- elsif value.nil?
257
- @element[:style][property]
258
- else
259
- # If value is explicitly set to false, remove the property
260
- command = "document.getElementById('#{@id}').style.removeProperty('#{property}')"
261
- JS.eval(command)
262
- end
263
- end
264
-
265
- def filter(property, value)
266
- filter_needed = "#{property}(#{value})"
267
- @element[:style][:filter] = filter_needed
268
- end
269
-
270
- end
271
-
272
-
@@ -1,14 +0,0 @@
1
-
2
-
3
- curl -LO https://github.com/ruby/ruby.wasm/releases/latest/download/ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz
4
- tar xfz ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz
5
-
6
-
7
- rm -f ./vendor/assets/src/wasm/ruby/ruby_browser.wasm
8
- rm -f ./system_ruby_browser.wasm
9
- mv 3_2-wasm32-unknown-wasi-full-js/usr/local/bin/ruby system_ruby_browser.wasm
10
-
11
- wasi-vfs pack system_ruby_browser.wasm --mapdir /lib::./lib/ --mapdir /src::./vendor/assets/src/medias/rubies --mapdir /usr::./3_2-wasm32-unknown-wasi-full-js/usr -o vendor/assets/src/wasm/ruby/ruby_browser.wasm
12
- cp ./vendor/assets/src/wasm/ruby/ruby_browser.wasm ./test/test_app/src/wasm/ruby/ruby_browser.wasm
13
-
14
-
@@ -1,307 +0,0 @@
1
- <span align="right">
2
-
3
- [Main menu](../atome.md)
4
- -
5
- </span>
6
- <span align="left">
7
-
8
- [back](./kickstart.md)
9
-
10
- </span>
11
-
12
-
13
- Install atome prerequisites
14
- -
15
-
16
- #Install atome (OSX)
17
-
18
- IMPORTANT :
19
- For tauri in prod in "exe/atome" in :
20
- def build_for_osx(destination).. type:
21
-
22
- `cd #{destination};cargo tauri build`
23
- for dev type :
24
-
25
- `cd #{destination};cargo tauri dev`
26
-
27
-
28
- Install rust & tauri
29
-
30
- curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
31
- brew install openssl
32
- cargo install tauri-cli --force
33
-
34
- Install Homebew
35
-
36
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
37
-
38
- Install rbenv, wasi-vfs, wasmtime :
39
- brew install rbenv
40
- # brew install wasmtime
41
- => please check as it is certainly useless because we have in vendor/src-wasm/wasm/wasi_vfs_...,
42
- if need to install use : brew install wasi-vfs
43
-
44
- brew install npm
45
- npm install --save ruby-3_2-wasm-wasi@latest
46
-
47
- Install ruby :
48
- rbenv install -l
49
- rbenv install 3.2.2
50
-
51
- nano ~/.zshrc => add : eval "$(rbenv init - zsh)"
52
- rbenv shell 3.2.2
53
- rbenv global 3.2.2
54
- gem update --system
55
- gem update
56
-
57
- Get atome gem :
58
- git clone https://github.com/atomecorp/atome.git
59
-
60
- In the terminal at atome root , type:
61
- bundle install
62
- Bundle update
63
-
64
- Ruby wasm time allow local use of ruby wasm :
65
- 1 - download :
66
- https://cdn.jsdelivr.net/npm/@ruby/3.2-wasm-wasi@2.3.0/dist/browser.script.iife2.js
67
- 2 - change
68
-
69
-
70
- # how to Install on windows :
71
-
72
- # Install ruby :
73
- https://rubyinstaller.org/downloads install with devkit
74
- # check install using :
75
- ruby -v
76
- gem list
77
-
78
- # update gem using the two following commands
79
- gem update --system
80
- gem update
81
-
82
- #install node:
83
- https://nodejs.org/en/download
84
- # check install using :
85
- node -v
86
-
87
- #install wasi :
88
- npm install --save ruby-3_2-wasm-wasi@latest
89
-
90
- #install rust :
91
- https://www.rust-lang.org/tools/install use rustup
92
- # check install using :
93
- rustc --version
94
-
95
-
96
- #install tauri:
97
- npm install --save-dev @tauri-apps/cli
98
- # check install using :
99
- npm fund
100
-
101
- #install wasmtime :
102
- https://wasmtime.dev/
103
- # check install using :
104
- ruby wastime --version
105
-
106
- #install git :
107
- https://git-scm.com/
108
-
109
-
110
- # Get atome framework :
111
- git clone https://github.com/atomecorp/atome.git
112
-
113
- # go in the cloned directory the in the terminal at atome root , type:
114
- bundle install
115
- Bundle update
116
-
117
- # to check we build atome gem
118
- rake build_gem
119
-
120
- # in the terminal type
121
- gem list
122
- # check atome is part of the list of the gems
123
-
124
- # then in the folder of your choice create a new atome app using :
125
- atome create my_app
126
- cd my_app
127
- atome run browser
128
-
129
-
130
- getter setter for atome are situated in lib/atome/genesis/genesis.rb : def new_atome(element, &method_proc)
131
- the getter return a group from the collected atomes ( all included atomes)
132
-
133
-
134
-
135
- # Third parties's javascript libraries are located at different location
136
- # If you need to update it or add a JS library you need to clone : https://github.com/atomecorp/atome_third_parties_js.git
137
-
138
- The importance of the type :
139
-
140
- When a new atome is created the rendering occurs when it’s type is set : see : lib/atome/generators/identity.rb
141
-
142
- ##### rendering a new atome type
143
-
144
- Rendering special atomes (color, shadow)that that only affect materials atome(shape, text)
145
-
146
- When crating a new atome the first thing the system is looking at Is ‘type’ so to render, go to identity.rb in your current render folder (ex :html) and create renderer for the current atom type ex :
147
- new({ method: :type, type: :string, specific: :shape, renderer: :html }) do |_value, _user_proc|
148
- html.shape(@atome[:id])
149
- end
150
-
151
-
152
- Paths:
153
-
154
- new render here : /Users/jean-ericgodard/Documents/Work/codes/atome/lib/atome/extensions/atome.rb
155
- class Object
156
- def new(params, &bloc)
157
-
158
- rendering call here: /Users/jean-ericgodard/Documents/Work/codes/atome/lib/renderers/renderer.rb
159
-
160
- Automatic renderer generation here: /Users/jean-ericgodard/Documents/Work/codes/atome/lib/atome/extensions/atome.rb :
161
- class Object
162
- def new(params, &bloc)
163
-
164
- renderers are build here : /Users/jean-ericgodard/Documents/Work/codes/atome/lib/atome/genesis/genesis.rb
165
- def build_render(renderer_name, &method_proc)
166
-
167
- remove condition /Users/jean-ericgodard/Documents/Work/codes/atome/lib/renderers/renderer.rb in def rendering
168
-
169
- New particle example :
170
-
171
- new({ particle: :shell })
172
- # automatically create a @shell instance variable in the atome to store the value
173
- Usage :
174
-
175
- s=shape({})
176
- s.shell(‘pwd’)
177
- s.shape => ‘pwd’
178
-
179
- Callback :
180
-
181
-
182
- Important : all atome particle have a pros associated often use for callback when needed :
183
- to acces this code use "particle_name_code" ex for touch to access the callbacks use : touch_code
184
- s.shell(‘pwd’) do |method_return|
185
- puts method_return
186
- end
187
- # note that automatically create a @shell_code instance variable in the atome to store proc
188
-
189
- Also atome automatically create a call back method suffix with ‘_callback’ ex: shell_callback
190
- If you call this method the bloc will be executed with the value as parameters
191
-
192
- This automatic method could be override using : new({callback: :shell}) do |params, bloc|
193
- # …write what you want …
194
- end
195
-
196
- To get the proc you’ll need to use :
197
- s.shell_code[:shell]
198
- # please note that s.shell_code return a hash because a single particle may hold many proc (by default the method_code return the default code )
199
-
200
-
201
-
202
- Callback from javascript :
203
- In : vendor/assets/src/js/specific/ there’s two methods used to handle callback
204
- The easier method to send the callback to ruby is to use atomeJsToRuby like this :
205
-
206
- With javascript you can call the internal ‘automatically created ‘ method : termninal_callback and send them the data getter from javascript like this :
207
- atomeJsToRuby(‘particle_callback', "('" + js_data + "')")
208
- Exemple with terminal particle:
209
- atomeJsToRuby('termninal_callback', "('" + cmd_result + "')")
210
- Or call the callback like this :
211
- atomeJsToRuby( " instance_variable_set(‘@terminal_code’, "’" +data+  "’" )")
212
- atomeJsToRuby("callback(:terminal) ")
213
-
214
- One is called wasm.js directory and one called opal.js both have the same method : atomeJsToRuby
215
-
216
- On the js side there’s a special method call ‘callback’ in atome.js file , this method handle all the needed code to create a callback, this method is call like this:
217
- callback(particle, value)
218
- Ex : callback('terminal', ‘cmd’)
219
-
220
-
221
- The power of ‘A’
222
- # the constant A is used to access any atomes methods without having to create a new atome
223
- Ex :
224
- A.monitor({ atomes: [:the_box, :the_cirle], particles: [:left] }) do |atome, particle, value|
225
- puts "changes : #{atome.id}, #{particle}, #{value}"
226
- end
227
-
228
- to prevent a particle data to be saved you can use :
229
-
230
- new ({particle: :build, store: false}) do
231
-
232
- # …..
233
- end
234
- To save manually you can use the store method , like this :
235
-
236
- store({build: :my_data })
237
-
238
- The modifier atomes (color, shadow)
239
- Here is the mechanism of such atome:
240
-
241
-
242
- Important:
243
-
244
- Each Each particles and atome is store as an :
245
- - Particle as an Instant variable in the object itself , get the value of the article simply using : atome.particle
246
- - Each particle as a hash in the the instance variable @atome within the atome you can retrieve any particle content using : @atome[:particle]
247
- - The atome object is also available in html in the @atome instance variable
248
- - Atome object is also available in the class Universe within @atomes , to retrieve it use Universe.atomes[atome_id]
249
-
250
- It may need a bit more optimization
251
-
252
-
253
- Atomes have a special method to monitor all attached /affected atomes , call : Atome.global_monitoring
254
- Code at : helpers/utilities.rb /def global_monitoring
255
- Usage :
256
- Atome.global_monitoring(self, [:red, :blue, :blue, :alpha, :left, :right, :diffusion], [:variable1, :variable2])
257
-
258
- The ephemera @new_atome to allow access to data send to the atome at init time
259
-
260
- Important : for atomes that needs to be attached or apply to
261
- This happen in the method in presets/atome.rb : atome_common
262
- at this line :
263
- if params[:type] == :color || basic_params[:type] == :color || params[:type] == :shadow || basic_params[:type] == :shadow
264
-
265
-
266
- Sanitizer , pre, post , after in atome/helpers/utilities.rb
267
-
268
- Sanitizer :
269
- Particle : allow to modify params send by user before parsing creation (context is the current atome)
270
- Atome : allow to modify params send by user before parsing creation
271
-
272
- To remove : in material.b add it to : « new({post: :remove}) do |params| »
273
-
274
-
275
- Pre :
276
- Particle : after params parsing and before rendering (context is the current atome)
277
- Atome : after params parsing and before atome creation (context is the parent atome)
278
-
279
- Post
280
- Particle : after params parsing and after rendering (context is the current atome)
281
- Atome: after params parsing and after atome creation (context is the current atome)
282
-
283
- After :
284
- Particle : only after rendering and storage (context is the current atome)
285
-
286
- read:
287
- To alter a particle before getting the value
288
-
289
-
290
-
291
- pay attention to atome category material vs modifier
292
- color, shadow and paint are modifier
293
- while shape, image, vector, video audio are materials
294
-
295
- there is some specific treatment/code here :
296
- in presets/atome, atome_common:
297
- if %i[color shadow paint].include?(atome_preset)
298
-
299
- and in genesis, new_atome :
300
- : if %i[color shadow paint].include?(element)
301
-
302
-
303
-
304
-
305
- atome expert and atome developers
306
- expert develop atome core
307
- developers create solution with atome framework