atome 0.4.5.4 → 0.4.7.0

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.
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