atome 0.5.5.8.5 → 0.5.5.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/exe/atome +4 -4
- data/lib/atome/genesis/generators/spatial.rb +2 -0
- data/lib/atome/version.rb +1 -1
- data/lib/renderers/html/html.rb +79 -4
- data/lib/renderers/html/spatial.rb +5 -1
- data/vendor/assets/application/examples/atomizer.rb +3 -3
- data/vendor/assets/application/examples/center.rb +8 -0
- data/vendor/assets/src/index.html +15 -15
- data/vendor/assets/src/index_wasm.html +47 -0
- metadata +4 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4aa832acc6d311b046d0d0efeee475a0f1ec11774eb392218ab8fe8d8d2f3c52
         | 
| 4 | 
            +
              data.tar.gz: 8e6c9a171461da40f3d88f2466a50d72e3a4d16bd80db228b53ea9e69d6d58be
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 07b0fadc4e1818654614b1a47acde2bca31654f74782069a5f6b01a545740dfcf1a6676b960d50000ffa87ad66c6e50f6626e9997ada0ecaeaa772d5f910b4c9
         | 
| 7 | 
            +
              data.tar.gz: f96b61891e6b0f359085f1412bd6bc5ed368be0dd8ee23df2dcdc087cfa31d4146482478129622113aef1fec9a4d15634b844db1eb329285fe3ea02c7fc4df35
         | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/exe/atome
    CHANGED
    
    | @@ -482,7 +482,7 @@ if ARGV.include?('update') | |
| 482 482 | 
             
              # first we delete everything but application
         | 
| 483 483 |  | 
| 484 484 | 
             
              files_to_treat = %w[server src-tauri src-wasm Guardfile Rakefile src/css src/js/atome src/js/third_parties src/medias
         | 
| 485 | 
            -
            src/favicon.ico src/ | 
| 485 | 
            +
            src/favicon.ico src/index_wasm.html src/index_opal.html src/index_server.html src/index_server_wasm.html]
         | 
| 486 486 | 
             
              files_to_treat.each do |item|
         | 
| 487 487 | 
             
                item_path = File.join(destination, item)
         | 
| 488 488 | 
             
                if File.directory?(item_path)
         | 
| @@ -647,13 +647,13 @@ else | |
| 647 647 |  | 
| 648 648 | 
             
                if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
         | 
| 649 649 | 
             
                  # code to exec for Windows
         | 
| 650 | 
            -
                  `start "" "#{destination}\\#{project_name}\\src\\ | 
| 650 | 
            +
                  `start "" "#{destination}\\#{project_name}\\src\\index_wasm.html"`
         | 
| 651 651 | 
             
                elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
         | 
| 652 652 | 
             
                  # code to exec for MacOS
         | 
| 653 | 
            -
                  `open #{destination}/#{project_name}/src/ | 
| 653 | 
            +
                  `open #{destination}/#{project_name}/src/index_wasm.html`
         | 
| 654 654 | 
             
                else
         | 
| 655 655 | 
             
                  # code to exec for Unix/Linux
         | 
| 656 | 
            -
                  `open #{destination}/#{project_name}/src/ | 
| 656 | 
            +
                  `open #{destination}/#{project_name}/src/index_wasm.html`
         | 
| 657 657 | 
             
                end
         | 
| 658 658 |  | 
| 659 659 | 
             
              end
         | 
    
        data/lib/atome/version.rb
    CHANGED
    
    
    
        data/lib/renderers/html/html.rb
    CHANGED
    
    | @@ -20,7 +20,6 @@ class HTML | |
| 20 20 | 
             
                end
         | 
| 21 21 | 
             
              end
         | 
| 22 22 |  | 
| 23 | 
            -
             | 
| 24 23 | 
             
              def initialize(id_found, current_atome)
         | 
| 25 24 | 
             
                @element ||= JS.global[:document].getElementById(id_found.to_s)
         | 
| 26 25 | 
             
                @id = id_found
         | 
| @@ -1268,6 +1267,7 @@ class HTML | |
| 1268 1267 | 
             
                  end
         | 
| 1269 1268 | 
             
                end
         | 
| 1270 1269 | 
             
              end
         | 
| 1270 | 
            +
             | 
| 1271 1271 | 
             
              def set_td_style(td)
         | 
| 1272 1272 | 
             
                cell_height = 50
         | 
| 1273 1273 | 
             
                td[:style][:border] = '1px solid black'
         | 
| @@ -1283,7 +1283,6 @@ class HTML | |
| 1283 1283 | 
             
                { cell_height: cell_height, cell_width: cell_height }
         | 
