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.
- checksums.yaml +4 -4
- data/Rakefile +52 -17
- data/app_builder_helpers/Rakefile +20 -3
- data/exe/atome +33 -1
- data/lib/atome/atome.rb +64 -75
- data/lib/atome/extensions/atome.rb +82 -52
- data/lib/atome/extensions/mathematic.rb +8 -12
- data/lib/atome/extensions/matrix.rb +141 -202
- data/lib/atome/genesis/generators/atome.rb +13 -96
- data/lib/atome/genesis/generators/communication.rb +0 -1
- data/lib/atome/genesis/generators/effect.rb +0 -6
- data/lib/atome/genesis/generators/event.rb +64 -77
- data/lib/atome/genesis/generators/geometry.rb +0 -18
- data/lib/atome/genesis/generators/identity.rb +56 -52
- data/lib/atome/genesis/generators/material.rb +3 -54
- data/lib/atome/genesis/generators/spatial.rb +8 -8
- data/lib/atome/genesis/generators/utility.rb +82 -68
- data/lib/atome/genesis/genesis.rb +15 -4
- data/lib/atome/genesis/sparkle.rb +38 -19
- data/lib/atome/helpers/callbacks.rb +47 -1
- data/lib/atome/helpers/essentials.rb +21 -18
- data/lib/atome/helpers/sanitizer.rb +0 -10
- data/lib/atome/helpers/utilities.rb +143 -45
- data/lib/atome/kernel/batch.rb +13 -36
- data/lib/atome/kernel/universe.rb +3 -1
- data/lib/atome/presets/atome.rb +14 -23
- data/lib/atome/renderers/browser/atome.rb +2 -1
- data/lib/atome/renderers/browser/browser.rb +2 -0
- data/lib/atome/renderers/browser/event.rb +18 -0
- data/lib/atome/renderers/browser/helpers/browser_helper.rb +17 -0
- data/lib/atome/renderers/browser/helpers/drag_helper.rb +13 -0
- data/lib/atome/renderers/browser/helpers/drop_helper.rb +13 -0
- data/lib/atome/renderers/browser/helpers/event_helper.rb +16 -11
- data/lib/atome/renderers/browser/helpers/over_helper.rb +13 -0
- data/lib/atome/renderers/browser/helpers/text_helper.rb +14 -2
- data/lib/atome/renderers/browser/identity.rb +23 -5
- data/lib/atome/renderers/browser/spatial.rb +3 -2
- data/lib/atome/renderers/browser/utility.rb +7 -6
- data/lib/atome/renderers/renderer.rb +1 -0
- data/lib/atome/version.rb +2 -2
- data/lib/atome.rb +1 -0
- data/sig/atome.rbs +36 -0
- data/sig/batch.rbs +7 -0
- data/sig/browser_helper.rbs +14 -0
- data/sig/essentials.rbs +11 -0
- data/sig/matrix.rbs +5 -0
- data/sig/object.rbs +3 -0
- data/vendor/assets/aui.rb +5 -0
- data/vendor/assets/src/index.html +15 -3
- data/vendor/assets/src/js/atome/atome.js +1 -1
- data/vendor/assets/src/js/atome/atome_helpers/atome_animate.js +1 -1
- data/vendor/assets/src/js/atome/atome_helpers/atome_communication.js +40 -0
- data/vendor/assets/src/js/atome/atome_helpers/atome_drag.js +40 -3
- data/vendor/assets/src/js/atome/atome_helpers/atome_drop.js +12 -0
- data/vendor/assets/src/js/atome/atome_helpers/atome_events.js +166 -0
- data/vendor/assets/src/js/atome/atome_helpers/atome_file.js +6 -1
- data/vendor/assets/src/js/atome/atome_helpers/atome_over.js +43 -0
- data/vendor/assets/src/medias/images/icons/email.svg +12 -12
- data/vendor/assets/src/medias/rubies/demos.rb +63 -0
- data/vendor/assets/src/medias/rubies/examples/add.rb +3 -4
- data/vendor/assets/src/medias/rubies/examples/animation.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/atome_new.rb +18 -6
- data/vendor/assets/src/medias/rubies/examples/attach.rb +15 -0
- data/vendor/assets/src/medias/rubies/examples/attached.rb +5 -6
- data/vendor/assets/src/medias/rubies/examples/batch.rb +17 -0
- data/vendor/assets/src/medias/rubies/examples/blur.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/box.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/code.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/color.rb +20 -4
- data/vendor/assets/src/medias/rubies/examples/delete.rb +18 -2
- data/vendor/assets/src/medias/rubies/examples/detached.rb +3 -3
- data/vendor/assets/src/medias/rubies/examples/drag.rb +53 -2
- data/vendor/assets/src/medias/rubies/examples/drop.rb +26 -0
- data/vendor/assets/src/medias/rubies/examples/fullscreen.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/image.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/link.rb +7 -5
- data/vendor/assets/src/medias/rubies/examples/markers.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/materials.rb +15 -0
- data/vendor/assets/src/medias/rubies/examples/matrix.rb +85 -41
- data/vendor/assets/src/medias/rubies/examples/matrix_changes.rb +483 -0
- data/vendor/assets/src/medias/rubies/examples/matrix_simple.rb +32 -0
- data/vendor/assets/src/medias/rubies/examples/monitoring.rb +44 -18
- data/vendor/assets/src/medias/rubies/examples/mute.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/on.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/over.rb +6 -4
- data/vendor/assets/src/medias/rubies/examples/pause.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/physical.rb +19 -0
- data/vendor/assets/src/medias/rubies/examples/play.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/read.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/repeat.rb +3 -2
- data/vendor/assets/src/medias/rubies/examples/shadow.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/sort.rb +3 -4
- data/vendor/assets/src/medias/rubies/examples/tags.rb +10 -0
- data/vendor/assets/src/medias/rubies/examples/text.rb +4 -4
- data/vendor/assets/src/medias/rubies/examples/time.rb +3 -3
- data/vendor/assets/src/medias/rubies/examples/video.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/web.rb +2 -2
- data/vendor/assets/src/medias/rubies/{examples → unstable}/_2_solve.rb +1 -1
- data/vendor/assets/src/medias/rubies/{examples → unstable}/_audio.rb +1 -1
- data/vendor/assets/src/medias/rubies/{examples → unstable}/_dataset.rb +4 -4
- data/vendor/assets/src/medias/rubies/unstable/_matrix.rb +58 -0
- data/vendor/assets/src/medias/rubies/{examples → unstable}/_table2.rb +2 -2
- data/vendor/assets/src/medias/rubies/{examples → unstable}/_vie.rb +2 -2
- data/vendor/assets/src/utilities/mode.rb +0 -0
- data/vendor/assets/src-tauri/tauri.conf.json +2 -2
- metadata +34 -14
- data/vendor/assets/src/medias/rubies/examples/parents.rb +0 -15
- data/vendor/assets/src/medias/rubies/examples/table.rb +0 -479
- /data/vendor/assets/src/medias/rubies/{examples → unstable}/!run.rb +0 -0
- /data/vendor/assets/src/medias/rubies/{examples → unstable}/_attach.rb +0 -0
- /data/vendor/assets/src/medias/rubies/{examples → unstable}/_os.rb +0 -0
- /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.
|
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
|
-
|
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,
|
5
|
-
path: './medias/videos/avengers.mp4', left:
|
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,
|
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/
|
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,
|
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
|
-
|
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,
|
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.
|
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,
|
5
|
-
path: './medias/videos/avengers.mp4', left:
|
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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
-
|
28
|
-
color(
|
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
|
-
|
34
|
-
|
45
|
+
found.data.each do |el|
|
46
|
+
el.color(:red)
|
35
47
|
end
|
36
48
|
|
37
|
-
#
|
38
|
-
#
|
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
|
-
|
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
|
-
#
|
45
|
-
#
|
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
|
|