atome 0.5.6.1.1 → 0.5.6.1.4
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 +4 -4
- data/exe/atome +78 -2
- data/lib/atome/genesis/generators/communication.rb +5 -0
- data/lib/atome/genesis/sparkle.rb +2 -2
- data/lib/atome/helpers/utilities.rb +9 -12
- data/lib/atome/version.rb +1 -1
- data/vendor/assets/server/atome_server.rb +15 -9
- data/vendor/assets/server/atome_server_wasm.rb +2 -2
- data/vendor/assets/src/index_server.html +1 -0
- data/vendor/assets/src/index_server_wasm.html +1 -0
- data/vendor/assets/src/js/atome/atome_helpers/communication.js +2 -0
- metadata +2 -33
- data/Guardfile +0 -0
- data/server/atome_server.rb +0 -293
- data/server/atome_server_wasm.rb +0 -112
- data/server/capture.rb +0 -10
- data/server/config.ru +0 -13
- data/src/css/style.css +0 -162
- data/src-tauri/.gitignore +0 -4
- data/src-tauri/Cargo.toml +0 -27
- data/src-tauri/build.rs +0 -3
- 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 +0 -71
- data/src-tauri/tauri.conf.json +0 -70
- 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
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8a515b71a46e24e1b7ea6a668c26ee2ece0c52fb9ddce21bb132b1e115245d35
         | 
| 4 | 
            +
              data.tar.gz: 59552abb50bb72ac0320f7ea03fa702dfc9b5d65a356937c285ef154f90c342b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f58521a86e18da6d1313c629dd35d60f03776beee6f2cbcbe9c8676ab6a36986ecfade194814abef3d95407fa8bebbd067ed4d9787059bb0a7ac73ff1363d2f1
         | 
| 7 | 
            +
              data.tar.gz: 86e9a462e19c7bdb62c834b5a08e98dee89f168cd7cb904cb34cd15a62e38bd385455eced957005f491d5d27f296f4f451a3c5ce6850a705448c46f0cda0b0d5
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -161,7 +161,7 @@ task :test_opal do | |
| 161 161 |  | 
| 162 162 | 
             
              puts 'atome opal is build and running!'
         | 
| 163 163 | 
             
            end
         | 
| 164 | 
            -
            task : | 
| 164 | 
            +
            task :test_server_wasm do
         | 
| 165 165 | 
             
              project_name = :test
         | 
| 166 166 | 
             
              source = '.'
         | 
| 167 167 | 
             
              destination = './tmp'
         | 
| @@ -171,7 +171,7 @@ task :server_wasm do | |
| 171 171 | 
             
              create_application(source, destination, project_name)
         | 
| 172 172 | 
             
              wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
         | 
| 173 173 | 
             
              puts 'atome wasm is build and running!'
         | 
| 174 | 
            -
               | 
| 174 | 
            +
              build_for_wasm_server(destination, project_name, 9292, :production)
         | 
| 175 175 |  | 
| 176 176 | 
             
            end
         | 
| 177 177 | 
             
            task :test_server do
         | 
| @@ -213,7 +213,7 @@ task :test_server do | |
| 213 213 | 
             
                end
         | 
| 214 214 |  | 
| 215 215 | 
             
              end
         | 
| 216 | 
            -
               | 
| 216 | 
            +
              build_for_opal_server(destination, project_name, 9292, :production)
         | 
| 217 217 | 
             
            end
         | 
| 218 218 |  | 
| 219 219 | 
             
            task :test_osx do
         | 
| @@ -292,7 +292,7 @@ task :osx_server do | |
| 292 292 | 
             
              destination = './tmp'
         | 
| 293 293 | 
             
              threads = []
         | 
| 294 294 | 
             
              threads << Thread.new do
         | 
| 295 | 
            -
                 | 
| 295 | 
            +
                build_for_opal_server(destination, project_name, 9292, :production)
         | 
| 296 296 | 
             
              end
         | 
| 297 297 | 
             
              build_for_osx(destination)
         | 
| 298 298 |  | 
    
        data/exe/atome
    CHANGED
    
    | @@ -353,7 +353,7 @@ def build_for_osx(destination, mode = :dev) | |
| 353 353 |  | 
| 354 354 | 
             
            end
         | 
| 355 355 |  | 
| 356 | 
            -
            def  | 
| 356 | 
            +
            def build_for_opal_server(destination, project_name, port, production)
         | 
| 357 357 | 
             
              if production
         | 
| 358 358 | 
             
                prod = '--env production'
         | 
| 359 359 | 
             
                ru_file = <<STR
         | 
| @@ -383,7 +383,9 @@ STR | |
| 383 383 | 
             
                File.open("#{destination}/#{project_name}/server/config.ru", "w") do |f|
         | 
| 384 384 | 
             
                  f.write(ru_file)
         | 
| 385 385 | 
             
                end
         | 
| 386 | 
            +
                puts 'o-a'
         | 
| 386 387 | 
             
                `cd #{destination}/#{project_name}/server;puma --port #{port} #{prod}`
         | 
| 388 | 
            +
                puts 'o-b'
         | 
| 387 389 | 
             
              else
         | 
| 388 390 | 
             
                # code to exec with Unix/Linux
         | 
| 389 391 | 
             
                File.open("#{destination}/#{project_name}/server/config.ru", "w") do |f|
         | 
| @@ -394,6 +396,55 @@ STR | |
| 394 396 |  | 
| 395 397 | 
             
            end
         | 
| 396 398 |  | 
| 399 | 
            +
             | 
| 400 | 
            +
            def build_for_wasm_server(destination, project_name, port, production)
         | 
| 401 | 
            +
              if production
         | 
| 402 | 
            +
                prod = '--env production'
         | 
| 403 | 
            +
                ru_file = <<STR
         | 
| 404 | 
            +
            require 'roda'
         | 
| 405 | 
            +
            require './atome_server_wasm.rb'
         | 
| 406 | 
            +
            run App.app.freeze
         | 
| 407 | 
            +
            STR
         | 
| 408 | 
            +
              else
         | 
| 409 | 
            +
                ru_file = <<STR
         | 
| 410 | 
            +
            require 'roda'
         | 
| 411 | 
            +
            require 'rack/unreloader'
         | 
| 412 | 
            +
            Unreloader = Rack::Unreloader.new(subclasses: %w[Roda]) { App }
         | 
| 413 | 
            +
            Unreloader.require './atome_server_wasm.rb'
         | 
| 414 | 
            +
            run Unreloader
         | 
| 415 | 
            +
            require './atome_server.rb'
         | 
| 416 | 
            +
            STR
         | 
| 417 | 
            +
              end
         | 
| 418 | 
            +
             | 
| 419 | 
            +
              if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
         | 
| 420 | 
            +
             | 
| 421 | 
            +
                # code to exec with Windows
         | 
| 422 | 
            +
                File.open("#{destination}\\#{project_name}\\server\\config.ru", "w") do |f|
         | 
| 423 | 
            +
                  f.write(ru_file)
         | 
| 424 | 
            +
                end
         | 
| 425 | 
            +
                `cd /d #{destination}\\#{project_name}\\server && puma --port #{port} #{prod}`
         | 
| 426 | 
            +
              elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
         | 
| 427 | 
            +
                # code to exec with MacOS
         | 
| 428 | 
            +
                File.open("#{destination}/#{project_name}/server/config.ru", "w") do |f|
         | 
| 429 | 
            +
                  f.write(ru_file)
         | 
| 430 | 
            +
                end
         | 
| 431 | 
            +
                puts 'w-a'
         | 
| 432 | 
            +
             | 
| 433 | 
            +
                `cd #{destination}/#{project_name}/server;puma --port #{port} #{prod}`
         | 
| 434 | 
            +
                puts 'w-b'
         | 
| 435 | 
            +
             | 
| 436 | 
            +
              else
         | 
| 437 | 
            +
                puts 'e'
         | 
| 438 | 
            +
                # code to exec with Unix/Linux
         | 
| 439 | 
            +
                File.open("#{destination}/#{project_name}/server/config.ru", "w") do |f|
         | 
| 440 | 
            +
                  f.write(ru_file)
         | 
| 441 | 
            +
                end
         | 
| 442 | 
            +
                `cd #{destination}/#{project_name}/server;puma --port #{port} #{prod}`
         | 
| 443 | 
            +
              end
         | 
| 444 | 
            +
              puts 'f'
         | 
| 445 | 
            +
             | 
| 446 | 
            +
            end
         | 
| 447 | 
            +
             | 
| 397 448 | 
             
            # utils
         | 
| 398 449 | 
             
            def ensure_rb_extension(filename)
         | 
| 399 450 | 
             
              filename.end_with?('.rb') ? filename : "#{filename}.rb"
         | 
| @@ -703,13 +754,38 @@ else | |
| 703 754 | 
             
                  # end
         | 
