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,506 +0,0 @@
1
- const atomeJS = Object.assign(communication, File);
2
-
3
- // generic callback method
4
-
5
-
6
- async function callback(callback_method, cmd) {
7
- let ruby_callback_method = 'A.callback(:' + callback_method + ')'
8
- let instance_variable_to_set = '@' + callback_method + '_code'
9
- let cmd_result;
10
- try {
11
- let response;
12
- response = await 'ok'
13
- cmd_result = response;
14
- } catch (error) {
15
- cmd_result = error;
16
- }
17
- atomeJsToRuby("Atome.instance_variable_set('" + instance_variable_to_set + "','" + cmd_result + "')")
18
- atomeJsToRuby(ruby_callback_method)
19
- }
20
-
21
- //read file
22
-
23
-
24
- async function readFile(atome_id, filePath) {
25
- let fileContent;
26
- try {
27
- fileContent = await window.__TAURI__.invoke('read_file', {filePath: filePath});
28
- } catch (error) {
29
- fileContent = error;
30
- }
31
- atomeJsToRuby("grab(:" + atome_id + ").callback({ read: '" + fileContent + "' })");
32
- atomeJsToRuby("grab(:" + atome_id + ").call(:read)");
33
- }
34
-
35
-
36
- // list folder
37
-
38
- // almost works
39
- async function browseFile(atome_id, directoryPath) {
40
- let directoryContent;
41
- try {
42
- directoryContent = await window.__TAURI__.invoke('list_directory_content', {directoryPath: directoryPath});
43
- } catch (error) {
44
- directoryContent = error;
45
- }
46
- atomeJsToRuby("grab(:" + atome_id + ").callback({ browse: '" + directoryContent + "' })");
47
- atomeJsToRuby("grab(:" + atome_id + ").call(:browse)");
48
- }
49
-
50
-
51
- // change dir
52
-
53
- async function changeCurrentDirectory(atome_id, newPath) {
54
- let result;
55
- try {
56
- // Utilisez Tauri pour changer le répertoire de travail courant
57
- result = await window.__TAURI__.invoke('change_dir', {path: newPath});
58
- } catch (error) {
59
- result = error;
60
- }
61
- }
62
-
63
-
64
- // Terminal
65
-
66
- async function terminal(atome_id, cmd) {
67
- let cmd_result;
68
- try {
69
- const command = cmd;
70
- let response;
71
- response = await window.__TAURI__.invoke('execute_command', {command});
72
- cmd_result = response;
73
- } catch (error) {
74
- cmd_result = error;
75
- }
76
- cmd_result = cmd_result.replace(/\r?\n/g, "");
77
-
78
- atomeJsToRuby("grab(:" + atome_id + ").callback({ terminal: '" + cmd_result + "' })");
79
- atomeJsToRuby("grab(:" + atome_id + ").call(:terminal)");
80
-
81
- }
82
-
83
-
84
- function distant_terminal(id, cmd) {
85
- let myd_data_test = 'Terminal particle will soon be implemented when using a non native mode\nYou can switch to OSX to test';
86
- let call_back_to_send = `grab(:${id}).callback({terminal: "${myd_data_test}"})`
87
- let call = `grab(:${id}).call(:terminal)`
88
- atomeJsToRuby(call_back_to_send)
89
- atomeJsToRuby(call)
90
- }
91
-
92
-
93
- // we check if we are in tauri context
94
- // if (typeof window.__TAURI__ !== 'undefined') {
95
- // callExecuteCommand('pwd');
96
- //
97
- // } else {
98
- // }
99
-
100
-
101
- // 'ls -l'
102
-
103
-
104
- //read/write
105
- //
106
- // // Créer un fichier
107
- // async function createAndWriteFile(filePath, contentToWrite) {
108
- // try {
109
- // await window.__TAURI__.invoke('write_file', {
110
- // file_path: filePath,
111
- // content: contentToWrite
112
- // });
113
- // console.log('File written successfully.');
114
- // } catch (error) {
115
- // console.error('Error writing to file:', error);
116
- // }
117
- // }
118
- //
119
- // // Lire un fichier
120
- // async function readAndDisplayFile(filePath) {
121
- // try {
122
- // const fileContent = await window.__TAURI__.invoke('read_file', {
123
- // file_path: filePath
124
- // });
125
- // console.log('File content:', fileContent);
126
- // } catch (error) {
127
- // console.error('Error reading file:', error);
128
- // }
129
- // }
130
- //
131
- // // Utiliser les fonctions pour créer et lire le fichier
132
- // const filePath = 'example.txt'; // Remplacez ceci par le chemin du fichier souhaité
133
- // const contentToWrite = 'This is some content to write to the file.';
134
- //
135
- // // Créer un fichier avec le contenu
136
- // createAndWriteFile(filePath, contentToWrite);
137
- //
138
- // // Lire le fichier
139
- // readAndDisplayFile(filePath);
140
-
141
- function createSvgElement(tagName, attributes) {
142
- var elem = document.createElementNS('http://www.w3.org/2000/svg', tagName);
143
- for (var attr in attributes) {
144
- if (attributes.hasOwnProperty(attr)) {
145
- elem.setAttribute(attr, attributes[attr]);
146
- }
147
- }
148
- return elem;
149
- }
150
-
151
- //
152
- // function sanitizeString(str) {
153
- // return str.replace(/'/g, "\\'");
154
- // }
155
- // function fileread(){
156
- // var inputElement = document.createElement("input");
157
- // inputElement.type = "file";
158
- //
159
- // inputElement.addEventListener("change", function(event) {
160
- // var file = event.target.files[0];
161
- // var reader = new FileReader();
162
- //
163
- // reader.onload = function(event) {
164
- // var content = event.target.result;
165
- // var sanitizedContent = sanitizeString(content);
166
- // atomeJsToRuby("input_callback('"+sanitizedContent+"')");
167
- // };
168
- //
169
- // reader.readAsText(file);
170
- // });
171
- //
172
- // // Ajout de l'élément input à la div
173
- // var viewDiv = document.querySelector("#support");
174
- // viewDiv.appendChild(inputElement);
175
- // }
176
-
177
-
178
- function fileForOpal(parent, bloc) {
179
- let input = document.createElement('input');
180
- input.type = 'file';
181
- input.style.position = "absolute";
182
- input.style.display = "none";
183
- input.style.width = "0px";
184
- input.style.height = "0px";
185
- input.addEventListener('change', function (event) {
186
- let file = event.target.files[0];
187
- let reader = new FileReader();
188
-
189
- reader.onloadstart = function () {
190
- console.log("Load start");
191
- };
192
-
193
- reader.onprogress = function (e) {
194
- console.log("Loading: " + (e.loaded / e.total * 100) + '%');
195
- };
196
-
197
- reader.onload = function (e) {
198
- var content = e.target.result;
199
- Opal.Atome.$file_handler(parent, content, bloc)
200
- };
201
-
202
- reader.onloadend = function () {
203
- console.log("Load end");
204
- };
205
-
206
- reader.onerror = function () {
207
- console.error("Error reading file");
208
- };
209
-
210
- reader.readAsText(file);
211
- });
212
- let div_element = document.getElementById(parent);
213
- div_element.appendChild(input);
214
- div_element.addEventListener('mousedown', function (event) {
215
- input.click()
216
- })
217
-
218
- }
219
-
220
-
221
- function loadFeature() {
222
- if (NativeMode) {
223
- // fetch('js/molecules/web.js')
224
- // .then(response => {
225
- // if (response.ok) {
226
- // return response.text();
227
- // }
228
- // throw new Error('Le chargement du fichier a échoué');
229
- // })
230
- // .then(data => {
231
- // // console.log(data);
232
- // eval(data);
233
- // // you can use file content as you want
234
- // })
235
- // .catch(error => {
236
- // console.error('Erreur lors du chargement du fichier:', error);
237
- // });
238
- fetch('js/molecules/web.js')
239
- .then(response => {
240
- if (response.ok) {
241
- return response.text();
242
- }
243
- throw new Error('load fail');
244
- })
245
- .then(data => {
246
- var script = document.createElement('script');
247
- script.type = 'text/javascript';
248
- script.text = data;
249
- document.head.appendChild(script);
250
- })
251
- .catch(error => {
252
- console.error('Erreur lors du chargement du fichier:', error);
253
- });
254
-
255
- } else {
256
- var script = document.createElement('script');
257
- script.src = 'js/molecules/web.js?' + new Date().getTime();
258
- // script.onload = function () {
259
- // // Code to use loaded features
260
- // };
261
-
262
- document.head.appendChild(script);
263
- }
264
- }
265
-
266
-
267
- // temp storage for active recording media
268
- let atomeStore = {}
269
- function writeatomestore(primaryKey, secondaryKey, value) {
270
- if (!atomeStore[primaryKey]) {
271
- atomeStore[primaryKey] = {};
272
- }
273
- atomeStore[primaryKey][secondaryKey] = value;
274
- }
275
-
276
- function readatomestore(primaryKey, secondaryKey) {
277
- if (atomeStore.hasOwnProperty(primaryKey) && atomeStore[primaryKey].hasOwnProperty(secondaryKey)) {
278
- return atomeStore[primaryKey][secondaryKey];
279
- } else {
280
- console.error("MediaRecorder not found");
281
- return null;
282
- }
283
- }
284
-
285
-
286
- // preview
287
- function create_preview(preview_id, enableVideo, enableAudio) {
288
- if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
289
- console.log("Your browser doesn't support media recording");
290
- return;
291
- }
292
-
293
- navigator.mediaDevices.getUserMedia({ audio: enableAudio, video: enableVideo })
294
- .then(function (stream) {
295
- window.mediaStream = stream;
296
- console.log("Media stream ready. You can start recording.");
297
-
298
- let previewContainer = document.getElementById(preview_id);
299
- if (!previewContainer) {
300
- previewContainer = document.createElement('div');
301
- previewContainer.id = preview_id;
302
-
303
- const viewDiv = document.getElementById('view');
304
- if (viewDiv) {
305
- viewDiv.appendChild(previewContainer);
306
- } else {
307
- document.body.appendChild(previewContainer); // Fallback
308
- }
309
- }
310
-
311
- if (enableVideo == 'true') {
312
- const videoElement = document.createElement('video');
313
- videoElement.controls = true;
314
- videoElement.autoplay = true;
315
- videoElement.muted = true;
316
- videoElement.srcObject = stream;
317
- videoElement.muted = false;
318
- videoElement.volume = 1.0;
319
- previewContainer.appendChild(videoElement);
320
- } else {
321
- console.log("Video preview is disabled.");
322
- }
323
-
324
- if (enableAudio == 'true') {
325
- const audioElement = document.createElement('audio');
326
- audioElement.controls = true;
327
- audioElement.autoplay = true;
328
- audioElement.srcObject = stream;
329
- previewContainer.appendChild(audioElement);
330
-
331
- }
332
-
333
- })
334
- .catch(function (err) {
335
- console.error("Error when accessing media devices: " + err);
336
- });
337
- }
338
- function stopPreview(preview_id) {
339
- const previewContainer = document.getElementById(preview_id);
340
- if (previewContainer) {
341
- // Arrêter toutes les pistes du flux
342
- if (window.mediaStream) {
343
- window.mediaStream.getTracks().forEach(track => {
344
- track.stop();
345
- });
346
- }
347
-
348
- // Supprimer la `div` de prévisualisation
349
- previewContainer.remove();
350
- } else {
351
- console.log("Preview container not found.");
352
- }
353
- }
354
- // Audio recorder
355
-
356
- function recordAudio(duration, atome_id,filename) {
357
- writeatomestore(atome_id, 'record', 'playing')
358
-
359
- if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
360
- console.log("Your browser doesn't support audio recording");
361
- return;
362
- }
363
-
364
- navigator.mediaDevices.getUserMedia({ audio: true })
365
- .then(function (stream) {
366
- const audioOptions = [
367
- 'audio/webm',
368
- 'audio/webm;codecs=opus',
369
- 'audio/ogg',
370
- 'audio/wav'
371
- ];
372
-
373
- let mimeType = audioOptions.find(option => MediaRecorder.isTypeSupported(option));
374
- const mediaRecorder = new MediaRecorder(stream, mimeType ? { mimeType: mimeType } : {});
375
-
376
- let audioChunks = [];
377
-
378
- // Start recording with a time slice to trigger data available events periodically
379
- mediaRecorder.start(10); // Timeslice of 1000 ms
380
-
381
- mediaRecorder.ondataavailable = function (event) {
382
- if (readatomestore(atome_id, 'record') == 'stop'){
383
- mediaRecorder.stop();
384
- }
385
- atomeJsToRuby("grab(:" + atome_id + ").js_callback('"+atome_id+"','record', '"+event.data+"', 'audio')");
386
- audioChunks.push(event.data);
387
-
388
- };
389
-
390
- setTimeout(() => {
391
- mediaRecorder.stop();
392
- }, duration);
393
-
394
- mediaRecorder.onstop = function () {
395
- const audioBlob = new Blob(audioChunks, { type: mimeType || 'audio/mp4' });
396
- const audioUrl = URL.createObjectURL(audioBlob);
397
-
398
- // Functions to handle the recording post processing
399
- if (atome_id === 'atome'){
400
- atome_id ='view'
401
- }
402
- record_content(audioUrl);
403
- playRecording(audioBlob,filename,atome_id);
404
- saveRecording(audioUrl,filename);
405
- atomeJsToRuby("grab(:" + atome_id + ").js_callback('"+atome_id+"','record','"+audioBlob+"', 'audio')");
406
-
407
- // Ensure all tracks are stopped once recording is finished
408
- stream.getTracks().forEach(track => track.stop());
409
- };
410
- })
411
- .catch(function (err) {
412
- console.error("Error when accessing microphone: " + err);
413
- });
414
- }
415
-
416
-
417
- // # video recorder
418
-
419
- function recordVideo(duration, atome_id, filename) {
420
- writeatomestore(atome_id, 'record', 'playing')
421
-
422
- if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
423
- console.log("Your browser doesn't support video recording");
424
- return;
425
- }
426
-
427
- navigator.mediaDevices.getUserMedia({audio: true, video: true})
428
- .then(function (stream) {
429
- const mediaOptions = [
430
- 'video/webm; codecs=vp9,opus',
431
- 'video/webm; codecs=vp8,opus',
432
- 'video/webm'
433
- ];
434
-
435
- let mimeType = mediaOptions.find(option => MediaRecorder.isTypeSupported(option));
436
- const mediaRecorder = new MediaRecorder(stream, mimeType ? {mimeType: mimeType} : {});
437
-
438
- let mediaChunks = [];
439
-
440
- mediaRecorder.start(10); // Set timeslice to 1000 milliseconds
441
-
442
-
443
- mediaRecorder.ondataavailable = function (event) {
444
- if (readatomestore(atome_id, 'record') == 'stop'){
445
- mediaRecorder.stop();
446
- }
447
- atomeJsToRuby("grab(:" + atome_id + ").js_callback('"+atome_id+"','record', '"+event.data+"', 'video')");
448
- mediaChunks.push(event.data);
449
- };
450
-
451
- // Stop recording after the specified duration
452
- setTimeout(() => {
453
- mediaRecorder.stop();
454
- }, duration);
455
-
456
- mediaRecorder.onstop = function () {
457
- const mediaBlob = new Blob(mediaChunks, {type: mimeType || 'video/mp4'});
458
- const mediaUrl = URL.createObjectURL(mediaBlob);
459
- if (atome_id === 'atome'){
460
- atome_id ='view'
461
- }
462
- // Functions to handle the recording post-processing
463
- record_content(mediaUrl);
464
- playRecording(mediaBlob,filename,atome_id);
465
- saveRecording(mediaUrl,filename);
466
- atomeJsToRuby("grab(:" + atome_id + ").js_callback('"+atome_id+"','record', '"+mediaBlob+"', 'video')");
467
- // Stop all media tracks and clear the video element source
468
- stream.getTracks().forEach(track => track.stop());
469
- // videoElement.srcObject = null;
470
- };
471
- })
472
- .catch(function (err) {
473
- console.error("Error when accessing peripherals: " + err);
474
- });
475
- }
476
-
477
-
478
- let mediaUrlGlobal = "";
479
-
480
- function saveRecording(url,filename) {
481
- mediaUrlGlobal = url;
482
- console.log("URL recorded: " + url);
483
- const downloadLink = document.createElement('a');
484
- downloadLink.href = url;
485
- downloadLink.download = filename+".mp4";
486
- document.body.appendChild(downloadLink);
487
- downloadLink.click();
488
- document.body.removeChild(downloadLink);
489
- }
490
-
491
- function playRecording(blob,filename, parent) {
492
-
493
- const mediaElement = document.createElement('video');
494
- mediaElement.src = URL.createObjectURL(blob);
495
- mediaElement.controls = true; // add control to media element
496
- mediaElement.id = filename;
497
- const viewDiv = document.getElementById(parent);
498
- viewDiv.appendChild(mediaElement);
499
-
500
- }
501
-
502
- function record_content(blob) {
503
- console.log("recorded blob content :", blob);
504
- }
505
-
506
-
@@ -1,46 +0,0 @@
1
- // Fonction pour ajouter la police dynamiquement
2
- function ajouterPoliceDynamiquement(font_name,type,path) {
3
- // Créer une nouvelle balise <style>
4
- const styleElement = document.getElementById('atomic_style');
5
-
6
- // Ajouter la règle @font-face à la balise <style>
7
- styleElement.textContent = `
8
- @font-face {
9
- font-family: ${font_name};
10
- src: url('${path}') format('truetype');
11
- }
12
- `;
13
-
14
- // Ajouter la balise <style> à la balise <head> du document
15
- document.head.appendChild(styleElement);
16
-
17
- // Appliquer la police au corps du document
18
- // document.body.style.fontFamily = font_name+','+type;
19
- }
20
-
21
- // Appeler la fonction pour ajouter et appliquer la police
22
- ajouterPoliceDynamiquement('Ruboto','ThinItalic','medias/fonts/Roboto/Roboto-ThinItalic.ttf');
23
-
24
- /////////////////
25
-
26
- // setTimeout(function () {
27
- // const viewDiv = document.getElementById('view');
28
- //
29
- // // Vérifier si la div existe
30
- // if (viewDiv) {
31
- // // Ajouter le texte à la div
32
- // viewDiv.innerText = "Ceci est un texte ajouté à la div 'view'.";
33
- //
34
- // // Appliquer la police et la taille du texte
35
- // viewDiv.style.fontFamily = 'Ruboto, thin';
36
- // viewDiv.style.fontSize = '36px';
37
- // } else {
38
- // console.error("La div avec l'ID 'view' n'a pas été trouvée.");
39
- // }
40
- // }, 3000);
41
-
42
-
43
-
44
-
45
-
46
-
@@ -1,65 +0,0 @@
1
- const atomeAnimate = {
2
-
3
- animate: function(particle_found, duration,damping_ratio,ease, mass, repeat,stiffness, velocity,
4
- start_value, end_value, atome_id, atome_found,atome_hash,original_particle,animation_atome) {
5
- // console.log(start_value)
6
-
7
- const {easing, styler, animate} = window.popmotion;
8
-
9
- const target_div = document.querySelector('#'+atome_id);
10
-
11
- // var myHash = Opal.hash({postion: target_div.style.transform});
12
-
13
- // let particle_to_process= myHash.$fetch('postion','');
14
-
15
- animate({
16
- type: ease,
17
- from: start_value,
18
- to: end_value,
19
- duration: duration,
20
- // mass: mass,
21
- // velocity: velocity,
22
- // dampingRatio: damping_ratio,
23
- // stiffness: stiffness,
24
- // repeat: repeat,
25
- onPlay: (value) => {
26
- animation_atome.$play_start_callback(particle_found, start_value,atome_hash,original_particle,atome_found)
27
- },
28
- onUpdate: (value) => {
29
- atome_found.$browser_animate_callback(particle_found, value,atome_hash,original_particle,animation_atome)
30
- },
31
- onComplete: (value) => {
32
- animation_atome.$play_stop_callback(particle_found, end_value,atome_hash,original_particle,atome_found)
33
- }
34
- });
35
-
36
-
37
- ///////////////////////////
38
-
39
-
40
-
41
- // const target_1 = document.querySelector('#box2');
42
- // animate({
43
- // // from: 0,
44
- // // to: 100,
45
- // // from: "#fff",
46
- // // to: "#000",
47
- // // from: "0px 0px 0px rgba(0, 0, 0, 0)",
48
- // // to: "10px 10px 0px rgba(0, 0, 0, 0.2)",
49
- // from: "rgba(0, 0, 0, 0)",
50
- // to: "rgba(0, 0, 0, 0.2)",
51
- // duration: 1000,
52
- // onUpdate: latest => {
53
- // console.log(latest)
54
- // // target_1.style.transform = `translateX(${latest}px)`;
55
- // target_1.style.background= latest
56
- // },
57
- // repeat: 6
58
- // })
59
- // let element = document.getElementById(atome_id)
60
-
61
-
62
- }
63
-
64
-
65
- }