| 1284 1284 | 
             
              end
         | 
| 1285 1285 |  | 
| 1286 | 
            -
             | 
| 1287 1286 | 
             
              def insert_cell(params)
         | 
| 1288 1287 | 
             
                row_index, cell_index = params[:cell]
         | 
| 1289 1288 | 
             
                new_content = params[:content]
         | 
| @@ -1390,7 +1389,6 @@ class HTML | |
| 1390 1389 |  | 
| 1391 1390 | 
             
              end
         | 
| 1392 1391 |  | 
| 1393 | 
            -
             | 
| 1394 1392 | 
             
              def table_remove(params)
         | 
| 1395 1393 | 
             
                if params[:row]
         | 
| 1396 1394 | 
             
                  row_index = params[:row]
         | 
| @@ -1437,9 +1435,86 @@ class HTML | |
| 1437 1435 |  | 
| 1438 1436 | 
             
              # atomisation!
         | 
| 1439 1437 | 
             
              def atomized(html_object)
         | 
| 1440 | 
            -
                html_object=html_object[0] if html_object.instance_of? Array
         | 
| 1438 | 
            +
                html_object = html_object[0] if html_object.instance_of? Array
         | 
| 1441 1439 | 
             
                @element = html_object
         | 
| 1442 1440 | 
             
              end
         | 
| 1441 | 
            +
             | 
| 1442 | 
            +
             | 
| 1443 | 
            +
              # def center(options, attach)
         | 
| 1444 | 
            +
              #   parent = grab(attach)
         | 
| 1445 | 
            +
              #
         | 
| 1446 | 
            +
              #   # Centre sur l'axe X
         | 
| 1447 | 
            +
              #   if options[:x]
         | 
| 1448 | 
            +
              #     x_position = calculate_position(options[:x], parent.to_px(:width), @original_atome.to_px(:width))
         | 
| 1449 | 
            +
              #     @original_atome.left(x_position)
         | 
| 1450 | 
            +
              #   end
         | 
| 1451 | 
            +
              #
         | 
| 1452 | 
            +
              #   # Centre sur l'axe Y
         | 
| 1453 | 
            +
              #   if options[:y]
         | 
| 1454 | 
            +
              #     y_position = calculate_position(options[:y], parent.to_px(:height), @original_atome.to_px(:height))
         | 
| 1455 | 
            +
              #     @original_atome.top(y_position)
         | 
| 1456 | 
            +
              #   end
         | 
| 1457 | 
            +
              # end
         | 
| 1458 | 
            +
              #
         | 
| 1459 | 
            +
              # # Méthode auxiliaire pour calculer la position
         | 
| 1460 | 
            +
              # def calculate_position(option, parent_dimension, self_dimension)
         | 
| 1461 | 
            +
              #   if option.is_a?(String) && option.end_with?('%')
         | 
| 1462 | 
            +
              #     percent = option.chop.to_f / 100.0
         | 
| 1463 | 
            +
              #     (parent_dimension - self_dimension) * percent
         | 
| 1464 | 
            +
              #   elsif option == 0
         | 
| 1465 | 
            +
              #     # Cas spécial pour centrer l'objet
         | 
| 1466 | 
            +
              #     (parent_dimension - self_dimension) / 2.0
         | 
| 1467 | 
            +
              #   else
         | 
| 1468 | 
            +
              #     option
         | 
| 1469 | 
            +
              #   end
         | 
| 1470 | 
            +
              # end
         | 
| 1471 | 
            +
             | 
| 1472 | 
            +
              def center(options, attach)
         | 
| 1473 | 
            +
                @center_options = options
         | 
| 1474 | 
            +
                @parent = grab(attach)
         | 
| 1475 | 
            +
             | 
| 1476 | 
            +
                # Appliquer le centrage initial
         | 
| 1477 | 
            +
                apply_centering(@center_options, @parent)
         | 
| 1478 | 
            +
             | 
| 1479 | 
            +
                # Si l'option dynamique est activée, ajouter un écouteur d'événements
         | 
| 1480 | 
            +
                if @center_options[:dynamic]
         | 
| 1481 | 
            +
                  event_handler = ->(event) do
         | 
| 1482 | 
            +
                    apply_centering(@center_options, @parent)
         | 
| 1483 | 
            +
                  end
         | 
| 1484 | 
            +
                  JS.global[:window].addEventListener('resize', event_handler)
         | 
| 1485 | 
            +
                end
         | 
| 1486 | 
            +
              end
         | 
| 1487 | 
            +
             | 
