atome 0.4.5.4 → 0.4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -3
  3. data/Rakefile +1 -0
  4. data/app_builder_helpers/Rakefile +2 -0
  5. data/lib/atome/atome_native_extensions.rb +3 -3
  6. data/lib/atome/extensions/helper.rb +20 -31
  7. data/lib/atome/kernel/atome.rb +9 -8
  8. data/lib/atome/kernel/generators/generator.rb +210 -80
  9. data/lib/atome/kernel/generators/genesis.rb +58 -46
  10. data/lib/atome/kernel/generators/sanitizer.rb +3 -7
  11. data/lib/atome/kernel/generators/shapes.rb +25 -10
  12. data/lib/atome/{extensions → kernel/helpers}/geolocation.rb +0 -0
  13. data/lib/atome/kernel/helpers/internal_methods.rb +173 -0
  14. data/lib/atome/kernel/helpers/ping.rb +17 -0
  15. data/lib/atome/{extensions → kernel/helpers}/sha.rb +0 -0
  16. data/lib/atome/{extensions → kernel/helpers}/utilities.rb +5 -5
  17. data/lib/atome/kernel/properties/essential.rb +35 -1
  18. data/lib/atome/kernel/sparkle.rb +2 -1
  19. data/lib/atome/kernel/universe.rb +12 -4
  20. data/lib/atome/renderers/opal/extensions/geolocation.rb +0 -1
  21. data/lib/atome/renderers/renderer.rb +1 -0
  22. data/lib/atome/renderers/server/properties/generator.rb +1 -1
  23. data/lib/atome/version.rb +2 -1
  24. data/lib/atome.rb +6 -15
  25. data/vendor/assets/build/css/style.css +4 -0
  26. data/vendor/assets/build/index.html +4 -2
  27. data/vendor/assets/build/js/atome/atome.js +25 -11
  28. data/vendor/assets/build/js/third_parties/interact.min.js +2 -3
  29. data/vendor/assets/build/js/{ping.min.js → third_parties/ping.min.js} +0 -0
  30. data/vendor/assets/build/js/{utilities → third_parties}/w3color.js +0 -0
  31. data/vendor/assets/build/js/third_parties/zim.min.js +1 -0
  32. data/vendor/assets/build/medias/audios/guitar.wav +0 -0
  33. data/vendor/assets/build/medias/images/beach.jpg +0 -0
  34. data/vendor/assets/build/medias/rubies/examples/!run.rb +16 -0
  35. data/vendor/assets/build/medias/rubies/examples/box.rb +16 -1
  36. data/vendor/assets/build/medias/rubies/examples/circle.rb +1 -0
  37. data/vendor/assets/build/medias/rubies/examples/clear.rb +9 -0
  38. data/vendor/assets/build/medias/rubies/examples/code.rb +5 -0
  39. data/vendor/assets/build/medias/rubies/examples/drag.rb +42 -4
  40. data/vendor/assets/build/medias/rubies/examples/link.rb +8 -10
  41. data/vendor/assets/build/medias/rubies/examples/on.rb +16 -0
  42. data/vendor/assets/build/medias/rubies/examples/parent.rb +2 -1
  43. data/vendor/assets/build/medias/rubies/examples/read.rb +1 -1
  44. data/vendor/assets/build/medias/rubies/examples/text.rb +17 -4
  45. data/vendor/assets/build/medias/rubies/examples/video.rb +51 -3
  46. data/vendor/assets/build/medias/rubies/examples/web.rb +3 -2
  47. data/vendor/assets/build/medias/videos/avengers.mp4 +0 -0
  48. data/vendor/assets/build/medias/videos/lion_king.mp4 +0 -0
  49. data/vendor/assets/build/medias/videos/madmax.mp4 +0 -0
  50. data/vendor/assets/build/medias/videos/starwars.mov +0 -0
  51. data/vendor/assets/build/medias/videos/superman.mp4 +0 -0
  52. metadata +24 -12
  53. data/lib/atome/extensions/ping.rb +0 -13
  54. data/vendor/assets/build/js/third_parties/createjs.min.js +0 -19
