atome 0.5.5.9.1 → 0.5.6.0.2
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 +9 -2
 - data/documentation/deep learning/basic_infos.txt +9 -17
 - data/exe/atome +2 -1
 - data/lib/atome/atome.rb +5 -6
 - data/lib/atome/extensions/atome.rb +52 -0
 - data/lib/atome/genesis/generators/atome.rb +3 -0
 - data/lib/atome/genesis/generators/communication.rb +7 -2
 - data/lib/atome/genesis/generators/geometry.rb +0 -3
 - data/lib/atome/genesis/generators/spatial.rb +19 -40
 - data/lib/atome/genesis/generators/utility.rb +16 -12
 - data/lib/atome/genesis/genesis.rb +2 -1
 - data/lib/atome/genesis/sparkle.rb +5 -2
 - data/lib/atome/helpers/essentials.rb +9 -9
 - data/lib/atome/helpers/utilities.rb +26 -0
 - data/lib/atome/kernel/ruby +0 -0
 - data/lib/atome/presets/atome.rb +4 -1
 - data/lib/atome/version.rb +2 -1
 - data/lib/renderers/html/geometry.rb +30 -18
 - data/lib/renderers/html/html.rb +11 -1
 - data/lib/renderers/html/identity.rb +2 -1
 - data/lib/renderers/html/spatial.rb +6 -7
 - data/server/atome_server.rb +148 -0
 - data/server/atome_server_wasm.rb +112 -0
 - data/server/capture.rb +10 -0
 - data/server/config.ru +13 -0
 - data/src/css/style.css +162 -0
 - data/src-tauri/.gitignore +4 -0
 - data/src-tauri/Cargo.toml +27 -0
 - data/src-tauri/build.rs +3 -0
 - data/src-tauri/icons/128x128.png +0 -0
 - data/src-tauri/icons/128x128@2x.png +0 -0
 - data/src-tauri/icons/32x32.png +0 -0
 - data/src-tauri/icons/Square107x107Logo.png +0 -0
 - data/src-tauri/icons/Square142x142Logo.png +0 -0
 - data/src-tauri/icons/Square150x150Logo.png +0 -0
 - data/src-tauri/icons/Square284x284Logo.png +0 -0
 - data/src-tauri/icons/Square30x30Logo.png +0 -0
 - data/src-tauri/icons/Square310x310Logo.png +0 -0
 - data/src-tauri/icons/Square44x44Logo.png +0 -0
 - data/src-tauri/icons/Square71x71Logo.png +0 -0
 - data/src-tauri/icons/Square89x89Logo.png +0 -0
 - data/src-tauri/icons/StoreLogo.png +0 -0
 - data/src-tauri/icons/icon.icns +0 -0
 - data/src-tauri/icons/icon.ico +0 -0
 - data/src-tauri/icons/icon.png +0 -0
 - data/src-tauri/src/main.rs +71 -0
 - data/src-tauri/tauri.conf.json +70 -0
 - data/src-wasm/wasm/wasi-vfs-osx_arm +0 -0
 - data/src-wasm/wasm/wasi-vfs-osx_x86 +0 -0
 - data/src-wasm/wasm/wasi-vfs-unix +0 -0
 - data/src-wasm/wasm/wasi-vfs.exe +0 -0
 - data/vendor/assets/application/examples/center.rb +2 -3
 - data/vendor/assets/application/examples/compute.rb +1 -1
 - data/vendor/assets/application/examples/css.rb +6 -0
 - data/vendor/assets/application/examples/int8.rb +4 -1
 - data/vendor/assets/application/examples/selected.rb +6 -0
 - data/vendor/assets/application/examples/sub_atome_manipulation.rb +19 -0
 - data/vendor/assets/application/examples/test.rb +19 -12
 - data/vendor/assets/application/examples/unit.rb +1 -1
 - data/vendor/assets/application/index.rb +1 -1
 - data/vendor/assets/server/atome_server.rb +178 -33
 - data/vendor/assets/src/index_server.html +2 -0
 - data/vendor/assets/src/index_server_wasm.html +1 -0
 - data/vendor/assets/src/js/atome/atome_helpers/communication.js +2 -4
 - metadata +37 -12
 - data/vendor/assets/application/required_example.rb +0 -1
 - data/vendor/assets/application/test.rb +0 -29
 - data/vendor/assets/application/works/photos.rb +0 -672
 - data/vendor/assets/application/works/photos2.rb +0 -218
 - data/vendor/assets/application/works/photos3.rb +0 -343
 - data/vendor/assets/application/works/photos4.rb +0 -34
 - data/vendor/assets/application/works/photos6.rb +0 -6
 - data/vendor/assets/application/works/vie.rb +0 -196
 - /data/{vendor/assets/application/works/trigga.rb → Guardfile} +0 -0
 - /data/vendor/assets/application/examples/{presets.rb → preset.rb} +0 -0
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: bbc7236b206c7741018b0083521206b61197799683b4e56b38784ebeb4b13753
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 0215331e8b52b78c1acc1696f2b7dee0a001dc112562fb13356125ee8a461fbd
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 60cd13a82053afa4a6dc037671869bf3bb81c7f20c4c04b7d230dae479eafcc2e5fa03774aa532f4e69d6aa1cc2f23a3ee8dcc703a6f26d585a31a62f17c9bc1
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 7423d4715cb7cfc9cde10c7feef399869d9a5c8f5d99ca37917b6025f2b129b5b9d64f599ef7ba0ecca33043478481497e04926c2768f6b60f23dc7f63ceffb0
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -285,7 +285,7 @@ task :osx_server do 
     | 
|
| 
       285 
285 
     | 
    
         | 
| 
       286 
286 
     | 
    
         
             
            end
         
     | 
| 
       287 
287 
     | 
    
         | 
| 
       288 
     | 
    
         
            -
             
     | 
| 
      
 288 
     | 
    
         
            +
            def gem_builder
         
     | 
| 
       289 
289 
     | 
    
         
             
              # building the gem
         
     | 
| 
       290 
290 
     | 
    
         
             
              `rake build` # run build_app thru ARGV in exe atome
         
     | 
| 
       291 
291 
     | 
    
         
             
              # installing  the gem
         
     | 
| 
         @@ -301,14 +301,21 @@ task :build_gem do 
     | 
|
| 
       301 
301 
     | 
    
         
             
                `cd pkg; gem install atome --local`
         
     | 
| 
       302 
302 
     | 
    
         
             
                # open the app
         
     | 
| 
       303 
303 
     | 
    
         
             
              end
         
     | 
| 
      
 304 
     | 
    
         
            +
            end
         
     | 
| 
      
 305 
     | 
    
         
            +
             
     | 
| 
      
 306 
     | 
    
         
            +
            task :build_gem do
         
     | 
| 
      
 307 
     | 
    
         
            +
              gem_builder
         
     | 
| 
       304 
308 
     | 
    
         | 