| 1488 | 
            +
              private
         | 
| 1489 | 
            +
             | 
| 1490 | 
            +
              # Méthode auxiliaire pour appliquer le centrage
         | 
| 1491 | 
            +
              def apply_centering(options, parent)
         | 
| 1492 | 
            +
                # Centre sur l'axe X
         | 
| 1493 | 
            +
                if options[:x]
         | 
| 1494 | 
            +
                  x_position = calculate_position(options[:x], parent.to_px(:width), @original_atome.to_px(:width))
         | 
| 1495 | 
            +
                  @original_atome.left(x_position)
         | 
| 1496 | 
            +
                end
         | 
| 1497 | 
            +
             | 
| 1498 | 
            +
                # Centre sur l'axe Y
         | 
| 1499 | 
            +
                if options[:y]
         | 
| 1500 | 
            +
                  y_position = calculate_position(options[:y], parent.to_px(:height), @original_atome.to_px(:height))
         | 
| 1501 | 
            +
                  @original_atome.top(y_position)
         | 
| 1502 | 
            +
                end
         | 
| 1503 | 
            +
              end
         | 
| 1504 | 
            +
             | 
| 1505 | 
            +
              # Méthode auxiliaire pour calculer la position
         | 
| 1506 | 
            +
              def calculate_position(option, parent_dimension, self_dimension)
         | 
| 1507 | 
            +
                if option.is_a?(String) && option.end_with?('%')
         | 
| 1508 | 
            +
                  percent = option.chop.to_f / 100.0
         | 
| 1509 | 
            +
                  (parent_dimension - self_dimension) * percent
         | 
| 1510 | 
            +
                elsif option == 0
         | 
| 1511 | 
            +
                  # Cas spécial pour centrer l'objet
         | 
| 1512 | 
            +
                  (parent_dimension - self_dimension) / 2.0
         | 
| 1513 | 
            +
                else
         | 
| 1514 | 
            +
                  option
         | 
| 1515 | 
            +
                end
         | 
| 1516 | 
            +
              end
         | 
| 1517 | 
            +
             | 
| 1443 1518 | 
             
            end
         | 
| 1444 1519 |  | 
| 1445 1520 |  | 
| @@ -3,7 +3,7 @@ | |
| 3 3 | 
             
            # dummies html objects :
         | 
| 4 4 |  | 
| 5 5 | 
             
            #object 1
         | 
| 6 | 
            -
            div_rouge = JS.global[:document]. | 
| 6 | 
            +
            div_rouge = JS.global[:document].createElement( "div")
         | 
| 7 7 |  | 
| 8 8 | 
             
            div_rouge[:style][:backgroundColor] = "red"
         | 
| 9 9 | 
             
            div_rouge[:style][:width] = "100px"
         | 
| @@ -14,7 +14,7 @@ div_view.appendChild(div_rouge) | |
| 14 14 |  | 
| 15 15 |  | 
| 16 16 | 
             
            #object 2
         | 
| 17 | 
            -
            span_bleu = | 
| 17 | 
            +
            span_bleu =  JS.global[:document].createElement( "span")
         | 
| 18 18 | 
             
            span_bleu[:style][:backgroundColor] = "blue"
         | 
| 19 19 | 
             
            span_bleu[:innerHTML] = "blue"
         | 
| 20 20 | 
             
            span_bleu[:style][:width] = "10px"
         | 
| @@ -23,7 +23,7 @@ div_rouge.appendChild(span_bleu) | |
| 23 23 |  | 
| 24 24 |  | 
| 25 25 | 
             
            #object 2
         | 
| 26 | 
            -
            span_white = | 
| 26 | 
            +
            span_white =  JS.global[:document].createElement( "h1")
         | 
| 27 27 | 
             
            span_white[:style][:color] = "white"
         | 
| 28 28 | 
             
            span_white[:innerHTML] = "Hello"
         | 
| 29 29 | 
             
            span_white[:style][:width] = "10px"
         | 
| @@ -9,15 +9,20 @@ | |
| 9 9 | 
             
                <meta name="msapplication-tap-highlight" content="no">
         | 
| 10 10 | 
             
                <link type="text/css" rel="stylesheet" href="css/style.css">
         | 
| 11 11 | 
             
                <style id="atomic_style"></style>
         | 
| 12 | 
            -
                <script defer src="js/third_parties/browser.script.iife.min.js" type="text/javascript"></script>
         | 
| 13 12 | 
             
                <script type="text/javascript" src="js/third_parties/interact.min.js" defer></script>
         | 
