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