| 
       305 
309 
     | 
    
         
             
              puts 'atome gem built and installed'
         
     | 
| 
       306 
310 
     | 
    
         
             
            end
         
     | 
| 
       307 
311 
     | 
    
         | 
| 
       308 
312 
     | 
    
         | 
| 
       309 
313 
     | 
    
         
             
            task :push_gem do
         
     | 
| 
       310 
     | 
    
         
            -
              # pushing  the gem
         
     | 
| 
       311 
314 
     | 
    
         | 
| 
      
 315 
     | 
    
         
            +
              # building gem
         
     | 
| 
      
 316 
     | 
    
         
            +
              gem_builder
         
     | 
| 
      
 317 
     | 
    
         
            +
             
     | 
| 
      
 318 
     | 
    
         
            +
              # pushing  the gem
         
     | 
| 
       312 
319 
     | 
    
         
             
              dir_path = './pkg'
         
     | 
| 
       313 
320 
     | 
    
         
             
              entries = Dir.entries(dir_path)
         
     | 
| 
       314 
321 
     | 
    
         | 
| 
         @@ -109,12 +109,13 @@ cd my_app 
     | 
|
| 
       109 
109 
     | 
    
         
             
            atome run browser
         
     | 
| 
       110 
110 
     | 
    
         | 
| 
       111 
111 
     | 
    
         | 
| 
      
 112 
     | 
    
         
            +
            getter setter for atome are situated in lib/atome/genesis/genesis.rb :     def new_atome(element, &method_proc)
         
     | 
| 
      
 113 
     | 
    
         
            +
            the getter return a group from the collected atomes ( all included atomes)
         
     | 
| 
       112 
114 
     | 
    
         | 
| 
       113 
115 
     | 
    
         | 
| 
       114 
116 
     | 
    
         | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
            # 
     | 
| 
       117 
     | 
    
         
            -
            #If you need to update it or add a JS library you need to clone : https://github.com/atomecorp/atome_third_parties_js.git
         
     | 
| 
      
 117 
     | 
    
         
            +
            # Third parties's javascript libraries are located at different location
         
     | 
| 
      
 118 
     | 
    
         
            +
            # If you need to update it or add a JS library you need to clone : https://github.com/atomecorp/atome_third_parties_js.git
         
     | 
| 
       118 
119 
     | 
    
         | 
| 
       119 
120 
     | 
    
         
             
            The importance of the type :
         
     | 
| 
       120 
121 
     | 
    
         | 
| 
         @@ -145,12 +146,9 @@ class Object 
     | 
|
| 
       145 
146 
     | 
    
         
             
            renderers are build here : /Users/jean-ericgodard/Documents/Work/codes/atome/lib/atome/genesis/genesis.rb
         
     | 
| 
       146 
147 
     | 
    
         
             
             def build_render(renderer_name, &method_proc)
         
     | 
| 
       147 
148 
     | 
    
         | 
| 
      
 149 
     | 
    
         
            +
            remove condition  /Users/jean-ericgodard/Documents/Work/codes/atome/lib/renderers/renderer.rb in def rendering
         
     | 
| 
       148 
150 
     | 
    
         | 
| 
       149 
     | 
    
         
            -
             
     | 
| 
       150 
     | 
    
         
            -
             
     | 
| 
       151 
     | 
    
         
            -
             remove condition  /Users/jean-ericgodard/Documents/Work/codes/atome/lib/renderers/renderer.rb in def rendering
         
     | 
| 
       152 
     | 
    
         
            -
             
     | 
| 
       153 
     | 
    
         
            -
            New particle exemple :
         
     | 
| 
      
 151 
     | 
    
         
            +
            New particle example :
         
     | 
| 
       154 
152 
     | 
    
         | 
| 
       155 
153 
     | 
    
         
             
            new({ particle: :shell })
         
     | 
| 
       156 
154 
     | 
    
         
             
            # automatically create a @shell instance variable in the atome to store the value
         
     | 
| 
         @@ -216,7 +214,6 @@ To save manually you can use the store method , like this : 
     | 
|
| 
       216 
214 
     | 
    
         | 
| 
       217 
215 
     | 
    
         
             
            store({build: :my_data })
         
     | 
| 
       218 
216 
     | 
    
         | 
| 
       219 
     | 
    
         
            -
             
     | 
| 
       220 
217 
     | 
    
         
             
            The modifier atomes (color, shadow)
         
     | 
| 
       221 
218 
     | 
    
         
             
            Here is the mechanism of such atome:
         
     | 
| 
       222 
219 
     | 
    
         | 
| 
         @@ -232,15 +229,12 @@ Each Each particles and atome is store as an : 
     | 
|
| 
       232 
229 
     | 
    
         
             
            It may need a bit more optimization
         
     | 
| 
       233 
230 
     | 
    
         | 
| 
       234 
231 
     | 
    
         | 
| 
       235 
     | 
    
         
            -
            Atomes have a  special method to  
     | 
| 
      
 232 
     | 
    
         
            +
            Atomes have a  special method to monitor all attached /affected atomes , call : Atome.global_monitoring
         
     | 
| 
       236 
233 
     | 
    
         
             
            Code at :  helpers/utilities.rb /def global_monitoring
         
     | 
| 
       237 
234 
     | 
    
         
             
            Usage :
         
     | 
| 
       238 
235 
     | 
    
         
             
            Atome.global_monitoring(self, [:red, :blue, :blue, :alpha, :left, :right, :diffusion], [:variable1, :variable2])
         
     | 
| 
       239 
236 
     | 
    
         | 
| 
       240 
     | 
    
         
            -
             
     | 
| 
       241 
     | 
    
         
            -
            The  ephemera @new_atome to allow access to data send to the  atome at init time
         
     | 
| 
       242 
     | 
    
         
            -
             
     | 
| 
       243 
     | 
    
         
            -
             
     | 
| 
      
 237 
     | 
    
         
            +
            The ephemera @new_atome to allow access to data send to the  atome at init time
         
     | 
| 
       244 
238 
     | 
    
         | 
| 
       245 
239 
     | 
    
         
             
            Important : for atomes that needs to be attached or apply to
         
     | 
| 
       246 
240 
     | 
    
         
             
            This happen in the method  in presets/atome.rb : atome_common
         
     | 
| 
         @@ -248,8 +242,6 @@ at this line : 
     | 
|
| 
       248 
242 
     | 
    
         
             
             if params[:type] == :color || basic_params[:type] == :color || params[:type] == :shadow || basic_params[:type] == :shadow
         
     | 
| 
       249 
243 
     | 
    
         | 
| 
       250 
244 
     | 
    
         | 
| 
       251 
     | 
    
         
            -
             
     | 
| 
       252 
     | 
    
         
            -
             
     | 
| 
       253 
245 
     | 
    
         
             
            Sanitizer , pre, post , after in atome/helpers/utilities.rb
         
     | 
| 
       254 
