atome 0.5.4.1.9 → 0.5.5.6.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (357) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/README.md +70 -1
  4. data/Rakefile +246 -75
  5. data/app_builder_helpers/Rakefile +276 -288
  6. data/documentation/basic.md +242 -0
  7. data/documentation/deep learning/architecture.txt +3763 -0
  8. data/documentation/deep learning/atome.png +0 -0
  9. data/documentation/deep learning/basic_infos.txt +227 -0
  10. data/documentation/deep learning/example_of_users_code.rb +1810 -0
  11. data/documentation/deep learning/misc.txt +24 -0
  12. data/documentation/deep learning/ruby_js_example.rb +272 -0
  13. data/documentation/deep learning/wasm_script_help.text +14 -0
  14. data/documentation/framework/enhance_atome.md +1 -1
  15. data/documentation/tutorials/tutorials.md +7 -0
  16. data/exe/atome +308 -208
  17. data/lib/atome/atome.rb +51 -156
  18. data/lib/atome/extensions/atome.rb +129 -47
  19. data/lib/atome/extensions/mathematics.rb +20 -0
  20. data/lib/atome/extensions/ping.rb +2 -3
  21. data/lib/atome/genesis/generators/atome.rb +57 -30
  22. data/lib/atome/genesis/generators/communication.rb +9 -0
  23. data/lib/atome/genesis/generators/effect.rb +0 -1
  24. data/lib/atome/genesis/generators/event.rb +279 -43
  25. data/lib/atome/genesis/generators/geometry.rb +1 -10
  26. data/lib/atome/genesis/generators/hierarchy.rb +103 -0
  27. data/lib/atome/genesis/generators/identity.rb +45 -84
  28. data/lib/atome/genesis/generators/material.rb +31 -34
  29. data/lib/atome/genesis/generators/property.rb +31 -0
  30. data/lib/atome/genesis/generators/security.rb +31 -0
  31. data/lib/atome/genesis/generators/spatial.rb +92 -4
  32. data/lib/atome/genesis/generators/time.rb +0 -1
  33. data/lib/atome/genesis/generators/utility.rb +182 -66
  34. data/lib/atome/genesis/genesis.rb +152 -55
  35. data/lib/atome/genesis/sparkle.rb +62 -75
  36. data/lib/atome/helpers/color_helper/color/rgb/colors.rb +1 -1
  37. data/lib/atome/helpers/color_helper/color/rgb.rb +1 -1
  38. data/lib/atome/helpers/color_helper/color.rb +226 -7
  39. data/lib/atome/helpers/essentials.rb +22 -26
  40. data/lib/atome/helpers/security.rb +71 -0
  41. data/lib/atome/helpers/utilities.rb +208 -177
  42. data/lib/atome/kernel/black_matter.rb +22 -0
  43. data/lib/atome/kernel/universe.rb +123 -24
  44. data/lib/atome/presets/atome.rb +39 -35
  45. data/lib/atome/version.rb +3 -2
  46. data/lib/atome.rb +12 -12
  47. data/lib/atome_relative.rb +36 -0
  48. data/lib/{atome/renderers → platform_specific}/opal/atome_opal_extensions.rb +4 -1
  49. data/lib/{atome/renderers → platform_specific}/opal/extensions/color.rb +12 -5
  50. data/lib/{atome/renderers → platform_specific}/opal/extensions/geolocation.rb +1 -0
  51. data/lib/platform_specific/opal/extensions/js.rb +21 -0
  52. data/lib/platform_specific/opal/extensions/object.rb +6 -0
  53. data/lib/platform_specific/opal/extensions/ping.rb +31 -0
  54. data/lib/{atome/renderers → platform_specific}/opal/extensions/sha.rb +4 -2
  55. data/lib/platform_specific/wasm/atome_wasm_extensions.rb +11 -0
  56. data/lib/renderers/headless/headless.rb +18 -0
  57. data/lib/renderers/headless/index.rb +6 -0
  58. data/lib/renderers/headless/index_relative.rb +6 -0
  59. data/lib/renderers/headless/utility.rb +6 -0
  60. data/{vendor/assets/src/medias/rubies/examples/top.rb → lib/renderers/html/atome.rb} +0 -1
  61. data/lib/renderers/html/atome_html.rb +22 -0
  62. data/lib/renderers/html/effect.rb +26 -0
  63. data/lib/renderers/html/event.rb +43 -0
  64. data/lib/renderers/html/geometry.rb +31 -0
  65. data/lib/renderers/html/hierarchy.rb +233 -0
  66. data/lib/renderers/html/html.rb +1112 -0
  67. data/lib/renderers/html/identity.rb +84 -0
  68. data/lib/renderers/html/index.rb +19 -0
  69. data/lib/renderers/html/index_relative.rb +20 -0
  70. data/lib/renderers/html/material.rb +53 -0
  71. data/lib/renderers/html/property.rb +24 -0
  72. data/lib/renderers/html/spatial.rb +58 -0
  73. data/lib/renderers/html/time.rb +1 -0
  74. data/lib/renderers/html/utility.rb +38 -0
  75. data/lib/renderers/renderer.rb +16 -0
  76. data/lib/renderers/server/index.rb +4 -0
  77. data/lib/renderers/server/index_relative.rb +4 -0
  78. data/lib/renderers/server/utility.rb +4 -0
  79. data/sig/atome.rbs +6 -0
  80. data/sig/object.rbs +4 -0
  81. data/sig/universe.rbs +3 -0
  82. data/vendor/assets/Rakefile +3 -3
  83. data/vendor/assets/application/examples/a_concat.rb +16 -0
  84. data/vendor/assets/application/examples/affect.rb +8 -0
  85. data/vendor/assets/application/examples/animation.rb +96 -0
  86. data/vendor/assets/application/examples/apply.rb +8 -0
  87. data/vendor/assets/application/examples/atome.rb +5 -0
  88. data/vendor/assets/application/examples/attach.rb +34 -0
  89. data/vendor/assets/application/examples/attached.rb +38 -0
  90. data/vendor/assets/application/examples/basic_understanding.rb +52 -0
  91. data/vendor/assets/application/examples/browse.rb +17 -0
  92. data/vendor/assets/application/examples/callback.rb +20 -0
  93. data/vendor/assets/application/examples/category.rb +12 -0
  94. data/vendor/assets/application/examples/clear.rb +96 -0
  95. data/vendor/assets/application/examples/clones.rb +177 -0
  96. data/vendor/assets/application/examples/code.rb +13 -0
  97. data/vendor/assets/application/examples/color.rb +54 -0
  98. data/vendor/assets/application/examples/convert.rb +163 -0
  99. data/vendor/assets/application/examples/copy.rb +25 -0
  100. data/vendor/assets/application/examples/copybck.rb +68 -0
  101. data/vendor/assets/application/examples/debug.rb +78 -0
  102. data/vendor/assets/application/examples/delete.rb +93 -0
  103. data/vendor/assets/application/examples/display.rb +279 -0
  104. data/vendor/assets/application/examples/display_bck.rb +164 -0
  105. data/vendor/assets/application/examples/drag.rb +45 -0
  106. data/vendor/assets/application/examples/drop.rb +35 -0
  107. data/vendor/assets/application/examples/duplicate.rb +66 -0
  108. data/vendor/assets/application/examples/edit.rb +21 -0
  109. data/vendor/assets/application/examples/encode.rb +6 -0
  110. data/vendor/assets/application/examples/file.rb +50 -0
  111. data/vendor/assets/application/examples/find.rb +157 -0
  112. data/vendor/assets/application/examples/generator_and_build.rb +15 -0
  113. data/vendor/assets/application/examples/getter.rb +16 -0
  114. data/vendor/assets/application/examples/grab.rb +14 -0
  115. data/vendor/assets/application/examples/gradient.rb +35 -0
  116. data/vendor/assets/application/examples/group.rb +44 -0
  117. data/vendor/assets/application/examples/hierarchy.rb +21 -0
  118. data/vendor/assets/application/examples/history.rb +31 -0
  119. data/vendor/assets/application/examples/hypertext.rb +113 -0
  120. data/vendor/assets/application/examples/image.rb +5 -0
  121. data/vendor/assets/application/examples/keyboard.rb +59 -0
  122. data/vendor/assets/application/examples/layout.rb +51 -0
  123. data/vendor/assets/application/examples/login.rb +10 -0
  124. data/vendor/assets/application/examples/markup.rb +4 -0
  125. data/vendor/assets/application/examples/match.rb +115 -0
  126. data/vendor/assets/application/examples/messaging.rb +16 -0
  127. data/vendor/assets/application/examples/monitor.rb +14 -0
  128. data/vendor/assets/application/examples/on_resize.rb +7 -0
  129. data/vendor/assets/{src/medias/rubies/examples/get_renderer_list.rb → application/examples/online.rb} +1 -1
  130. data/vendor/assets/application/examples/over.rb +29 -0
  131. data/vendor/assets/application/examples/paint.rb +23 -0
  132. data/vendor/assets/application/examples/particles.rb +4 -0
  133. data/vendor/assets/application/examples/percent_to_px.rb +4 -0
  134. data/vendor/assets/application/examples/play.rb +50 -0
  135. data/vendor/assets/application/examples/presets.rb +33 -0
  136. data/vendor/assets/application/examples/random.rb +42 -0
  137. data/vendor/assets/application/examples/raw_html.rb +48 -0
  138. data/vendor/assets/application/examples/read.rb +11 -0
  139. data/vendor/assets/application/examples/refresh.rb +62 -0
  140. data/vendor/assets/application/examples/remove.rb +47 -0
  141. data/vendor/assets/application/examples/repeat.rb +26 -0
  142. data/vendor/assets/application/examples/resize.rb +17 -0
  143. data/vendor/assets/application/examples/scroll.rb +11 -0
  144. data/vendor/assets/application/examples/security.rb +76 -0
  145. data/vendor/assets/application/examples/selected.rb +29 -0
  146. data/vendor/assets/application/examples/shadow.rb +46 -0
  147. data/vendor/assets/application/examples/shapes.rb +6 -0
  148. data/vendor/assets/{src/medias/rubies → application}/examples/smooth.rb +5 -1
  149. data/vendor/assets/application/examples/style.rb +4 -0
  150. data/vendor/assets/application/examples/sync.rb +39 -0
  151. data/vendor/assets/application/examples/tagged.rb +24 -0
  152. data/vendor/assets/application/examples/terminal.rb +4 -0
  153. data/vendor/assets/application/examples/text.rb +5 -0
  154. data/vendor/assets/application/examples/touch.rb +38 -0
  155. data/vendor/assets/application/examples/type_mutation.rb +18 -0
  156. data/vendor/assets/application/examples/universe.rb +8 -0
  157. data/vendor/assets/application/examples/vector.rb +24 -0
  158. data/vendor/assets/application/examples/video.rb +14 -0
  159. data/vendor/assets/application/examples/wait.rb +6 -0
  160. data/vendor/assets/application/examples/www.rb +10 -0
  161. data/vendor/assets/application/index.rb +1 -1
  162. data/vendor/assets/application/test.rb +29 -0
  163. data/vendor/assets/application/works/photos.rb +672 -0
  164. data/vendor/assets/application/works/photos2.rb +218 -0
  165. data/vendor/assets/application/works/photos3.rb +343 -0
  166. data/vendor/assets/application/works/photos4.rb +34 -0
  167. data/vendor/assets/application/works/photos6.rb +6 -0
  168. data/vendor/assets/application/works/trigga.rb +0 -0
  169. data/vendor/assets/application/works/vie.rb +74 -0
  170. data/vendor/assets/server/atome_server.rb +37 -41
  171. data/vendor/assets/server/atome_server_wasm.rb +112 -0
  172. data/vendor/assets/server/capture.rb +10 -0
  173. data/vendor/assets/server/config.ru +5 -4
  174. data/vendor/assets/src/css/style.css +29 -4
  175. data/vendor/assets/src/index.html +31 -38
  176. data/vendor/assets/src/index_opal.html +42 -0
  177. data/vendor/assets/src/index_server.html +43 -0
  178. data/vendor/assets/src/index_server_wasm.html +46 -0
  179. data/vendor/assets/src/js/atome/atome.js +170 -150
  180. data/vendor/assets/src/js/atome/atome_helpers/add_font.js +46 -0
  181. data/vendor/assets/src/js/atome/atome_helpers/atome_drag.js +3 -1
  182. data/vendor/assets/src/js/atome/atome_helpers/atome_events.js +12 -7
  183. data/vendor/assets/src/js/atome/atome_helpers/communication.js +126 -0
  184. data/vendor/assets/src/js/atome/atome_helpers/{atome_file.js → file.js} +1 -1
  185. data/vendor/assets/src/js/atome/specific/opal.js +3 -0
  186. data/vendor/assets/src/js/atome/specific/wasm.js +12 -0
  187. data/vendor/assets/src/js/third_parties/browser.script.iife.min.js +13 -0
  188. data/vendor/assets/src/js/third_parties/fabric.min.js +1 -1
  189. data/vendor/assets/src/js/third_parties/html-to-image.min.js +2 -0
  190. data/vendor/assets/src/js/third_parties/jsencrypt.min.js +2 -0
  191. data/vendor/assets/src/js/third_parties/papaparse.min.js +7 -0
  192. data/vendor/assets/src/medias/fonts/Roboto/LICENSE.txt +202 -0
  193. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Black.ttf +0 -0
  194. data/vendor/assets/src/medias/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
  195. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Bold.ttf +0 -0
  196. data/vendor/assets/src/medias/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
  197. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Italic.ttf +0 -0
  198. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Light.ttf +0 -0
  199. data/vendor/assets/src/medias/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
  200. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Medium.ttf +0 -0
  201. data/vendor/assets/src/medias/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
  202. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Regular.ttf +0 -0
  203. data/vendor/assets/src/medias/fonts/Roboto/Roboto-Thin.ttf +0 -0
  204. data/vendor/assets/src/medias/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
  205. data/vendor/assets/src/medias/images/logos/Facebook.svg +1 -1
  206. data/vendor/assets/src/medias/images/logos/LinkedIn-full.svg +109 -0
  207. data/vendor/assets/src/medias/images/logos/LinkedIn.svg +11 -0
  208. data/vendor/assets/src/medias/images/logos/X.svg +5 -0
  209. data/vendor/assets/src-tauri/Cargo.toml +1 -1
  210. data/vendor/assets/src-tauri/src/main.rs +59 -5
  211. data/vendor/assets/src-tauri/tauri.conf.json +1 -1
  212. data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_arm +0 -0
  213. data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_x86 +0 -0
  214. data/vendor/assets/src-wasm/wasm/wasi-vfs-unix +0 -0
  215. data/vendor/assets/src-wasm/wasm/wasi-vfs.exe +0 -0
  216. metadata +188 -180
  217. data/lib/atome/extensions/mathematic.rb +0 -20
  218. data/lib/atome/extensions/matrix.rb +0 -346
  219. data/lib/atome/helpers/callbacks.rb +0 -133
  220. data/lib/atome/kernel/batch.rb +0 -26
  221. data/lib/atome/kernel/essentials.rb +0 -23
  222. data/lib/atome/renderers/browser/atome.rb +0 -177
  223. data/lib/atome/renderers/browser/browser.rb +0 -47
  224. data/lib/atome/renderers/browser/effect.rb +0 -23
  225. data/lib/atome/renderers/browser/event.rb +0 -96
  226. data/lib/atome/renderers/browser/geometry.rb +0 -27
  227. data/lib/atome/renderers/browser/helpers/animation_helper.rb +0 -69
  228. data/lib/atome/renderers/browser/helpers/browser_helper.rb +0 -101
  229. data/lib/atome/renderers/browser/helpers/color_helper.rb +0 -95
  230. data/lib/atome/renderers/browser/helpers/drag_helper.rb +0 -52
  231. data/lib/atome/renderers/browser/helpers/drop_helper.rb +0 -13
  232. data/lib/atome/renderers/browser/helpers/effect_helper.rb +0 -23
  233. data/lib/atome/renderers/browser/helpers/event_helper.rb +0 -76
  234. data/lib/atome/renderers/browser/helpers/image_helper.rb +0 -27
  235. data/lib/atome/renderers/browser/helpers/over_helper.rb +0 -13
  236. data/lib/atome/renderers/browser/helpers/shadow_helper.rb +0 -74
  237. data/lib/atome/renderers/browser/helpers/shape_helper.rb +0 -22
  238. data/lib/atome/renderers/browser/helpers/text_helper.rb +0 -38
  239. data/lib/atome/renderers/browser/helpers/video_helper.rb +0 -50
  240. data/lib/atome/renderers/browser/helpers/web_helper.rb +0 -26
  241. data/lib/atome/renderers/browser/identity.rb +0 -61
  242. data/lib/atome/renderers/browser/material.rb +0 -121
  243. data/lib/atome/renderers/browser/opal_add_on.rb +0 -32
  244. data/lib/atome/renderers/browser/opal_browser.rb +0 -6
  245. data/lib/atome/renderers/browser/spatial.rb +0 -59
  246. data/lib/atome/renderers/browser/time.rb +0 -3
  247. data/lib/atome/renderers/browser/utility.rb +0 -49
  248. data/lib/atome/renderers/headless/headless.rb +0 -10
  249. data/lib/atome/renderers/headless/utility.rb +0 -6
  250. data/lib/atome/renderers/html/atome.rb +0 -49
  251. data/lib/atome/renderers/html/effect.rb +0 -19
  252. data/lib/atome/renderers/html/event.rb +0 -9
  253. data/lib/atome/renderers/html/geometry.rb +0 -11
  254. data/lib/atome/renderers/html/html.rb +0 -42
  255. data/lib/atome/renderers/html/identity.rb +0 -14
  256. data/lib/atome/renderers/html/opal_browser.rb +0 -6
  257. data/lib/atome/renderers/html/spatial.rb +0 -28
  258. data/lib/atome/renderers/html/utility.rb +0 -17
  259. data/lib/atome/renderers/opal/extensions/atome.rb +0 -29
  260. data/lib/atome/renderers/opal/extensions/ping.rb +0 -18
  261. data/lib/atome/renderers/renderer.rb +0 -15
  262. data/lib/atome/renderers/server/server.rb +0 -10
  263. data/lib/atome/renderers/server/utility.rb +0 -6
  264. data/vendor/assets/aui.rb +0 -5
  265. data/vendor/assets/r&d/misc.rb +0 -219
  266. data/vendor/assets/r&d/ping.rb +0 -3
  267. data/vendor/assets/r&d/storage.rb +0 -9
  268. data/vendor/assets/r&d/view_example.rb +0 -21
  269. data/vendor/assets/src/js/atome/atome_helpers/atome_communication.js +0 -40
  270. data/vendor/assets/src/medias/javascripts/test.js +0 -1
  271. data/vendor/assets/src/medias/rubies/demos.rb +0 -63
  272. data/vendor/assets/src/medias/rubies/examples/add.rb +0 -24
  273. data/vendor/assets/src/medias/rubies/examples/animation.rb +0 -81
  274. data/vendor/assets/src/medias/rubies/examples/atome_new.rb +0 -27
  275. data/vendor/assets/src/medias/rubies/examples/attach.rb +0 -15
  276. data/vendor/assets/src/medias/rubies/examples/attached.rb +0 -15
  277. data/vendor/assets/src/medias/rubies/examples/auto_height.rb +0 -5
  278. data/vendor/assets/src/medias/rubies/examples/auto_width.rb +0 -4
  279. data/vendor/assets/src/medias/rubies/examples/batch.rb +0 -17
  280. data/vendor/assets/src/medias/rubies/examples/blur.rb +0 -4
  281. data/vendor/assets/src/medias/rubies/examples/bottom.rb +0 -3
  282. data/vendor/assets/src/medias/rubies/examples/box.rb +0 -20
  283. data/vendor/assets/src/medias/rubies/examples/center.rb +0 -21
  284. data/vendor/assets/src/medias/rubies/examples/circle.rb +0 -3
  285. data/vendor/assets/src/medias/rubies/examples/class.rb +0 -13
  286. data/vendor/assets/src/medias/rubies/examples/clear.rb +0 -10
  287. data/vendor/assets/src/medias/rubies/examples/clone.rb +0 -35
  288. data/vendor/assets/src/medias/rubies/examples/code.rb +0 -11
  289. data/vendor/assets/src/medias/rubies/examples/color.rb +0 -73
  290. data/vendor/assets/src/medias/rubies/examples/create_atome_in_atome.rb +0 -13
  291. data/vendor/assets/src/medias/rubies/examples/cursor.rb +0 -7
  292. data/vendor/assets/src/medias/rubies/examples/delete.rb +0 -42
  293. data/vendor/assets/src/medias/rubies/examples/depth.rb +0 -6
  294. data/vendor/assets/src/medias/rubies/examples/detached.rb +0 -13
  295. data/vendor/assets/src/medias/rubies/examples/drag.rb +0 -98
  296. data/vendor/assets/src/medias/rubies/examples/drop.rb +0 -26
  297. data/vendor/assets/src/medias/rubies/examples/edit.rb +0 -12
  298. data/vendor/assets/src/medias/rubies/examples/element.rb +0 -6
  299. data/vendor/assets/src/medias/rubies/examples/empty_atome.rb +0 -12
  300. data/vendor/assets/src/medias/rubies/examples/fullscreen.rb +0 -15
  301. data/vendor/assets/src/medias/rubies/examples/grab.rb +0 -5
  302. data/vendor/assets/src/medias/rubies/examples/height.rb +0 -7
  303. data/vendor/assets/src/medias/rubies/examples/hide.rb +0 -7
  304. data/vendor/assets/src/medias/rubies/examples/id.rb +0 -14
  305. data/vendor/assets/src/medias/rubies/examples/image.rb +0 -8
  306. data/vendor/assets/src/medias/rubies/examples/left.rb +0 -7
  307. data/vendor/assets/src/medias/rubies/examples/link.rb +0 -22
  308. data/vendor/assets/src/medias/rubies/examples/markers.rb +0 -48
  309. data/vendor/assets/src/medias/rubies/examples/materials.rb +0 -15
  310. data/vendor/assets/src/medias/rubies/examples/matrix.rb +0 -102
  311. data/vendor/assets/src/medias/rubies/examples/matrix_changes.rb +0 -483
  312. data/vendor/assets/src/medias/rubies/examples/matrix_simple.rb +0 -32
  313. data/vendor/assets/src/medias/rubies/examples/monitoring.rb +0 -70
  314. data/vendor/assets/src/medias/rubies/examples/mute.rb +0 -22
  315. data/vendor/assets/src/medias/rubies/examples/on.rb +0 -26
  316. data/vendor/assets/src/medias/rubies/examples/opacity.rb +0 -5
  317. data/vendor/assets/src/medias/rubies/examples/over.rb +0 -21
  318. data/vendor/assets/src/medias/rubies/examples/pause.rb +0 -15
  319. data/vendor/assets/src/medias/rubies/examples/physical.rb +0 -19
  320. data/vendor/assets/src/medias/rubies/examples/play.rb +0 -15
  321. data/vendor/assets/src/medias/rubies/examples/read.rb +0 -11
  322. data/vendor/assets/src/medias/rubies/examples/refresh.rb +0 -8
  323. data/vendor/assets/src/medias/rubies/examples/remove.rb +0 -16
  324. data/vendor/assets/src/medias/rubies/examples/repeat.rb +0 -6
  325. data/vendor/assets/src/medias/rubies/examples/right.rb +0 -3
  326. data/vendor/assets/src/medias/rubies/examples/rotate.rb +0 -4
  327. data/vendor/assets/src/medias/rubies/examples/schedule.rb +0 -13
  328. data/vendor/assets/src/medias/rubies/examples/shadow.rb +0 -84
  329. data/vendor/assets/src/medias/rubies/examples/size.rb +0 -8
  330. data/vendor/assets/src/medias/rubies/examples/sort.rb +0 -18
  331. data/vendor/assets/src/medias/rubies/examples/style.rb +0 -4
  332. data/vendor/assets/src/medias/rubies/examples/tags.rb +0 -10
  333. data/vendor/assets/src/medias/rubies/examples/text.rb +0 -39
  334. data/vendor/assets/src/medias/rubies/examples/time.rb +0 -18
  335. data/vendor/assets/src/medias/rubies/examples/to_px.rb +0 -10
  336. data/vendor/assets/src/medias/rubies/examples/touch.rb +0 -56
  337. data/vendor/assets/src/medias/rubies/examples/vector.rb +0 -39
  338. data/vendor/assets/src/medias/rubies/examples/video.rb +0 -65
  339. data/vendor/assets/src/medias/rubies/examples/wait.rb +0 -8
  340. data/vendor/assets/src/medias/rubies/examples/web.rb +0 -13
  341. data/vendor/assets/src/medias/rubies/examples/width.rb +0 -6
  342. data/vendor/assets/src/medias/rubies/test.rb +0 -1
  343. data/vendor/assets/src/medias/rubies/text_read.rb +0 -1
  344. data/vendor/assets/src/medias/rubies/unstable/!run.rb +0 -16
  345. data/vendor/assets/src/medias/rubies/unstable/_2_solve.rb +0 -72
  346. data/vendor/assets/src/medias/rubies/unstable/_attach.rb +0 -12
  347. data/vendor/assets/src/medias/rubies/unstable/_audio.rb +0 -231
  348. data/vendor/assets/src/medias/rubies/unstable/_dataset.rb +0 -257
  349. data/vendor/assets/src/medias/rubies/unstable/_matrix.rb +0 -58
  350. data/vendor/assets/src/medias/rubies/unstable/_os.rb +0 -29
  351. data/vendor/assets/src/medias/rubies/unstable/_table2.rb +0 -108
  352. data/vendor/assets/src/medias/rubies/unstable/_vie.rb +0 -211
  353. data/vendor/assets/src/medias/rubies/users/code.rb +0 -6
  354. /data/lib/{atome/renderers → platform_specific}/opal/opal.rb +0 -0
  355. /data/lib/{atome/renderers → platform_specific}/opal/opal_parser.rb +0 -0
  356. /data/{vendor/assets/src/utilities/mode.rb → lib/renderers/html/communication.rb} +0 -0
  357. /data/{vendor/assets/src/medias/rubies/unstable/_test.rb → lib/renderers/html/security.rb} +0 -0
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ color: :red, id: :the_box, left: 3 })
4
+ 5.times do |index|
5
+ width_found = b.width
6
+ b.duplicate({ left: b.left + index * (width_found + 45), top: 0, category: :custom_category })
7
+ end
8
+
9
+ grab(:view).attached.each do |atome_found|
10
+ grab(atome_found).selected(true)
11
+ end
12
+ grab(:the_box_copy_1).text(:hello)
13
+
14
+ selected_items = grab(Universe.current_user).selection # we create a group
15
+ # we collect all atomes in the view
16
+ atomes_found = []
17
+ selected_items.each do |atome_found|
18
+ atomes_found << atome_found
19
+ end
20
+
21
+ # random_found = atomes_found.sample(17)
22
+ #
23
+ # random_found.each do |atome_id|
24
+ # atome_found = grab(atome_id)
25
+ # if atome_found.type == :shape
26
+ # atome_found.left(rand(700))
27
+ # atome_found.width(rand(200))
28
+ # atome_found.height(rand(200))
29
+ # # atome_found.rotate(rand(90))
30
+ # atome_found.smooth(rand(120))
31
+ # atome_found.color({ red: rand, green: rand, blue: rand })
32
+ # end
33
+ # end
34
+
35
+ selected_items.layout({ mode: :default, width: 500, height: 22 })
36
+
37
+ wait 1 do
38
+ selected_items.layout({ mode: :grid, width: 900, height: 500, color: :green, element: { rotate: 22, height: 100, width: 150 } })
39
+ wait 1 do
40
+ selected_items.layout({ mode: :grid, width: 1200, height: 500, overflow: :scroll })
41
+ wait 1 do
42
+ selected_items.layout({ mode: :default, width: 500, height: 22 })
43
+ wait 1 do
44
+ selected_items.layout({ id: :my_layout, mode: :list, width: 800, height: 800, overflow: :scroll, element: { height: 22, width: 800 } })
45
+ wait 1 do
46
+ selected_items.layout({ mode: :default })
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ puts "current user: #{Universe.current_user}"
4
+ human({ id: :jeezs, login: true })
5
+
6
+ puts "current user: #{Universe.current_user}"
7
+ wait 2 do
8
+ human({ id: :toto, login: true })
9
+ puts "current user: #{Universe.current_user}"
10
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ # For now markup can only be specified at creation time, it will be possible later
4
+ the_one = text({ data: :hello, markup: :h1 })
@@ -0,0 +1,115 @@
1
+ # frozen_string_literal: true
2
+
3
+ # def add_css_to_atomic_style(css)
4
+ # style_element = JS.global[:document].getElementById('atomic_style')
5
+ # text_node = JS.global[:document].createTextNode(css)
6
+ # style_element.appendChild(text_node)
7
+ # end
8
+ #
9
+ # def convert_to_css(data)
10
+ # conditions = data[:condition]
11
+ # apply = data[:alterations]
12
+ #
13
+ # # Convert the conditions
14
+ # condition_strings = []
15
+ #
16
+ # if conditions[:max]
17
+ # condition_strings << "(max-width: #{conditions[:max][:width]}px)" if conditions[:max][:width]
18
+ # condition_strings << "(max-height: #{conditions[:max][:height]}px)" if conditions[:max][:height]
19
+ # end
20
+ #
21
+ # if conditions[:min]
22
+ # condition_strings << "(min-width: #{conditions[:min][:width]}px)" if conditions[:min][:width]
23
+ # condition_strings << "(min-height: #{conditions[:min][:height]}px)" if conditions[:min][:height]
24
+ # end
25
+ #
26
+ # operator = conditions[:operator] == :and ? "and" : "or"
27
+ #
28
+ # # Convert properties to apply
29
+ # property_strings = []
30
+ # apply.each do |key, values|
31
+ # inner_properties = []
32
+ # values.each do |property, value|
33
+ # if property == :color
34
+ # inner_properties << "background-color: #{value} !important;"
35
+ # else
36
+ # inner_properties << "#{property}: #{value}px !important;" if value.is_a?(Integer)
37
+ # inner_properties << "#{property}: #{value} !important;" if value.is_a?(Symbol)
38
+ # end
39
+ # end
40
+ # # Prefix each key with "#"
41
+ # property_strings << "##{key} {\n#{inner_properties.join("\n")}\n}"
42
+ # end
43
+ #
44
+ # # let it build
45
+ # css = "@media #{condition_strings.join(" #{operator} ")} {\n#{property_strings.join("\n")}\n}"
46
+ # add_css_to_atomic_style(css)
47
+ # css
48
+ # end
49
+ #
50
+ # def css_to_data(css)
51
+ # data = {
52
+ # :condition => {},
53
+ # :apply => {}
54
+ # }
55
+ # # Extract conditions
56
+ # media_conditions = css.match(/@media ([^\{]+)/)[1].split(',').map(&:strip)
57
+ # media_conditions.each do |condition|
58
+ # type = condition.match(/(max|min)-/)[1].to_sym
59
+ # property = condition.match(/(width|height)/)[1].to_sym
60
+ # value = condition.match(/(\d+)/)[1].to_i
61
+ #
62
+ # data[:condition][type] ||= {}
63
+ # data[:condition][type][property] = value
64
+ # end
65
+ #
66
+ # # Extract properties to be applied
67
+ # css.scan(/(\w+) \{([^\}]+)\}/).each do |match|
68
+ # key = match[0].to_sym
69
+ # properties = match[1].split(';').map(&:strip).reject(&:empty?)
70
+ #
71
+ # data[:apply][key] ||= {}
72
+ # properties.each do |property|
73
+ # prop, value = property.split(':').map(&:strip)
74
+ # if prop == "background-color"
75
+ # data[:apply][key][:color] = value.to_sym
76
+ # elsif value[-2..] == "px"
77
+ # data[:apply][key][prop.to_sym] = value.to_i
78
+ # else
79
+ # data[:apply][key][prop.to_sym] = value.to_sym
80
+ # end
81
+ # end
82
+ # end
83
+ #
84
+ # data
85
+ # end
86
+
87
+
88
+
89
+ box({ color: :red, width: :auto, left: 120, right: 120, id: :box_1 })
90
+ circle({ left: 33, top: 200, id: :circle_1 })
91
+ circle({ left: 200, top: 200, id: :circle_2 })
92
+ circle({ left: 400, top: 200, id: :circle_3 })
93
+ circle({ left: 600, top: 200, id: :circle_4 })
94
+ text({ data: "resize the window to it's minimum to activate response", id: :my_text })
95
+
96
+ A.match({condition:{max: {width: 777}, min: {height: 333}, operator: :and }}) do
97
+ {
98
+ circle_1: { color: :red , width: 23},
99
+ circle_2: { color: :orange , width: 23, top: 12},
100
+ box_1: { width: 123, left: 222, color: :blue, rotate: 22}
101
+ }
102
+ end
103
+
104
+ # match can work without any condition then the particles are always applied
105
+
106
+ # A.match({}) do
107
+ # {
108
+ # circle_1: { color: :red, width: 23 },
109
+ # circle_2: { color: :orange, width: 23, top: 12 },
110
+ # box_1: { width: 123, left: 222, color: :blue, rotate: 22 }
111
+ # }
112
+ # end
113
+
114
+
115
+
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ b = box({ color: :red })
4
+
5
+ b.touch(true) do
6
+ b.connection('localhost:9292') do |params|
7
+ alert " the connection is : #{params}"
8
+ end
9
+ end
10
+
11
+ c = box({ color: :yellow, left: 333 })
12
+
13
+ c.touch(true) do
14
+ b.message('hi there!!')
15
+ # c = box({ color: :red, left: 333 })
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ puts 'deprecated use clone monitoring'
3
+ # b = box({ id: :the_box })
4
+ # c = circle({ top: 3, id: :the_cirle })
5
+ # A.monitor({ atomes: [:the_box, :the_cirle], particles: [:left] }) do |atome, particle, value|
6
+ # puts "changes : #{atome.id}, #{particle}, #{value}"
7
+ # end
8
+ #
9
+ # wait 2 do
10
+ # b.left(3)
11
+ # wait 2 do
12
+ # c.left(444)
13
+ # end
14
+ # end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # please note that whatever the atome resize will return the size of the view!
4
+ view = grab(:view)
5
+ view.on(:resize) do |event|
6
+ puts "view size is #{event}"
7
+ end
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- puts Universe.renderer_list
3
+ text online?
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ left: 666, color: :blue, smooth: 6, id: :the_box2 })
4
+ b.over(true) do
5
+ b.color(:black)
6
+ # puts "I'm inside"
7
+ end
8
+ b.over(:enter) do
9
+ puts "in"
10
+ puts "enter"
11
+ b.width= b.width+30
12
+ # alert :in
13
+ b.color(:yellow)
14
+ end
15
+ b.over(:leave) do
16
+ b.height= b.height+10
17
+ puts "out"
18
+ puts "leave"
19
+ # alert :out
20
+ b.color(:orange)
21
+ end
22
+
23
+ #
24
+ t=b.text('touch me to stop over leave')
25
+ b.touch(true) do
26
+ b.over({ remove: :enter })
27
+ t.data('finished')
28
+ end
29
+
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ c=circle({drag: true, id: :the_circle})
4
+
5
+ c1=c.color(:white).id
6
+ c2=c.color(:red).id
7
+ c3=c.color(:yellow).id
8
+ color({id: :toto, red: 1 , alpha: 0.5})
9
+ wait 0.5 do
10
+ c.paint({ gradient: [c1,c2], direction: :left })
11
+ wait 0.5 do
12
+ c.paint({ gradient: [c1,c2, c3], direction: :left })
13
+ wait 0.5 do
14
+ c.paint({ gradient: [c1,c2], diffusion: :radial })
15
+ wait 0.5 do
16
+ c.paint({ gradient: [c1,c2, c3], diffusion: :conic })
17
+ wait 0.5 do
18
+ c.remove({all: :paint})
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ left: 777 })
4
+ puts "b ahas the following paticles : #{b.particles}"
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ bb=box({width: '90%'})
4
+ puts bb.to_px(:width)
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ if Universe.internet
4
+ # v = video({ path: "medias/videos/avengers.mp4", id: :my_video })
5
+ v = video({ path: "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" })
6
+ else
7
+ v = video(:video_missing)
8
+ end
9
+ v.left(200)
10
+ v.touch(true) do
11
+ alert v.play
12
+ end
13
+
14
+ t=text({id: :my_text, data: "play video"})
15
+
16
+ t.touch(true) do
17
+ v.data=0
18
+ v.play(26) do |event|
19
+ t.data("event is : #{event}")
20
+ if event[:frame] == 900 && v.data <3
21
+ puts v.data
22
+ v.data(v.data+1)
23
+ v.play(26)
24
+ end
25
+ end
26
+ end
27
+
28
+ c=circle({left: 123})
29
+
30
+ c.touch(true) do
31
+ v.play(:pause)
32
+ end
33
+
34
+ cc=circle({left: 0, width: 55, height: 55})
35
+
36
+ left=0
37
+ cc.drag(:locked) do |event|
38
+ dx = event[:dx]
39
+ left += dx.to_f
40
+ min_left = 0
41
+ max_left = 600
42
+ left = [min_left, left].max
43
+ left = [left, max_left].min
44
+ v.html.currentTime(left/10)
45
+ cc.left(left)
46
+ end
47
+
48
+
49
+ puts "add lock x and y when drag"
50
+ puts "restrict ro :view doesnt work"
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ # here how ti use preset in the atome framework
5
+ # presets available are : render_engines,image,video,animation,element,box,vector,circle,shape,text,drm,shadow,color,www,raw,code,audio,group,human,machine,paint
6
+
7
+ my_box=box
8
+ # using the code line above a lot of particles will be implicitly created, if we inspect my_box
9
+ puts my_box.inspect # this will print :
10
+ #[Log] #<Atome: @broadcast={}, @callback={}, @tag={}, @attached=[], @unit={}, @collected={}, @id=:box_14, @type=:shape, @html=#<HTML:0x0662a164 @element=[object HTMLDivElement], @id="box_14", @original_atome=#<Atome: @broadcast={}, @callback={}, @tag={}, @attached=[], @unit={}, @collected={}, @id=:box_14, @type=:shape, @html=#<HTML:0x0662a164 ...>, @attach=[:view], @renderers=[:html], @width=99, @height=99, @apply=[:box_color], @left=100, @top=100, @clones=[], @preset={:box=>{:width=>99, :height=>99, :apply=>[:box_color], :left=>100, :top=>100, :clones=>[]}}>, @element_type="div">, @attach=[:view], @renderers=[:html], @width=99, @height=99, @apply=[:box_color], @left=100, @top=100, @clones=[], @preset={:box=>{:width=>99, :height=>99, :apply=>[:box_color], :left=>100, :top=>100, :clones=>[]}}> (browser.script.iife.min.js, line 13)
11
+
12
+ # please note that an ID is automatically created using a simple strategy id : atome_type_total_number_of_users_atomes ex here : @id="box_14"
13
+
14
+ my_box.text("touch me")
15
+ puts " my_box preset is : #{my_box.preset}"
16
+ # print in the console : [Log] my_box preset is : {:box=>{:width=>99, :height=>99, :apply=>[:box_color], :left=>100, :top=>100, :clones=>[]}} (browser.script.iife.min.js, line 13)
17
+
18
+
19
+ c=circle
20
+ puts " c is : #{c.inspect }"
21
+ # this print : [Log] c is : #<Atome: @type=:shape, @smooth="100%", @width=99, @id=:circle_16, @renderers=[:html], @height=99, @broadcast={}, @callback={}, @tag={}, @attached=[], @unit={}, @collected={}, @html=#<HTML:0x06579be8 @element=[object HTMLDivElement], @id="circle_16", @original_atome=#<Atome: @type=:shape, @smooth="100%", @width=99, @id=:circle_16, @renderers=[:html], @height=99, @broadcast={}, @callback={}, @tag={}, @attached=[], @unit={}, @collected={}, @html=#<HTML:0x06579be8 ...>, @top=100, @attach=[:view], @left=100, @apply=[:circle_color], @clones=[], @preset={:circle=>{:width=>99, :height=>99, :smooth=>"100%", :apply=>[:circle_color], :left=>100, :top=>100, :clones=>[]}}>, @element_type="div">, @top=100, @attach=[:view], @left=100, @apply=[:circle_color], @clones=[], @preset={:circle=>{:width=>99, :height=>99, :smooth=>"100%", :apply=>[:circle_color], :left=>100, :top=>100, :clones=>[]}}> (browser.script.iife.min.js, line 13)
22
+ # it's pôssible to alter basic preset using the particle .preset
23
+ my_box.preset({ circle: {type: :shape, :width=>99, :height=>99, :smooth=>"100%", color: :red, :left=>100, :top=>100, :clones=>[]}})
24
+ puts " my_box preset is now : #{my_box.preset}"
25
+ # now the preset circle is : [Log] my_box preset is now : {:circle=>{:type=>:shape, :width=>99, :height=>99, :smooth=>"100%", :color=>:red, :left=>100, :top=>100, :clones=>[]}} (browser.script.iife.min.js, line 13)
26
+
27
+ my_box.touch(true) do
28
+ my_box.preset(:circle) # the box now rounded like a circle
29
+
30
+ new_circle=circle # as the preset circle has been modified tha circle is now red as specified in the updated preset
31
+ puts "new_circle is : #{new_circle.inspect}"
32
+ # this print : new_circle is : #<Atome: @type=:shape, @smooth="100%", @width=99, @id=:circle_18, @renderers=[:html], @height=99, @broadcast={}, @callback={}, @tag={}, @attached=[], @unit={}, @collected={}, @html=#<HTML:0x0664e99c @element=[object HTMLDivElement], @id="circle_18", @original_atome=#<Atome: @type=:shape, @smooth="100%", @width=99, @id=:circle_18, @renderers=[:html], @height=99, @broadcast={}, @callback={}, @tag={}, @attached=[], @unit={}, @collected={}, @html=#<HTML:0x0664e99c ...>, @top=100, @attach=[:box_14], @left=100, @apply=[:circle_18_color_1_0_0_0_0_0____], @clones=[]>, @element_type="div">, @top=100, @attach=[:box_14], @left=100, @apply=[:circle_18_color_1_0_0_0_0_0____], @clones=[]>
33
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box
4
+
5
+ 16.times do |index|
6
+ width_found = b.width
7
+ b.duplicate({ left: b.left + index * (width_found + 45), top: 0, category: :matrix })
8
+ end
9
+
10
+
11
+ Universe.user_atomes.each do |atome_id|
12
+ atome_found = grab(atome_id)
13
+ if atome_found.type == :shape
14
+ atome_found.color(:orange)
15
+ atome_found.smooth(200)
16
+ atome_found.top(200)
17
+ end
18
+ end
19
+
20
+ random_found =Universe.user_atomes.sample(7)
21
+ random_found.each do |atome_id|
22
+ atome_found = grab(atome_id)
23
+ if atome_found.type == :shape
24
+ atome_found.top(rand(600))
25
+ atome_found.width(rand(120))
26
+ atome_found.height(rand(120))
27
+ atome_found.smooth(rand(120))
28
+ atome_found.color(:red)
29
+ end
30
+ end
31
+
32
+ random_found =Universe.user_atomes.sample(9)
33
+ random_found.each do |atome_id|
34
+ atome_found = grab(atome_id)
35
+ if atome_found.type == :shape
36
+ atome_found.left(rand(700))
37
+ atome_found.width(rand(120))
38
+ atome_found.height(rand(120))
39
+ atome_found.smooth(rand(120))
40
+ atome_found.color(:blue)
41
+ end
42
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ raw_data = <<STR
4
+ <iframe width="560" height="315" src="https://www.youtube.com/embed/8BT4Q3UtO6Q?si=WI8RlryV8HW9Y0nz" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
5
+ STR
6
+
7
+
8
+ raw_data = <<STR
9
+ <svg width="600" height="350" xmlns="http://www.w3.org/2000/svg">
10
+ <!-- Style for the boxes -->
11
+ <style>
12
+ .box { fill: white; stroke: black; stroke-width: 2; }
13
+ .original { fill: lightblue; }
14
+ .clone { fill: lightgreen; }
15
+ .arrow { stroke: black; stroke-width: 2; marker-end: url(#arrowhead); }
16
+ .text { font-family: Arial, sans-serif; font-size: 14px; }
17
+ </style>
18
+
19
+ <!-- Arrowhead definition -->
20
+ <defs>
21
+ <marker id="arrowhead" markerWidth="10" markerHeight="7"
22
+ refX="0" refY="3.5" orient="auto">
23
+ <polygon points="0 0, 10 3.5, 0 7" fill="black"/>
24
+ </marker>
25
+ </defs>
26
+
27
+ <!-- Boxes for original and clones -->
28
+ <rect x="250" y="30" width="100" height="50" class="box original"/>
29
+ <rect x="100" y="200" width="100" height="50" class="box clone"/>
30
+ <rect x="250" y="200" width="100" height="50" class="box clone"/>
31
+ <rect x="400" y="200" width="100" height="50" class="box clone"/>
32
+
33
+ <!-- Text for boxes -->
34
+ <text x="275" y="55" class="text" text-anchor="middle">Original</text>
35
+ <text x="150" y="225" class="text" text-anchor="middle">Clone 1</text>
36
+ <text x="300" y="225" class="text" text-anchor="middle">Clone 2</text>
37
+ <text x="450" y="225" class="text" text-anchor="middle">Clone 3</text>
38
+
39
+ <!-- Arrows -->
40
+ <line x1="300" y1="80" x2="150" y2="200" class="arrow"/>
41
+ <line x1="300" y1="80" x2="300" y2="200" class="arrow"/>
42
+ <line x1="300" y1="80" x2="450" y2="200" class="arrow"/>
43
+ </svg>
44
+ STR
45
+
46
+
47
+
48
+ raw({ id: :the_raw_stuff, data: raw_data })
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ A.read('Cargo.toml') do |data|
4
+ text "file content :\n #{data}"
5
+ end
6
+
7
+ # if Atome.host == 'tauri'
8
+ # JS.eval("readFile('atome','Cargo.toml')")
9
+ # else
10
+ # puts 'nothing here'
11
+ # end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ top: 166, data: :hello })
4
+ c=color({ id: :col1, red: 1, blue: 1})
5
+
6
+ b.instance_variable_set("@top", 30)
7
+ b.instance_variable_set("@apply", [c.id])
8
+ b.instance_variable_set("@path", './medias/images/red_planet.png' )
9
+
10
+ b.instance_variable_set("@smooth", 30)
11
+ wait 1 do
12
+ b.refresh
13
+ b.instance_variable_set("@left", 300)
14
+ wait 1 do
15
+ b.refresh
16
+ b.instance_variable_set("@type", :text)
17
+ wait 1 do
18
+ b.refresh
19
+ b.instance_variable_set("@type", :image)
20
+ wait 1 do
21
+ b.refresh
22
+ end
23
+ end
24
+ end
25
+ end
26
+ # i=image(:green_planet)
27
+ # alert i.path
28
+ # i.instance_variable_set("@path", './medias/images/red_planet.png')
29
+ # wait 2 do
30
+ # i.refresh
31
+ # # i.path'./medias/images/red_planet.png'
32
+ # end
33
+
34
+
35
+ #
36
+ # b.instance_variable_set("@left", 300)
37
+ # b.instance_variable_set("@top", 400)
38
+ # # b.instance_variable_set("@width", 150)
39
+ #
40
+ # # b.instance_variable_set("@smooth", 9)
41
+ # # new({particle: :tototo})
42
+ #
43
+ # wait 1 do
44
+ # b.refresh
45
+ # # b.instance_variable_set("@type", :text)
46
+ # b.instance_variable_set("@smooth", 9)
47
+ # b.instance_variable_set("@apply", [c.id])
48
+ # wait 1 do
49
+ # b.refresh
50
+ # # b.instance_variable_set("@type", :image)
51
+ # # wait 1 do
52
+ # # alert b.type
53
+ # # # b.refresh
54
+ # # end
55
+ # end
56
+ # end
57
+ #
58
+ # t=text(:test)
59
+ # t.touch(true) do
60
+ # b.smooth(9)
61
+ # b.refresh
62
+ # end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ top: 166 , id: :the_box, left: 333})
4
+ b.color({id: :new_col, red: 1})
5
+ b.color({id: :other_col, green: 1})
6
+ # b.paint({gradient: [:other_col, :new_col]})
7
+ color({id: :last_col, green: 0.3, blue: 0.5})
8
+ color({id: :last_col2, red: 1, blue: 0.5})
9
+
10
+ b.shadow({
11
+ id: :s1,
12
+ # affect: [:the_circle],
13
+ left: 9, top: 3, blur: 9,
14
+ invert: false,
15
+ red: 0, green: 0, blue: 0, alpha: 1
16
+ })
17
+ wait 1 do
18
+ b.remove(:other_col)
19
+ wait 1 do
20
+ b.remove(:new_col)
21
+ wait 1 do
22
+ b.remove(:box_color)
23
+ wait 1 do
24
+ b.apply(:last_col)
25
+ wait 1 do
26
+ b.apply(:last_col2)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ b.touch(true) do
33
+ puts "before => #{b.apply}"
34
+ b.remove({all: :color})
35
+ puts "after => #{b.apply}"
36
+ wait 1 do
37
+ b.paint({id: :the_gradient_1,gradient: [:box_color, :circle_color]})
38
+ b.paint({id: :the_gradient,gradient: [:other_col, :new_col]})
39
+ wait 1 do
40
+ b.remove(:the_gradient)
41
+ wait 1 do
42
+ b.remove(all: :shadow)
43
+ end
44
+ end
45
+ end
46
+ end
47
+
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ c=circle({width: 66, height: 66})
5
+ t1=c.text({id: :first, data: 0, left: 28})
6
+ cc=circle({width: 66, height: 66, left: 0 })
7
+ t2=cc.text({id: :second, data: 0, left: 28})
8
+ first_repeater=repeat(1, repeat = 99) do |counter|
9
+ t1.data(counter)
10
+ end
11
+
12
+ my_repeater=repeat(3, repeat = 9) do |counter|
13
+ t2.data(counter)
14
+ end
15
+
16
+ c.touch(true) do
17
+ stop({ repeat: first_repeater })
18
+ t1.data(:stopped)
19
+ end
20
+
21
+ cc.touch(true) do
22
+ stop({ repeat: my_repeater })
23
+ t2.data(:stopped)
24
+ end
25
+
26
+ # use Float::INFINITY to infinite repeat
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ m = shape({ id: :the_shape, width: 333, left: 130, top: 30, right: 100, height: 399, smooth: 8, color: :yellowgreen, })
4
+ m.drag(true)
5
+ m.on(:resize) do |event|
6
+ puts event[:dx]
7
+ end
8
+
9
+ m.resize({ size: { min: { width: 90, height: 190 }, max: { width: 300, height: 600 } } }) do |event|
10
+ puts "width is is #{event[:rect][:width]}"
11
+ end
12
+
13
+ t=text({data: ' click me to unbind resize'})
14
+ t.touch(true) do
15
+ t.data('resize unbinded')
16
+ m.resize(:remove)
17
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ id: :the_container, width: 300, height: 300 })
4
+ b.box({top: 500, color: :red})
5
+ cc=b.circle({ top: 160, id: :the_circle })
6
+
7
+ initial_height=cc.height
8
+ b.overflow(:scroll) do |event|
9
+ new_height = initial_height + event[:top]
10
+ cc.height(new_height)
11
+ end