atome 0.5.2.8 → 0.5.3.2
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 +7 -1
- data/app_builder_helpers/Rakefile +2 -2
- data/exe/atome +1 -1
- data/lib/atome/atome.rb +28 -26
- data/lib/atome/extensions/atome.rb +4 -0
- data/lib/atome/extensions/matrix.rb +349 -122
- data/lib/atome/genesis/generators/atome.rb +5 -1
- data/lib/atome/genesis/generators/identity.rb +43 -13
- data/lib/atome/genesis/generators/material.rb +20 -5
- data/lib/atome/genesis/generators/time.rb +1 -1
- data/lib/atome/genesis/generators/utility.rb +26 -2
- data/lib/atome/genesis/genesis.rb +12 -4
- data/lib/atome/genesis/sparkle.rb +35 -3
- data/lib/atome/helpers/essentials.rb +24 -15
- data/lib/atome/helpers/utilities.rb +42 -3
- data/lib/atome/kernel/batch.rb +48 -0
- data/lib/atome/presets/atome.rb +22 -6
- data/lib/atome/renderers/browser/atome.rb +1 -3
- data/lib/atome/renderers/browser/browser.rb +14 -1
- data/lib/atome/renderers/browser/geometry.rb +10 -2
- data/lib/atome/renderers/browser/helpers/video_helper.rb +1 -1
- data/lib/atome/renderers/browser/helpers/web_helper.rb +1 -5
- data/lib/atome/renderers/browser/identity.rb +7 -11
- data/lib/atome/renderers/browser/material.rb +10 -0
- data/lib/atome/renderers/html/atome.rb +2 -0
- data/lib/atome/renderers/renderer.rb +3 -2
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +2 -1
- data/sig/atome.rbs +14 -0
- data/vendor/assets/Rakefile +1 -1
- data/vendor/assets/src/css/style.css +6 -6
- data/vendor/assets/src/medias/rubies/examples/_2_solve.rb +41 -27
- data/vendor/assets/src/medias/rubies/examples/_attach.rb +12 -0
- data/vendor/assets/src/medias/rubies/examples/_audio.rb +81 -28
- data/vendor/assets/src/medias/rubies/examples/_dataset.rb +191 -111
- data/vendor/assets/src/medias/rubies/examples/clone.rb +4 -4
- data/vendor/assets/src/medias/rubies/examples/delete.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/drag.rb +2 -1
- data/vendor/assets/src/medias/rubies/examples/table.rb +479 -0
- data/vendor/assets/src/medias/rubies/examples/to_px.rb +10 -0
- metadata +7 -4
- data/vendor/assets/src/medias/rubies/examples/attach.rb +0 -12
@@ -11,6 +11,25 @@ end
|
|
11
11
|
generator.build_particle(:broadcast)
|
12
12
|
generator.build_particle(:additional)
|
13
13
|
generator.build_particle(:data)
|
14
|
+
# generator.build_particle(:delete) do |params|
|
15
|
+
# if params == true
|
16
|
+
# # the machine delete the current atome
|
17
|
+
# Universe.delete(@atome[:id])
|
18
|
+
# elsif params[:id]
|
19
|
+
# # the machine try to an atome by it's ID and delete it
|
20
|
+
# grab(params[:id]).delete(true)
|
21
|
+
# elsif instance_of? Hash
|
22
|
+
# # the machine try to find the sub particle id and remove it eg a.delete(monitor: :my_monitor) remove the monitor
|
23
|
+
# # with id my_monitor
|
24
|
+
# params.each do |param, value|
|
25
|
+
# atome[param][value] = nil
|
26
|
+
# end
|
27
|
+
# else
|
28
|
+
# # the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
|
29
|
+
# send(params,0)
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
|
14
33
|
generator.build_particle(:delete) do |params|
|
15
34
|
if params == true
|
16
35
|
# the machine delete the current atome
|
@@ -18,17 +37,18 @@ generator.build_particle(:delete) do |params|
|
|
18
37
|
elsif params[:id]
|
19
38
|
# the machine try to an atome by it's ID and delete it
|
20
39
|
grab(params[:id]).delete(true)
|
21
|
-
elsif instance_of? Hash
|
40
|
+
elsif params.instance_of? Hash
|
22
41
|
# the machine try to find the sub particle id and remove it eg a.delete(monitor: :my_monitor) remove the monitor
|
23
42
|
# with id my_monitor
|
24
43
|
params.each do |param, value|
|
25
44
|
atome[param][value] = nil
|
26
45
|
end
|
27
46
|
else
|
28
|
-
# the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
|
47
|
+
# # the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
|
29
48
|
send(params,0)
|
30
49
|
end
|
31
50
|
end
|
51
|
+
|
32
52
|
generator.build_particle(:clear)
|
33
53
|
generator.build_particle(:path)
|
34
54
|
generator.build_particle(:schedule) do |date, proc|
|
@@ -47,3 +67,7 @@ end
|
|
47
67
|
|
48
68
|
generator.build_particle(:cursor)
|
49
69
|
|
70
|
+
generator.build_particle(:preset)
|
71
|
+
|
72
|
+
generator.build_particle(:relations, { type: :hash })
|
73
|
+
|
@@ -11,14 +11,22 @@ end
|
|
11
11
|
|
12
12
|
# Genesis method here
|
13
13
|
class Atome
|
14
|
-
def build_particle(particle_name,
|
14
|
+
def build_particle(particle_name,options={},&particle_proc)
|
15
|
+
type = options[:type]
|
16
|
+
type = :string if options[:type].nil?
|
17
|
+
store = options[:store]
|
18
|
+
store = true if options[:store].nil?
|
19
|
+
render = options[:render]
|
20
|
+
render = true if options[:render].nil?
|
21
|
+
|
15
22
|
# we add the new method to the particle's collection of methods
|
16
23
|
Universe.add_to_particle_list(particle_name, type)
|
17
|
-
auto_render_generator(particle_name)
|
18
|
-
new_particle(particle_name, &particle_proc)
|
19
|
-
additional_particle_methods(particle_name,
|
24
|
+
auto_render_generator(particle_name) if render # automatise the creation of an empty render method for current particle
|
25
|
+
new_particle(particle_name,store,render , &particle_proc)
|
26
|
+
additional_particle_methods(particle_name, store,render ,&particle_proc) # create alternative methods such as create 'method='
|
20
27
|
end
|
21
28
|
|
29
|
+
|
22
30
|
def build_atome(atome_name, &atome_proc)
|
23
31
|
# we add the new method to the atome's collection of methods
|
24
32
|
Universe.add_to_atome_list(atome_name)
|
@@ -35,11 +35,43 @@ Atome.new(
|
|
35
35
|
parents: [:eDen], children: [] } }
|
36
36
|
)
|
37
37
|
|
38
|
+
# color creation
|
39
|
+
Atome.new(
|
40
|
+
{ color: { renderers: default_render, id: :view_color, type: :color,
|
41
|
+
red: 0.15, green: 0.15, blue: 0.15, alpha: 1 } }
|
42
|
+
)
|
43
|
+
|
44
|
+
Atome.new(
|
45
|
+
{ color: { renderers: default_render, id: :shape_color, type: :color,
|
46
|
+
red: 0.4, green: 0.4, blue: 0.4, alpha: 1 } }
|
47
|
+
)
|
48
|
+
|
49
|
+
Atome.new(
|
50
|
+
{ color: { renderers: default_render, id: :box_color, type: :color,
|
51
|
+
red: 0.5, green: 0.5, blue: 0.5, alpha: 1 } }
|
52
|
+
)
|
53
|
+
|
54
|
+
Atome.new(
|
55
|
+
{ color: { renderers: default_render, id: :text_color, type: :color,
|
56
|
+
red: 0.3, green: 0.3, blue: 0.3, alpha: 1 } }
|
57
|
+
)
|
58
|
+
|
59
|
+
Atome.new(
|
60
|
+
{ color: { renderers: default_render, id: :circle_color, type: :color,
|
61
|
+
red: 0.6, green: 0.6, blue: 0.6, alpha: 1 } }
|
62
|
+
)
|
63
|
+
|
64
|
+
Atome.new(
|
65
|
+
{ color: { renderers: default_render, id: :matrix_color, type: :color,
|
66
|
+
left: 0, top: 0, red: 0.7, green: 0.7, blue: 0.7, alpha: 1, diffusion: :linear } }
|
67
|
+
)
|
68
|
+
|
69
|
+
# view creation
|
38
70
|
Atome.new(
|
39
71
|
{ shape: { renderers: default_render, id: :view, type: :shape, parents: [:user_view], children: [],
|
40
|
-
left: 0, right: 0, top: 0, bottom: 0, overflow: :auto
|
41
|
-
|
42
|
-
|
72
|
+
attached: [:view_color], left: 0, right: 0, top: 0, bottom: 0, width: :auto, height: :auto, overflow: :auto
|
73
|
+
}
|
74
|
+
}
|
43
75
|
)
|
44
76
|
|
45
77
|
# init basic object for atome environment
|
@@ -4,22 +4,31 @@
|
|
4
4
|
module Essentials
|
5
5
|
@default_params = {
|
6
6
|
render_engines: [:browser],
|
7
|
-
animation: { type: :animation },
|
8
|
-
element: { type: :element, renderers: [] },
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
7
|
+
animation: { type: :animation, children: [] },
|
8
|
+
element: { type: :element, renderers: [], children: [] },
|
9
|
+
matrix: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
|
10
|
+
attached: [:matrix_color], children: [],
|
11
|
+
# color: { left: 0, top: 0, red: 0.1, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
|
12
|
+
left: 100, top: 100, clones: [], preset: :matrix },
|
13
|
+
box: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
|
14
|
+
attached: [:box_color], children: [],
|
15
|
+
# color: { left: 0, top: 0, red: 1, green: 0.3, blue: 0.3, alpha: 1, diffusion: :linear },
|
16
|
+
left: 100, top: 100, clones: [], preset: :box },
|
17
|
+
circle: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99, smooth: '100%',
|
18
|
+
# color: { left: 0, top: 0, red: 0.3, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
|
19
|
+
attached: [:circle_color], children: [],
|
20
|
+
left: 100, top: 100, clones: [], preset: :circle },
|
21
|
+
shape: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
|
22
|
+
attached: [:view_color], children: [],
|
23
|
+
# color: { left: 0, top: 0, red: 0.6, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
|
24
|
+
left: 100, top: 100, clones: [] },
|
25
|
+
text: { renderers: [], id: '', type: :text, parents: [:view], visual: { size: 25 },
|
26
|
+
attached: [:text_color], children: [],
|
27
|
+
# color: { left: 0, top: 0, red: 0.3, green: 0.3, blue: 0.3, alpha: 1, diffusion: :linear },
|
28
|
+
data: 'this is a text sample', width: 199, height: 33, clones: [] },
|
21
29
|
drm: { type: :drm },
|
22
|
-
shadow: {}
|
30
|
+
shadow: {},
|
31
|
+
color: {}
|
23
32
|
}
|
24
33
|
|
25
34
|
def self.default_params
|
@@ -28,11 +28,12 @@ class Atome
|
|
28
28
|
"historize : #{property} #{value}"
|
29
29
|
end
|
30
30
|
|
31
|
-
def broadcasting(
|
31
|
+
def broadcasting(element)
|
32
|
+
params=instance_variable_get("@#{element}")
|
32
33
|
@broadcast.each_value do |particle_monitored|
|
33
|
-
if particle_monitored[:particles].include?(
|
34
|
+
if particle_monitored[:particles].include?(element)
|
34
35
|
code_found=particle_monitored[:code]
|
35
|
-
instance_exec(self,
|
36
|
+
instance_exec(self, element, params, &code_found) if code_found.is_a?(Proc)
|
36
37
|
end
|
37
38
|
end
|
38
39
|
end
|
@@ -100,4 +101,42 @@ class Atome
|
|
100
101
|
def refresh
|
101
102
|
collapse
|
102
103
|
end
|
104
|
+
|
105
|
+
def collector(params = {}, &bloc)
|
106
|
+
atome_type = :collector
|
107
|
+
generated_render = params[:renderers] || []
|
108
|
+
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
109
|
+
generated_parents = params[:parents] || [id.value]
|
110
|
+
generated_children = params[:children] || []
|
111
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
112
|
+
Batch.new({ atome_type => params }, &bloc)
|
113
|
+
end
|
114
|
+
|
115
|
+
def each(&proc)
|
116
|
+
value.each do |val|
|
117
|
+
instance_exec(val, &proc) if proc.is_a?(Proc)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
def [](range)
|
122
|
+
if value[range].class == Atome
|
123
|
+
return value[range]
|
124
|
+
elsif value[range].class == Array
|
125
|
+
collector_object = Object.collector({})
|
126
|
+
collected_atomes = []
|
127
|
+
value[range].each do |atome_found|
|
128
|
+
collected_atomes << atome_found
|
129
|
+
end
|
130
|
+
collector_object.data(collected_atomes)
|
131
|
+
|
132
|
+
return collector_object
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
def set(params)
|
138
|
+
params.each do |particle, value|
|
139
|
+
send(particle, value)
|
140
|
+
end
|
141
|
+
end
|
103
142
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Batch
|
4
|
+
|
5
|
+
def each(&proc)
|
6
|
+
value.each do |val|
|
7
|
+
instance_exec(val, &proc) if proc.is_a?(Proc)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def id(val = nil)
|
12
|
+
if val
|
13
|
+
@id = val
|
14
|
+
else
|
15
|
+
@id
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize(params)
|
20
|
+
@id = params[:id] || "batch_#{Universe.atomes.length}"
|
21
|
+
Universe.add_to_atomes(@id, self)
|
22
|
+
end
|
23
|
+
|
24
|
+
def dispatch (method, *args, &block)
|
25
|
+
@data.each do |atome_found|
|
26
|
+
atome_found.send(method, *args, &block)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# TODO: automatise collector methods creation when creato,g a new atome type
|
31
|
+
def color(args, &block)
|
32
|
+
|
33
|
+
dispatch(:color, args, &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def shadow(args, &block)
|
37
|
+
dispatch(:color, args, &block)
|
38
|
+
end
|
39
|
+
|
40
|
+
def method_missing(method, *args, &block)
|
41
|
+
dispatch(method, args, &block)
|
42
|
+
end
|
43
|
+
|
44
|
+
def data(collection)
|
45
|
+
@data = collection
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
data/lib/atome/presets/atome.rb
CHANGED
@@ -7,22 +7,34 @@
|
|
7
7
|
|
8
8
|
# shaper creation
|
9
9
|
class Atome
|
10
|
-
def atome_common(atome_type, generated_id, generated_render, generated_parents, params)
|
10
|
+
def atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
11
11
|
temp_default = Essentials.default_params[atome_type] || {}
|
12
12
|
temp_default[:id] = generated_id
|
13
13
|
temp_default[:parents] = generated_parents
|
14
14
|
temp_default[:clones] = []
|
15
15
|
temp_default[:renderers] = generated_render
|
16
|
+
temp_default[:children] = generated_children.concat(temp_default[:children])
|
16
17
|
temp_default.merge(params)
|
17
18
|
end
|
18
19
|
|
20
|
+
|
19
21
|
def box(params = {}, &bloc)
|
20
22
|
default_renderer = Essentials.default_params[:render_engines]
|
21
23
|
atome_type = :box
|
22
24
|
generated_render = params[:renderers] || default_renderer
|
23
25
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
24
26
|
generated_parents = params[:parents] || [id.value]
|
25
|
-
|
27
|
+
generated_children = params[:children] || []
|
28
|
+
|
29
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
30
|
+
|
31
|
+
# params2 = { renderers: [:browser], id: generated_id, type: :shape, parents: [generated_parents], children: [],
|
32
|
+
# width: 99, height: 99,
|
33
|
+
# color: { renderers: [:browser], id: "#{params[:id]}_color", type: :color, attach: [params[:id]],
|
34
|
+
# red: 0.15, green: 0.30, blue: 0.6, alpha: 1 },
|
35
|
+
# left: 100, top: 100, clones: [], preset: :box
|
36
|
+
# }
|
37
|
+
# params[:children]=[]
|
26
38
|
Atome.new({ atome_type => params }, &bloc)
|
27
39
|
end
|
28
40
|
|
@@ -32,7 +44,8 @@ class Atome
|
|
32
44
|
generated_render = params[:renderers] || default_renderer
|
33
45
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
34
46
|
generated_parents = params[:parents] || [id.value]
|
35
|
-
|
47
|
+
generated_children = params[:children] || []
|
48
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
36
49
|
Atome.new({ atome_type => params }, &bloc)
|
37
50
|
end
|
38
51
|
|
@@ -54,7 +67,8 @@ class Atome
|
|
54
67
|
generated_render = params[:renderers] || default_renderer
|
55
68
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
56
69
|
generated_parents = params[:parents] || [id.value]
|
57
|
-
|
70
|
+
generated_children = params[:children] || []
|
71
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
58
72
|
Atome.new({ atome_type => params }, &bloc)
|
59
73
|
end
|
60
74
|
|
@@ -63,7 +77,8 @@ class Atome
|
|
63
77
|
generated_render = params[:renderers] || []
|
64
78
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
65
79
|
generated_parents = params[:parents] || [id.value]
|
66
|
-
|
80
|
+
generated_children = params[:children] || []
|
81
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
67
82
|
Atome.new({ atome_type => params }, &bloc)
|
68
83
|
end
|
69
84
|
|
@@ -86,7 +101,8 @@ class Atome
|
|
86
101
|
generated_render = params[:renderers] || default_renderer
|
87
102
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
88
103
|
generated_parents = params[:parents] || []
|
89
|
-
|
104
|
+
generated_children = params[:children] || []
|
105
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
90
106
|
Atome.new({ atome_type => params }, &bloc)
|
91
107
|
end
|
92
108
|
end
|
@@ -6,8 +6,6 @@ DOM = :nil
|
|
6
6
|
|
7
7
|
def parents(_val) end
|
8
8
|
|
9
|
-
# end dummy code
|
10
|
-
|
11
9
|
generator = Genesis.generator
|
12
10
|
|
13
11
|
generator.build_render(:browser_shape) do
|
@@ -77,7 +75,7 @@ generator.build_render(:browser_text) do |_value, _user_proc|
|
|
77
75
|
end
|
78
76
|
|
79
77
|
generator.build_render(:browser_web) do
|
80
|
-
@browser_type = :
|
78
|
+
@browser_type = :div
|
81
79
|
id_found = @atome[:id]
|
82
80
|
DOM do
|
83
81
|
iframe({ id: id_found }).atome
|
@@ -23,7 +23,20 @@ require 'atome/renderers/browser/helpers/video_helper'
|
|
23
23
|
require 'atome/renderers/browser/helpers/web_helper'
|
24
24
|
|
25
25
|
class Atome
|
26
|
-
attr_accessor
|
26
|
+
attr_accessor :browser_object
|
27
|
+
|
28
|
+
def to_px
|
29
|
+
id_found = real_atome[:id]
|
30
|
+
property_found=property
|
31
|
+
value_get = ''
|
32
|
+
`
|
33
|
+
div = document.getElementById(#{id_found});
|
34
|
+
var style = window.getComputedStyle(div);
|
35
|
+
var original_value = style.getPropertyValue(#{property_found});
|
36
|
+
#{value_get}= parseInt(original_value);
|
37
|
+
`
|
38
|
+
value_get
|
39
|
+
end
|
27
40
|
end
|
28
41
|
|
29
42
|
def atome_js
|
@@ -3,9 +3,17 @@
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
|
5
5
|
generator.build_render(:browser_width) do |value|
|
6
|
-
@browser_object.style[:width] =
|
6
|
+
@browser_object.style[:width] = if value.instance_of? String
|
7
|
+
value
|
8
|
+
else
|
9
|
+
"#{value}px"
|
10
|
+
end
|
7
11
|
end
|
8
12
|
|
9
13
|
generator.build_render(:browser_height) do |value|
|
10
|
-
@browser_object.style[:height] =
|
14
|
+
@browser_object.style[:height] = if value.instance_of? String
|
15
|
+
value
|
16
|
+
else
|
17
|
+
"#{value}px"
|
18
|
+
end
|
11
19
|
end
|
@@ -24,7 +24,7 @@ module BrowserHelper
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.browser_play_video(_value, browser_object_found, atome_hash, atome_object, proc)
|
27
|
-
markers = atome_hash[:markers]
|
27
|
+
markers = atome_hash[:markers] ||= {}
|
28
28
|
markers.each_value do |value|
|
29
29
|
value[:end] = value[:begin] + 0.25 unless value[:end]
|
30
30
|
value[:label] = "label_#{atome_hash[:markers].length}" unless value[:label]
|
@@ -3,6 +3,11 @@
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
|
5
5
|
generator.build_render(:browser_id) do |params|
|
6
|
+
if @browser_type == :style
|
7
|
+
prev_content = @browser_object.inner_html
|
8
|
+
new_content = prev_content.sub(@browser_object.id, params)
|
9
|
+
@browser_object.inner_html = new_content
|
10
|
+
end
|
6
11
|
browser_object.id = params if @atome[:id] != params
|
7
12
|
end
|
8
13
|
|
@@ -10,17 +15,8 @@ generator.build_render(:browser_type) do |params|
|
|
10
15
|
send("browser_#{params}", user_proc)
|
11
16
|
end
|
12
17
|
|
13
|
-
generator.build_render(:
|
14
|
-
|
15
|
-
BrowserHelper.send("browser_attach_#{@browser_type}", parent_found, @browser_object, @atome)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
generator.build_option(:pre_render_children) do |children_pass|
|
20
|
-
children_pass.each do |child_found|
|
21
|
-
atome_found = grab(child_found)
|
22
|
-
atome_found.parents([@atome[:id]])
|
23
|
-
end
|
18
|
+
generator.build_render(:browser_family) do |parents_found|
|
19
|
+
BrowserHelper.send("browser_attach_#{@browser_type}", parents_found, @browser_object, @atome)
|
24
20
|
end
|
25
21
|
|
26
22
|
generator.build_render(:browser_attach) do |parents_found|
|
@@ -9,15 +9,21 @@ generator.build_render(:red) do |value|
|
|
9
9
|
alpha = @atome[:alpha]
|
10
10
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
11
11
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
12
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
13
|
+
self
|
12
14
|
end
|
13
15
|
|
14
16
|
generator.build_render(:green) do |value|
|
17
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
18
|
+
self
|
15
19
|
red = @atome[:red] * 255
|
16
20
|
green = (@atome[:green] = value) * 255
|
17
21
|
blue = @atome[:blue] * 255
|
18
22
|
alpha = @atome[:alpha]
|
19
23
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
20
24
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
25
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
26
|
+
self
|
21
27
|
end
|
22
28
|
|
23
29
|
generator.build_render(:blue) do |value|
|
@@ -27,6 +33,8 @@ generator.build_render(:blue) do |value|
|
|
27
33
|
alpha = @atome[:alpha]
|
28
34
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
29
35
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
36
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
37
|
+
self
|
30
38
|
end
|
31
39
|
|
32
40
|
generator.build_render(:alpha) do |value|
|
@@ -36,6 +44,8 @@ generator.build_render(:alpha) do |value|
|
|
36
44
|
alpha = (@atome[:alpha] = value)
|
37
45
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
38
46
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
47
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
48
|
+
self
|
39
49
|
end
|
40
50
|
|
41
51
|
generator.build_render(:visual) do |value|
|
@@ -4,10 +4,11 @@
|
|
4
4
|
class Atome
|
5
5
|
private
|
6
6
|
|
7
|
-
def rendering(
|
7
|
+
def rendering(element, &user_proc)
|
8
|
+
params=instance_variable_get("@#{element}")
|
8
9
|
render_engines = @atome[:renderers]
|
9
10
|
render_engines.each do |render_engine|
|
10
|
-
send("#{render_engine}_#{
|
11
|
+
send("#{render_engine}_#{element}", params, &user_proc)
|
11
12
|
end
|
12
13
|
end
|
13
14
|
end
|
data/lib/atome/version.rb
CHANGED
data/lib/atome.rb
CHANGED
@@ -5,12 +5,12 @@ require 'atome/version'
|
|
5
5
|
require 'atome/genesis/genesis'
|
6
6
|
require 'atome/kernel/essentials'
|
7
7
|
require 'atome/kernel/universe'
|
8
|
+
require 'atome/kernel/batch'
|
8
9
|
require 'atome/helpers/essentials'
|
9
10
|
require 'atome/renderers/renderer'
|
10
11
|
require 'atome/helpers/color_helper/color'
|
11
12
|
require 'atome/extensions/atome'
|
12
13
|
require 'atome/atome'
|
13
|
-
require 'atome/helpers/utilities'
|
14
14
|
require 'atome/helpers/callbacks'
|
15
15
|
require 'atome/genesis/generators/atome'
|
16
16
|
require 'atome/presets/atome'
|
@@ -23,6 +23,7 @@ require 'atome/genesis/generators/material'
|
|
23
23
|
require 'atome/genesis/generators/spatial'
|
24
24
|
require 'atome/genesis/generators/time'
|
25
25
|
require 'atome/genesis/generators/utility'
|
26
|
+
require 'atome/helpers/utilities'
|
26
27
|
if RUBY_ENGINE.downcase == 'opal'
|
27
28
|
require 'atome/renderers/browser/browser'
|
28
29
|
require 'atome/renderers/html/html'
|
data/sig/atome.rbs
CHANGED
@@ -7,5 +7,19 @@ module Atome
|
|
7
7
|
|
8
8
|
def add_to_hash: -> untyped
|
9
9
|
|
10
|
+
def apply_style: -> untyped
|
11
|
+
|
12
|
+
def format_matrix: -> untyped
|
13
|
+
|
14
|
+
def get_column: -> untyped
|
15
|
+
|
16
|
+
def get_column_or_row: -> untyped
|
17
|
+
|
18
|
+
def get_row: -> untyped
|
19
|
+
|
20
|
+
def matrix: -> untyped
|
21
|
+
|
22
|
+
def set: -> untyped
|
23
|
+
|
10
24
|
def sort_callback: -> untyped
|
11
25
|
end
|
data/vendor/assets/Rakefile
CHANGED
@@ -19,14 +19,14 @@ html, body {
|
|
19
19
|
|
20
20
|
|
21
21
|
#view {
|
22
|
-
left:
|
22
|
+
left: 0px;
|
23
23
|
font-size: 25px;
|
24
|
-
right:
|
25
|
-
top:
|
26
|
-
bottom:
|
27
|
-
width:
|
24
|
+
right: 0px;
|
25
|
+
top: 0px;
|
26
|
+
bottom: 0px;
|
27
|
+
width: auto;
|
28
28
|
display: block;
|
29
|
-
height:
|
29
|
+
height: auto;
|
30
30
|
overflow: hidden;
|
31
31
|
position: absolute;
|
32
32
|
-webkit-overflow-scrolling: touch;
|