@@ -0,0 +1,16 @@
1
+ def run_demo
2
+ scripts = %i[animation atome.new auto_height auto_width bottom box circle
3
+ color create_atome_in_atome drag get_renderer_list grab height image
4
+ left link parent read repeat right rotate schedule smooth text
5
+ top touch video wait web width]
6
+
7
+ scripts.each_with_index do |toto, index|
8
+ wait 1 * index do
9
+ puts toto
10
+ read("examples/#{toto}.rb", :ruby)
11
+ `console.clear()`
12
+ end
13
+ end
14
+ end
15
+
16
+ run_demo
@@ -1 +1,16 @@
1
- box({ width: 333, left: 333 })
1
+ box({ id: :my_box, left: 333 }) do |p|
2
+ # callback is in the Genesis.atome_creator_option(:text_pre_save_proc)
3
+ puts "ok box id is : #{id}"
4
+ wait 2 do
5
+ self.left(0)
6
+ end
7
+ end
8
+
9
+ Atome.new(
10
+ { shape: { render: [:html], id: :view_test, type: :shape, parent: [:view],
11
+ left: 0, width: 90, top: 0, height: 90, overflow: :auto,
12
+ color: { render: [:html], id: :view_test_color, type: :color,
13
+ red: 1, green: 0.15, blue: 0.15, alpha: 1 } } }
14
+ ) do |p|
15
+ puts "ok Atome.new(box) id is : #{id}"
16
+ end
@@ -0,0 +1 @@
1
+ circle({ width: 333, left: 333 })
@@ -0,0 +1,9 @@
1
+
2
+ box(id: :my_box)
3
+
4
+ circle(left: 333)
5
+
6
+ wait 2 do
7
+ grab(:view).clear
8
+ end
9
+
@@ -0,0 +1,5 @@
1
+ mycode = <<Struct
2
+ circle({color: :red})
3
+ Struct
4
+
5
+ Atome.new(code: { id: :code1, code: mycode })
@@ -1,5 +1,43 @@
1
- b=box
2
- b.drag(true) do |x, y|
1
+
2
+ box({width: 333, height: 333, id: :the_constraint_box, color: :orange})
3
+
4
+ b = box
5
+
6
+ b.drag({ remove: true}) do |position|
3
7
  # below here is the callback :
4
- puts "drag position: #{x}"
5
- end
8
+ puts "1 - callback drag position: #{position}"
9
+ puts "1 - callback id is: #{id}"
10
+ end
11
+
12
+ wait 4 do
13
+ b.drag({ max: { left: 333 ,right: 90, top: 333, bottom: 30}})
14
+ end
15
+
16
+ bb = box({ left: 120, color: :green })
17
+ bb.touch(true) do
18
+ alert left
19
+ end
20
+
21
+ bb.drag({ lock: :x }) do |position|
22
+ # below here is the callback :
23
+ puts "2 - drag position: #{position}"
24
+ puts "2 - id is: #{id}"
25
+ end
26
+ #TODO: when we add a color we must change the code : do we create a new color with it's id or do we replace the old one?
27
+ #
28
+ bbb = box({ left: 120, top: 120 })
29
+ bbb.drag({}) do |position|
30
+ # below here is the callback :
31
+ puts "bbb drag position: #{position}"
32
+ puts "bbb id is: #{id}"
33
+ end
34
+ bbb.color(:black)
35
+
36
+ bbb.remove(:drag)
37
+ wait 3 do
38
+ bbb.drag({fixed: true}) do |position|
39
+ puts position
40
+ end
41
+ end
42
+
43
+ circle({drag: {inside: :the_constraint_box}, color: :red})
@@ -1,13 +1,11 @@
1
- Atome.new(
2
- shape: { render: [:html], id: :crasher, type: :shape, parent: [:view], left: 99, right: 99, width: 99, height: 99,
3
- color: { render: [:html], id: :c315, type: :color,
4
- red: 1, green: 0.15, blue: 0.15, alpha: 0.6 } }
5
- )
6
1
  text = Atome.new(
7
- text: { render: [:html], id: :text1, type: :text, parent: [:view], visual: { size: 33 }, string: "hello!", left: 399, top: 633, width: 199, height: 33,
8
- }
2
+ text: { render: [:html], id: :text1, type: :text, parent: [:view], visual: { size: 33 }, data: "My text!", left: 300, top: 33, width: 199, height: 33, }
9
3
  )