| 704 755 | 
             
                end
         | 
| 705 756 | 
             
                threads << Thread.new do
         | 
| 706 | 
            -
                   | 
| 757 | 
            +
                  build_for_opal_server(destination, project_name, 9292, false)
         | 
| 707 758 | 
             
                end
         | 
| 708 759 |  | 
| 709 760 | 
             
                threads.each(&:join)
         | 
| 710 761 |  | 
| 711 762 | 
             
              end
         | 
| 712 763 |  | 
| 764 | 
            +
              if ARGV.include?('wasm_server')
         | 
| 765 | 
            +
                puts 'building Server'
         | 
| 766 | 
            +
                build_opal_application(nil, destination, project_name)
         | 
| 767 | 
            +
                build_host_mode(destination, project_name, 'web-opal')
         | 
| 768 | 
            +
                threads = []
         | 
| 769 | 
            +
                # threads << Thread.new do
         | 
| 770 | 
            +
                #   # sleep 1
         | 
| 771 | 
            +
                #   # if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
         | 
| 772 | 
            +
                #   #   # code to exec with Windows
         | 
| 773 | 
            +
                #   #   `start "" "#{destination}\\#{project_name}\\src\\index_server.html`
         | 
| 774 | 
            +
                #   # elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
         | 
| 775 | 
            +
                #   #   # code to exec with MacOS
         | 
| 776 | 
            +
                #   #   `open http://localhost:9292`
         | 
| 777 | 
            +
                #   # else
         | 
| 778 | 
            +
                #   #   # code to exec with Unix/Linux
         | 
| 779 | 
            +
                #   #   `open http://localhost:9292`
         | 
| 780 | 
            +
                #   # end
         | 
| 781 | 
            +
                # end
         | 
| 782 | 
            +
                threads << Thread.new do
         | 
| 783 | 
            +
                  build_for_wasm_server(destination, project_name, 9292, false)
         | 
| 784 | 
            +
                end
         | 
| 785 | 
            +
                threads.each(&:join)
         | 
| 786 | 
            +
                puts 'wasm server is running'
         | 
| 787 | 
            +
              end
         | 
| 788 | 
            +
             | 
| 713 789 | 
             
              if ARGV.include?('server_refresh')
         | 
| 714 790 | 
             
                puts 're building Server'
         | 
| 715 791 | 
             
                build_opal_application(nil, destination, project_name)
         | 
| @@ -7,7 +7,12 @@ new({ particle: :connection }) do |params, bloc| | |
| 7 7 | 
             
              params[:pass] = Black_matter.password
         | 
| 8 8 | 
             
              params[:atomes] = Universe.atome_list
         | 
| 9 9 | 
             
              params[:particles] = Universe.particle_list
         | 
| 10 | 
            +
              # FIXME :  html method shouldn't be here
         | 
| 10 11 | 
             
              html.connect(params, &bloc)
         | 
| 12 | 
            +
              # test below
         | 
| 13 | 
            +
              # wait 1 do
         | 
| 14 | 
            +
              #   message({message: 'cd ..;cd server;ls; pwd', action: :terminal })
         | 
| 15 | 
            +
              # end
         | 
| 11 16 | 
             
            end
         | 
| 12 17 |  | 
| 13 18 | 
             
            new({ particle: :message }) do |params, bloc|
         | 
| @@ -10,8 +10,6 @@ class Atome | |
| 10 10 | 
             
                  grab(parent).instance_exec(content, &bloc)
         | 
| 11 11 | 
             
                end
         | 
| 12 12 |  | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 13 | 
             
                def controller_sender(message)
         | 
| 16 14 | 
             
                  return if $host == :html
         | 
| 17 15 |  | 
| @@ -21,9 +19,6 @@ class Atome | |
| 21 19 | 
             
                  JS.eval(js_command)
         | 
| 22 20 | 
             
                end
         | 
| 23 21 |  | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 22 | 
             
                # def global_monitoring(instance, methods_to_monitor, variables_to_monitor)
         | 
| 28 23 | 
             
                #   methods_to_monitor.each do |methode|
         | 
| 29 24 | 
             
                #     original_method = instance.method(methode)
         | 
| @@ -55,7 +50,6 @@ class Atome | |
| 55 50 |  | 
| 56 51 | 
             
              end
         | 
| 57 52 |  | 
| 58 | 
            -
             | 
| 59 53 | 
             
              def help(particle, &doc)
         | 
| 60 54 | 
             
                if doc
         | 
| 61 55 | 
             
                  Universe.set_help(particle, &doc)
         | 
| @@ -74,7 +68,6 @@ class Atome | |
| 74 68 | 
             
                end
         | 
| 75 69 | 
             
              end
         | 
| 76 70 |  | 
| 77 | 
            -
             | 
| 78 71 | 
             
              # local server messaging
         | 
| 79 72 | 
             
              def file_for_opal(parent, bloc)
         | 
| 80 73 | 
             
                JS.eval("fileForOpal('#{parent}', #{bloc})")
         | 
| @@ -286,10 +279,10 @@ class Atome | |
| 286 279 | 
             
              end
         | 
| 287 280 |  | 
| 288 281 | 
             
              def each_with_index(&proc)
         | 
| 289 | 
            -
                index=0
         | 
| 282 | 
            +
                index = 0
         | 
| 290 283 | 
             
                collect.each do |val|
         | 
| 291 | 
            -
                  instance_exec(val,index, &proc) if proc.is_a?(Proc)
         | 
| 292 | 
            -
                  index+=1
         | 
| 284 | 
            +
                  instance_exec(val, index, &proc) if proc.is_a?(Proc)
         | 
| 285 | 
            +
                  index += 1
         | 
| 293 286 | 
             
                end
         | 
| 294 287 | 
             
              end
         | 
| 295 288 |  | 
| @@ -341,9 +334,10 @@ class Atome | |
| 341 334 | 
             
                  parent_found.delete(true)
         | 
| 342 335 | 
             
                end
         | 
| 343 336 | 
             
              end
         | 
| 344 | 
            -
             | 
| 337 | 
            +
             | 
| 338 | 
            +
              def server(server_params = nil)
         | 
| 345 339 | 
             
                if server_params
         | 
| 346 | 
            -
                  @current_server= server_params
         | 
| 340 | 
            +
                  @current_server = server_params
         | 
| 347 341 | 
             
                else
         | 
| 348 342 | 
             
                  @current_server
         | 
| 349 343 | 
             
                end
         | 
| @@ -354,6 +348,9 @@ class Atome | |
| 354 348 | 
             
                connection(server)
         | 
| 355 349 | 
             
              end
         | 
| 356 350 |  | 
| 351 | 
            +
              def init_database # this method is call from JS (atome/communication)
         | 
| 352 | 
            +
                message({action:  :init_db, value: {atome: {}, particles: {}} })
         | 
| 353 | 
            +
              end
         | 
| 357 354 | 
             
            end
         | 
| 358 355 |  | 
| 359 356 |  | 
    
        data/lib/atome/version.rb
    CHANGED
    
    
| @@ -16,15 +16,20 @@ require 'securerandom' | |
| 16 16 | 
             
            require 'sequel'
         | 
| 17 17 |  | 
| 18 18 | 
             
            class EDen
         | 
| 19 | 
            -
              def self.terminal(cmd,option,ws,value, user, pass)
         | 
| 19 | 
            +
              def self.terminal(cmd, option, ws, value, user, pass)
         | 
| 20 20 | 
             
                `#{cmd}`
         | 
| 21 21 | 
             
              end
         | 
| 22 22 |  | 
| 23 | 
            -
              def self. | 
| 24 | 
            -
                 | 
| 23 | 
            +
              def self.init_db(cmd, option, ws, value, user, pass)
         | 
| 24 | 
            +
                "the value is : #{value}"
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              def self.file(source, operation, ws, value, user, pass)
         | 
| 28 | 
            +
                file_content = File.send(operation, source, value).to_s
         | 
| 25 29 | 
             
                file_content = file_content.gsub("'", "\"")
         | 
| 26 30 | 
             
                "=> operation: #{operation}, source:  #{source} , content : #{file_content},"
         | 
| 27 31 | 
             
              end
         | 
| 32 | 
            +
             | 
| 28 33 | 
             
              # return_message = EDen.safe_send(action_requested, message,option, current_user, user_pass)
         | 
| 29 34 |  | 
| 30 35 | 
             
              def self.safe_send(method_name, *args)
         | 
| @@ -50,6 +55,8 @@ class String | |
| 50 55 | 
             
              end
         | 
| 51 56 | 
             
            end
         | 
| 52 57 |  | 
| 58 | 
            +
            puts "kjhj"
         | 
| 59 | 
            +
             | 
| 53 60 | 
             
            class Database
         | 
| 54 61 | 
             
              def self.connect_database
         | 
