atome 0.5.3.8.1 → 0.5.4.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +52 -17
  3. data/app_builder_helpers/Rakefile +20 -3
  4. data/exe/atome +33 -1
  5. data/lib/atome/atome.rb +64 -75
  6. data/lib/atome/extensions/atome.rb +82 -52
  7. data/lib/atome/extensions/mathematic.rb +8 -12
  8. data/lib/atome/extensions/matrix.rb +141 -202
  9. data/lib/atome/genesis/generators/atome.rb +13 -96
  10. data/lib/atome/genesis/generators/communication.rb +0 -1
  11. data/lib/atome/genesis/generators/effect.rb +0 -6
  12. data/lib/atome/genesis/generators/event.rb +64 -77
  13. data/lib/atome/genesis/generators/geometry.rb +0 -18
  14. data/lib/atome/genesis/generators/identity.rb +56 -52
  15. data/lib/atome/genesis/generators/material.rb +3 -54
  16. data/lib/atome/genesis/generators/spatial.rb +8 -8
  17. data/lib/atome/genesis/generators/utility.rb +82 -68
  18. data/lib/atome/genesis/genesis.rb +15 -4
  19. data/lib/atome/genesis/sparkle.rb +38 -19
  20. data/lib/atome/helpers/callbacks.rb +47 -1
  21. data/lib/atome/helpers/essentials.rb +21 -18
  22. data/lib/atome/helpers/sanitizer.rb +0 -10
  23. data/lib/atome/helpers/utilities.rb +143 -45
  24. data/lib/atome/kernel/batch.rb +13 -36
  25. data/lib/atome/kernel/universe.rb +3 -1
  26. data/lib/atome/presets/atome.rb +14 -23
  27. data/lib/atome/renderers/browser/atome.rb +2 -1
  28. data/lib/atome/renderers/browser/browser.rb +2 -0
  29. data/lib/atome/renderers/browser/event.rb +18 -0
  30. data/lib/atome/renderers/browser/helpers/browser_helper.rb +17 -0
  31. data/lib/atome/renderers/browser/helpers/drag_helper.rb +13 -0
  32. data/lib/atome/renderers/browser/helpers/drop_helper.rb +13 -0
  33. data/lib/atome/renderers/browser/helpers/event_helper.rb +16 -11
  34. data/lib/atome/renderers/browser/helpers/over_helper.rb +13 -0
  35. data/lib/atome/renderers/browser/helpers/text_helper.rb +14 -2
  36. data/lib/atome/renderers/browser/identity.rb +23 -5
  37. data/lib/atome/renderers/browser/spatial.rb +3 -2
  38. data/lib/atome/renderers/browser/utility.rb +7 -6
  39. data/lib/atome/renderers/renderer.rb +1 -0
  40. data/lib/atome/version.rb +2 -2
  41. data/lib/atome.rb +1 -0
  42. data/sig/atome.rbs +36 -0
  43. data/sig/batch.rbs +7 -0
  44. data/sig/browser_helper.rbs +14 -0
  45. data/sig/essentials.rbs +11 -0
  46. data/sig/matrix.rbs +5 -0
  47. data/sig/object.rbs +3 -0
  48. data/vendor/assets/aui.rb +5 -0
  49. data/vendor/assets/src/index.html +15 -3
  50. data/vendor/assets/src/js/atome/atome.js +1 -1
  51. data/vendor/assets/src/js/atome/atome_helpers/atome_animate.js +1 -1
  52. data/vendor/assets/src/js/atome/atome_helpers/atome_communication.js +40 -0
  53. data/vendor/assets/src/js/atome/atome_helpers/atome_drag.js +40 -3
  54. data/vendor/assets/src/js/atome/atome_helpers/atome_drop.js +12 -0
  55. data/vendor/assets/src/js/atome/atome_helpers/atome_events.js +166 -0
  56. data/vendor/assets/src/js/atome/atome_helpers/atome_file.js +6 -1
  57. data/vendor/assets/src/js/atome/atome_helpers/atome_over.js +43 -0
  58. data/vendor/assets/src/medias/images/icons/email.svg +12 -12
  59. data/vendor/assets/src/medias/rubies/demos.rb +63 -0
  60. data/vendor/assets/src/medias/rubies/examples/add.rb +3 -4
  61. data/vendor/assets/src/medias/rubies/examples/animation.rb +2 -2
  62. data/vendor/assets/src/medias/rubies/examples/atome_new.rb +18 -6
  63. data/vendor/assets/src/medias/rubies/examples/attach.rb +15 -0
  64. data/vendor/assets/src/medias/rubies/examples/attached.rb +5 -6
  65. data/vendor/assets/src/medias/rubies/examples/batch.rb +17 -0
  66. data/vendor/assets/src/medias/rubies/examples/blur.rb +2 -2
  67. data/vendor/assets/src/medias/rubies/examples/box.rb +2 -2
  68. data/vendor/assets/src/medias/rubies/examples/code.rb +1 -1
  69. data/vendor/assets/src/medias/rubies/examples/color.rb +20 -4
  70. data/vendor/assets/src/medias/rubies/examples/delete.rb +18 -2
  71. data/vendor/assets/src/medias/rubies/examples/detached.rb +3 -3
  72. data/vendor/assets/src/medias/rubies/examples/drag.rb +53 -2
  73. data/vendor/assets/src/medias/rubies/examples/drop.rb +26 -0
  74. data/vendor/assets/src/medias/rubies/examples/fullscreen.rb +2 -2
  75. data/vendor/assets/src/medias/rubies/examples/image.rb +2 -2
  76. data/vendor/assets/src/medias/rubies/examples/link.rb +7 -5
  77. data/vendor/assets/src/medias/rubies/examples/markers.rb +2 -2
  78. data/vendor/assets/src/medias/rubies/examples/materials.rb +15 -0
  79. data/vendor/assets/src/medias/rubies/examples/matrix.rb +85 -41
  80. data/vendor/assets/src/medias/rubies/examples/matrix_changes.rb +483 -0
  81. data/vendor/assets/src/medias/rubies/examples/matrix_simple.rb +32 -0
  82. data/vendor/assets/src/medias/rubies/examples/monitoring.rb +44 -18
  83. data/vendor/assets/src/medias/rubies/examples/mute.rb +1 -1
  84. data/vendor/assets/src/medias/rubies/examples/on.rb +1 -1
  85. data/vendor/assets/src/medias/rubies/examples/over.rb +6 -4
  86. data/vendor/assets/src/medias/rubies/examples/pause.rb +1 -1
  87. data/vendor/assets/src/medias/rubies/examples/physical.rb +19 -0
  88. data/vendor/assets/src/medias/rubies/examples/play.rb +1 -1
  89. data/vendor/assets/src/medias/rubies/examples/read.rb +2 -2
  90. data/vendor/assets/src/medias/rubies/examples/repeat.rb +3 -2
  91. data/vendor/assets/src/medias/rubies/examples/shadow.rb +1 -1
  92. data/vendor/assets/src/medias/rubies/examples/sort.rb +3 -4
  93. data/vendor/assets/src/medias/rubies/examples/tags.rb +10 -0
  94. data/vendor/assets/src/medias/rubies/examples/text.rb +4 -4
  95. data/vendor/assets/src/medias/rubies/examples/time.rb +3 -3
  96. data/vendor/assets/src/medias/rubies/examples/video.rb +2 -2
  97. data/vendor/assets/src/medias/rubies/examples/web.rb +2 -2
  98. data/vendor/assets/src/medias/rubies/{examples → unstable}/_2_solve.rb +1 -1
  99. data/vendor/assets/src/medias/rubies/{examples → unstable}/_audio.rb +1 -1
  100. data/vendor/assets/src/medias/rubies/{examples → unstable}/_dataset.rb +4 -4
  101. data/vendor/assets/src/medias/rubies/unstable/_matrix.rb +58 -0
  102. data/vendor/assets/src/medias/rubies/{examples → unstable}/_table2.rb +2 -2
  103. data/vendor/assets/src/medias/rubies/{examples → unstable}/_vie.rb +2 -2
  104. data/vendor/assets/src/utilities/mode.rb +0 -0
  105. data/vendor/assets/src-tauri/tauri.conf.json +2 -2
  106. metadata +34 -14
  107. data/vendor/assets/src/medias/rubies/examples/parents.rb +0 -15
  108. data/vendor/assets/src/medias/rubies/examples/table.rb +0 -479
  109. /data/vendor/assets/src/medias/rubies/{examples → unstable}/!run.rb +0 -0
  110. /data/vendor/assets/src/medias/rubies/{examples → unstable}/_attach.rb +0 -0
  111. /data/vendor/assets/src/medias/rubies/{examples → unstable}/_os.rb +0 -0
  112. /data/vendor/assets/src/medias/rubies/{examples → unstable}/_test.rb +0 -0