246 
     | 
    
         | 
| 
       255 
247 
     | 
    
         
             
            Sanitizer :
         
     | 
| 
         @@ -275,7 +267,7 @@ To alter a particle before getting the  value 
     | 
|
| 
       275 
267 
     | 
    
         | 
| 
       276 
268 
     | 
    
         | 
| 
       277 
269 
     | 
    
         | 
| 
       278 
     | 
    
         
            -
            pay attention to atome category  
     | 
| 
      
 270 
     | 
    
         
            +
            pay attention to atome category material vs modifier
         
     | 
| 
       279 
271 
     | 
    
         
             
            color, shadow and paint are modifier
         
     | 
| 
       280 
272 
     | 
    
         
             
            while shape, image, vector, video audio are materials
         
     | 
| 
       281 
273 
     | 
    
         | 
    
        data/exe/atome
    CHANGED
    
    | 
         @@ -184,6 +184,7 @@ def create_application(source, destination, project_name) 
     | 
|
| 
       184 
184 
     | 
    
         
             
            end
         
     | 
| 
       185 
185 
     | 
    
         | 
| 
       186 
186 
     | 
    
         
             
            def update_application(source, destination, project_name)
         
     | 
| 
      
 187 
     | 
    
         
            +
              `gem install atome`
         
     | 
| 
       187 
188 
     | 
    
         
             
              project_path = "#{destination}/#{project_name}"
         
     | 
| 
       188 
189 
     | 
    
         
             
              FileUtils.mkdir_p(destination) unless Dir.exist?(destination)
         
     | 
| 
       189 
190 
     | 
    
         
             
              FileUtils.mkdir_p(project_path) unless Dir.exist?(project_path)
         
     | 
| 
         @@ -667,7 +668,7 @@ else 
     | 
|
| 
       667 
668 
     | 
    
         
             
                  sleep 1
         
     | 
| 
       668 
669 
     | 
    
         
             
                  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
         
     | 
| 
       669 
670 
     | 
    
         
             
                    # code to exec with Windows
         
     | 
| 
       670 
     | 
    
         
            -
                    `start "" "#{destination}\\#{project_name}\\src\\ 
     | 
| 
      
 671 
     | 
    
         
            +
                    `start "" "#{destination}\\#{project_name}\\src\\index_server.html`
         
     | 
| 
       671 
672 
     | 
    
         
             
                  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
         
     | 
| 
       672 
673 
     | 
    
         
             
                    # code to exec with MacOS
         
     | 
| 
       673 
674 
     | 
    
         
             
                    `open http://localhost:9292`
         
     | 
    
        data/lib/atome/atome.rb
    CHANGED
    
    | 
         @@ -14,9 +14,12 @@ class Atome 
     | 
|
| 
       14 
14 
     | 
    
         
             
                @callback = {}
         
     | 
| 
       15 
15 
     | 
    
         
             
                @tag = {}
         
     | 
| 
       16 
16 
     | 
    
         
             
                @selected = false
         
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
      
 17 
     | 
    
         
            +
                #@metrics = {}
         
     | 
| 
       18 
18 
     | 
    
         
             
                @unit = {}
         
     | 
| 
       19 
19 
     | 
    
         
             
                @collect = {}
         
     | 
| 
      
 20 
     | 
    
         
            +
                @collect = {}
         
     | 
| 
      
 21 
     | 
    
         
            +
                @int8= {}
         
     | 
| 
      
 22 
     | 
    
         
            +
                @css = {}
         
     | 
| 
       20 
23 
     | 
    
         
             
                @id = new_atome[:id] || identity_generator(:element)
         
     | 
| 
       21 
24 
     | 
    
         
             
                @type = new_atome[:type] || :element
         
     | 
| 
       22 
25 
     | 
    
         
             
                @attached = []
         
     | 
| 
         @@ -28,11 +31,7 @@ class Atome 
     | 
|
| 
       28 
31 
     | 
    
         
             
                # now we store the proc in a an atome's property called :bloc
         
     | 
| 
       29 
32 
     | 
    
         
             
                new_atome[:code] = atomes_proc if atomes_proc
         
     | 
| 
       30 
33 
     | 
    
         
             
                # we reorder the hash
         
     | 
| 
       31 
     | 
    
         
            -
                 
     | 
| 
       32 
     | 
    
         
            -
                ordered_part = ordered_keys.map { |k| [k, new_atome[k]] }.to_h
         
     | 
| 
       33 
     | 
    
         
            -
                other_part = new_atome.reject { |k, _| ordered_keys.include?(k) }
         
     | 
| 
       34 
     | 
    
         
            -
                # merge the parts  to obtain an re-ordered hash
         
     | 
| 
       35 
     | 
    
         
            -
                reordered_atome = ordered_part.merge(other_part)
         
     | 
| 
      
 34 
     | 
    
         
            +
                reordered_atome =reorder_particles(new_atome)
         
     | 
| 
       36 
35 
     | 
    
         | 
| 
       37 
36 
     | 
    
         
             
                # FIXME : try to remove the condition below (it crash in the method :  def generator ... in genesis.rb)
         
     | 
| 
       38 
37 
     | 
    
         
             
                collapse(reordered_atome)
         
     | 
| 
         @@ -40,6 +40,17 @@ class Object 
     | 
|
| 
       40 
40 
     | 
    
         
             
                end
         
     | 
| 
       41 
41 
     | 
    
         
             
              end
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
      
 43 
     | 
    
         
            +
              def reorder_particles(hash_to_reorder)
         
     | 
| 
      
 44 
     | 
    
         
            +
                # we reorder the hash
         
     | 
| 
      
 45 
     | 
    
         
            +
                ordered_keys =  %i[renderers id alien type attach int8 unit]
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                ordered_part = ordered_keys.map { |k| [k, hash_to_reorder[k]] }.to_h
         
     | 
| 
      
 48 
     | 
    
         
            +
                other_part = hash_to_reorder.reject { |k, _| ordered_keys.include?(k) }
         
     | 
| 
      
 49 
     | 
    
         
            +
                # merge the parts  to obtain an re-ordered hash
         
     | 
| 
      
 50 
     | 
    
         
            +
                reordered_hash = ordered_part.merge(other_part)
         
     | 
| 
      
 51 
     | 
    
         
            +
                reordered_hash
         
     | 
| 
      
 52 
     | 
    
         
            +
              end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
       43 
54 
     | 
    
         
             
              def delete (atomes)
         
     | 
| 
       44 
55 
     | 
    
         
             
                grab(:view).delete(atomes)
         
     | 
| 
       45 
56 
     | 
    
         
             
              end
         
     | 
| 
         @@ -484,3 +495,44 @@ class Object 
     | 
|
| 
       484 
495 
     | 
    
         
             
              end
         
     | 
| 
       485 
496 
     | 
    
         | 
| 
       486 
497 
     | 
    
         
             
            end
         
     | 