10
4
 
11
- text.text.link(:c315)
12
- # now we change the color all the obect that share the care modified
13
- grab(:c315).red(0)
5
+ # now we change the color all the object that share the care modified
6
+ wait 1 do
7
+ text.text.link(:c315)
8
+ end
9
+ wait 2 do
10
+ grab(:c315).red(0)
11
+ end
@@ -0,0 +1,16 @@
1
+ my_video = Atome.new(
2
+ video: { render: [:html], data: :dummy, id: :video1, type: :video, parent: [:view], path: './medias/videos/avengers.mp4', left: 333, top: 333, width: 199, height: 99,
3
+ }
4
+ ) do |params|
5
+ puts "video callback here #{params}"
6
+ end
7
+ my_video.video.play(true)
8
+
9
+ # TODO int8! : language
10
+
11
+ # verif video
12
+ grab(:video1).time(5)
13
+ #
14
+ grab(:video1).on(:pause) do |event|
15
+ alert :stopped
16
+ end
@@ -1,6 +1,7 @@
1
+ b=box({id: :c315})
1
2
  circle({id: :circle_12})
2
3
  grab(:c315).parent([:circle_12])
3
- a.shape.parent([:circle_12])
4
+ b.parent([:circle_12])
4
5
 
5
6
 
6
7
  circle({ id: :circle_123, color: :cyan })
@@ -1,3 +1,3 @@
1
-
1
+ puts "Attention this method only work with a server due to security restriction "
2
2
  read('examples/image.rb', :ruby)
3
3
  read('examples/image.rb', :text)