| 14 13 | 
             
                <script type="text/javascript" src="js/third_parties/popmotion.min.js" defer></script>
         | 
| 15 14 | 
             
                <script type="text/javascript" src="js/third_parties/sortable.min.js" defer></script>
         | 
| 16 15 | 
             
                <script type="text/javascript" src="js/third_parties/wad.min.js" defer></script>
         | 
| 17 16 | 
             
                <script type="text/javascript" src="js/third_parties/sha256.min.js" defer></script>
         | 
| 18 17 | 
             
                <script type="text/javascript" src="js/third_parties/ping.min.js" defer></script>
         | 
| 19 | 
            -
                <script  | 
| 18 | 
            +
                <script defer src="js/third_parties/fabric.min.js" type="text/javascript"></script>
         | 
| 20 19 | 
             
                <script type="text/javascript" src="js/third_parties/papaparse.min.js" defer></script>
         | 
| 20 | 
            +
                <script src='js/opal/opal.js' defer></script>
         | 
| 21 | 
            +
                <script src='js/opal/opal_parser.js' defer></script>
         | 
| 22 | 
            +
                <script src='js/aui.js' defer></script>
         | 
| 23 | 
            +
                <script defer defer src='js/host_mode.js'></script>
         | 
| 24 | 
            +
                <script src='js/opal/atome_opal_extensions.js' defer></script>
         | 
| 25 | 
            +
                <script src='js/atome/kernel.js' defer></script>
         | 
| 21 26 | 
             
                <script defer src="js/atome/atome_helpers/communication.js" type="text/javascript"></script>
         | 
| 22 27 | 
             
                <script defer src="js/atome/atome_helpers/file.js" type="text/javascript"></script>
         | 
| 23 28 | 
             
            <!--    <script>-->
         | 
| @@ -29,19 +34,14 @@ | |
| 29 34 | 
             
                <title>atome</title>
         | 
| 30 35 | 
             
            </head>
         | 
| 31 36 | 
             
            <body id='user_view' class='atome'>
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            <div id='copyright'>©atome 2023</div>
         | 
| 37 | 
            +
            <div id='copyright'>©atome 2027</div>
         | 
| 34 38 | 
             
            </body>
         | 
| 35 | 
            -
            <script type="text/ | 
| 36 | 
            -
                require 'js'
         | 
| 37 | 
            -
                require '/lib/platform_specific/wasm/atome_wasm_extensions'
         | 
| 38 | 
            -
                require '/utilities/aui'
         | 
| 39 | 
            -
                require '/utilities/host_mode'
         | 
| 40 | 
            -
                require '/lib/atome_relative'
         | 
| 41 | 
            -
                require './index'
         | 
| 42 | 
            -
                #puts Universe.host
         | 
| 43 | 
            -
                atome_infos
         | 
| 44 | 
            -
            </script>
         | 
| 45 | 
            -
            <script defer src="js/atome/specific/wasm.js" type="text/javascript"></script>
         | 
| 39 | 
            +
            <script defer src="js/atome/specific/opal.js" type="text/javascript"></script>
         | 
| 46 40 | 
             
            <script defer src="js/atome/atome.js" type="text/javascript"></script>
         | 
| 41 | 
            +
            <script src='js/application.js' defer></script>
         | 
| 42 | 
            +
            <script>
         | 
| 43 | 
            +
                window.addEventListener('load', function () {
         | 
| 44 | 
            +
                    Opal.eval('atome_infos')
         | 
| 45 | 
            +
                })
         | 
| 46 | 
            +
            </script>
         | 
| 47 47 | 
             
            </html>
         | 
| @@ -0,0 +1,47 @@ | |
| 1 | 
            +
            <!DOCTYPE html>
         | 
| 2 | 
            +
            <html lang="En">
         | 
| 3 | 
            +
            <head>
         | 
| 4 | 
            +
                <link rel="icon" type="image/x-icon"
         | 
| 5 | 
            +
                      href="https://github.com/atomecorp/atome/blob/master/vendor/assets/src/favicon.ico">
         | 
| 6 | 
            +
                <meta name='viewport' content='initial-scale=1, width=device-width, viewport-fit=cover'>
         | 
| 7 | 
            +
                <meta charset='UTF-8'/>
         | 
| 8 | 
            +
                <meta name="format-detection" content="telephone=no">
         | 
| 9 | 
            +
                <meta name="msapplication-tap-highlight" content="no">
         | 
| 10 | 
            +
                <link type="text/css" rel="stylesheet" href="css/style.css">
         | 
| 11 | 
            +
                <style id="atomic_style"></style>
         | 