| 
      
 498 
     | 
    
         
            +
             
     | 
| 
      
 499 
     | 
    
         
            +
             
     | 
| 
      
 500 
     | 
    
         
            +
            class CssProxy
         
     | 
| 
      
 501 
     | 
    
         
            +
              def initialize(js, parent_key = nil, current_atome)
         
     | 
| 
      
 502 
     | 
    
         
            +
                @js = js
         
     | 
| 
      
 503 
     | 
    
         
            +
                @css={}
         
     | 
| 
      
 504 
     | 
    
         
            +
                @parent_key = parent_key
         
     | 
| 
      
 505 
     | 
    
         
            +
                @style = {}
         
     | 
| 
      
 506 
     | 
    
         
            +
                @current_atome=current_atome
         
     | 
| 
      
 507 
     | 
    
         
            +
              end
         
     | 
| 
      
 508 
     | 
    
         
            +
             
     | 
| 
      
 509 
     | 
    
         
            +
             
     | 
| 
      
 510 
     | 
    
         
            +
              def [](key)
         
     | 
| 
      
 511 
     | 
    
         
            +
                if @parent_key
         
     | 
| 
      
 512 
     | 
    
         
            +
                  @current_atome.instance_variable_get('@css')[@parent_key]&.[](key)
         
     | 
| 
      
 513 
     | 
    
         
            +
                else
         
     | 
| 
      
 514 
     | 
    
         
            +
                  CssProxy.new(@js, key, @current_atome)
         
     | 
| 
      
 515 
     | 
    
         
            +
                end
         
     | 
| 
      
 516 
     | 
    
         
            +
              end
         
     | 
| 
      
 517 
     | 
    
         
            +
             
     | 
| 
      
 518 
     | 
    
         
            +
             
     | 
| 
      
 519 
     | 
    
         
            +
             
     | 
| 
      
 520 
     | 
    
         
            +
              def []=(key, value)
         
     | 
| 
      
 521 
     | 
    
         
            +
                if @parent_key
         
     | 
| 
      
 522 
     | 
    
         
            +
                  @js[@parent_key][key] = value
         
     | 
| 
      
 523 
     | 
    
         
            +
                  @current_atome.instance_variable_set('@css',{@parent_key => {key => value}})
         
     | 
| 
      
 524 
     | 
    
         
            +
                  @css[@parent_key]={key => value}
         
     | 
| 
      
 525 
     | 
    
         
            +
                  puts "==> Clé parente: #{@parent_key}, Clé: #{key}, Valeur: #{value}"
         
     | 
| 
      
 526 
     | 
    
         
            +
                else
         
     | 
| 
      
 527 
     | 
    
         
            +
                  @style[key] = value
         
     | 
| 
      
 528 
     | 
    
         
            +
                  @js[key] = value
         
     | 
| 
      
 529 
     | 
    
         
            +
                end
         
     | 
| 
      
 530 
     | 
    
         
            +
             
     | 
| 
      
 531 
     | 
    
         
            +
                @js.update_style(@style) if @parent_key.nil?
         
     | 
| 
      
 532 
     | 
    
         
            +
              end
         
     | 
| 
      
 533 
     | 
    
         
            +
             
     | 
| 
      
 534 
     | 
    
         
            +
              def to_s
         
     | 
| 
      
 535 
     | 
    
         
            +
                @current_atome.instance_variable_get('@css').to_s
         
     | 
| 
      
 536 
     | 
    
         
            +
              end
         
     | 
| 
      
 537 
     | 
    
         
            +
             
     | 
| 
      
 538 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,8 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            new({ particle: :connection }) do |params, bloc|
         
     | 
| 
       4 
     | 
    
         
            -
              params = { server: params } 
     | 
| 
       5 
     | 
    
         
            -
               
     | 
| 
      
 4 
     | 
    
         
            +
              # params = { server: params }
         
     | 
| 
      
 5 
     | 
    
         
            +
              # type = { server: params }
         
     | 
| 
      
 6 
     | 
    
         
            +
              params[:user] = Universe.current_user
         
     | 
| 
      
 7 
     | 
    
         
            +
              params[:pass] = Black_matter.password
         
     | 
| 
      
 8 
     | 
    
         
            +
              params[:atomes] = Universe.atome_list
         
     | 
| 
      
 9 
     | 
    
         
            +
              params[:particles] = Universe.particle_list
         
     | 
| 
      
 10 
     | 
    
         
            +
              html.connect(params, &bloc)
         
     | 
| 
       6 
11 
     | 
    
         
             
            end
         
     | 
| 
       7 
12 
     | 
    
         | 
| 
       8 
13 
     | 
    
         
             
            new({ particle: :message }) do |params, bloc|
         
     | 
| 
         @@ -1,29 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            #   {value: params, unit: :px} unless params.instance_of? Hash
         
     | 
| 
       8 
     | 
    
         
            -
            # end
         
     | 
| 
       9 
     | 
    
         
            -
            # new({ particle: :top, type: :integer })do |params|
         
     | 
| 
       10 
     | 
    
         
            -
            #   {value: params, unit: :px} unless params.instance_of? Hash
         
     | 
| 
       11 
     | 
    
         
            -
            #
         
     | 
| 
       12 
     | 
    
         
            -
            # end
         
     | 
| 
       13 
     | 
    
         
            -
            # new({ particle: :bottom, type: :integer })do |params|
         
     | 
| 
       14 
     | 
    
         
            -
            #  {value: params, unit: :px} unless params.instance_of? Hash
         
     | 
| 
       15 
     | 
    
         
            -
            # end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            new ({particle: :left})
         
     | 
| 
       18 
     | 
    
         
            -
            new ({particle: :right})
         
     | 
| 
       19 
     | 
    
         
            -
            new ({particle: :top})
         
     | 
| 
       20 
     | 
    
         
            -
            new ({particle: :bottom})
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            new({ particle: :left })
         
     | 
| 
      
 4 
     | 
    
         
            +
            new({ particle: :right })
         
     | 
| 
      
 5 
     | 
    
         
            +
            new({ particle: :top })
         
     | 
| 
      
 6 
     | 
    
         
            +
            new({ particle: :bottom })
         
     | 
| 
       23 
7 
     | 
    
         
             
            new({ particle: :rotate, type: :integer })
         
     | 
| 
       24 
8 
     | 
    
         
             
            new({ particle: :direction, type: :string })
         
     | 