@@ -1,8 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  a = box({ width: 333, height: 333, id: :the_boxy })
4
+
5
+ a.drag(move: false) do |event|
6
+ puts "the pointer is at : #{event}"
7
+
8
+ end
4
9
  a.color(:red)
5
10
  b = circle({ width: 33, height: 33, id: :the_box, drag: true })
11
+
12
+
6
13
  b.parents([a.id])
7
14
  b.color(:black)
8
15
  # b.parents([:the_boxy ])
@@ -40,8 +47,52 @@ b.drag({ snap: { x: 100, y: 190 } })
40
47
  # b.drag({ constraint: :the_boxy })
41
48
 
42
49
  cc=circle(drag: true)
50
+ cc.drag(true) do |ee|
51
+ puts "the circle is : >#{cc.left} : #{ee}"
52
+
53
+ end
54
+
55
+ cc.drag(:end) do |ee|
56
+ puts "the circle is ending drag : >#{cc.left} : #{ee}"
57
+ end
58
+
59
+
60
+ cc.drag(:start) do |ee|
61
+ puts "==> the circle is starting drag : >#{cc.left} : #{ee}"
62
+ end
63
+
64
+
65
+
66
+
67
+ cc.touch(true) do
68
+ # alert cc.left
69
+ puts "===>ee is : >#{cc.left}"
70
+ end
71
+
43
72
  bb=box({drag: true, color: :yellow})