| 55 62 | 
             
                if File.exist?("eden.sqlite3")
         | 
| @@ -235,7 +242,6 @@ class Database | |
| 235 242 |  | 
| 236 243 | 
             
            end
         | 
| 237 244 |  | 
| 238 | 
            -
             | 
| 239 245 | 
             
            class App < Roda
         | 
| 240 246 |  | 
| 241 247 | 
             
              # comment below when test will be done
         | 
| @@ -248,7 +254,7 @@ class App < Roda | |
| 248 254 | 
             
              items.insert(creator: 'toi')
         | 
| 249 255 | 
             
              items.insert(creator: 'vous')
         | 
| 250 256 | 
             
              puts "Item count: #{items.count}"
         | 
| 251 | 
            -
              test= "Item count: #{items.count}"
         | 
| 257 | 
            +
              test = "Item count: #{items.count}"
         | 
| 252 258 | 
             
              # puts "My name is: #{items(:creator)}"
         | 
| 253 259 | 
             
              index_content = File.read("../src/index_server.html")
         | 
| 254 260 | 
             
              opts[:root] = '../src'
         | 
| @@ -259,7 +265,7 @@ class App < Roda | |
| 259 265 | 
             
                    ws = Faye::WebSocket.new(r.env)
         | 
| 260 266 | 
             
                    ws.on :open do |event|
         | 
| 261 267 | 
             
                      ws.send('server ready'.to_json)
         | 
| 262 | 
            -
                      ws.send('asking for synchro data'.to_json)
         | 
| 268 | 
            +
                      # ws.send('asking for synchro data'.to_json)
         | 
| 263 269 | 
             
                    end
         | 
| 264 270 |  | 
| 265 271 | 
             
                    ws.on(:message) do |event|
         | 
| @@ -267,12 +273,12 @@ class App < Roda | |
| 267 273 | 
             
                      full_data = JSON.parse(json_string)
         | 
| 268 274 | 
             
                      message = full_data['message']
         | 
| 269 275 | 
             
                      action_requested = full_data['action']
         | 
| 270 | 
            -
                      value= full_data['value']
         | 
| 271 | 
            -
                      option= full_data['option']
         | 
| 276 | 
            +
                      value = full_data['value']
         | 
| 277 | 
            +
                      option = full_data['option']
         | 
| 272 278 | 
             
                      current_user = full_data['user']
         | 
| 273 279 | 
             
                      user_pass = full_data['pass']['global']
         | 
| 274 280 | 
             
                      if action_requested
         | 
| 275 | 
            -
                        return_message = EDen.safe_send(action_requested, message,option,ws,value, current_user, user_pass)
         | 
| 281 | 
            +
                        return_message = EDen.safe_send(action_requested, message, option, ws, value, current_user, user_pass)
         | 
| 276 282 | 
             
                      else
         | 
| 277 283 | 
             
                        return_message = "no action msg: #{test}"
         | 
| 278 284 | 
             
                      end
         | 
| @@ -79,7 +79,7 @@ class App < Roda | |
| 79 79 |  | 
| 80 80 | 
             
              puts "The average price is: #{items.avg(:width)}"
         | 