| 
       25 
     | 
    
         
            -
            new({ particle: : 
     | 
| 
       26 
     | 
    
         
            -
            new({particle: :depth, type: :integer})
         
     | 
| 
      
 9 
     | 
    
         
            +
            new({ particle: :depth, type: :integer })
         
     | 
| 
       27 
10 
     | 
    
         
             
            new({ particle: :position })
         
     | 
| 
       28 
11 
     | 
    
         
             
            new({ particle: :organise })
         
     | 
| 
       29 
12 
     | 
    
         
             
            new({ particle: :spacing })
         
     | 
| 
         @@ -32,7 +15,6 @@ new({ particle: :display }) do |params| 
     | 
|
| 
       32 
15 
     | 
    
         
             
              params
         
     | 
| 
       33 
16 
     | 
    
         
             
            end
         
     | 
| 
       34 
17 
     | 
    
         
             
            new({ particle: :layout }) do |params|
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
18 
     | 
    
         
             
              mode_found = params.delete(:mode) || :list
         
     | 
| 
       37 
19 
     | 
    
         
             
              elements_style = params.delete(:element) || {}
         
     | 
| 
       38 
20 
     | 
    
         
             
              # now we get the list of the atome to layout
         
     | 
| 
         @@ -45,14 +27,13 @@ new({ particle: :layout }) do |params| 
     | 
|
| 
       45 
27 
     | 
    
         
             
                atomes_to_organise.each do |atome_id_to_organise|
         
     | 
| 
       46 
28 
     | 
    
         
             
                  atome_found = grab(atome_id_to_organise)
         
     | 
| 
       47 
29 
     | 
    
         
             
                  # now restoring
         
     | 
| 
       48 
     | 
    
         
            -
                   
     | 
| 
       49 
     | 
    
         
            -
                    atome_found.backup.each do |particle, value|
         
     | 
| 
       50 
     | 
    
         
            -
                      atome_found.send(:delete, particle)
         
     | 
| 
       51 
     | 
    
         
            -
                      atome_found.send(particle, value)
         
     | 
| 
       52 
     | 
    
         
            -
                    end
         
     | 
| 
       53 
     | 
    
         
            -
                    atome_found.remove_layout
         
     | 
| 
       54 
     | 
    
         
            -
                  end
         
     | 
| 
      
 30 
     | 
    
         
            +
                  next unless atome_found.backup
         
     | 
| 
       55 
31 
     | 
    
         | 
| 
      
 32 
     | 
    
         
            +
                  atome_found.backup.each do |particle, value|
         
     | 
| 
      
 33 
     | 
    
         
            +
                    atome_found.send(:delete, particle)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    atome_found.send(particle, value)
         
     | 
| 
      
 35 
     | 
    
         
            +
                  end
         
     | 
| 
      
 36 
     | 
    
         
            +
                  atome_found.remove_layout
         
     | 
| 
       56 
37 
     | 
    
         
             
                end
         
     | 
| 
       57 
38 
     | 
    
         
             
              else
         
     | 
| 
       58 
39 
     | 
    
         | 
| 
         @@ -76,12 +57,10 @@ new({ particle: :layout }) do |params| 
     | 
|
| 
       76 
57 
     | 
    
         
             
                atomes_to_organise.each do |atome_id_to_organise|
         
     | 
| 
       77 
58 
     | 
    
         
             
                  atome_found = grab(atome_id_to_organise)
         
     | 
| 
       78 
59 
     | 
    
         
             
                  # now restoring
         
     | 
| 
       79 
     | 
    
         
            -
                   
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
                    end
         
     | 
| 
       84 
     | 
    
         
            -
                    # atome_found.remove_layout
         
     | 
| 
      
 60 
     | 
    
         
            +
                  # atome_found.remove_layout
         
     | 
| 
      
 61 
     | 
    
         
            +
                  atome_found.backup&.each do |particle, value|
         
     | 
| 
      
 62 
     | 
    
         
            +
                    atome_found.send(:delete, particle)
         
     | 
| 
      
 63 
     | 
    
         
            +
                    atome_found.send(particle, value)
         
     | 
| 
       85 
64 
     | 
    
         
             
                  end
         
     | 
| 
       86 
65 
     | 
    
         
             
                  # we remove previous display mode
         
     | 
| 
       87 
66 
     | 
    
         
             
                  atome_found.remove_layout
         
     | 
| 
         @@ -107,7 +86,7 @@ new({ particle: :layout }) do |params| 
     | 
|
| 
       107 
86 
     | 
    
         
             
              end
         
     | 
| 
       108 
87 
     | 
    
         
             
              params
         
     | 
| 
       109 
88 
     | 
    
         
             
            end
         
     | 
| 
       110 
     | 
    
         
            -
            new({particle: :center})
         
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
      
 89 
     | 
    
         
            +
            new({ particle: :center, type: :hash }) do |params|
         
     | 
| 
      
 90 
     | 
    
         
            +
              params = { x: 0, y: 0, dynamic: true } if params == true
         
     | 
| 
      
 91 
     | 
    
         
            +
              params
         
     | 
| 
      
 92 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -65,17 +65,16 @@ new({ particle: :delete, render: false }) do |params| 
     | 
|
| 
       65 
65 
     | 
    
         
             
            end
         
     | 
| 
       66 
66 
     | 
    
         
             
            new({ particle: :clear })
         
     | 
| 
       67 
67 
     | 
    
         | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
68 
     | 
    
         
             
            new({ post: :clear }) do
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
      
 69 
     | 
    
         
            +
              attached_found = []
         
     | 
| 
      
 70 
     | 
    
         
            +
              attached.each do |attached_id_found|
         
     | 
| 
      
 71 
     | 
    
         
            +
                attached_found << attached_id_found
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
              attached_found.each do |child_id_found|
         
     | 
| 
      
 74 
     | 
    
         
            +
                child_found = grab(child_id_found)
         
     | 
| 
      
 75 
     | 
    
         
            +
                # we exclude system  objects
         
     | 
| 
      
 76 
     | 
    
         
            +
                child_found&.delete(true) unless child_found.tag && child_found.tag[:system]
         
     | 
| 
      
 77 
     | 
    
         
            +
              end
         
     | 
| 
       79 
78 
     | 
    
         
             
            end
         
     | 
| 
       80 
79 
     | 
    
         
             
            new({ particle: :path })
         
     | 
| 
       81 
80 
     | 
    
         
             
            new({ particle: :schedule }) do |date, proc|
         
     | 
| 
         @@ -113,7 +112,7 @@ end 
     | 
|
| 
       113 
112 
     | 
    
         
             
            new({ particle: :relations, type: :hash })
         
     | 
| 
       114 
113 
     | 
    
         
             
            new({ particle: :tag, render: false, type: :hash })
         
     | 
| 
       115 
114 
     | 
    
         
             
            new({ particle: :web })
         
     | 
| 
       116 
     | 
    
         
            -
            new({ particle: :metrics, type: :hash })
         
     | 
| 
      
 115 
     | 
    
         
            +
            # new({ particle: :metrics, type: :hash })
         
     | 
| 
       117 
116 
     | 
    
         
             
            new({ initialize: :unit, value: {} })
         
     | 
| 
       118 
117 
     | 
    
         
             
            new({ particle: :login }) do |params|
         
     | 
| 
       119 
118 
     | 
    
         
             
              set_current_user(id) if params
         
     | 
| 
         @@ -239,10 +238,15 @@ new({ particle: :compute }) do |params| 
     | 
|
| 
       239 
238 
     | 
    
         
             
              params
         
     | 
| 
       240 
239 
     | 
    
         
             
            end
         
     | 
| 
       241 
240 
     | 
    
         | 
| 
       242 
     | 
    
         
            -
             
     | 
| 
       243 
241 
     | 
    
         
             
            new({ particle: :get }) do |params|
         
     | 
| 
       244 
242 
     | 
    
         
             
              cell = params[:cell]
         
     | 
| 
       245 
243 
     | 
    
         
             
              row_nb = cell[0]
         
     | 
| 
       246 
244 
     | 
    
         
             
              column_nb = cell[1]
         
     | 
| 
       247 
245 
     | 
    
         
             
              data[row_nb][data[row_nb].keys[column_nb]] # we get the content of the cell
         
     | 
| 
      
 246 
     | 
    
         
            +
            end
         
     | 
| 
      
 247 
     | 
    
         
            +
             
     | 
| 
      
 248 
     | 
    
         
            +
            new ({ particle: :css })
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
      
 250 
     | 
    
         
            +
            new({ read: :css }) do
         
     | 
| 
      
 251 
     | 
    
         
            +
              CssProxy.new(js, nil, self)
         
     | 
| 
       248 
252 
     | 
    
         
             
            end
         
     | 
| 
         @@ -72,7 +72,7 @@ Atome.new( 
     | 
|
| 
       72 
72 
     | 
    
         
             
            # unreal port, hold system object and tools
         
     | 
| 
       73 
73 
     | 
    
         
             
            Atome.new(
         
     | 
| 
       74 
74 
     | 
    
         
             
              { renderers: default_render, id: :intuition, type: :shape, attach: :user_view, tag: { system: true },
         
     | 
| 
       75 
     | 
    
         
            -
                left: 0, top: 0, width: 0, height:  
     | 
| 
      
 75 
     | 
    
         
            +
                left: 0, top: 0, bottom: 0,width: 0, height: :auto, overflow: :visible
         
     | 
| 
       76 
76 
     | 
    
         
             
              }
         
     | 
| 
       77 
77 
     | 
    
         
             
            )
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
         @@ -137,4 +137,7 @@ STR 
     | 
|
| 
       137 
137 
     | 
    
         
             
              code_text.touch(true) do
         
     | 
| 
       138 
138 
     | 
    
         
             
                eval(code)
         
     | 
| 
       139 
139 
     | 
    
         
             
              end
         
     | 
| 
       140 
     | 
    
         
            -
            end
         
     | 
| 
      
 140 
     | 
    
         
            +
            end
         
     | 
| 
      
 141 
     | 
    
         
            +
             
     | 
| 
      
 142 
     | 
    
         
            +
            # we init server default address
         
     | 
| 
      
 143 
     | 
    
         
            +
            A.server({ address: 'localhost:9292' , type: 'ws'})
         
     | 
| 
         @@ -22,18 +22,18 @@ module Essentials 
     | 
|
| 
       22 
22 
     | 
    
         
             
                video: { type: :video },
         
     | 
| 
       23 
23 
     | 
    
         
             
                animation: { type: :animation, attach: :black_matter },
         
     | 
| 
       24 
24 
     | 
    
         
             
                element: { type: :element, renderers: [], attach: :black_matter },
         
     | 
| 
       25 
     | 
    
         
            -
                box: { type: :shape, width:  
     | 
| 
      
 25 
     | 
    
         
            +
                box: { type: :shape, width: 39, height: 39,
         
     | 
| 
       26 
26 
     | 
    
         
             
                       apply: [:box_color],
         
     | 
| 
       27 
     | 
    
         
            -
                       left:  
     | 
| 
       28 
     | 
    
         
            -
                vector: { type: :vector, width:  
     | 
| 
       29 
     | 
    
         
            -
                          left:  
     | 
| 
       30 
     | 
    
         
            -
                circle: { type: :shape, width:  
     | 
| 
      
 27 
     | 
    
         
            +
                       left: 0, top: 0,  preset: :box },
         
     | 
| 
      
 28 
     | 
    
         
            +
                vector: { type: :vector, width: 39, height: 39,
         
     | 
| 
      
 29 
     | 
    
         
            +
                          left: 0, top: 0,  preset: :vector, definition: corp },
         
     | 
| 
      
 30 
     | 
    
         
            +
                circle: { type: :shape, width: 39, height: 39, smooth: '100%',
         
     | 
| 
       31 
31 
     | 
    
         
             
                          apply: [:circle_color],
         
     | 
| 
       32 
     | 
    
         
            -
                          left:  
     | 
| 
       33 
     | 
    
         
            -
                shape: { type: :shape, width:  
     | 
| 
      
 32 
     | 
    
         
            +
                          left: 0, top: 0,  preset: :circle },
         
     | 
| 
      
 33 
     | 
    
         
            +
                shape: { type: :shape, width: 39, height: 39,
         
     | 
| 
       34 
34 
     | 
    
         
             
                         apply: [:shape_color],
         
     | 
| 
       35 
     | 
    
         
            -
                         left:  
     | 
| 
       36 
     | 
    
         
            -
                text: { type: :text, component: { size:  
     | 
| 
      
 35 
     | 
    
         
            +
                         left: 0, top: 0 },
         
     | 
| 
      
 36 
     | 
    
         
            +
                text: { type: :text, component: { size: 12 },left: 0, top: 0,
         
     | 
| 
       37 
37 
     | 
    
         
             
                        apply: [:text_color],
         
     | 
| 
       38 
38 
     | 
    
         
             
                        width: :auto, height: :auto, language: :english },
         
     | 
| 
       39 
39 
     | 
    
         
             
                drm: { type: :drm, attach: :black_matter },
         
     | 
| 
         @@ -21,6 +21,9 @@ class Atome 
     | 
|
| 
       21 
21 
     | 
    
         
             
                  JS.eval(js_command)
         
     | 
| 
       22 
22 
     | 
    
         
             
                end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       24 
27 
     | 
    
         
             
                # def global_monitoring(instance, methods_to_monitor, variables_to_monitor)
         
     | 
| 
       25 
28 
     | 
    
         
             
                #   methods_to_monitor.each do |methode|
         
     | 
| 
       26 
29 
     | 
    
         
             
                #     original_method = instance.method(methode)
         
     | 
| 
         @@ -282,6 +285,14 @@ class Atome 
     | 
|
| 
       282 
285 
     | 
    
         
             
                end
         
     | 
| 
       283 
286 
     | 
    
         
             
              end
         
     | 
| 
       284 
287 
     | 
    
         | 
| 
      
 288 
     | 
    
         
            +
              def each_with_index(&proc)
         
     | 
| 
      
 289 
     | 
    
         
            +
                index=0
         
     | 
| 
      
 290 
     | 
    
         
            +
                collect.each do |val|
         
     | 
| 
      
 291 
     | 
    
         
            +
                  instance_exec(val,index, &proc) if proc.is_a?(Proc)
         
     | 
| 
      
 292 
     | 
    
         
            +
                  index+=1
         
     | 
| 
      
 293 
     | 
    
         
            +
                end
         
     | 
| 
      
 294 
     | 
    
         
            +
              end
         
     | 
| 
      
 295 
     | 
    
         
            +
             
     | 
| 
       285 
296 
     | 
    
         
             
              def <<(item)
         
     | 
| 
       286 
297 
     | 
    
         
             
                collect << item
         
     | 
| 
       287 
298 
     | 
    
         
             
              end
         
     | 
| 
         @@ -330,5 +341,20 @@ class Atome 
     | 
|
| 
       330 
341 
     | 
    
         
             
                  parent_found.delete(true)
         
     | 
| 
       331 
342 
     | 
    
         
             
                end
         
     | 
| 
       332 
343 
     | 
    
         
             
              end
         
     | 
| 
      
 344 
     | 
    
         
            +
              def server(server_params=nil)
         
     | 
| 
      
 345 
     | 
    
         
            +
                if server_params
         
     | 
| 
      
 346 
     | 
    
         
            +
                  @current_server= server_params
         
     | 
| 
      
 347 
     | 
    
         
            +
                else
         
     | 
| 
      
 348 
     | 
    
         
            +
                  @current_server
         
     | 
| 
      
 349 
     | 
    
         
            +
                end
         
     | 
| 
      
 350 
     | 
    
         
            +
             
     | 
| 
      
 351 
     | 
    
         
            +
              end
         
     | 
| 
      
 352 
     | 
    
         
            +
             
     | 
| 
      
 353 
     | 
    
         
            +
              def init_websocket
         
     | 
| 
      
 354 
     | 
    
         
            +
                connection(server)
         
     | 
| 
      
 355 
     | 
    
         
            +
              end
         
     | 
| 
       333 
356 
     | 
    
         | 
| 
       334 
357 
     | 
    
         
             
            end
         
     | 
| 
      
 358 
     | 
    
         
            +
             
     | 
| 
      
 359 
     | 
    
         
            +
             
     | 
| 
      
 360 
     | 
    
         
            +
             
     | 
| 
         
            File without changes
         
     | 
    
        data/lib/atome/presets/atome.rb
    CHANGED
    
    | 
         @@ -34,7 +34,9 @@ class Atome 
     | 
|
| 
       34 
34 
     | 
    
         
             
                else
         
     | 
| 
       35 
35 
     | 
    
         
             
                  params[:attach] = params[:attach] || @id || :view
         
     | 
| 
       36 
36 
     | 
    
         
             
                end
         
     | 
| 
       37 
     | 
    
         
            -
                 
     | 
| 
      
 37 
     | 
    
         
            +
                # # we reorder the hash
         
     | 
| 
      
 38 
     | 
    
         
            +
                reordered_params =reorder_particles(params)
         
     | 
| 
      
 39 
     | 
    
         
            +
                reordered_params
         
     | 
| 
       38 
40 
     | 
    
         
             
              end
         
     | 
| 
       39 
41 
     | 
    
         | 
| 
       40 
42 
     | 
    
         
             
              def preset_common(params, &bloc)
         
     | 
| 
         @@ -44,6 +46,7 @@ class Atome 
     | 
|
| 
       44 
46 
     | 
    
         
             
              end
         
     | 
| 
       45 
47 
     | 
    
         | 
| 
       46 
48 
     | 
    
         
             
              def box(params = {}, &bloc)
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
       47 
50 
     | 
    
         
             
                atome_preset = :box
         
     | 
| 
       48 
51 
     | 
    
         
             
                params = atome_common(atome_preset, params)
         
     | 
| 
       49 
52 
     | 
    
         
             
                preset_common(params, &bloc)
         
     | 
    
        data/lib/atome/version.rb
    CHANGED
    
    
| 
         @@ -1,27 +1,39 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            new({ method: :width, type: :integer, renderer: :html }) do |value, _user_proc|
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            # new({ method: :width, type: :integer, renderer: :html }) do |value, _user_proc|
         
     | 
| 
      
 4 
     | 
    
         
            +
            #   unit_found = metrics[:width]
         
     | 
| 
      
 5 
     | 
    
         
            +
            #   if unit_found
         
     | 
| 
      
 6 
     | 
    
         
            +
            #     html.style(:width, "#{value}#{unit_found}")
         
     | 
| 
      
 7 
     | 
    
         
            +
            #   elsif value.is_a?(Numeric)
         
     | 
| 
      
 8 
     | 
    
         
            +
            #     html.style(:width, "#{value}px")
         
     | 
| 
      
 9 
     | 
    
         
            +
            #   else
         
     | 
| 
      
 10 
     | 
    
         
            +
            #     html.style(:width, value)
         
     | 
| 
      
 11 
     | 
    
         
            +
            #   end
         
     | 
| 
      
 12 
     | 
    
         
            +
            # end
         
     | 
| 
      
 13 
     | 
    
         
            +
            #
         
     | 
| 
      
 14 
     | 
    
         
            +
            # new({ method: :height, renderer: :html, type: :string }) do |value, _user_proc|
         
     | 
| 
      
 15 
     | 
    
         
            +
            #   unit_found = metrics,
         
     | 
| 
      
 16 
     | 
    
         
            +
            #     [:height]
         
     | 
| 
      
 17 
     | 
    
         
            +
            #   if unit_found
         
     | 
| 
      
 18 
     | 
    
         
            +
            #     html.style(:height, "#{value}#{unit_found}")
         
     | 
| 
      
 19 
     | 
    
         
            +
            #   elsif value.is_a?(Numeric)
         
     | 
| 
      
 20 
     | 
    
         
            +
            #     html.style(:height, "#{value}px")
         
     | 
| 
      
 21 
     | 
    
         
            +
            #   else
         
     | 
| 
      
 22 
     | 
    
         
            +
            #     html.style(:height, value)
         
     | 
| 
      
 23 
     | 
    
         
            +
            #   end
         
     | 
| 
      
 24 
     | 
    
         
            +
            # end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            new({ method: :width, renderer: :html, type: :int }) do |params, _user_proc|
         
     | 
| 
      
 27 
     | 
    
         
            +
              unit = @unit[:width] || :px if params.is_a? Numeric
         
     | 
| 
      
 28 
     | 
    
         
            +
              js[:style][:width] = "#{params}#{unit}"
         
     | 
| 
       12 
29 
     | 
    
         
             
            end
         
     | 
| 
       13 
30 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
            new({ method: :height, renderer: :html, type: : 
     | 
| 
       15 
     | 
    
         
            -
               
     | 
| 
       16 
     | 
    
         
            -
               
     | 
| 
       17 
     | 
    
         
            -
                html.style(:height, "#{value}#{unit_found}")
         
     | 
| 
       18 
     | 
    
         
            -
              elsif value.is_a?(Numeric)
         
     | 
| 
       19 
     | 
    
         
            -
                html.style(:height, "#{value}px")
         
     | 
| 
       20 
     | 
    
         
            -
              else
         
     | 
| 
       21 
     | 
    
         
            -
                html.style(:height, value)
         
     | 
| 
       22 
     | 
    
         
            -
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
            new({ method: :height, renderer: :html, type: :int }) do |params, _user_proc|
         
     | 
| 
      
 32 
     | 
    
         
            +
              unit = @unit[:height] || :px if params.is_a? Numeric
         
     | 
| 
      
 33 
     | 
    
         
            +
              js[:style][:height] = "#{params}#{unit}"
         
     | 
| 
       23 
34 
     | 
    
         
             
            end
         
     | 
| 
       24 
35 
     | 
    
         | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
       25 
37 
     | 
    
         
             
            # new({ method: :size, type: :hash, renderer: :html }) do |value, _user_proc|
         
     | 
| 
       26 
38 
     | 
    
         
             
            #   # html.style('fontSize',"#{value}px")
         
     | 
| 
       27 
39 
     | 
    
         
             
            # end
         
     | 
    
        data/lib/renderers/html/html.rb
    CHANGED
    
    | 
         @@ -210,7 +210,16 @@ class HTML 
     | 
|
| 
       210 
210 
     | 
    
         
             
              end
         
     | 
| 
       211 
211 
     | 
    
         | 
| 
       212 
212 
     | 
    
         
             
              def connect(params, &bloc)
         
     | 
| 
       213 
     | 
    
         
            -
                 
     | 
| 
      
 213 
     | 
    
         
            +
                type= params[:type]
         
     | 
| 
      
 214 
     | 
    
         
            +
                server= params[:address]
         
     | 
| 
      
 215 
     | 
    
         
            +
                user=params[:user]
         
     | 
| 
      
 216 
     | 
    
         
            +
                pass=params[:pass]
         
     | 
| 
      
 217 
     | 
    
         
            +
                atomes=params[:atomes]
         
     | 
| 
      
 218 
     | 
    
         
            +
                particles=params[:particles]
         
     | 
| 
      
 219 
     | 
    
         
            +
                JS.eval("atomeJS.connect('#{type}','#{server}','#{user}','#{pass}',#{atomes.to_json},#{particles.to_json})")
         
     | 
| 
      
 220 
     | 
    
         
            +
                #
         
     | 
| 
      
 221 
     | 
    
         
            +
                # JS.eval("atomeJS.connect('ws://#{server}')")
         
     | 
| 
      
 222 
     | 
    
         
            +
                # @original_atome.message(:helloworld)
         
     | 
| 
       214 
223 
     | 
    
         
             
              end
         
     | 
| 
       215 
224 
     | 
    
         | 
| 
       216 
225 
     | 
    
         
             
              def send_message(message)
         
     | 
| 
         @@ -1475,6 +1484,7 @@ class HTML 
     | 
|
| 
       1475 
1484 
     | 
    
         | 
| 
       1476 
1485 
     | 
    
         
             
              def center(options, attach)
         
     | 
| 
       1477 
1486 
     | 
    
         
             
                @center_options = options
         
     | 
| 
      
 1487 
     | 
    
         
            +
             
     | 
| 
       1478 
1488 
     | 
    
         
             
                @parent = grab(attach)
         
     | 
| 
       1479 
1489 
     | 
    
         | 
| 
       1480 
1490 
     | 
    
         
             
                apply_centering(@center_options, @parent)
         
     | 
| 
         @@ -42,7 +42,8 @@ new({ method: :type, type: :string, specific: :color, renderer: :html }) do 
     | 
|
| 
       42 
42 
     | 
    
         
             
            end
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
            new({ method: :data, type: :string, specific: :text, renderer: :html }) do |params|
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
              js[:innerHTML] = if int8[language]
         
     | 
| 
       46 
47 
     | 
    
         
             
                                 int8[language].to_s
         
     | 
| 
       47 
48 
     | 
    
         
             
                               else
         
     | 
| 
       48 
49 
     | 
    
         
             
                                 params.to_s
         
     | 
| 
         @@ -1,24 +1,23 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            new({ method: :left, type: :integer, renderer: :html }) do |params|
         
     | 
| 
       4 
     | 
    
         
            -
              unit = @unit[:left] || :px
         
     | 
| 
      
 4 
     | 
    
         
            +
              unit = @unit[:left] || :px if params.is_a? Numeric
         
     | 
| 
       5 
5 
     | 
    
         
             
              js[:style][:left] = "#{params}#{unit}"
         
     | 
| 
       6 
6 
     | 
    
         
             
            end
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            new({ method: :top, type: :integer, renderer: :html }) do |params|
         
     | 
| 
       9 
     | 
    
         
            -
              unit = @unit[:top] || :px
         
     | 
| 
       10 
     | 
    
         
            -
              # alert  unit
         
     | 
| 
      
 9 
     | 
    
         
            +
              unit = @unit[:top] || :px if params.is_a? Numeric
         
     | 
| 
       11 
10 
     | 
    
         
             
              js[:style][:top] = "#{params}#{unit}"
         
     | 
| 
       12 
11 
     | 
    
         
             
            end
         
     | 
| 
       13 
12 
     | 
    
         
             
            new({ method: :bottom, type: :integer, renderer: :html }) do |params|
         
     | 
| 
       14 
     | 
    
         
            -
              unit = @unit[:bottom] || :px
         
     | 
| 
       15 
     | 
    
         
            -
              js[:style][:bottom] = 
     | 
| 
      
 13 
     | 
    
         
            +
              unit = @unit[:bottom] || :px if params.is_a? Numeric
         
     | 
| 
      
 14 
     | 
    
         
            +
              js[:style][:bottom] = "#{params}#{unit}"
         
     | 
| 
       16 
15 
     | 
    
         
             
            end
         
     | 
| 
       17 
16 
     | 
    
         | 
| 
       18 
17 
     | 
    
         
             
            new({ method: :right, type: :integer, renderer: :html }) do |params|
         
     | 
| 
       19 
     | 
    
         
            -
              unit = @unit[:right] || :px
         
     | 
| 
      
 18 
     | 
    
         
            +
              unit = @unit[:right] || :px if params.is_a? Numeric
         
     | 
| 
       20 
19 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
              js[:style][:right] = 
     | 
| 
      
 20 
     | 
    
         
            +
              js[:style][:right] = "#{params}#{unit}"
         
     | 
| 
       22 
21 
     | 
    
         
             
            end
         
     | 
| 
       23 
22 
     | 
    
         | 
| 
       24 
23 
     | 
    
         
             
            new({ method: :top, type: :integer, renderer: :html, specific: :shadow })
         
     |