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,217 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# now let's get the default render engine
|
4
|
-
|
5
|
-
# Lets create the U.I.
|
6
|
-
default_render = Essentials.default_params[:render_engines]
|
7
|
-
Atome.new(
|
8
|
-
{ renderers: [], aid: :eDen, type: :element, tag: { system: true } }
|
9
|
-
)
|
10
|
-
Atome.new(
|
11
|
-
{ renderers: [], aid: :user_view, type: :element, tag: { system: true },
|
12
|
-
attach: :eDen }
|
13
|
-
)
|
14
|
-
|
15
|
-
# color creation
|
16
|
-
Atome.new(
|
17
|
-
{ renderers: default_render, id: :view_color, type: :color, tag: ({ system: true, persistent: true }),
|
18
|
-
red: 0.15, green: 0.15, blue: 0.15, alpha: 1, top: 12, left: 12, diffusion: :linear }
|
19
|
-
)
|
20
|
-
|
21
|
-
Atome.new(
|
22
|
-
{ renderers: default_render, id: :shape_color, type: :color, tag: ({ system: true, persistent: true }),
|
23
|
-
red: 0.4, green: 0.4, blue: 0.4, alpha: 1 }
|
24
|
-
)
|
25
|
-
|
26
|
-
Atome.new(
|
27
|
-
{ renderers: default_render, id: :box_color, type: :color, tag: ({ system: true, persistent: true }),
|
28
|
-
red: 0.5, green: 0.5, blue: 0.5, alpha: 1 }
|
29
|
-
)
|
30
|
-
|
31
|
-
Atome.new(
|
32
|
-
{ renderers: default_render, id: :invisible_color, type: :color, tag: ({ system: true, persistent: true }),
|
33
|
-
red: 0, green: 0, blue: 0, alpha: 1 }
|
34
|
-
)
|
35
|
-
|
36
|
-
Atome.new(
|
37
|
-
{ renderers: default_render, id: :text_color, type: :color, tag: ({ system: true, persistent: true }),
|
38
|
-
red: 0.9, green: 0.9, blue: 0.9, alpha: 1 }
|
39
|
-
)
|
40
|
-
|
41
|
-
Atome.new(
|
42
|
-
{ renderers: default_render, id: :circle_color, type: :color, tag: ({ system: true, persistent: true }),
|
43
|
-
red: 0.6, green: 0.6, blue: 0.6, alpha: 1 }
|
44
|
-
)
|
45
|
-
|
46
|
-
Atome.new(
|
47
|
-
{ renderers: default_render, id: :back_selection, type: :color, tag: ({ system: true, persistent: true }),
|
48
|
-
red: 0.6, green: 0.6, blue: 0.1, alpha: 0.7 }
|
49
|
-
)
|
50
|
-
|
51
|
-
Atome.new(
|
52
|
-
{ renderers: default_render, id: :text_selection, type: :color, tag: ({ system: true, persistent: true }),
|
53
|
-
red: 0.3, green: 0.3, blue: 0.3, alpha: 0.9 }
|
54
|
-
)
|
55
|
-
|
56
|
-
# system object creation
|
57
|
-
# the black_matter is used to store un materialized atomes
|
58
|
-
Atome.new(
|
59
|
-
{ renderers: default_render, aid: :black_matter, type: :shape, attach: :user_view,
|
60
|
-
left: 0, right: 0, top: 0, bottom: 0, width: 0, height: 0, overflow: :hidden, tag: { system: true }
|
61
|
-
})
|
62
|
-
|
63
|
-
# view port
|
64
|
-
Atome.new(
|
65
|
-
{ renderers: default_render, aid: :view,type: :shape, attach: :user_view, apply: [:view_color],
|
66
|
-
tag: { system: true }, left: 0, right: 0, top: 0, bottom: 0, width: :auto, height: :auto, overflow: :auto,
|
67
|
-
}
|
68
|
-
|
69
|
-
)
|
70
|
-
|
71
|
-
# unreal port, hold system object and tools
|
72
|
-
Atome.new(
|
73
|
-
{ renderers: default_render, aid: :intuition, type: :shape, attach: :user_view,data: {}, tag: { system: true },
|
74
|
-
left: 0, top: 0, bottom: 0, width: 0, height: :auto, overflow: :visible
|
75
|
-
}
|
76
|
-
)
|
77
|
-
|
78
|
-
machine_id = :dummy_machine
|
79
|
-
# attention we must used two separate pass to avoid the password to be encode twice
|
80
|
-
machine_password = { read: { atome: :star_wars }, write: { atome: :star_wars } }
|
81
|
-
|
82
|
-
# copy basket
|
83
|
-
Atome.new({ renderers: [:html], aid: :copy, collect: [], type: :group, tag: { system: true } })
|
84
|
-
|
85
|
-
# machine
|
86
|
-
Atome.new({ renderers: default_render, id: machine_id, type: :machine, password: machine_password,
|
87
|
-
name: :macAir, data: { date: '10090717' }, tag: { system: true } })
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
# user
|
92
|
-
user_password = { global: :star_win, read: { atome: :star_wars }, write: { atome: :star_wars } }
|
93
|
-
|
94
|
-
# human({ id: :anonymous, login: true, password: user_password, data: { birthday: '10/05/1996' }, selection: [], attach: :user_view })
|
95
|
-
human({ id: identity_generator, login: true, password: user_password, data: { birthday: '10/05/1996' }, selection: [], attach: :user_view })
|
96
|
-
|
97
|
-
Universe.current_machine = machine_id
|
98
|
-
# the constant A is used to access alla atomes methods
|
99
|
-
A = Atome.new(
|
100
|
-
{ renderers: default_render, id: :atome, type: :element, tag: { system: true } }
|
101
|
-
)
|
102
|
-
# atome selector / collector
|
103
|
-
Atome.new({ renderers: [:html], aid: :selector, collect: [], type: :group, tag: { system: true } })
|
104
|
-
|
105
|
-
# atome infos
|
106
|
-
def atome_infos
|
107
|
-
puts "atome version: #{Atome::VERSION}"
|
108
|
-
puts "device identity: #{Atome::aui}"
|
109
|
-
puts "application identity: #{Universe.app_identity}"
|
110
|
-
puts "host framework: #{Atome::host}"
|
111
|
-
puts "engine: #{Universe.engine}"
|
112
|
-
puts "users: #{Universe.users}"
|
113
|
-
puts "current user: #{Universe.current_user}"
|
114
|
-
puts "machine: #{Universe.current_machine}"
|
115
|
-
puts "connected: #{Universe.connected}"
|
116
|
-
end
|
117
|
-
|
118
|
-
# help and example below :
|
119
|
-
|
120
|
-
A.example(:left) do
|
121
|
-
english = 'here is an example, touch me to get some help, or click the code to exec'
|
122
|
-
french = "voici un example, click moi pour de l'aide, ou clicker le code pour l'executer"
|
123
|
-
code = <<STR
|
124
|
-
b=box
|
125
|
-
puts b.left
|
126
|
-
b.left(155)
|
127
|
-
puts b.left
|
128
|
-
STR
|
129
|
-
example = text({ int8: { english: english, french: french }, language: :english, width: 666 })
|
130
|
-
code_text = text({ int8: { english: code }, language: :english, width: 666, top: 33 })
|
131
|
-
example.touch(true) do
|
132
|
-
example.delete(true)
|
133
|
-
help(:left)
|
134
|
-
end
|
135
|
-
code_text.touch(true) do
|
136
|
-
eval(code)
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
# the method below init the user
|
141
|
-
def atome_genesis
|
142
|
-
atome_infos
|
143
|
-
server = Universe.current_server
|
144
|
-
server ||= 'disconnected'
|
145
|
-
puts "server: #{server}"
|
146
|
-
|
147
|
-
if server.start_with?('http')
|
148
|
-
Universe.connected = true
|
149
|
-
A.server({ address: 'localhost:9292', type: 'ws' })
|
150
|
-
A.init_websocket do |msg|
|
151
|
-
puts "websocket initialised #{msg}"
|
152
|
-
end
|
153
|
-
Universe.allow_sync = true
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
def init_database # this method is call from JS (atome/communication) at WS connection
|
158
|
-
# we init the db file eDen
|
159
|
-
A.sync({ action: :init_db, data: { database: :eDen } }) do |data|
|
160
|
-
Universe.database_ready = data[:data][:message] == 'database_ready'
|
161
|
-
end
|
162
|
-
# authentication : email, pass
|
163
|
-
# atome : date, particles
|
164
|
-
# history : aid, particle, value, date
|
165
|
-
|
166
|
-
particles = Universe.particle_list
|
167
|
-
# now we populate the DB
|
168
|
-
A.sync({ action: :crate_db_table, data: { table: :user, type: :string } }) do |_db_state|
|
169
|
-
# puts "===> #{_db_state}"
|
170
|
-
end
|
171
|
-
|
172
|
-
A.sync({ action: :create_db_column, data: { table: :user, column: :email, type: :string, unique: true } }) do |_db_state|
|
173
|
-
end
|
174
|
-
|
175
|
-
A.sync({ action: :create_db_column, data: { table: :user, column: :password, type: :string } }) do |_db_state|
|
176
|
-
end
|
177
|
-
|
178
|
-
A.sync({ action: :crate_db_table, data: { table: :history } }) do |_db_state|
|
179
|
-
end
|
180
|
-
A.sync({ action: :create_db_column, data: { table: :history, column: :aid, type: :string } }) do |_db_state|
|
181
|
-
end
|
182
|
-
A.sync({ action: :create_db_column, data: { table: :history, column: :particle, type: :string } }) do |_db_state|
|
183
|
-
end
|
184
|
-
A.sync({ action: :create_db_column, data: { table: :history, column: :value, type: :string } }) do |_db_state|
|
185
|
-
end
|
186
|
-
A.sync({ action: :create_db_column, data: { table: :history, column: :date, type: :datetime } }) do |_db_state|
|
187
|
-
end
|
188
|
-
|
189
|
-
A.sync({ action: :crate_db_table, data: { table: :atome } }) do |_db_state|
|
190
|
-
end
|
191
|
-
particles.each do |particle, infos|
|
192
|
-
type = infos[:type]
|
193
|
-
A.sync({ action: :create_db_column, data: { table: :atome, column: particle, type: type } }) do |_db_state|
|
194
|
-
end
|
195
|
-
end
|
196
|
-
|
197
|
-
# now we send localstorage content to the server
|
198
|
-
puts "sending localstorage"
|
199
|
-
Atome.send_localstorage_content
|
200
|
-
|
201
|
-
end
|
202
|
-
|
203
|
-
def user_login
|
204
|
-
# user = Universe.current_user
|
205
|
-
password = Black_matter.password
|
206
|
-
sync({ action: :authentication, data: { email: 'jeezs@atome.one' } }) do |email|
|
207
|
-
puts "email received : #{email}"
|
208
|
-
end
|
209
|
-
sync({ action: :authorization, data: { password: password } }) do |pass|
|
210
|
-
puts "password received : #{pass}"
|
211
|
-
end
|
212
|
-
|
213
|
-
end
|
214
|
-
|
215
|
-
# Universe.allow_localstorage = true # to stop data to be stored in localstorage
|
216
|
-
# Universe.allow_sync= false # to stop data to be sync on server
|
217
|
-
touch_allow(false) # this lock the system right click in web view
|
@@ -1,22 +0,0 @@
|
|
1
|
-
class Black_matter
|
2
|
-
class << self
|
3
|
-
def encode(string)
|
4
|
-
JS.global.sha256(string.to_s)
|
5
|
-
end
|
6
|
-
|
7
|
-
def check_password(input_password, stored_hash)
|
8
|
-
input_hash = encode(input_password)
|
9
|
-
input_hash == stored_hash
|
10
|
-
end
|
11
|
-
|
12
|
-
def set_password(hashed_pass)
|
13
|
-
@password = hashed_pass
|
14
|
-
end
|
15
|
-
|
16
|
-
def password
|
17
|
-
@password
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
data/lib/atome/presets/atome.rb
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# TODO: params shouldn't be merge but they must respect the order
|
4
|
-
# TODO: Add default value for each methods below
|
5
|
-
# TODO: Factorise codes below
|
6
|
-
# TODO we must clarified/unified the usage of presets and sanitizer it is not clear
|
7
|
-
|
8
|
-
# additional Atome methods
|
9
|
-
class Atome
|
10
|
-
def atome_common(atome_preset, params)
|
11
|
-
|
12
|
-
basic_params = { renderers: [] }
|
13
|
-
# TODO : remove Essentials.default_params[atome_preset] || {} as it is
|
14
|
-
# applied twice because preset is now a particle
|
15
|
-
preset_params = Essentials.default_params[atome_preset] || {}
|
16
|
-
# preset_params = {preset: atome_preset}
|
17
|
-
basic_params[:type] = preset_params[:type] || :element
|
18
|
-
# basic_params[:aid] = identity_generator(:a)
|
19
|
-
basic_params[:id] = params[:id]|| identity_generator
|
20
|
-
basic_params[:renderers] = @renderers || preset_params[:renderers]
|
21
|
-
essential_params = basic_params.merge(preset_params)
|
22
|
-
#
|
23
|
-
reordered_params = essential_params.reject { |key, _| params.has_key?(key) }
|
24
|
-
params = reordered_params.merge(params)
|
25
|
-
params[:id]=params[:id].to_sym
|
26
|
-
# condition to handle color/shadow/paint atomes that shouldn't be attach to view
|
27
|
-
# TODO : add category for atome( material/physical vs modifier : color, shadow, .. vs shape, image ..)
|
28
|
-
# then add condition same things fo code in genesis new_atome
|
29
|
-
if %i[color shadow paint border].include?(atome_preset)
|
30
|
-
unless params[:affect]
|
31
|
-
params[:affect] = if @id == :view
|
32
|
-
[:black_matter]
|
33
|
-
else
|
34
|
-
[@id]
|
35
|
-
end
|
36
|
-
end
|
37
|
-
else
|
38
|
-
params[:attach] = params[:attach] || @id || :view
|
39
|
-
end
|
40
|
-
# we reorder the hash
|
41
|
-
reorder_particles(params)
|
42
|
-
end
|
43
|
-
|
44
|
-
def preset_common(params, &bloc)
|
45
|
-
|
46
|
-
## if an atome with current id exist we update the ID in the params
|
47
|
-
# params[:id] = "#{params[:id]}_#{Universe.atomes.length}" if grab(params[:id])
|
48
|
-
# if Universe.atomes[params[:id]]
|
49
|
-
# alert "atome found : #{ grab(params[:id])}"
|
50
|
-
# grab(params[:id])
|
51
|
-
# else
|
52
|
-
|
53
|
-
Atome.new(params, &bloc)
|
54
|
-
# end
|
55
|
-
end
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
# def box(params = {}, &bloc)
|
60
|
-
# atome_preset = :box
|
61
|
-
# params = atome_common(atome_preset, params)
|
62
|
-
# preset_common(params, &bloc)
|
63
|
-
# end
|
64
|
-
#
|
65
|
-
# # def intuition(params = {}, &bloc)
|
66
|
-
# # atome_preset = :intuition
|
67
|
-
# # params = atome_common(atome_preset, params)
|
68
|
-
# # preset_common(params, &bloc)
|
69
|
-
# # end
|
70
|
-
#
|
71
|
-
# def circle(params = {}, &bloc)
|
72
|
-
# atome_preset = :circle
|
73
|
-
# params = atome_common(atome_preset, params)
|
74
|
-
# preset_common(params, &bloc)
|
75
|
-
# end
|
76
|
-
end
|
77
|
-
|
78
|
-
|
79
|
-
|
@@ -1,263 +0,0 @@
|
|
1
|
-
# An CMYK colour object. CMYK (cyan, magenta, yellow, and black) colours are
|
2
|
-
# based on additive percentages of ink. A CMYK colour of (0.3, 0, 0.8, 0.3)
|
3
|
-
# would be mixed from 30% cyan, 0% magenta, 80% yellow, and 30% black.
|
4
|
-
# Primarily used in four-colour printing processes.
|
5
|
-
class Color::CMYK
|
6
|
-
include Color
|
7
|
-
|
8
|
-
# The format of a DeviceCMYK colour for PDF. In color-tools 2.0 this will
|
9
|
-
# be removed from this package and added back as a modification by the
|
10
|
-
# PDF::Writer package.
|
11
|
-
PDF_FORMAT_STR = "%.3f %.3f %.3f %.3f %s"
|
12
|
-
|
13
|
-
# Coerces the other Color object into CMYK.
|
14
|
-
def coerce(other)
|
15
|
-
other.to_cmyk
|
16
|
-
end
|
17
|
-
|
18
|
-
class << self
|
19
|
-
# Creates a CMYK colour object from fractional values 0..1.
|
20
|
-
#
|
21
|
-
# Color::CMYK.from_fraction(0.3, 0, 0.8, 0.3)
|
22
|
-
def from_fraction(c = 0, m = 0, y = 0, k = 0, &block)
|
23
|
-
new(c, m, y, k, 1.0, &block)
|
24
|
-
end
|
25
|
-
|
26
|
-
# Creates a CMYK colour object from percentages. Internally, the colour is
|
27
|
-
# managed as fractional values 0..1.
|
28
|
-
#
|
29
|
-
# Color::CMYK.new(30, 0, 80, 30)
|
30
|
-
def from_percent(c = 0, m = 0, y = 0, k = 0, &block)
|
31
|
-
new(c, m, y, k, &block)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
# Creates a CMYK colour object from percentages. Internally, the colour is
|
36
|
-
# managed as fractional values 0..1.
|
37
|
-
#
|
38
|
-
# Color::CMYK.new(30, 0, 80, 30)
|
39
|
-
def initialize(c = 0, m = 0, y = 0, k = 0, radix = 100.0, &block) # :yields self:
|
40
|
-
@c, @m, @y, @k = [ c, m, y, k ].map { |v| Color.normalize(v / radix) }
|
41
|
-
block.call(self) if block
|
42
|
-
end
|
43
|
-
|
44
|
-
# Present the colour as a DeviceCMYK fill colour string for PDF. This will
|
45
|
-
# be removed from the default package in color-tools 2.0.
|
46
|
-
def pdf_fill
|
47
|
-
PDF_FORMAT_STR % [ @c, @m, @y, @k, "k" ]
|
48
|
-
end
|
49
|
-
|
50
|
-
# Present the colour as a DeviceCMYK stroke colour string for PDF. This
|
51
|
-
# will be removed from the default package in color-tools 2.0.
|
52
|
-
def pdf_stroke
|
53
|
-
PDF_FORMAT_STR % [ @c, @m, @y, @k, "K" ]
|
54
|
-
end
|
55
|
-
|
56
|
-
# Present the colour as an RGB HTML/CSS colour string (e.g., "#aabbcc").
|
57
|
-
# Note that this will perform a #to_rgb operation using the default
|
58
|
-
# conversion formula.
|
59
|
-
def html
|
60
|
-
to_rgb.html
|
61
|
-
end
|
62
|
-
|
63
|
-
# Present the colour as an RGB HTML/CSS colour string (e.g., "rgb(0%, 50%,
|
64
|
-
# 100%)"). Note that this will perform a #to_rgb operation using the
|
65
|
-
# default conversion formula.
|
66
|
-
def css_rgb
|
67
|
-
to_rgb.css_rgb
|
68
|
-
end
|
69
|
-
|
70
|
-
# Present the colour as an RGBA (with alpha) HTML/CSS colour string (e.g.,
|
71
|
-
# "rgb(0%, 50%, 100%, 1)"). Note that this will perform a #to_rgb
|
72
|
-
# operation using the default conversion formula.
|
73
|
-
def css_rgba(alpha = 1)
|
74
|
-
to_rgb.css_rgba(alpha)
|
75
|
-
end
|
76
|
-
|
77
|
-
# Present the colour as an HSL HTML/CSS colour string (e.g., "hsl(180,
|
78
|
-
# 25%, 35%)"). Note that this will perform a #to_hsl operation using the
|
79
|
-
# default conversion formula.
|
80
|
-
def css_hsl
|
81
|
-
to_hsl.css_hsl
|
82
|
-
end
|
83
|
-
|
84
|
-
# Present the colour as an HSLA (with alpha) HTML/CSS colour string (e.g.,
|
85
|
-
# "hsla(180, 25%, 35%, 1)"). Note that this will perform a #to_hsl
|
86
|
-
# operation using the default conversion formula.
|
87
|
-
def css_hsla
|
88
|
-
to_hsl.css_hsla
|
89
|
-
end
|
90
|
-
|
91
|
-
# Converts the CMYK colour to RGB. Most colour experts strongly suggest
|
92
|
-
# that this is not a good idea (some even suggesting that it's a very bad
|
93
|
-
# idea). CMYK represents additive percentages of inks on white paper,
|
94
|
-
# whereas RGB represents mixed colour intensities on a black screen.
|
95
|
-
#
|
96
|
-
# However, the colour conversion can be done, and there are two different
|
97
|
-
# methods for the conversion that provide slightly different results.
|
98
|
-
# Adobe PDF conversions are done with the first form.
|
99
|
-
#
|
100
|
-
# # Adobe PDF Display Formula
|
101
|
-
# r = 1.0 - min(1.0, c + k)
|
102
|
-
# g = 1.0 - min(1.0, m + k)
|
103
|
-
# b = 1.0 - min(1.0, y + k)
|
104
|
-
#
|
105
|
-
# # Other
|
106
|
-
# r = 1.0 - (c * (1.0 - k) + k)
|
107
|
-
# g = 1.0 - (m * (1.0 - k) + k)
|
108
|
-
# b = 1.0 - (y * (1.0 - k) + k)
|
109
|
-
#
|
110
|
-
# If we have a CMYK colour of [33% 66% 83% 25%], the first method will
|
111
|
-
# give an approximate RGB colour of (107, 23, 0) or #6b1700. The second
|
112
|
-
# method will give an approximate RGB colour of (128, 65, 33) or #804121.
|
113
|
-
# Which is correct? Although the colours may seem to be drastically
|
114
|
-
# different in the RGB colour space, they are very similar colours,
|
115
|
-
# differing mostly in intensity. The first is a darker, slightly redder
|
116
|
-
# brown; the second is a lighter brown.
|
117
|
-
#
|
118
|
-
# Because of this subtlety, both methods are now offered for conversion.
|
119
|
-
# The Adobe method is not used by default; to enable it, pass +true+ to
|
120
|
-
# #to_rgb.
|
121
|
-
#
|
122
|
-
# Future versions of Color may offer other conversion mechanisms that
|
123
|
-
# offer greater colour fidelity, including recognition of ICC colour
|
124
|
-
# profiles.
|
125
|
-
def to_rgb(use_adobe_method = false)
|
126
|
-
if use_adobe_method
|
127
|
-
Color::RGB.from_fraction(*adobe_cmyk_rgb)
|
128
|
-
else
|
129
|
-
Color::RGB.from_fraction(*standard_cmyk_rgb)
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
# Converts the CMYK colour to a single greyscale value. There are
|
134
|
-
# undoubtedly multiple methods for this conversion, but only a minor
|
135
|
-
# variant of the Adobe conversion method will be used:
|
136
|
-
#
|
137
|
-
# g = 1.0 - min(1.0, 0.299 * c + 0.587 * m + 0.114 * y + k)
|
138
|
-
#
|
139
|
-
# This treats the CMY values similarly to YIQ (NTSC) values and then adds
|
140
|
-
# the level of black. This is a variant of the Adobe version because it
|
141
|
-
# uses the more precise YIQ (NTSC) conversion values for Y (intensity)
|
142
|
-
# rather than the approximates provided by Adobe (0.3, 0.59, and 0.11).
|
143
|
-
def to_grayscale
|
144
|
-
c = 0.299 * @c.to_f
|
145
|
-
m = 0.587 * @m.to_f
|
146
|
-
y = 0.114 * @y.to_f
|
147
|
-
g = 1.0 - [1.0, c + m + y + @k].min
|
148
|
-
Color::GrayScale.from_fraction(g)
|
149
|
-
end
|
150
|
-
alias to_greyscale to_grayscale
|
151
|
-
|
152
|
-
def to_cmyk
|
153
|
-
self
|
154
|
-
end
|
155
|
-
|
156
|
-
def inspect
|
157
|
-
"CMYK [%.2f%%, %.2f%%, %.2f%%, %.2f%%]" % [ cyan, magenta, yellow, black ]
|
158
|
-
end
|
159
|
-
|
160
|
-
# Converts to RGB then YIQ.
|
161
|
-
def to_yiq
|
162
|
-
to_rgb.to_yiq
|
163
|
-
end
|
164
|
-
|
165
|
-
# Converts to RGB then HSL.
|
166
|
-
def to_hsl
|
167
|
-
to_rgb.to_hsl
|
168
|
-
end
|
169
|
-
|
170
|
-
# Returns the cyan (C) component of the CMYK colour as a percentage value.
|
171
|
-
def cyan
|
172
|
-
@c * 100.0
|
173
|
-
end
|
174
|
-
# Returns the cyan (C) component of the CMYK colour as a value in the
|
175
|
-
# range 0.0 .. 1.0.
|
176
|
-
def c
|
177
|
-
@c
|
178
|
-
end
|
179
|
-
# Sets the cyan (C) component of the CMYK colour as a percentage value.
|
180
|
-
def cyan=(cc)
|
181
|
-
@c = Color.normalize(cc / 100.0)
|
182
|
-
end
|
183
|
-
# Sets the cyan (C) component of the CMYK colour as a value in the range
|
184
|
-
# 0.0 .. 1.0.
|
185
|
-
def c=(cc)
|
186
|
-
@c = Color.normalize(cc)
|
187
|
-
end
|
188
|
-
|
189
|
-
# Returns the magenta (M) component of the CMYK colour as a percentage
|
190
|
-
# value.
|
191
|
-
def magenta
|
192
|
-
@m * 100.0
|
193
|
-
end
|
194
|
-
# Returns the magenta (M) component of the CMYK colour as a value in the
|
195
|
-
# range 0.0 .. 1.0.
|
196
|
-
def m
|
197
|
-
@m
|
198
|
-
end
|
199
|
-
# Sets the magenta (M) component of the CMYK colour as a percentage value.
|
200
|
-
def magenta=(mm)
|
201
|
-
@m = Color.normalize(mm / 100.0)
|
202
|
-
end
|
203
|
-
# Sets the magenta (M) component of the CMYK colour as a value in the
|
204
|
-
# range 0.0 .. 1.0.
|
205
|
-
def m=(mm)
|
206
|
-
@m = Color.normalize(mm)
|
207
|
-
end
|
208
|
-
|
209
|
-
# Returns the yellow (Y) component of the CMYK colour as a percentage
|
210
|
-
# value.
|
211
|
-
def yellow
|
212
|
-
@y * 100.0
|
213
|
-
end
|
214
|
-
# Returns the yellow (Y) component of the CMYK colour as a value in the
|
215
|
-
# range 0.0 .. 1.0.
|
216
|
-
def y
|
217
|
-
@y
|
218
|
-
end
|
219
|
-
# Sets the yellow (Y) component of the CMYK colour as a percentage value.
|
220
|
-
def yellow=(yy)
|
221
|
-
@y = Color.normalize(yy / 100.0)
|
222
|
-
end
|
223
|
-
# Sets the yellow (Y) component of the CMYK colour as a value in the range
|
224
|
-
# 0.0 .. 1.0.
|
225
|
-
def y=(kk)
|
226
|
-
@y = Color.normalize(kk)
|
227
|
-
end
|
228
|
-
|
229
|
-
# Returns the black (K) component of the CMYK colour as a percentage
|
230
|
-
# value.
|
231
|
-
def black
|
232
|
-
@k * 100.0
|
233
|
-
end
|
234
|
-
# Returns the black (K) component of the CMYK colour as a value in the
|
235
|
-
# range 0.0 .. 1.0.
|
236
|
-
def k
|
237
|
-
@k
|
238
|
-
end
|
239
|
-
# Sets the black (K) component of the CMYK colour as a percentage value.
|
240
|
-
def black=(kk)
|
241
|
-
@k = Color.normalize(kk / 100.0)
|
242
|
-
end
|
243
|
-
# Sets the black (K) component of the CMYK colour as a value in the range
|
244
|
-
# 0.0 .. 1.0.
|
245
|
-
def k=(kk)
|
246
|
-
@k = Color.normalize(kk)
|
247
|
-
end
|
248
|
-
|
249
|
-
def to_a
|
250
|
-
[ c, m, y, k ]
|
251
|
-
end
|
252
|
-
|
253
|
-
private
|
254
|
-
# Implements the Adobe PDF conversion of CMYK to RGB.
|
255
|
-
def adobe_cmyk_rgb
|
256
|
-
[ @c, @m, @y ].map { |v| 1.0 - [ 1.0, v + @k ].min }
|
257
|
-
end
|
258
|
-
|
259
|
-
# Implements the standard conversion of CMYK to RGB.
|
260
|
-
def standard_cmyk_rgb
|
261
|
-
[ @c, @m, @y ].map { |v| 1.0 - (v * (1.0 - k) + k) }
|
262
|
-
end
|
263
|
-
end
|