| 81 81 |  | 
| 82 | 
            -
              index_content = File.read("../src/ | 
| 82 | 
            +
              index_content = File.read("../src/index_server_wasm.html")
         | 
| 83 83 |  | 
| 84 84 | 
             
              opts[:root] = '../src'
         | 
| 85 85 | 
             
              plugin :static, %w[/css /js /medias], root: '../src'
         | 
| @@ -90,7 +90,7 @@ class App < Roda | |
| 90 90 |  | 
| 91 91 | 
             
                    ws.on :open do |event|
         | 
| 92 92 | 
             
                      ws.send('server ready'.to_json)
         | 
| 93 | 
            -
                      ws.send('asking for synchro data'.to_json)
         | 
| 93 | 
            +
                      # ws.send('asking for synchro data'.to_json)
         | 
| 94 94 | 
             
                    end
         | 
| 95 95 |  | 
| 96 96 | 
             
                    ws.on(:message) do |event|
         | 
| @@ -66,6 +66,8 @@ const communication = { | |
| 66 66 | 
             
                    this.websocket = new WebSocket(type+'://'+server);
         | 
| 67 67 | 
             
                    this.websocket.onopen = function (event) {
         | 
| 68 68 | 
             
                        rubyVMCallback("puts 'Connected to WebSocket'")
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                        Opal.eval('A.init_database');
         | 
| 69 71 | 
             
                    };
         | 
| 70 72 | 
             
                    this.websocket.onmessage = function (event) {
         | 
| 71 73 | 
             
                        rubyVMCallback("puts 'object ruby callback : " + event.data + "'")
         | 
    
        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.6.1. | 
| 4 | 
            +
              version: 0.5.6.1.4
         | 
| 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-02- | 
| 11 | 
            +
            date: 2024-02-02 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: artoo
         | 
| @@ -371,7 +371,6 @@ files: | |
| 371 371 | 
             
            - CHANGELOG.md
         | 
| 372 372 | 
             
            - CODE_OF_CONDUCT.md
         | 
| 373 373 | 
             
            - Gemfile
         | 
| 374 | 
            -
            - Guardfile
         | 
| 375 374 | 
             
            - LICENSE.txt
         | 
| 376 375 | 
             
            - README.md
         | 
| 377 376 | 
             
            - Rakefile
         | 
| @@ -502,10 +501,6 @@ files: | |
| 502 501 | 
             
            - lib/renderers/server/index.rb
         | 
| 503 502 | 
             
            - lib/renderers/server/index_relative.rb
         | 
| 504 503 | 
             
            - lib/renderers/server/utility.rb
         | 
| 505 | 
            -
            - server/atome_server.rb
         | 
| 506 | 
            -
            - server/atome_server_wasm.rb
         | 
| 507 | 
            -
            - server/capture.rb
         | 
| 508 | 
            -
            - server/config.ru
         | 
| 509 504 | 
             
            - sig/atome.rbs
         | 
| 510 505 | 
             
            - sig/atome_js.rbs
         | 
| 511 506 | 
             
            - sig/batch.rbs
         | 
| @@ -516,32 +511,6 @@ files: | |
| 516 511 | 
             
            - sig/matrix.rbs
         | 
| 517 512 | 
             
            - sig/object.rbs
         | 
| 518 513 | 
             
            - sig/universe.rbs
         | 
| 519 | 
            -
            - src-tauri/.gitignore
         | 
| 520 | 
            -
            - src-tauri/Cargo.toml
         | 
| 521 | 
            -
            - src-tauri/build.rs
         | 
| 522 | 
            -
            - src-tauri/icons/128x128.png
         | 
| 523 | 
            -
            - src-tauri/icons/128x128@2x.png
         | 
| 524 | 
            -
            - src-tauri/icons/32x32.png
         | 
| 525 | 
            -
            - src-tauri/icons/Square107x107Logo.png
         | 
| 526 | 
            -
            - src-tauri/icons/Square142x142Logo.png
         | 
| 527 | 
            -
            - src-tauri/icons/Square150x150Logo.png
         | 
| 528 | 
            -
            - src-tauri/icons/Square284x284Logo.png
         | 
| 529 | 
            -
            - src-tauri/icons/Square30x30Logo.png
         | 
| 530 | 
            -
            - src-tauri/icons/Square310x310Logo.png
         | 
| 531 | 
            -
            - src-tauri/icons/Square44x44Logo.png
         | 
| 532 | 
            -
            - src-tauri/icons/Square71x71Logo.png
         | 
| 533 | 
            -
            - src-tauri/icons/Square89x89Logo.png
         | 
| 534 | 
            -
            - src-tauri/icons/StoreLogo.png
         | 
| 535 | 
            -
            - src-tauri/icons/icon.icns
         | 
| 536 | 
            -
            - src-tauri/icons/icon.ico
         | 
| 537 | 
            -
            - src-tauri/icons/icon.png
         | 
| 538 | 
            -
            - src-tauri/src/main.rs
         | 
| 539 | 
            -
            - src-tauri/tauri.conf.json
         | 
| 540 | 
            -
            - src-wasm/wasm/wasi-vfs-osx_arm
         | 
| 541 | 
            -
            - src-wasm/wasm/wasi-vfs-osx_x86
         | 
| 542 | 
            -
            - src-wasm/wasm/wasi-vfs-unix
         | 
| 543 | 
            -
            - src-wasm/wasm/wasi-vfs.exe
         | 
| 544 | 
            -
            - src/css/style.css
         | 
| 545 514 | 
             
            - src/utilities/host_mode.rb
         | 
| 546 515 | 
             
            - vendor/assets/Guardfile
         | 
| 547 516 | 
             
            - vendor/assets/Rakefile
         | 
    
        data/Guardfile
    DELETED
    
    | 
            File without changes
         | 
    
        data/server/atome_server.rb
    DELETED
    
    | @@ -1,293 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            # atome server
         | 
| 4 | 
            -
            require 'em/pure_ruby' if RUBY_PLATFORM == 'x64-mingw32'
         | 
| 5 | 
            -
            require 'fileutils'
         | 
| 6 | 
            -
            require '../src/utilities/aui'
         | 
| 7 | 
            -
            require 'digest/sha2'
         | 
| 8 | 
            -
            require 'faye/websocket'
         | 
| 9 | 
            -
            require 'geocoder'
         | 
| 10 | 
            -
            require 'json'
         | 
| 11 | 
            -
            require 'mail'
         | 
| 12 | 
            -
            require 'net/ping'
         | 
| 13 | 
            -
            require 'roda'
         | 
| 14 | 
            -
            require 'rufus-scheduler'
         | 
| 15 | 
            -
            require 'securerandom'
         | 
| 16 | 
            -
            require 'sequel'
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            class EDen
         | 
| 19 | 
            -
              def self.terminal(cmd,option,ws,value, user, pass)
         | 
| 20 | 
            -
                `#{cmd}`
         | 
| 21 | 
            -
              end
         | 
| 22 | 
            -
             | 
| 23 | 
            -
              def self.file(source, operation,ws,value,user, pass)
         | 
| 24 | 
            -
                file_content= File.send(operation, source, value).to_s
         | 
| 25 | 
            -
                file_content = file_content.gsub("'", "\"")
         | 
| 26 | 
            -
                "=> operation: #{operation}, source:  #{source} , content : #{file_content},"
         | 
| 27 | 
            -
              end
         | 
| 28 | 
            -
              # return_message = EDen.safe_send(action_requested, message,option, current_user, user_pass)
         | 
| 29 | 
            -
             | 
| 30 | 
            -
              def self.safe_send(method_name, *args)
         | 
| 31 | 
            -
                method_sym = method_name.to_sym
         | 
| 32 | 
            -
                eden_methods = EDen.singleton_methods(false) - Object.singleton_methods
         | 
| 33 | 
            -
                if eden_methods.include?(method_sym)
         | 
| 34 | 
            -
                  send(method_sym, *args)
         | 
| 35 | 
            -
                else
         | 
| 36 | 
            -
                  "forbidden action:  #{method_name}"
         | 
| 37 | 
            -
                end
         | 
| 38 | 
            -
              end
         | 
| 39 | 
            -
            end
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            Faye::WebSocket.load_adapter('puma')
         | 
| 42 | 
            -
             | 
| 43 | 
            -
            class String
         | 
| 44 | 
            -
              def is_json?
         | 
| 45 | 
            -
                begin
         | 
| 46 | 
            -
                  !JSON.parse(self).nil?
         | 
| 47 | 
            -
                rescue
         | 
| 48 | 
            -
                  false
         | 
| 49 | 
            -
                end
         | 
| 50 | 
            -
              end
         | 
| 51 | 
            -
            end
         | 
| 52 | 
            -
             | 
| 53 | 
            -
            class Database
         | 
| 54 | 
            -
              def self.connect_database
         | 
| 55 | 
            -
                if File.exist?("eden.sqlite3")
         | 
| 56 | 
            -
                  eden = Sequel.connect("sqlite://eden.sqlite3")
         | 
| 57 | 
            -
                else
         | 
| 58 | 
            -
                  eden = Sequel.connect("sqlite://eden.sqlite3")
         | 
| 59 | 
            -
                  eden.create_table :atome do
         | 
| 60 | 
            -
                    primary_key :atome_id
         | 
| 61 | 
            -
                    String :creator
         | 
| 62 | 
            -
                  end
         | 
| 63 | 
            -
             | 
| 64 | 
            -
                  eden.create_table :communication do
         | 
| 65 | 
            -
                    primary_key :communication_id
         | 
| 66 | 
            -
                    String :connection
         | 
| 67 | 
            -
                    JSON :message
         | 
| 68 | 
            -
                    JSON :controller
         | 
| 69 | 
            -
                  end
         | 
| 70 | 
            -
             | 
| 71 | 
            -
                  eden.create_table :effect do
         | 
| 72 | 
            -
                    primary_key :effect_id
         | 
| 73 | 
            -
                    Int :smooth
         | 
| 74 | 
            -
                    Int :blur
         | 
| 75 | 
            -
                  end
         | 
| 76 | 
            -
             | 
| 77 | 
            -
                  eden.create_table :event do
         | 
| 78 | 
            -
                    primary_key :event_id
         | 
| 79 | 
            -
                    JSON :touch
         | 
| 80 | 
            -
                    Boolean :play
         | 
| 81 | 
            -
                    Boolean :pause
         | 
| 82 | 
            -
                    Int :time
         | 
| 83 | 
            -
                    Boolean :on
         | 
| 84 | 
            -
                    Boolean :fullscreen
         | 
| 85 | 
            -
                    Boolean :mute
         | 
| 86 | 
            -
                    Boolean :drag
         | 
| 87 | 
            -
                    Boolean :drop
         | 
| 88 | 
            -
                    Boolean :over
         | 
| 89 | 
            -
                    String :targets
         | 
| 90 | 
            -
                    Boolean :start
         | 
| 91 | 
            -
                    Boolean :stop
         | 
| 92 | 
            -
                    Time :begin
         | 
| 93 | 
            -
                    Time :end
         | 
| 94 | 
            -
                    Int :duration
         | 
| 95 | 
            -
                    Int :mass
         | 
| 96 | 
            -
                    Int :damping
         | 
| 97 | 
            -
                    Int :stiffness
         | 
| 98 | 
            -
                    Int :velocity
         | 
| 99 | 
            -
                    Boolean :repeat
         | 
| 100 | 
            -
                    Boolean :ease
         | 
| 101 | 
            -
                    Boolean :keyboard
         | 
| 102 | 
            -
                    Boolean :resize
         | 
| 103 | 
            -
                    Boolean :overflow
         | 
| 104 | 
            -
                  end
         | 
| 105 | 
            -
             | 
| 106 | 
            -
                  eden.create_table :geometry do
         | 
| 107 | 
            -
                    primary_key :geometry_id
         | 
| 108 | 
            -
                    Int :width
         | 
| 109 | 
            -
                    Int :height
         | 
| 110 | 
            -
                    Int :size
         | 
| 111 | 
            -
                  end
         | 
| 112 | 
            -
             | 
| 113 | 
            -
                  eden.create_table :hierarchy do
         | 
| 114 | 
            -
                    primary_key :hierarchy_id
         | 
| 115 | 
            -
                    String :attach
         | 
| 116 | 
            -
                    String :attached
         | 
| 117 | 
            -
                    String :apply
         | 
| 118 | 
            -
                    String :affect
         | 
| 119 | 
            -
                    String :detached
         | 
| 120 | 
            -
                    String :collect
         | 
| 121 | 
            -
                  end
         | 
| 122 | 
            -
             | 
| 123 | 
            -
                  eden.create_table :identity do
         | 
| 124 | 
            -
                    primary_key :identity_id
         | 
| 125 | 
            -
                    String :real
         | 
| 126 | 
            -
                    String :type
         | 
| 127 | 
            -
                    Int :id
         | 
| 128 | 
            -
                    String :name
         | 
| 129 | 
            -
                    Boolean :active
         | 
| 130 | 
            -
                    String :markup
         | 
| 131 | 
            -
                    String :bundle
         | 
| 132 | 
            -
                    String :data
         | 
| 133 | 
            -
                    String :category
         | 
| 134 | 
            -
                    String :selection
         | 
| 135 | 
            -
                    Boolean :selected
         | 
| 136 | 
            -
                    String :format
         | 
| 137 | 
            -
                    String :alien
         | 
| 138 | 
            -
                  end
         | 
| 139 | 
            -
             | 
| 140 | 
            -
                  eden.create_table :material do
         | 
| 141 | 
            -
                    primary_key :material_id
         | 
| 142 | 
            -
                    String :component
         | 
| 143 | 
            -
                    Boolean :edit
         | 
| 144 | 
            -
                    String :style
         | 
| 145 | 
            -
                    Boolean :hide
         | 
| 146 | 
            -
                    Boolean :remove
         | 
| 147 | 
            -
                    JSON :classes
         | 
| 148 | 
            -
                    Boolean :remove_classes
         | 
| 149 | 
            -
                    Int :opacity
         | 
| 150 | 
            -
                    String :definition
         | 
| 151 | 
            -
                    Int :gradient
         | 
| 152 | 
            -
                    Int :border
         | 
| 153 | 
            -
                  end
         | 
| 154 | 
            -
             | 
| 155 | 
            -
                  eden.create_table :property do
         | 
| 156 | 
            -
                    primary_key :property_id
         | 
| 157 | 
            -
                    String :red
         | 
| 158 | 
            -
                    String :green
         | 
| 159 | 
            -
                    String :blue
         | 
| 160 | 
            -
                    String :alpha
         | 
| 161 | 
            -
                    String :diffusion
         | 
| 162 | 
            -
                    Boolean :clean
         | 
| 163 | 
            -
                    String :insert
         | 
| 164 | 
            -
                    Boolean :remove
         | 
| 165 | 
            -
                    Int :sort
         | 
| 166 | 
            -
                  end
         | 
| 167 | 
            -
             | 
| 168 | 
            -
                  eden.create_table :security do
         | 
| 169 | 
            -
                    primary_key :security_id
         | 
| 170 | 
            -
                    String :password
         | 
| 171 | 
            -
                  end
         | 
| 172 | 
            -
             | 
| 173 | 
            -
                  eden.create_table :spatial do
         | 
| 174 | 
            -
                    primary_key :spatial_id
         | 
| 175 | 
            -
                    Int :left
         | 
| 176 | 
            -
                    Int :right
         | 
| 177 | 
            -
                    Int :top
         | 
| 178 | 
            -
                    Int :bottom
         | 
| 179 | 
            -
                    Int :rotate
         | 
| 180 | 
            -
                    String :direction
         | 
| 181 | 
            -
                    String :center
         | 
| 182 | 
            -
                    Int :depth
         | 
| 183 | 
            -
                    Int :position
         | 
| 184 | 
            -
                    String :organise
         | 
| 185 | 
            -
                    String :spacing
         | 
| 186 | 
            -
                    Boolean :display
         | 
| 187 | 
            -
                    String :layout
         | 
| 188 | 
            -
                  end
         | 
| 189 | 
            -
             | 
| 190 | 
            -
                  eden.create_table :time do
         | 
| 191 | 
            -
                    primary_key :time_id
         | 
| 192 | 
            -
                    JSON :markers
         | 
| 193 | 
            -
                  end
         | 
| 194 | 
            -
             | 
| 195 | 
            -
                  eden.create_table :utility do
         | 
| 196 | 
            -
                    primary_key :utility_id
         | 
| 197 | 
            -
                    String :renderers
         | 
| 198 | 
            -
                    String :code
         | 
| 199 | 
            -
                    Boolean :run
         | 
| 200 | 
            -
                    Boolean :delete
         | 
| 201 | 
            -
                    Boolean :clear
         | 
| 202 | 
            -
                    String :path
         | 
| 203 | 
            -
                    String :schedule
         | 
| 204 | 
            -
                    String :read
         | 
| 205 | 
            -
                    String :cursor
         | 
| 206 | 
            -
                    String :preset
         | 
| 207 | 
            -
                    JSON :relations
         | 
| 208 | 
            -
                    JSON :tag
         | 
| 209 | 
            -
                    String :web
         | 
| 210 | 
            -
                    JSON :unit
         | 
| 211 | 
            -
                    String :initialize
         | 
| 212 | 
            -
                    String :login
         | 
| 213 | 
            -
                    String :hypertext
         | 
| 214 | 
            -
                    String :hyperedit
         | 
| 215 | 
            -
                    String :terminal
         | 
| 216 | 
            -
                    String :browse
         | 
| 217 | 
            -
                    String :copies
         | 
| 218 | 
            -
                    Int :temporary
         | 
| 219 | 
            -
                    String :atomes
         | 
| 220 | 
            -
                    String :match
         | 
| 221 | 
            -
                    Boolean :invert
         | 
| 222 | 
            -
                    String :option
         | 
| 223 | 
            -
                    String :duplicate
         | 
| 224 | 
            -
                    String :copy
         | 
| 225 | 
            -
                    String :paste
         | 
| 226 | 
            -
                    String :backup
         | 
| 227 | 
            -
                    String :import
         | 
| 228 | 
            -
                    String :compute
         | 
| 229 | 
            -
                    String :get
         | 
| 230 | 
            -
                  end
         | 
| 231 | 
            -
             | 
| 232 | 
            -
                end
         | 
| 233 | 
            -
                eden
         | 
| 234 | 
            -
              end
         | 
| 235 | 
            -
             | 
| 236 | 
            -
            end
         | 
| 237 | 
            -
             | 
| 238 | 
            -
             | 
| 239 | 
            -
            class App < Roda
         | 
| 240 | 
            -
             | 
| 241 | 
            -
              # comment below when test will be done
         | 
| 242 | 
            -
              File.delete("./eden.sqlite3") if File.exist?("./eden.sqlite3")
         | 
| 243 | 
            -
              eden = Database.connect_database
         | 
| 244 | 
            -
              items = eden[:atome]
         | 
| 245 | 
            -
             | 
| 246 | 
            -
              # populate the table
         | 
| 247 | 
            -
              items.insert(creator: 'moi')
         | 
| 248 | 
            -
              items.insert(creator: 'toi')
         | 
| 249 | 
            -
              items.insert(creator: 'vous')
         | 
| 250 | 
            -
              puts "Item count: #{items.count}"
         | 
| 251 | 
            -
              test= "Item count: #{items.count}"
         | 
| 252 | 
            -
              # puts "My name is: #{items(:creator)}"
         | 
| 253 | 
            -
              index_content = File.read("../src/index_server.html")
         | 
| 254 | 
            -
              opts[:root] = '../src'
         | 
| 255 | 
            -
              plugin :static, %w[/css /js /medias], root: '../src'
         | 
| 256 | 
            -
              route do |r|
         | 
| 257 | 
            -
                r.root do
         | 
| 258 | 
            -
                  if Faye::WebSocket.websocket?(r.env)
         | 
| 259 | 
            -
                    ws = Faye::WebSocket.new(r.env)
         | 
| 260 | 
            -
                    ws.on :open do |event|
         | 
| 261 | 
            -
                      ws.send('server ready'.to_json)
         | 
| 262 | 
            -
                      ws.send('asking for synchro data'.to_json)
         | 
| 263 | 
            -
                    end
         | 
| 264 | 
            -
             | 
| 265 | 
            -
                    ws.on(:message) do |event|
         | 
| 266 | 
            -
                      json_string = event.data.gsub(/(\w+):/) { "\"#{$1}\":" }.gsub('=>', ':')
         | 
| 267 | 
            -
                      full_data = JSON.parse(json_string)
         | 
| 268 | 
            -
                      message = full_data['message']
         | 
| 269 | 
            -
                      action_requested = full_data['action']
         | 
| 270 | 
            -
                      value= full_data['value']
         | 
| 271 | 
            -
                      option= full_data['option']
         | 
| 272 | 
            -
                      current_user = full_data['user']
         | 
| 273 | 
            -
                      user_pass = full_data['pass']['global']
         | 
| 274 | 
            -
                      if action_requested
         | 
| 275 | 
            -
                        return_message = EDen.safe_send(action_requested, message,option,ws,value, current_user, user_pass)
         | 
| 276 | 
            -
                      else
         | 
| 277 | 
            -
                        return_message = "no action msg: #{test}"
         | 
| 278 | 
            -
                      end
         | 
| 279 | 
            -
                      ws.send(return_message.to_json)
         | 
| 280 | 
            -
                    end
         | 
| 281 | 
            -
             | 
| 282 | 
            -
                    ws.on(:close) do |event|
         | 
| 283 | 
            -
                      puts "server closed with status #{event.code}"
         | 
| 284 | 
            -
                    end
         | 
| 285 | 
            -
                    ws.rack_response
         | 
| 286 | 
            -
                  end
         | 
| 287 | 
            -
             | 
| 288 | 
            -
                  index_content
         | 
| 289 | 
            -
                end
         | 
| 290 | 
            -
             | 
| 291 | 
            -
              end
         | 
| 292 | 
            -
             | 
| 293 | 
            -
            end
         | 
    
        data/server/atome_server_wasm.rb
    DELETED
    
    | @@ -1,112 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            # atome server
         | 
| 4 | 
            -
            require 'em/pure_ruby' if RUBY_PLATFORM == 'x64-mingw32'
         | 
| 5 | 
            -
            require '../src/utilities/aui'
         | 
| 6 | 
            -
            require 'digest/sha2'
         | 
| 7 | 
            -
            require 'faye/websocket'
         | 
| 8 | 
            -
            require 'geocoder'
         | 
| 9 | 
            -
            require 'json'
         | 
| 10 | 
            -
            require 'mail'
         | 
| 11 | 
            -
            require 'net/ping'
         | 
| 12 | 
            -
            require 'roda'
         | 
| 13 | 
            -
            require 'rufus-scheduler'
         | 
| 14 | 
            -
            require 'securerandom'
         | 
| 15 | 
            -
            require 'sequel'
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            Faye::WebSocket.load_adapter('puma') # Utilisez l'adaptateur 'thin' pour Faye
         | 
| 18 | 
            -
             | 
| 19 | 
            -
            class String
         | 
| 20 | 
            -
              def is_json?
         | 
| 21 | 
            -
                begin
         | 
| 22 | 
            -
                  !JSON.parse(self).nil?
         | 
| 23 | 
            -
                rescue
         | 
| 24 | 
            -
                  false
         | 
| 25 | 
            -
                end
         | 
| 26 | 
            -
              end
         | 
| 27 | 
            -
            end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
            class Database
         | 
| 30 | 
            -
              def self.connect_database
         | 
| 31 | 
            -
                if File.exist?("eden.sqlite3")
         | 
| 32 | 
            -
                  eden = Sequel.connect("sqlite://eden.sqlite3")
         | 
| 33 | 
            -
                else
         | 
| 34 | 
            -
                  eden = Sequel.connect("sqlite://eden.sqlite3")
         | 
| 35 | 
            -
                  eden.create_table :atome do
         | 
| 36 | 
            -
                    primary_key :atome_id
         | 
| 37 | 
            -
                    String :aui
         | 
| 38 | 
            -
                    String :id
         | 
| 39 | 
            -
                    String :type
         | 
| 40 | 
            -
                    String :name
         | 
| 41 | 
            -
                    String :content
         | 
| 42 | 
            -
                    String :position
         | 
| 43 | 
            -
                    String :dimension
         | 
| 44 | 
            -
                    String :color
         | 
| 45 | 
            -
                    String :right
         | 
| 46 | 
            -
                    String :effect
         | 
| 47 | 
            -
                    String :shadow
         | 
| 48 | 
            -
                    String :border
         | 
| 49 | 
            -
                    String :fill
         | 
| 50 | 
            -
                    Float :x
         | 
| 51 | 
            -
                    Float :xx
         | 
| 52 | 
            -
                    Float :y
         | 
| 53 | 
            -
                    Float :yy
         | 
| 54 | 
            -
                    Float :z
         | 
| 55 | 
            -
                    Float :zz
         | 
| 56 | 
            -
                    Float :width
         | 
| 57 | 
            -
                    Float :height
         | 
| 58 | 
            -
                    Float :depth
         | 
| 59 | 
            -
                  end
         | 
| 60 | 
            -
             | 
| 61 | 
            -
                end
         | 
| 62 | 
            -
                eden
         | 
| 63 | 
            -
              end
         | 
| 64 | 
            -
             | 
| 65 | 
            -
            end
         | 
| 66 | 
            -
             | 
| 67 | 
            -
            class App < Roda
         | 
| 68 | 
            -
              # comment below when test will be done
         | 
| 69 | 
            -
              File.delete("./eden.sqlite3") if File.exist?("./eden.sqlite3")
         | 
| 70 | 
            -
              eden = Database.connect_database
         | 
| 71 | 
            -
              items = eden[:atome]
         | 
| 72 | 
            -
             | 
| 73 | 
            -
              # populate the table
         | 
| 74 | 
            -
              items.insert(name: 'abc', width: rand * 100)
         | 
| 75 | 
            -
              items.insert(name: 'def', width: rand * 100)
         | 
| 76 | 
            -
              items.insert(name: 'ghi', width: rand * 100)
         | 
| 77 | 
            -
             | 
| 78 | 
            -
              puts "Item count: #{items.count}"
         | 
| 79 | 
            -
             | 
| 80 | 
            -
              puts "The average price is: #{items.avg(:width)}"
         | 
| 81 | 
            -
             | 
| 82 | 
            -
              index_content = File.read("../src/index_server.html")
         | 
| 83 | 
            -
             | 
| 84 | 
            -
              opts[:root] = '../src'
         | 
| 85 | 
            -
              plugin :static, %w[/css /js /medias], root: '../src'
         | 
| 86 | 
            -
              route do |r|
         | 
| 87 | 
            -
                r.root do
         | 
| 88 | 
            -
                  if Faye::WebSocket.websocket?(r.env)
         | 
| 89 | 
            -
                    ws = Faye::WebSocket.new(r.env)
         | 
| 90 | 
            -
             | 
| 91 | 
            -
                    ws.on :open do |event|
         | 
| 92 | 
            -
                      ws.send('server ready'.to_json)
         | 
| 93 | 
            -
                      ws.send('asking for synchro data'.to_json)
         | 
| 94 | 
            -
                    end
         | 
| 95 | 
            -
             | 
| 96 | 
            -
                    ws.on(:message) do |event|
         | 
| 97 | 
            -
                      #TODO : encode event on both client and server
         | 
| 98 | 
            -
                    ws.send(event.data.reverse.to_json) # Envoie le message inversé au client
         | 
| 99 | 
            -
                    end
         | 
| 100 | 
            -
             | 
| 101 | 
            -
                    ws.on(:close) do |event|
         | 
| 102 | 
            -
                      puts "server closed with status #{event.code}"
         | 
| 103 | 
            -
                    end
         | 
| 104 | 
            -
                    ws.rack_response
         | 
| 105 | 
            -
                  end
         | 
| 106 | 
            -
             | 
| 107 | 
            -
                  index_content
         | 
| 108 | 
            -
                end
         | 
| 109 | 
            -
             | 
| 110 | 
            -
              end
         | 
| 111 | 
            -
             | 
| 112 | 
            -
            end
         | 
    
        data/server/capture.rb
    DELETED
    
    | @@ -1,10 +0,0 @@ | |
| 1 | 
            -
            path = ARGV[0]
         | 
| 2 | 
            -
            name = ARGV[1]
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            File.open("#{path}#{name}.txt", 'w') do |f|
         | 
| 5 | 
            -
              f.write("Le chemin ; #{path}!\n")
         | 
| 6 | 
            -
              f.write("Le nom du fichier #{name}\n")
         | 
| 7 | 
            -
            end
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            # `gphoto2 --capture-image-and-download --filename "../src/medias/images/photos/verif.jpg"`
         | 
| 10 | 
            -
            `gphoto2 --capture-image-and-download --filename "#{path}#{name}.jpg"`
         | 
    
        data/server/config.ru
    DELETED
    
    | @@ -1,13 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require 'roda'
         | 
| 4 | 
            -
            require 'rack/unreloader'
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            # Unreloader = Rack::Unreloader.new(subclasses: %w[Roda]) { App }
         | 
| 7 | 
            -
            # Unreloader.require './atome_server.rb'
         | 
| 8 | 
            -
            # run Unreloader
         | 
| 9 | 
            -
            # uncomment to allow code reloading
         | 
| 10 | 
            -
            # uncomment below for prod or comment to allow code reloading
         | 
| 11 | 
            -
            require './atome_server.rb'
         | 
| 12 | 
            -
            run App.app.freeze
         | 
| 13 | 
            -
             | 
    
        data/src/css/style.css
    DELETED
    
    | @@ -1,162 +0,0 @@ | |
| 1 | 
            -
            * {
         | 
| 2 | 
            -
                -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
         | 
| 3 | 
            -
            }
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            html, body {
         | 
| 6 | 
            -
             | 
| 7 | 
            -
                font-family: system-ui, -apple-system, -apple-system-font, 'Segoe UI', 'Roboto', sans-serif;
         | 
| 8 | 
            -
                font-size: 12px;
         | 
| 9 | 
            -
                margin: 0;
         | 
| 10 | 
            -
                padding: 0;
         | 
| 11 | 
            -
                background: rgba(39, 39, 39, 1);
         | 
| 12 | 
            -
                overflow: hidden;
         | 
| 13 | 
            -
                -webkit-overflow-scrolling: touch;
         | 
| 14 | 
            -
                width: 100%;
         | 
| 15 | 
            -
                height: 100%;
         | 
| 16 | 
            -
                z-index: 0;
         | 
| 17 | 
            -
                color: lightgray;
         | 
| 18 | 
            -
            }
         | 
| 19 | 
            -
            pre {
         | 
| 20 | 
            -
                min-width: 100px;
         | 
| 21 | 
            -
                margin: 0;
         | 
| 22 | 
            -
                padding: 0;
         | 
| 23 | 
            -
            }
         | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
            .matrix{
         | 
| 27 | 
            -
                background-color: blue;
         | 
| 28 | 
            -
                border-radius: 9px;
         | 
| 29 | 
            -
                display: grid;
         | 
| 30 | 
            -
                grid-template-columns: repeat(4, 1fr);
         | 
| 31 | 
            -
                flex-direction: column;
         | 
| 32 | 
            -
                gap: 12px;
         | 
| 33 | 
            -
                padding: 3px;
         | 
| 34 | 
            -
            }
         | 
| 35 | 
            -
            /*.matrix_element{*/
         | 
| 36 | 
            -
            /*    background-color: rebeccapurple;*/
         | 
| 37 | 
            -
            /*    width: 100%;*/
         | 
| 38 | 
            -
            /*    height: 29px;*/
         | 
| 39 | 
            -
            /*    border-radius: 59px;*/
         | 
| 40 | 
            -
            /*    display: flex;*/
         | 
| 41 | 
            -
            /*    justify-content: center;*/
         | 
| 42 | 
            -
            /*    align-items: center;*/
         | 
| 43 | 
            -
            /*    flex-direction: column;*/
         | 
| 44 | 
            -
            /*    margin-bottom: 20px;*/
         | 
| 45 | 
            -
            /*    padding: 0px*/
         | 
| 46 | 
            -
            /*}*/
         | 
| 47 | 
            -
             | 
| 48 | 
            -
            #view {
         | 
| 49 | 
            -
                left: 0px;
         | 
| 50 | 
            -
                font-size: 25px;
         | 
| 51 | 
            -
                right: 0px;
         | 
| 52 | 
            -
                top: 0px;
         | 
| 53 | 
            -
                bottom: 0px;
         | 
| 54 | 
            -
                width: auto;
         | 
| 55 | 
            -
                /*display: block;*/
         | 
| 56 | 
            -
                height: auto;
         | 
| 57 | 
            -
                overflow: hidden;
         | 
| 58 | 
            -
                position: absolute;
         | 
| 59 | 
            -
                -webkit-overflow-scrolling: touch;
         | 
| 60 | 
            -
            }
         | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
            .ui-selected {
         | 
| 64 | 
            -
                border: #00bb00 solid 3px;
         | 
| 65 | 
            -
            }
         | 
| 66 | 
            -
             | 
| 67 | 
            -
            .ui-selecting {
         | 
| 68 | 
            -
                border: orange solid 3px;
         | 
| 69 | 
            -
            }
         | 
| 70 | 
            -
             | 
| 71 | 
            -
            .selected {
         | 
| 72 | 
            -
                outline: 2px dashed white;
         | 
| 73 | 
            -
                background-color: #00bb00;
         | 
| 74 | 
            -
            }
         | 
| 75 | 
            -
             | 
| 76 | 
            -
            .atome {
         | 
| 77 | 
            -
                will-change: transform;
         | 
| 78 | 
            -
                cursor: default;
         | 
| 79 | 
            -
                pointer-events: auto;
         | 
| 80 | 
            -
                caret-color: white;
         | 
| 81 | 
            -
                outline: none;
         | 
| 82 | 
            -
                -webkit-user-select: none;
         | 
| 83 | 
            -
                -moz-user-select: none;
         | 
| 84 | 
            -
                user-select: none;
         | 
| 85 | 
            -
                position: absolute;
         | 
| 86 | 
            -
                display: inline-block;
         | 
| 87 | 
            -
                background-size: 100%;
         | 
| 88 | 
            -
                background-repeat: no-repeat;
         | 
| 89 | 
            -
                -webkit-overflow-scrolling: touch;
         | 
| 90 | 
            -
                -webkit-user-drag: none;
         | 
| 91 | 
            -
                caret-shape: bar;
         | 
| 92 | 
            -
                overflow: visible;
         | 
| 93 | 
            -
            }
         | 
| 94 | 
            -
             | 
| 95 | 
            -
            .text {
         | 
| 96 | 
            -
                /*-webkit-text-fill-color: transparent;*/
         | 
| 97 | 
            -
                /*-webkit-background-clip: text;*/
         | 
| 98 | 
            -
                word-wrap: break-word;
         | 
| 99 | 
            -
                white-space: pre-wrap;
         | 
| 100 | 
            -
                position: relative;
         | 
| 101 | 
            -
            }
         | 
| 102 | 
            -
             | 
| 103 | 
            -
            .center {
         | 
| 104 | 
            -
                display: flex;
         | 
| 105 | 
            -
                justify-content: center;
         | 
| 106 | 
            -
                align-items: center;
         | 
| 107 | 
            -
                position: absolute;
         | 
| 108 | 
            -
                transform: translate(-50%, -50%);
         | 
| 109 | 
            -
            }
         | 
| 110 | 
            -
             | 
| 111 | 
            -
            .center_vertical {
         | 
| 112 | 
            -
                display: flex;
         | 
| 113 | 
            -
                align-items: center;
         | 
| 114 | 
            -
                position: absolute;
         | 
| 115 | 
            -
                transform: translateY(-50%);
         | 
| 116 | 
            -
            }
         | 
| 117 | 
            -
             | 
| 118 | 
            -
            .center_horizontal{
         | 
| 119 | 
            -
                display: flex;
         | 
| 120 | 
            -
                justify-content: center;
         | 
| 121 | 
            -
                position: absolute;
         | 
| 122 | 
            -
                transform: translateX(-50%);
         | 
| 123 | 
            -
            }
         | 
| 124 | 
            -
             | 
| 125 | 
            -
            .e_align_h_left {
         | 
| 126 | 
            -
                text-align: left;
         | 
| 127 | 
            -
            }
         | 
| 128 | 
            -
             | 
| 129 | 
            -
            .e_align_h_right {
         | 
| 130 | 
            -
                text-align: right;
         | 
| 131 | 
            -
            }
         | 
| 132 | 
            -
             | 
| 133 | 
            -
            .e_align_h_center {
         | 
| 134 | 
            -
                text-align: center;
         | 
| 135 | 
            -
            }
         | 
| 136 | 
            -
             | 
| 137 | 
            -
            .el_align_h {
         | 
| 138 | 
            -
                text-align: justify;
         | 
| 139 | 
            -
            }
         | 
| 140 | 
            -
             | 
| 141 | 
            -
            .el_align_v {
         | 
| 142 | 
            -
                display: flex;
         | 
| 143 | 
            -
                align-items: center;
         | 
| 144 | 
            -
            }
         | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 147 | 
            -
            .el_align_v_bottom {
         | 
| 148 | 
            -
                display: flex;
         | 
| 149 | 
            -
                align-items: flex-end;
         | 
| 150 | 
            -
            }
         | 
| 151 | 
            -
             | 
| 152 | 
            -
            /*::selection {*/
         | 
| 153 | 
            -
            /*    color: transparent;*/
         | 
| 154 | 
            -
            /*    background: none;*/
         | 
| 155 | 
            -
            /*}*/
         | 
| 156 | 
            -
            /*!* For Mozilla Firefox *!*/
         | 
| 157 | 
            -
            /*::-moz-selection {*/
         | 
| 158 | 
            -
            /*    color: transparent;*/
         | 
| 159 | 
            -
            /*    background: none;*/
         | 
| 160 | 
            -
            /*}*/
         | 
| 161 | 
            -
             | 
| 162 | 
            -
             | 
    
        data/src-tauri/.gitignore
    DELETED
    
    
    
        data/src-tauri/Cargo.toml
    DELETED
    
    | @@ -1,27 +0,0 @@ | |
| 1 | 
            -
            [package]
         | 
| 2 | 
            -
            name = "atome"
         | 
| 3 | 
            -
            version = "0.0.0"
         | 
| 4 | 
            -
            description = "A Tauri App"
         | 
| 5 | 
            -
            authors = ["you"]
         | 
| 6 | 
            -
            license = ""
         | 
| 7 | 
            -
            repository = ""
         | 
| 8 | 
            -
            edition = "2021"
         | 
| 9 | 
            -
            rust-version = "1.57"
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            [build-dependencies]
         | 
| 14 | 
            -
            tauri-build = {version = "1.2", features = [] }
         | 
| 15 | 
            -
             | 
| 16 | 
            -
            [dependencies]
         | 
| 17 | 
            -
            serde_json = "1.0"
         | 
| 18 | 
            -
            serde = { version = "1.0", features = ["derive"] }
         | 
| 19 | 
            -
            tauri = {version = "1.5", features = ["api-all"] }
         | 
| 20 | 
            -
             | 
| 21 | 
            -
            [features]
         | 
| 22 | 
            -
            # by default Tauri runs in production mode
         | 
| 23 | 
            -
            # when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
         | 
| 24 | 
            -
            default = [ "custom-protocol" ]
         | 
| 25 | 
            -
            # this feature is used used for production builds where `devPath` points to the filesystem
         | 
| 26 | 
            -
            # DO NOT remove this
         | 
| 27 | 
            -
            custom-protocol = [ "tauri/custom-protocol" ]
         | 
    
        data/src-tauri/build.rs
    DELETED
    
    
    
        data/src-tauri/icons/128x128.png
    DELETED
    
    | Binary file | 
| Binary file | 
    
        data/src-tauri/icons/32x32.png
    DELETED
    
    | Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
    
        data/src-tauri/icons/icon.icns
    DELETED
    
    | Binary file | 
    
        data/src-tauri/icons/icon.ico
    DELETED
    
    | Binary file | 
    
        data/src-tauri/icons/icon.png
    DELETED
    
    | Binary file | 
    
        data/src-tauri/src/main.rs
    DELETED
    
    | @@ -1,71 +0,0 @@ | |
| 1 | 
            -
            use std::process::Command;
         | 
| 2 | 
            -
            use std::str;
         | 
| 3 | 
            -
            use std::fs;
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
         | 
| 6 | 
            -
            #[tauri::command]
         | 
| 7 | 
            -
            fn greet(name: &str) -> String {
         | 
| 8 | 
            -
                format!("Hello, {}! You've been greeted from Rust!", name)
         | 
| 9 | 
            -
            }
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            #[tauri::command]
         | 
| 12 | 
            -
            fn execute_command(command: &str) -> Result<String, String> {
         | 
| 13 | 
            -
                match Command::new("sh")
         | 
| 14 | 
            -
                    .arg("-c")
         | 
| 15 | 
            -
                    .arg(command)
         | 
| 16 | 
            -
                    .output()
         | 
| 17 | 
            -
                {
         | 
| 18 | 
            -
                    Ok(output) => {
         | 
| 19 | 
            -
                        if output.status.success() {
         | 
| 20 | 
            -
                            Ok(str::from_utf8(&output.stdout).unwrap().to_string())
         | 
| 21 | 
            -
                        } else {
         | 
| 22 | 
            -
                            Err(str::from_utf8(&output.stderr).unwrap().to_string())
         | 
| 23 | 
            -
                        }
         | 
| 24 | 
            -
                    }
         | 
| 25 | 
            -
                    Err(error) => Err(error.to_string()),
         | 
| 26 | 
            -
                }
         | 
| 27 | 
            -
            }
         | 
| 28 | 
            -
             | 
| 29 | 
            -
            #[tauri::command]
         | 
| 30 | 
            -
            fn read_file(file_path: &str) -> Result<String, String> {
         | 
| 31 | 
            -
                let content = match fs::read_to_string(file_path) {
         | 
| 32 | 
            -
                    Ok(content) => content,
         | 
| 33 | 
            -
                    Err(_) => return Err("Failed to read file.".to_string()),
         | 
| 34 | 
            -
                };
         | 
| 35 | 
            -
                Ok(content)
         | 
| 36 | 
            -
            }
         | 
| 37 | 
            -
             | 
| 38 | 
            -
            #[tauri::command]
         | 
| 39 | 
            -
            fn write_file(file_path: &str, content: &str) -> Result<(), String> {
         | 
| 40 | 
            -
                let path = std::path::Path::new(file_path);
         | 
| 41 | 
            -
                match fs::write(path, content) {
         | 
| 42 | 
            -
                    Ok(_) => Ok(()),
         | 
| 43 | 
            -
                    Err(_) => Err("Failed to write to the file.".to_string()),
         | 
| 44 | 
            -
                }
         | 
| 45 | 
            -
            }
         | 
| 46 | 
            -
             | 
| 47 | 
            -
            // Nouvelle commande pour lister le contenu du répertoire
         | 
| 48 | 
            -
            #[tauri::command]
         | 
| 49 | 
            -
            fn list_directory_content(directory_path: String) -> Result<Vec<String>, String> {
         | 
| 50 | 
            -
                let path = std::path::Path::new(&directory_path);
         | 
| 51 | 
            -
                match fs::read_dir(path) {
         | 
| 52 | 
            -
                    Ok(entries) => {
         | 
| 53 | 
            -
                        let entries: Vec<String> = entries
         | 
| 54 | 
            -
                            .filter_map(|entry| {
         | 
| 55 | 
            -
                                entry.ok().and_then(|e| {
         | 
| 56 | 
            -
                                    e.path().file_name().and_then(std::ffi::OsStr::to_str).map(|s| s.to_owned())
         | 
| 57 | 
            -
                                })
         | 
| 58 | 
            -
                            })
         | 
| 59 | 
            -
                            .collect();
         | 
| 60 | 
            -
                        Ok(entries)
         | 
| 61 | 
            -
                    }
         | 
| 62 | 
            -
                    Err(_) => Err("Failed to read directory.".to_string()),
         | 
| 63 | 
            -
                }
         | 
| 64 | 
            -
            }
         | 
| 65 | 
            -
             | 
| 66 | 
            -
            fn main() {
         | 
| 67 | 
            -
                tauri::Builder::default()
         | 
| 68 | 
            -
                    .invoke_handler(tauri::generate_handler![greet, execute_command, read_file, write_file, list_directory_content])
         | 
| 69 | 
            -
                    .run(tauri::generate_context!())
         | 
| 70 | 
            -
                    .expect("error while running tauri application");
         | 
| 71 | 
            -
            }
         | 
    
        data/src-tauri/tauri.conf.json
    DELETED
    
    | @@ -1,70 +0,0 @@ | |
| 1 | 
            -
            {
         | 
| 2 | 
            -
              "build": {
         | 
| 3 | 
            -
                "beforeDevCommand": "",
         | 
| 4 | 
            -
                "beforeBuildCommand": "",
         | 
| 5 | 
            -
                "devPath": "../src",
         | 
| 6 | 
            -
                "distDir": "../src",
         | 
| 7 | 
            -
                "withGlobalTauri": true
         | 
| 8 | 
            -
              },
         | 
| 9 | 
            -
              "package": {
         | 
| 10 | 
            -
                "productName": "atome",
         | 
| 11 | 
            -
                "version": "0.0.0"
         | 
| 12 | 
            -
              },
         | 
| 13 | 
            -
              "tauri": {
         | 
| 14 | 
            -
                "allowlist": {
         | 
| 15 | 
            -
                  "all": true,
         | 
| 16 | 
            -
                  "shell": {
         | 
| 17 | 
            -
                    "all": true,
         | 
| 18 | 
            -
                    "open": true
         | 
| 19 | 
            -
                  }
         | 
| 20 | 
            -
                },
         | 
| 21 | 
            -
                "bundle": {
         | 
| 22 | 
            -
                  "active": true,
         | 
| 23 | 
            -
                  "category": "DeveloperTool",
         | 
| 24 | 
            -
                  "copyright": "",
         | 
| 25 | 
            -
                  "deb": {
         | 
| 26 | 
            -
                    "depends": []
         | 
| 27 | 
            -
                  },
         | 
| 28 | 
            -
                  "externalBin": [],
         | 
| 29 | 
            -
                  "icon": [
         | 
| 30 | 
            -
                    "icons/32x32.png",
         | 
| 31 | 
            -
                    "icons/128x128.png",
         | 
| 32 | 
            -
                    "icons/128x128@2x.png",
         | 
| 33 | 
            -
                    "icons/icon.icns",
         | 
| 34 | 
            -
                    "icons/icon.ico"
         | 
| 35 | 
            -
                  ],
         | 
| 36 | 
            -
                  "identifier": "com.atome.dev",
         | 
| 37 | 
            -
                  "longDescription": "",
         | 
| 38 | 
            -
                  "macOS": {
         | 
| 39 | 
            -
                    "entitlements": null,
         | 
| 40 | 
            -
                    "exceptionDomain": "",
         | 
| 41 | 
            -
                    "frameworks": [],
         | 
| 42 | 
            -
                    "providerShortName": null,
         | 
| 43 | 
            -
                    "signingIdentity": null
         | 
| 44 | 
            -
                  },
         | 
| 45 | 
            -
                  "resources": [],
         | 
| 46 | 
            -
                  "shortDescription": "",
         | 
| 47 | 
            -
                  "targets": "all",
         | 
| 48 | 
            -
                  "windows": {
         | 
| 49 | 
            -
                    "certificateThumbprint": null,
         | 
| 50 | 
            -
                    "digestAlgorithm": "sha256",
         | 
| 51 | 
            -
                    "timestampUrl": ""
         | 
| 52 | 
            -
                  }
         | 
| 53 | 
            -
                },
         | 
| 54 | 
            -
                "security": {
         | 
| 55 | 
            -
                  "csp": null
         | 
| 56 | 
            -
                },
         | 
| 57 | 
            -
                "updater": {
         | 
| 58 | 
            -
                  "active": false
         | 
| 59 | 
            -
                },
         | 
| 60 | 
            -
                "windows": [
         | 
| 61 | 
            -
                  {
         | 
| 62 | 
            -
                    "fullscreen": false,
         | 
| 63 | 
            -
                    "height": 600,
         | 
| 64 | 
            -
                    "resizable": true,
         | 
| 65 | 
            -
                    "title": "atome",
         | 
| 66 | 
            -
                    "width": 800
         | 
| 67 | 
            -
                  }
         | 
| 68 | 
            -
                ]
         | 
| 69 | 
            -
              }
         | 
| 70 | 
            -
            }
         | 
| Binary file | 
| Binary file | 
    
        data/src-wasm/wasm/wasi-vfs-unix
    DELETED
    
    | Binary file | 
    
        data/src-wasm/wasm/wasi-vfs.exe
    DELETED
    
    | Binary file |