44
73
 
45
- bb.parents(cc.id)
74
+ bb.attach(cc.id)
75
+
76
+ # alert"#{b.parents.class} : #{b.parents}"
77
+ a.touch(true) do
78
+ puts cc.left
79
+ end
80
+
81
+
82
+ # Sticky box
83
+ sticky_box=box({left: 633})
84
+ sticky_box.text("my position will be reverted")
85
+ start_x_pos=sticky_box.left
86
+ start_y_pos=sticky_box.top
87
+ sticky_box.drag(move: true) do
88
+ puts sticky_box.left
89
+ end
90
+ sticky_box.drag(:start) do
91
+ puts "start => #{sticky_box.left} : #{sticky_box.top}"
92
+ end
46
93
 
47
- # alert"#{b.parents.class} : #{b.parents}"
94
+ sticky_box.drag(:end) do
95
+ puts "end => #{sticky_box.left} : #{sticky_box.top}"
96
+ sticky_box.left(start_x_pos)
97
+ sticky_box.top(start_y_pos)
98
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ # Drop
3
+ b=box({id: :droper})
4
+ b.drop(true) do |drop_ob_id|
5
+ puts "id received : #{drop_ob_id[:id]}"
6
+ drop_obj=grab(drop_ob_id[:id])
7
+ if drop_obj.type == :image
8
+ grab(:view).image({ path: drop_obj.path , drag: true, width: 120, left: 222, top: 222})
9
+ end
10
+
11
+ end
12
+
13
+ image({path: "./medias/images/green_planet.png", left: 333, top: 33, drag: true})
14
+
15
+ #
16
+ b.over(:enter) do |event|
17
+ b.color(:red)
18
+ end
19
+
20
+ b.over(:leave) do |event|
21
+ b.color(:blue)
22
+ end
23
+
24
+
25
+ c=circle({ color: :orange, top: 333, id: :the_c_2 })
26
+ c.drag(true)
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  my_video = Atome.new(
4
- video: { renderers: [:browser], id: :video1, type: :video, parents: [:view],
5
- path: './medias/videos/avengers.mp4', left: 333, top: 33, width: 777
4
+ video: { renderers: [:browser], id: :video1, type: :video, attach: [:view],
5
+ path: './medias/videos/avengers.mp4', left: 33, top: 33, width: 777
6
6
  }
7
7
  ) do |params|
8
8
  puts "video callback here #{params}"
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Atome.new(
4
- image: { renderers: [:browser], id: :image1, type: :image, parents: [:view], path: "./medias/images/boat.png", left: 99, top: 120, width: 199, height: 199,
4
+ image: { renderers: [:browser], id: :image1, type: :image, attach: [:view], path: "./medias/images/red_planet.png", left: 99, top: 120, width: 199, height: 199,
5
5
  }
6
6
  )
7
7
 
8
- image({path: "./medias/images/moto.png", left: 33, top: 33})
8
+ image({path: "./medias/images/green_planet.png", left: 33, top: 33})
@@ -1,19 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  text = Atome.new(
4
- text: { renderers: [:browser], id: :my_text, type: :text, parents: [:view], children: [], visual: { size: 18 },
4
+ text: { renderers: [:browser], id: :my_text, type: :text, attach: [:view], visual: { size: 18 },
5
5
  data: 'My first text!', left: 300, top: 33, width: 199, height: 33,
6
- color: { renderers: [:browser], id: :c31, type: :color, parents: [:my_text], children: [],
7
- red: 0.6, green: 0.6, blue: 0.6, alpha: 1 }
6
+
8
7
  }
9
8
  )
9
+ color({ renderers: [:browser], id: :c31, type: :color, attach: [:my_text],
10
+ red: 0.6, green: 0.6, blue: 0.6, alpha: 1 })
11
+
10
12
 
11
- Atome.new({ color: { renderers: [:browser], id: :new_col, type: :color, parents: [], children: [],
13
+ Atome.new({ color: { renderers: [:browser], id: :new_col, type: :color, attach: [],
12
14
  left: 33, top: 66, red: 0, green: 0.15, blue: 0.7, alpha: 0.6 } })
13
15
 
14
16
  # now we change the color all the object that share the care modified
15
17
  wait 1 do
16
- text.link(:new_col)
18
+ text.attached(:new_col)
17
19
  end
18
20
  wait 2 do
19
21
  grab(:new_col).red(1)
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  my_video = Atome.new(
4
- video: { renderers: [:browser], id: :video1, type: :video, parents: [:view], clones: [],
5
- path: './medias/videos/avengers.mp4', left: 333, top: 33, width: 777
4
+ video: { renderers: [:browser], id: :video1, type: :video, attach: [:view], clones: [],
5
+ path: './medias/videos/avengers.mp4', left: 33, top: 33, width: 777
6
6
  }
7
7
  )
8
8
 
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # the materials method is used to retrieve or delete all children with a visual rendering
4
+ # but leave alone other atome such as color
5
+ b = box
6
+ cc2 = color(:yellow)
7
+ b.color(:red)
8
+ c = b.circle
9
+ c.attached(cc2.id)
10
+ b.text(:hello)
11
+ b.add(text: { data: :ok, left: 133 })
12
+ wait 2 do
13
+ b.delete(:materials)
14
+ puts "b is : #{b}"
15
+ end
@@ -1,58 +1,102 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- a = Matrix.new({ col: 1, row: 8, width: 120, height: 333, id: :vie_playground, name: :matrix_2, margin: 9,
4
- matrix_style: { color: { red: 0.3, green: 0.3, blue: 0.6, alpha: 1 }, smooth: 20 },
5
- cell_style: { color: { red: 0.333, green: 0.333, blue: 0.6, alpha: 1 }, smooth: 300, shadow: { blur: 6 }
6
- #border: { color: :black, thickness: 0, pattern: :solid }
7
- }
8
- })
9
-
10
- ######## tests
11
-
12
- a.assign(2) do
13
- curent_cell = self
14
- curent_cell.image({ path: "./medias/images/moto.png", width: 33, height: 33})
15
- curent_cell.active(:inactive)
16
- touch(:long) do
17
- if curent_cell.active.value == :inactive
18
- curent_cell.color(:yellow)
19
- curent_cell.active(:active)
20
- else
21
- curent_cell.color(:red)
22
- curent_cell.active(:inactive)
23
- end
24
- end
3
+ params = {
4
+
5
+ id: :my_table, left: 0, top: 0, width: 500, height: 399, smooth: 8, color: :yellowgreen,
6
+ columns: { count: 8,
7
+ titles: { 1 => :col1, 3 => :mycol },
8
+ data: { 3 => :col_content },
9
+ actions: { 2 => { touch: :the_action } },
10
+ particles: { color: :blue }
11
+ },
12
+ rows: { count: 6,
13
+ titles: { 1 => :my_first_row, 5 => :other_row },
14
+ data: { 0 => :col_content },
15
+ actions: {},
16
+ particles: { shadows: :black }
17
+ },
18
+ cells: {
19
+ particles: { margin: 9, color: :blue, smooth: 9, shadow: { blur: 9, left: 3, top: 3,id: :cell_shadow } }
20
+ },
21
+ exceptions: {
22
+ columns: {
23
+ fusion: { 1 => [3, 5], 7 => [2, 5] }
24
+ },
25
+ rows: {
26
+ divided: { 1 => 3 },
27
+ fusion: { 2 => [0, 3], 5 => [2, 5] }
28
+ }
29
+ }
30
+ }
31
+ m = matrix(params)
32
+
33
+ found = m.columns(5) do |el|
34
+ el.color(:yellow)
25
35
  end
26
36
 
27
- a.assign(3) do
28
- color({ red: 0.6, green: 0.333, blue: 0.6, alpha: 1 })
29
- grab(:vie_playground_3).shadow({ blur: 12 })
37
+ m.rows(3) do |el|
38
+ el.color(:orange)
30
39
  end
31
40
 
41
+ m.rows(1) do |el|
42
+ el.color(:lightgray)
43
+ end
32
44
 
33
- wait 2 do
34
- a.add({ columns: 3 })
45
+ found.data.each do |el|
46
+ el.color(:red)
35
47
  end
36
48
 
37
- # add row
38
- # wait 4 do
39
- # a.add({ rows: 2 })
49
+ # found.data[0..2].each do |el|
50
+ # el.color(:cyan)
40
51
  # end
52
+ #
53
+ grab(:my_table_21).color(:pink)
54
+ grab(:my_table_26).color(:purple)
55
+ # m.cells([20, 5]).rotate(15)
56
+ m.cell(3).color(:black)
57
+ # test = m.cells([23, 26])
58
+ # test.color(:black)
59
+ # m.columns(6).data[0..3].color(:green)
41
60
 
42
- # examples:
61
+ grab(m.id).drag({ move: true }) do |e|
62
+ puts e
63
+ end
64
+ # wait 1 do
65
+ # m.add_columns(3)
66
+ # m.rows(3) do |el|
67
+ # el.color(:orange)
68
+ # end
69
+ # wait 1 do
70
+ # m.add_rows(4)
71
+ # m.rows(1) do |el|
72
+ # el.color(:lightgray)
73
+ # end
74
+ # wait 1 do
75
+ # found.data.each do |el|
76
+ # el.color(:red)
77
+ # end
78
+ # m.resize(330, 300)
79
+ #
80
+ # m.fusion(rows: { 2 => [0, 3], 3 => [2, 5] })
81
+ # end
82
+ # end
83
+ # end
43
84
 
44
- # add columns
45
- # a.add({ columns: 3 })
85
+ #
86
+ # m.fusion(columns: { 3=> [3, 5], 4 => [2, 5] })
87
+ # m.fusion(rows: { 0 => [0, 3], 3 => [5, 9] })
88
+ # # m.override( {
89
+ # # columns: { number: [ 0, 3 ] ,width: 200},
90
+ # # rows: { number: [ 1, 4 ] ,height: 200},
91
+ # # })
92
+ # m.last(:rows) do |el|
93
+ # el.color(:violet)
94
+ # end
95
+ # m.divide( rows: {1 => 3})
96
+ # m.cell(9).box({left: 0, top: 0, id: :the_big_one, width: 66, height: 66, color: :black})
97
+ # m.cell(9).content([box({ left: 0, top: 0, id: :another_one, width: 66, height: 66, color: :black })])
46
98
 
47
- # add row
48
- # a.add({ rows: 2 })
49
99
 
50
- # reformat
51
- # a.reformat({rows: 4, cols: 2})
52
100
 
53
- # resize matrix
54
- # a.resize_matrix({ width: 666, height: 333 })
55
101
 
56
- # crop matrix
57
- # a.matrix.height(150)
58
102