@@ -1,5 +1,18 @@
1
+ text({ id: :my_text, color: :lightgray }) do |p|
2
+ puts "ok text id is : #{id}"
3
+ end
4
+
1
5
  text = Atome.new(
2
- text: { render: [:html], id: :text1, type: :text, parent: [:view], visual: { size: 33 }, string: "hello!", left: 399, top: 633, width: 199, height: 33,
3
- }
4
- )
5
- text.text.string(:kool)
6
+ text: { render: [:html], id: :text1, type: :text, parent: [:view], visual: { size: 33 }, data: "My text!", left: 300, top: 33, width: 199, height: 33, }
7
+ ) do |p|
8
+ puts "ok Atome.new(text) id is : #{id}"
9
+ end
10
+ wait 1.2 do
11
+ text.text.data(:kool)
12
+ end
13
+
14
+ b = box({ drag: true, left: 66, top: 66 })
15
+ my_text = b.text({ data: "drag the bloc behind me", width: 333 })
16
+ wait 2 do
17
+ my_text.color(:red)
18
+ end
@@ -1,4 +1,52 @@
1
- Atome.new(
2
- video: { render: [:html], id: :video1, type: :video, parent: [:view], path: "./medias/videos/avengers.mp4", left: 333, top: 333, width: 199, height: 99,
1
+ my_video = Atome.new(
2
+ video: { render: [:html], id: :video1, type: :video, parent: [:view], path: './medias/videos/superman.mp4', left: 333, top: 333, width: 199, height: 99,
3
3
  }
4
- )
4
+ ) do |params|
5
+ puts "video callback time is #{params}, id is : #{id}"
6
+ end
7
+ my_video.video.top(33)
8
+ my_video.video.left(33)
9
+
10
+ my_video.video.touch(true) do
11
+ my_video.video.play(true) do |currentTime|
12
+ puts "play callback time is : #{currentTime}"
13
+ end
14
+ end
15
+
16
+ my_video2 = Atome.new(
17
+ video: { render: [:html], id: :video9, type: :video, parent: [:view], path: './medias/videos/madmax.mp4', left: 666, top: 333, width: 199, height: 99,
18
+ }
19
+ #FIXME : positioning doesnt work
20
+
21
+ ) do |params|
22
+ puts "2- video callback time is #{params}, id is : #{id}"
23
+ end
24
+ my_video2.video.top(33)
25
+ my_video2.video.left(333)
26
+
27
+ my_video2.video.touch(true) do
28
+ my_video2.video.play(true) do |currentTime|
29
+ puts "2 - play callback time is : #{currentTime}, id is : #{id}"
30
+ end
31
+ end
32
+
33
+
34
+ my_video3 = video({ path: './medias/videos/avengers.mp4', id: :video16 }) do |params|
35
+ puts "3 - video callback here #{params}, id is : #{id}"
36
+ end
37
+
38
+ grab(:video16).on(:pause) do |event|
39
+ alert ":supercool, id is : #{id}"
40
+ end
41
+ my_video3.touch(true) do
42
+ grab(:video16).time(15)
43
+ my_video3.play(true) do |currentTime|
44
+ puts "3- play callback time is : #{currentTime}, id is : #{id}"
45
+ end
46
+ wait 3 do
47
+ grab(:video16).pause(true) do |p|
48
+ alert "paused, id is : #{id}"
49
+ end
50
+ end
51
+ end
52
+
@@ -1,9 +1,10 @@
1
1
  Atome.new(
2
- image: { render: [:html], id: :image1, type: :image, parent: [:view], path: "https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg", left: 99, top: 120, width: 199, height: 199,
2
+ image: { render: [:html], id: :image1, type: :image, parent: [:view], path: "https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg", left: 99, top: 320, width: 199, height: 199,
3
3
  }
4
4
  )
5
5
 
6
+
6
7
  Atome.new(
7
- web: { render: [:html], id: :image1, type: :web, parent: [:view], path: "https://www.youtube.com/embed/usQDazZKWAk", left: 99, top: 120, width: 199, height: 199,
8
+ web: { render: [:html], id: :youtube1, type: :web, parent: [:view], path: "https://www.youtube.com/embed/usQDazZKWAk", left: 33, top: 33, width: 199, height: 199,
8
9
  }
9
10
  )
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.4.5.4
4
+ version: 0.4.7.0
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: 2022-10-19 00:00:00.000000000 Z
11
+ date: 2022-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arduino_firmata
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0.3'
159
+ version: 0.3.6
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '0.3'
166
+ version: 0.3.6
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: opal-jquery
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -392,16 +392,17 @@ files:
392
392
  - exe/atome
393
393
  - lib/atome.rb
394
394
  - lib/atome/atome_native_extensions.rb
395
- - lib/atome/extensions/geolocation.rb
396
395
  - lib/atome/extensions/helper.rb
397
- - lib/atome/extensions/ping.rb
398
- - lib/atome/extensions/sha.rb
399
- - lib/atome/extensions/utilities.rb
400
396
  - lib/atome/kernel/atome.rb
401
397
  - lib/atome/kernel/generators/generator.rb
402
398
  - lib/atome/kernel/generators/genesis.rb
403
399
  - lib/atome/kernel/generators/sanitizer.rb
404
400
  - lib/atome/kernel/generators/shapes.rb
401
+ - lib/atome/kernel/helpers/geolocation.rb
402
+ - lib/atome/kernel/helpers/internal_methods.rb
403
+ - lib/atome/kernel/helpers/ping.rb
404
+ - lib/atome/kernel/helpers/sha.rb
405
+ - lib/atome/kernel/helpers/utilities.rb
405
406
  - lib/atome/kernel/properties/essential.rb
406
407
  - lib/atome/kernel/sparkle.rb
407
408
  - lib/atome/kernel/universe.rb
@@ -428,18 +429,19 @@ files:
428
429
  - vendor/assets/build/index.html
429
430
  - vendor/assets/build/js/application.js
430
431
  - vendor/assets/build/js/atome/atome.js
431
- - vendor/assets/build/js/ping.min.js
432
- - vendor/assets/build/js/third_parties/createjs.min.js
433
432
  - vendor/assets/build/js/third_parties/fabric.min.js
434
433
  - vendor/assets/build/js/third_parties/interact.min.js
435
434
  - vendor/assets/build/js/third_parties/interact.min.js.map
435
+ - vendor/assets/build/js/third_parties/ping.min.js
436
436
  - vendor/assets/build/js/third_parties/popmotion.min.js
437
437
  - vendor/assets/build/js/third_parties/sha256.min.js
438
438
  - vendor/assets/build/js/third_parties/three.min.js
439
- - vendor/assets/build/js/utilities/w3color.js
439
+ - vendor/assets/build/js/third_parties/w3color.js
440
+ - vendor/assets/build/js/third_parties/zim.min.js
440
441
  - vendor/assets/build/medias/audios/audio_missing.wav
441
442
  - vendor/assets/build/medias/audios/clap.wav
442
443
  - vendor/assets/build/medias/audios/cowbell.wav
444
+ - vendor/assets/build/medias/audios/guitar.wav
443
445
  - vendor/assets/build/medias/audios/hihat.wav
444
446
  - vendor/assets/build/medias/audios/kick.wav
445
447
  - vendor/assets/build/medias/audios/riff.m4a
@@ -508,6 +510,7 @@ files:
508
510
  - vendor/assets/build/medias/images/atome.svg
509
511
  - vendor/assets/build/medias/images/avion.jpg
510
512
  - vendor/assets/build/medias/images/ballanim.png
513
+ - vendor/assets/build/medias/images/beach.jpg
511
514
  - vendor/assets/build/medias/images/blank.png
512
515
  - vendor/assets/build/medias/images/boat.png
513
516
  - vendor/assets/build/medias/images/cache.svg
@@ -547,6 +550,7 @@ files:
547
550
  - vendor/assets/build/medias/images/tile_black.png
548
551
  - vendor/assets/build/medias/images/tile_white.png
549
552
  - vendor/assets/build/medias/javascripts/test.js
553
+ - vendor/assets/build/medias/rubies/examples/!run.rb
550
554
  - vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb
551
555
  - vendor/assets/build/medias/rubies/examples/Old_examples/action.rb
552
556
  - vendor/assets/build/medias/rubies/examples/Old_examples/add.rb
@@ -677,6 +681,8 @@ files:
677
681
  - vendor/assets/build/medias/rubies/examples/bottom.rb
678
682
  - vendor/assets/build/medias/rubies/examples/box.rb
679
683
  - vendor/assets/build/medias/rubies/examples/circle.rb
684
+ - vendor/assets/build/medias/rubies/examples/clear.rb
685
+ - vendor/assets/build/medias/rubies/examples/code.rb
680
686
  - vendor/assets/build/medias/rubies/examples/color.rb
681
687
  - vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb
682
688
  - vendor/assets/build/medias/rubies/examples/drag.rb
@@ -686,6 +692,7 @@ files:
686
692
  - vendor/assets/build/medias/rubies/examples/image.rb
687
693
  - vendor/assets/build/medias/rubies/examples/left.rb
688
694
  - vendor/assets/build/medias/rubies/examples/link.rb
695
+ - vendor/assets/build/medias/rubies/examples/on.rb
689
696
  - vendor/assets/build/medias/rubies/examples/parent.rb
690
697
  - vendor/assets/build/medias/rubies/examples/read.rb
691
698
  - vendor/assets/build/medias/rubies/examples/repeat.rb
@@ -705,6 +712,11 @@ files:
705
712
  - vendor/assets/build/medias/rubies/users/code.rb
706
713
  - vendor/assets/build/medias/utils/infos/color.rb
707
714
  - vendor/assets/build/medias/utils/infos/width.rb
715
+ - vendor/assets/build/medias/videos/avengers.mp4
716
+ - vendor/assets/build/medias/videos/lion_king.mp4
717
+ - vendor/assets/build/medias/videos/madmax.mp4
718
+ - vendor/assets/build/medias/videos/starwars.mov
719
+ - vendor/assets/build/medias/videos/superman.mp4
708
720
  - vendor/assets/build/medias/videos/video_missing.mp4
709
721
  - vendor/assets/r&d/misc.rb
710
722
  - vendor/assets/r&d/ping.rb
@@ -735,7 +747,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
735
747
  - !ruby/object:Gem::Version
736
748
  version: '0'
737
749
  requirements: []
738
- rubygems_version: 3.3.7
750
+ rubygems_version: 3.3.22
739
751
  signing_key:
740
752
  specification_version: 4
741
753
  summary: the creative framework
@@ -1,13 +0,0 @@
1
- def ping(address, my_proc: false)
2
- # if RUBY_ENGINE.downcase != 'opal'
3
- def up?(host, my_proc)
4
- check = Net::Ping::External.new(host)
5
- if check.ping?
6
- puts "ping respond!! "
7
- end
8
- end
9
-
10
- chost = address
11
- puts up?(chost, my_proc) # prints "true" if ping replies
12
- # end
13
- end