| 12 | 
            +
                <script defer src="js/third_parties/browser.script.iife.min.js" type="text/javascript"></script>
         | 
| 13 | 
            +
                <script type="text/javascript" src="js/third_parties/interact.min.js" defer></script>
         | 
| 14 | 
            +
                <script type="text/javascript" src="js/third_parties/popmotion.min.js" defer></script>
         | 
| 15 | 
            +
                <script type="text/javascript" src="js/third_parties/sortable.min.js" defer></script>
         | 
| 16 | 
            +
                <script type="text/javascript" src="js/third_parties/wad.min.js" defer></script>
         | 
| 17 | 
            +
                <script type="text/javascript" src="js/third_parties/sha256.min.js" defer></script>
         | 
| 18 | 
            +
                <script type="text/javascript" src="js/third_parties/ping.min.js" defer></script>
         | 
| 19 | 
            +
                <script type="text/javascript" src="js/third_parties/fabric.min.js" defer></script>
         | 
| 20 | 
            +
                <script type="text/javascript" src="js/third_parties/papaparse.min.js" defer></script>
         | 
| 21 | 
            +
                <script defer src="js/atome/atome_helpers/communication.js" type="text/javascript"></script>
         | 
| 22 | 
            +
                <script defer src="js/atome/atome_helpers/file.js" type="text/javascript"></script>
         | 
| 23 | 
            +
            <!--    <script>-->
         | 
| 24 | 
            +
            <!--        // to prevent right click-->
         | 
| 25 | 
            +
            <!--        document.addEventListener("contextmenu", function (e) {-->
         | 
| 26 | 
            +
            <!--            e.preventDefault();-->
         | 
| 27 | 
            +
            <!--        });-->
         | 
| 28 | 
            +
            <!--    </script>-->
         | 
| 29 | 
            +
                <title>atome</title>
         | 
| 30 | 
            +
            </head>
         | 
| 31 | 
            +
            <body id='user_view' class='atome'>
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            <div id='copyright'>©atome 2023</div>
         | 
| 34 | 
            +
            </body>
         | 
| 35 | 
            +
            <script type="text/ruby">
         | 
| 36 | 
            +
                require 'js'
         | 
| 37 | 
            +
                require '/lib/platform_specific/wasm/atome_wasm_extensions'
         | 
| 38 | 
            +
                require '/utilities/aui'
         | 
| 39 | 
            +
                require '/utilities/host_mode'
         | 
| 40 | 
            +
                require '/lib/atome_relative'
         | 
| 41 | 
            +
                require './index'
         | 
| 42 | 
            +
                #puts Universe.host
         | 
| 43 | 
            +
                atome_infos
         | 
| 44 | 
            +
            </script>
         | 
| 45 | 
            +
            <script defer src="js/atome/specific/wasm.js" type="text/javascript"></script>
         | 
| 46 | 
            +
            <script defer src="js/atome/atome.js" type="text/javascript"></script>
         | 
| 47 | 
            +
            </html>
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: atome
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.5.5.8. | 
| 4 | 
            +
              version: 0.5.5.8.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jean-Eric Godard
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-01- | 
| 11 | 
            +
            date: 2024-01-23 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: eventmachine
         | 
| @@ -493,6 +493,7 @@ files: | |
| 493 493 | 
             
            - vendor/assets/application/examples/browse.rb
         | 
| 494 494 | 
             
            - vendor/assets/application/examples/callback.rb
         | 
| 495 495 | 
             
            - vendor/assets/application/examples/category.rb
         | 
| 496 | 
            +
            - vendor/assets/application/examples/center.rb
         | 
| 496 497 | 
             
            - vendor/assets/application/examples/clear.rb
         | 
| 497 498 | 
             
            - vendor/assets/application/examples/clones.rb
         | 
| 498 499 | 
             
            - vendor/assets/application/examples/code.rb
         | 
| @@ -615,6 +616,7 @@ files: | |
| 615 616 | 
             
            - vendor/assets/src/index_opal.html
         | 
| 616 617 | 
             
            - vendor/assets/src/index_server.html
         | 
| 617 618 | 
             
            - vendor/assets/src/index_server_wasm.html
         | 
| 619 | 
            +
            - vendor/assets/src/index_wasm.html
         | 
| 618 620 | 
             
            - vendor/assets/src/js/atome/atome.js
         | 
| 619 621 | 
             
            - vendor/assets/src/js/atome/atome_helpers/add_font.js
         | 
| 620 622 | 
             
            - vendor/assets/src/js/atome/atome_helpers/atome_animate.js
         |