atome 0.5.3.4 → 0.5.3.7.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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +8 -3
  3. data/app_builder_helpers/Rakefile +9 -3
  4. data/exe/atome +6 -19
  5. data/lib/atome/atome.rb +29 -19
  6. data/lib/atome/extensions/atome.rb +23 -1
  7. data/lib/atome/extensions/matrix.rb +10 -5
  8. data/lib/atome/genesis/generators/atome.rb +149 -22
  9. data/lib/atome/genesis/generators/effect.rb +8 -3
  10. data/lib/atome/genesis/generators/event.rb +77 -34
  11. data/lib/atome/genesis/generators/geometry.rb +21 -5
  12. data/lib/atome/genesis/generators/identity.rb +110 -57
  13. data/lib/atome/genesis/generators/material.rb +74 -16
  14. data/lib/atome/genesis/generators/spatial.rb +8 -9
  15. data/lib/atome/genesis/generators/time.rb +1 -1
  16. data/lib/atome/genesis/generators/utility.rb +66 -39
  17. data/lib/atome/genesis/genesis.rb +7 -5
  18. data/lib/atome/genesis/sparkle.rb +8 -2
  19. data/lib/atome/helpers/essentials.rb +2 -6
  20. data/lib/atome/helpers/utilities.rb +15 -0
  21. data/lib/atome/kernel/universe.rb +2 -2
  22. data/lib/atome/presets/atome.rb +60 -61
  23. data/lib/atome/renderers/browser/event.rb +6 -3
  24. data/lib/atome/renderers/browser/geometry.rb +18 -10
  25. data/lib/atome/renderers/browser/helpers/browser_helper.rb +9 -0
  26. data/lib/atome/renderers/browser/helpers/color_helper.rb +4 -4
  27. data/lib/atome/renderers/browser/helpers/event_helper.rb +24 -12
  28. data/lib/atome/renderers/browser/helpers/shape_helper.rb +4 -4
  29. data/lib/atome/renderers/browser/helpers/text_helper.rb +4 -4
  30. data/lib/atome/renderers/browser/helpers/video_helper.rb +1 -1
  31. data/lib/atome/renderers/browser/helpers/web_helper.rb +4 -4
  32. data/lib/atome/renderers/browser/identity.rb +4 -0
  33. data/lib/atome/renderers/browser/material.rb +20 -1
  34. data/lib/atome/renderers/browser/spatial.rb +4 -0
  35. data/lib/atome/version.rb +1 -1
  36. data/sig/atome.rbs +12 -0
  37. data/sig/genesis.rbs +3 -0
  38. data/vendor/assets/application/index.rb +2 -0
  39. data/vendor/assets/src/index.html +1 -1
  40. data/vendor/assets/src/js/atome/atome.js +2 -1
  41. data/vendor/assets/src/medias/images/icons/email.svg +13 -0
  42. data/vendor/assets/src/medias/images/icons/mail_gray.svg +6 -0
  43. data/vendor/assets/src/medias/images/icons/mail_green.svg +6 -0
  44. data/vendor/assets/src/medias/images/icons/mail_orange.svg +6 -0
  45. data/vendor/assets/src/medias/images/icons/undo.svg +4 -0
  46. data/vendor/assets/src/medias/images/logos/Orange/Facebook.svg +8 -0
  47. data/vendor/assets/src/medias/images/logos/Orange/TikTok.svg +11 -0
  48. data/vendor/assets/src/medias/images/logos/Orange/Twitter.svg +8 -0
  49. data/vendor/assets/src/medias/images/logos/Orange/instagram.svg +8 -0
  50. data/vendor/assets/src/medias/images/logos/Orange/vimeo.svg +8 -0
  51. data/vendor/assets/src/medias/images/logos/Orange/youtube.svg +7 -0
  52. data/vendor/assets/src/medias/images/logos/gray/Facebook.svg +8 -0
  53. data/vendor/assets/src/medias/images/logos/gray/TikTok.svg +11 -0
  54. data/vendor/assets/src/medias/images/logos/gray/Twitter.svg +8 -0
  55. data/vendor/assets/src/medias/images/logos/gray/instagram.svg +8 -0
  56. data/vendor/assets/src/medias/images/logos/gray/vimeo.svg +8 -0
  57. data/vendor/assets/src/medias/images/logos/gray/youtube.svg +7 -0
  58. data/vendor/assets/src/medias/images/logos/gray/youtube2.svg +13 -0
  59. data/vendor/assets/src/medias/images/logos/vimeo.svg +17 -0
  60. data/vendor/assets/src/medias/rubies/examples/_table2.rb +106 -36
  61. data/vendor/assets/src/medias/rubies/examples/add.rb +1 -3
  62. data/vendor/assets/src/medias/rubies/examples/attached.rb +16 -0
  63. data/vendor/assets/src/medias/rubies/examples/class.rb +13 -0
  64. data/vendor/assets/src/medias/rubies/examples/depth.rb +6 -0
  65. data/vendor/assets/src/medias/rubies/examples/detached.rb +13 -0
  66. data/vendor/assets/src/medias/rubies/examples/matrix.rb +1 -1
  67. data/vendor/assets/src/medias/rubies/examples/opacity.rb +5 -0
  68. data/vendor/assets/src/medias/rubies/examples/over.rb +19 -0
  69. data/vendor/assets/src/medias/rubies/examples/read.rb +1 -0
  70. data/vendor/assets/src/medias/rubies/examples/text.rb +12 -11
  71. data/vendor/assets/src/medias/rubies/examples/time.rb +5 -1
  72. metadata +30 -10
  73. data/vendor/assets/src/medias/images/cache.svg +0 -10
  74. data/vendor/assets/src/medias/images/eyes.jpg +0 -0
  75. data/vendor/assets/src/medias/images/killer.jpg +0 -0
  76. data/vendor/assets/src/medias/images/logos/GitHub-Mark.eps +0 -7696
  77. data/vendor/assets/src/medias/images/poisson.jpg +0 -0
  78. data/vendor/assets/src/medias/images/sky.jpg +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ca60550f747734b730b5f7bcc9e71f25bb116c0d084f2e8cb5f0bf601d33940
4
- data.tar.gz: 175f194889b09b9969e7720bc10b9b100804685bad61fe7739bcd0ecba5e556f
3
+ metadata.gz: 949a07eee4e8a4e64c796c8c03b4f38ce5e8681db043ae498dc0d6dd1f48ab8f
4
+ data.tar.gz: 32816c3ee8e8ad508f87e49ea84213df1ed3d486f9a162d82d0f14f0ad71dd71
5
5
  SHA512:
6
- metadata.gz: 2e7f1a2204f2551e05bdced2ffcc52d060af88156d7c43d824537abdfe00f75a7d574e52d18002835cf047d54176fdbe3dd80b0eecb9abf1c3ffe7c3dcbc3fce
7
- data.tar.gz: 5ce1039aae51524cfbf2a91ca03d19f41e745640932eddd1362ae4fded9f1a5ee601ab8170c569d1d8f94a2927689be88716e8e4fcd8600f5630e213460815f5
6
+ metadata.gz: 5c1f9a2bf45e6094d76aa2574361958b9a8e40c2a76c1ad60fd48a8e15823898c949a37198757387af509fbe5ec61a1c3ff8d88adf51b5a69ccf5d435bad7605
7
+ data.tar.gz: 31c7c58e7cd2512875a71d3d65318a318737138a376a7169e3998d3a33e3f5a94ce80fcbbeec36f71234da4bf091dbd2c3e696320f8aa6755682ae2829273764
data/Rakefile CHANGED
@@ -26,7 +26,8 @@ task :run_browser do
26
26
  FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
27
27
  FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
28
28
  `gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;gem install atome`
29
- `cd test/test_app;atome update;atome run`
29
+ `cd test/test_app;atome update;atome run compile`
30
+ puts 'atome browser is running'
30
31
  end
31
32
 
32
33
 
@@ -55,12 +56,16 @@ end
55
56
 
56
57
  task :run_example_server do
57
58
  FileUtils.copy_entry('vendor/assets/src/medias/rubies/examples/', 'test/test_app/src/medias/rubies/examples/')
58
- `cd test/test_app;atome run server `
59
+ `cd test/test_app;atome run server`
59
60
  end
60
61
 
61
62
 
62
63
  task :taurification do
63
- `cd test/test_app;cargo tauri dev `
64
+ `cd test/test_app;cargo tauri dev`
65
+ end
66
+
67
+ task :osx do
68
+ `cd test/test_app;atome run osx guard`
64
69
  end
65
70
 
66
71
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  require 'opal'
6
6
  # require 'opal-jquery'
7
- require 'opal-browser'
7
+ require 'atome-opal-browser'
8
8
  require 'parser'
9
9
  # require 'ruby2js'
10
10
  require 'uglifier'
@@ -57,10 +57,16 @@ def build_aui(user_project_path)
57
57
  end
58
58
 
59
59
  def copy_assets_files(user_project_path, gem_location)
60
- build_location = "#{gem_location}/../vendor/assets/src/"
60
+ # build_location = "#{gem_location}/../vendor/assets/src/"
61
61
  server_location = "#{gem_location}/../vendor/assets/server/"
62
- FileUtils.copy_entry build_location, "#{user_project_path}/src", preserve: nil
63
62
  FileUtils.copy_entry server_location, "#{user_project_path}/server", preserve: nil
63
+ # FileUtils.copy_entry build_location, "#{user_project_path}/src", preserve: nil
64
+ css_location ="#{gem_location}/../vendor/assets/src/css/"
65
+ FileUtils.copy_entry css_location, "#{user_project_path}/src/css", preserve: nil
66
+ js_location ="#{gem_location}/../vendor/assets/src/js/"
67
+ FileUtils.copy_entry js_location, "#{user_project_path}/src/js", preserve: nil
68
+ index_location ="#{gem_location}/../vendor/assets/src/index.html"
69
+ FileUtils.copy_entry index_location, "#{user_project_path}/src/index.html", preserve: nil
64
70
  end
65
71
 
66
72
  def build_atome_kernel(user_project_path, gem_location)
data/exe/atome CHANGED
@@ -117,18 +117,20 @@ end
117
117
 
118
118
  def guard_check
119
119
  loop do
120
- sleep 3
120
+ sleep 1
121
121
  end
122
122
  nil unless ARGV.include?('guard')
123
123
  end
124
124
 
125
125
  def browser_case(location)
126
- `cd #{location}/src;open index.html`
126
+ # `cd #{location}/src;open index.html`
127
127
  guard_check
128
128
  end
129
129
 
130
+ #
131
+
130
132
  def osx_case(location)
131
- `cd #{location};cargo tauri dev `
133
+ `cd #{location};cargo tauri dev`
132
134
  end
133
135
 
134
136
  def compile_case(location)
@@ -136,7 +138,6 @@ def compile_case(location)
136
138
  guard_check
137
139
  end
138
140
 
139
-
140
141
  def server_case(port, location)
141
142
  threads = []
142
143
  threads << Thread.new do
@@ -146,19 +147,6 @@ def server_case(port, location)
146
147
  `cd #{location}/server;rackup --server puma --port #{port} --env production`
147
148
  end
148
149
 
149
- def test_native(build_target)
150
- case build_target
151
- when :freebsd
152
- # freebsd
153
- when :osx
154
- # osx
155
- when :windows
156
- # windows
157
- else
158
- # freebsd
159
- end
160
- end
161
-
162
150
  def run_case(build_target, location, port)
163
151
  case build_target
164
152
  when :server
@@ -170,10 +158,9 @@ def run_case(build_target, location, port)
170
158
  when :compile
171
159
  compile_case(location)
172
160
  when :native
173
- test_native(build_target)
174
161
  # freebsd
175
162
  else
176
- browser_case(location)
163
+ guard_check
177
164
  end
178
165
  end
179
166
 
data/lib/atome/atome.rb CHANGED
@@ -8,7 +8,6 @@
8
8
  class Atome
9
9
  # TODO : clean or delete @private_atome
10
10
  include Essentials
11
-
12
11
  private
13
12
 
14
13
  def initialize(atomes = {}, &atomes_proc)
@@ -27,13 +26,13 @@ class Atome
27
26
  end
28
27
  end
29
28
 
30
- def new_particle(element,store,render, &method_proc)
29
+ def new_particle(element, store, render, &method_proc)
31
30
  Atome.define_method element do |params = nil, &user_proc|
32
31
  if params || params == false
33
32
  # the line below execute the proc created when using the build_particle method
34
33
  instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
35
34
  params = sanitize(element, params)
36
- create_particle(element,store,render)
35
+ create_particle(element, store, render)
37
36
  send("set_#{element}", params, &user_proc)
38
37
  else
39
38
  get_particle(element, &user_proc)
@@ -41,25 +40,37 @@ class Atome
41
40
  end
42
41
  end
43
42
 
44
-
45
-
46
- def additional_particle_methods(element,store,render , &method_proc)
43
+ def additional_particle_methods(element, store, render, &method_proc)
47
44
  Atome.define_method "#{element}=" do |params = nil, &user_proc|
48
45
  instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
49
46
  params = sanitize(element, params)
50
- particle_creation(element, params, store,render,&user_proc)
47
+ particle_creation(element, params, store, render, &user_proc)
51
48
  end
52
49
  end
53
50
 
54
-
55
51
  def atome_creation_pre_treatment(element, params, &user_proc)
56
52
  params = sanitize(element, params)
57
53
  create_atome(element)
58
54
  send("set_#{element}", params, &user_proc)
59
55
  end
60
56
 
57
+ def atome_initializer(element, params = {})
58
+ temp_default = Essentials.default_params[element] || {}
59
+ generated_render = params[:renderers] || []
60
+ generated_id = params[:id] || "#{element}_#{Universe.atomes.length}"
61
+ generated_parents = params[:parents] || [id.value]
62
+ generated_children = params[:children] || []
63
+ temp_default[:id] = generated_id
64
+ temp_default[:parents] = generated_parents
65
+ temp_default[:clones] = []
66
+ temp_default[:renderers] = generated_render
67
+ temp_default[:children] = generated_children
68
+ temp_default.merge(params)
69
+ end
70
+
61
71
  def new_atome(element, &method_proc)
62
72
  Atome.define_method element do |params = nil, &user_proc|
73
+
63
74
  if params
64
75
  instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
65
76
  atome_creation_pre_treatment(element, params, &user_proc)
@@ -78,14 +89,13 @@ class Atome
78
89
  end
79
90
 
80
91
  def run_optional_proc(proc_name, atome = self, element, &user_proc)
81
- params=instance_variable_get("@#{element}")
92
+ params = instance_variable_get("@#{element}")
82
93
  option_found = Universe.get_optional_method(proc_name)
83
94
  atome.instance_exec(params, user_proc, atome, &option_found) if option_found.is_a?(Proc)
84
95
  end
85
96
 
86
-
87
97
  def store_value(element)
88
- params=instance_variable_get("@#{element}")
98
+ params = instance_variable_get("@#{element}")
89
99
  @atome[element] = params
90
100
  end
91
101
 
@@ -93,14 +103,15 @@ class Atome
93
103
 
94
104
  # the line below is used for ephemera atomes
95
105
  attr_accessor :property, :value, :real_atome, :user_proc
96
- attr_reader :atome, :structure#, :at_time
106
+ attr_reader :atome, :structure # , :at_time
97
107
 
98
108
  def set(value)
99
109
  @real_atome[@property] = value
100
110
  end
101
111
 
102
- def particle_creation(element, params,store,render, &user_proc)
112
+ def particle_creation(element, params, store, render, &user_proc)
103
113
  return false unless security_pass(element, params)
114
+
104
115
  # we create a proc holder of any new particle if user pass a bloc
105
116
  store_code_bloc(element, &user_proc) if user_proc
106
117
  # Params is now an instance variable so it should be passed thru different methods
@@ -115,14 +126,12 @@ class Atome
115
126
  self
116
127
  end
117
128
 
118
-
119
- def create_particle(element,store,render)
129
+ def create_particle(element, store, render)
120
130
  Atome.define_method "set_#{element}" do |params, &user_proc|
121
- particle_creation(element, params, store,render,&user_proc)
131
+ particle_creation(element, params, store, render, &user_proc)
122
132
  end
123
133
  end
124
134
 
125
-
126
135
  def get(element)
127
136
  @atome[element]
128
137
  end
@@ -133,8 +142,8 @@ class Atome
133
142
  virtual_atome.real_atome = @atome
134
143
  virtual_atome.property = element
135
144
  virtual_atome.user_proc = user_proc
136
- run_optional_proc("pre_get_#{@atome[:type]}".to_sym, "virtual_atome", &user_proc)
137
- run_optional_proc("pre_get_#{element}".to_sym, self, "virtual_atome", &user_proc)
145
+ # run_optional_proc("pre_get_#{@atome[:type]}".to_sym, 'virtual_atome', &user_proc)
146
+ # run_optional_proc("pre_get_#{element}".to_sym, self, 'virtual_atome', &user_proc)
138
147
  virtual_atome
139
148
  end
140
149
 
@@ -145,6 +154,7 @@ class Atome
145
154
  virtual_atome.user_proc = user_proc
146
155
  virtual_atome.value = @atome[element]
147
156
  virtual_atome
157
+ "it should contain the atome not : #{element}"
148
158
  end
149
159
 
150
160
  def create_atome(new_atome)
@@ -1,4 +1,24 @@
1
1
  # frozen_string_literal: true
2
+ def new(params, &bloc)
3
+ generator = Genesis.generator
4
+ if params.key?(:particle)
5
+ # render indicate if the particle needs to be rendered
6
+ # store tell the system if it need to store the particle value
7
+ # type help the system what type of type the particle will receive and store
8
+ generator.build_particle(params[:particle], { render: params[:render],
9
+ store: params[:store], type: params[:type] }, &bloc)
10
+ elsif params.key?(:atome)
11
+ generator.build_atome(params[:atome], &bloc)
12
+ elsif params.key?(:sanitizer)
13
+ generator.build_sanitizer(params[:sanitizer], &bloc)
14
+ elsif params.key?(:pre)
15
+ generator.build_option("pre_render_#{params[:pre]}", &bloc)
16
+ elsif params.key?(:post)
17
+ generator.build_option("post_render_#{params[:post]}", &bloc)
18
+ elsif params.key?(:browser)
19
+ generator.build_render("browser_#{params[:browser]}", &bloc)
20
+ end
21
+ end
2
22
 
3
23
  def grab(atome_to_get)
4
24
  Universe.atomes[atome_to_get]
@@ -18,7 +38,9 @@ end
18
38
 
19
39
  # the method below generate Atome method creation at Object level
20
40
  def create_method_at_object_level(element)
21
- Object.define_method element do |params = nil, &user_proc|
41
+
42
+ Object.define_method element do |params, &user_proc|
22
43
  grab(:view).send(element, params, &user_proc)
23
44
  end
45
+
24
46
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
+ #
2
3
 
3
- class Atome
4
+ module Matrix
4
5
  def content(items = nil)
5
6
  if items.instance_of?(Array)
6
7
  items.each do |item|
@@ -172,11 +173,11 @@ class Atome
172
173
  x = (col_index + 1) * margin + col_index * cell_width
173
174
  y = (row_index + 1) * margin + row_index * cell_height
174
175
  current_cell = grab("#{matrix_id}_#{i}")
175
- puts "===> #{current_cell}"
176
+ # puts "===> #{current_cell}"
176
177
  current_cell.children.each do |child|
177
- puts "=>#{cell_width}"
178
- grab(child).width(cell_width)
179
- grab(child).height(cell_width)
178
+ # puts "=>#{cell_width}"
179
+ grab(child).width(cell_width) if grab(child)
180
+ grab(child).height(cell_width) if grab(child)
180
181
  end
181
182
  current_cell.width = cell_width
182
183
  current_cell.height = cell_height
@@ -399,3 +400,7 @@ class Atome
399
400
  end
400
401
  end
401
402
  end
403
+
404
+ class Atome
405
+ include Matrix
406
+ end
@@ -1,12 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- generator = Genesis.generator
4
-
5
- generator.build_atome(:animation)
6
- generator.build_atome(:color)
7
- generator.build_sanitizer(:color) do |params|
3
+ new({ atome: :color })
4
+ new({ sanitizer: :color }) do |params|
8
5
  parent_found = found_parents_and_renderers[:parent]
9
- parent_found = [:user_view] if parent_found == [:view]
6
+ parent_found = [:black_matter] if parent_found == [:view]
10
7
  render_found = found_parents_and_renderers[:renderers]
11
8
  default_params = { renderers: render_found, id: "color_#{Universe.atomes.length}", type: :color,
12
9
  attach: parent_found,
@@ -16,17 +13,32 @@ generator.build_sanitizer(:color) do |params|
16
13
  atome[:color] = new_params
17
14
  new_params
18
15
  end
19
-
20
- generator.build_sanitizer(:video) do |params|
16
+ new({ atome: :image })
17
+ new({ sanitizer: :image }) do |params|
18
+ unless params.instance_of? Hash
19
+ # TODO : we have to convert all image to png or maintain a database with extension
20
+ params = { path: "./medias/images/#{params}" }
21
+ end
22
+ default_renderer = Essentials.default_params[:render_engines]
23
+ generated_id = params[:id] || "image_#{Universe.atomes.length}"
24
+ generated_render = params[:renderers] || default_renderer
25
+ generated_parents = params[:parents] || id.value
26
+ # TODO : the line below should get the value from default params Essentials
27
+ temp_default = { renderers: generated_render, id: generated_id, type: :image, parents: [generated_parents],
28
+ children: [], width: 99, height: 99, path: './medias/images/atome.svg' }
29
+ params = temp_default.merge(params)
30
+ params
31
+ end
32
+ new({ atome: :video })
33
+ new({ sanitizer: :video }) do |params|
21
34
  parent_found = found_parents_and_renderers[:parent]
22
35
  render_found = found_parents_and_renderers[:renderers]
23
36
  default_params = { renderers: render_found, id: "video_#{Universe.atomes.length}", type: :video,
24
37
  parents: parent_found }
25
38
  default_params.merge!(params)
26
39
  end
27
- generator.build_atome(:shadow)
28
-
29
- generator.build_sanitizer(:shadow) do |params|
40
+ new({ atome: :shadow })
41
+ new({ sanitizer: :shadow }) do |params|
30
42
  parent_found = found_parents_and_renderers[:parent]
31
43
  parent_found = [:user_view] if parent_found == [:view]
32
44
  render_found = found_parents_and_renderers[:renderers]
@@ -35,20 +47,135 @@ generator.build_sanitizer(:shadow) do |params|
35
47
  red: 0, green: 0, blue: 0, alpha: 1, blur: 3, left: 3, top: 3 }
36
48
  default_params.merge!(params)
37
49
  end
38
- generator.build_atome(:shape)
39
- generator.build_atome(:text)
40
- generator.build_atome(:image)
41
- generator.build_atome(:video)
42
- generator.build_atome(:code)
43
- generator.build_atome(:audio)
44
- generator.build_atome(:element)
45
- generator.build_atome(:web)
46
- generator.build_sanitizer(:element) do |params|
50
+ new({ atome: :shape })
51
+ new({ atome: :code })
52
+ new({ atome: :audio })
53
+ new({ atome: :element })
54
+ new({ sanitizer: :element })do |params|
47
55
  parent_found = found_parents_and_renderers[:parent]
48
56
  render_found = []
49
57
  default_params = { renderers: render_found, id: "element_#{Universe.atomes.length}", type: :element,
50
- parents: parent_found }
58
+ parents: parent_found, data: '' }
51
59
  default_params.merge!(params)
52
60
  end
61
+ new({ atome: :web })
62
+ new({ sanitizer: :web })do |params|
63
+ default_renderer = Essentials.default_params[:render_engines]
64
+
65
+ generated_id = params[:id] || "web_#{Universe.atomes.length}"
66
+ generated_render = params[:renderers] || default_renderer
67
+ generated_parents = params[:parents] || id.value
68
+ # TODO : the line below should get the value from default params Essentials
69
+ temp_default = { renderers: generated_render, id: generated_id, type: :web, parents: [generated_parents],
70
+ children: [], width: 120, height: 120, path: 'https://www.youtube.com/embed/usQDazZKWAk' }
71
+ params = temp_default.merge(params)
72
+ params
73
+ end
74
+ new({ atome: :collector })
75
+ new({ atome: :animation })
76
+ new({ sanitizer: :animation }) do |params|
77
+ default_renderer = Essentials.default_params[:render_engines]
78
+ atome_type = :animation
79
+ generated_render = params[:renderers] || default_renderer
80
+ generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
81
+ generated_parents = params[:parents] || []
82
+ generated_children = params[:children] || []
83
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
84
+ params
85
+ end
86
+ new({ atome: :text })
87
+ new({ sanitizer: :text }) do |params|
88
+ params = { data: params } unless params.instance_of? Hash
89
+ default_renderer = Essentials.default_params[:render_engines]
90
+ atome_type = :text
91
+ generated_render = params[:renderers] || default_renderer
92
+ generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
93
+ generated_parents = params[:parents] || [id.value]
94
+ generated_children = params[:children] || []
95
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
96
+ params
97
+ end
98
+
53
99
 
54
- generator.build_atome(:collector)
100
+ # generator = Genesis.generator
101
+ #
102
+ # generator.build_atome(:animation)
103
+ # generator.build_atome(:color)
104
+ # generator.build_sanitizer(:color) do |params|
105
+ # parent_found = found_parents_and_renderers[:parent]
106
+ # parent_found = [:black_matter] if parent_found == [:view]
107
+ # render_found = found_parents_and_renderers[:renderers]
108
+ # default_params = { renderers: render_found, id: "color_#{Universe.atomes.length}", type: :color,
109
+ # attach: parent_found,
110
+ # red: 0, green: 0, blue: 0, alpha: 1 }
111
+ # params = create_color_hash(params) unless params.instance_of? Hash
112
+ # new_params = default_params.merge!(params)
113
+ # atome[:color] = new_params
114
+ # new_params
115
+ # end
116
+ #
117
+ # generator.build_atome(:video)
118
+ # generator.build_sanitizer(:video) do |params|
119
+ # parent_found = found_parents_and_renderers[:parent]
120
+ # render_found = found_parents_and_renderers[:renderers]
121
+ # default_params = { renderers: render_found, id: "video_#{Universe.atomes.length}", type: :video,
122
+ # parents: parent_found }
123
+ # default_params.merge!(params)
124
+ # end
125
+ # generator.build_atome(:shadow)
126
+ # generator.build_sanitizer(:shadow) do |params|
127
+ # parent_found = found_parents_and_renderers[:parent]
128
+ # parent_found = [:user_view] if parent_found == [:view]
129
+ # render_found = found_parents_and_renderers[:renderers]
130
+ # default_params = { renderers: render_found, id: "shadow_#{Universe.atomes.length}", type: :shadow,
131
+ # attach: parent_found,
132
+ # red: 0, green: 0, blue: 0, alpha: 1, blur: 3, left: 3, top: 3 }
133
+ # default_params.merge!(params)
134
+ # end
135
+ # generator.build_atome(:shape)
136
+ # generator.build_atome(:text)
137
+ # generator.build_atome(:code)
138
+ # generator.build_atome(:audio)
139
+ # generator.build_atome(:element)
140
+ # generator.build_sanitizer(:element) do |params|
141
+ # parent_found = found_parents_and_renderers[:parent]
142
+ # render_found = []
143
+ # default_params = { renderers: render_found, id: "element_#{Universe.atomes.length}", type: :element,
144
+ # parents: parent_found, data: '' }
145
+ # default_params.merge!(params)
146
+ # end
147
+ # generator.build_atome(:collector)
148
+ # generator.build_atome(:web)
149
+ # generator.build_sanitizer(:web) do |params|
150
+ # default_renderer = Essentials.default_params[:render_engines]
151
+ #
152
+ # generated_id = params[:id] || "web_#{Universe.atomes.length}"
153
+ # generated_render = params[:renderers] || default_renderer
154
+ # generated_parents = params[:parents] || id.value
155
+ # # TODO : the line below should get the value from default params Essentials
156
+ # temp_default = { renderers: generated_render, id: generated_id, type: :web, parents: [generated_parents],
157
+ # children: [], width: 120, height: 120, path: 'https://www.youtube.com/embed/usQDazZKWAk' }
158
+ # params = temp_default.merge(params)
159
+ # params
160
+ # end
161
+ # generator.build_sanitizer(:animation) do |params|
162
+ # default_renderer = Essentials.default_params[:render_engines]
163
+ # atome_type = :animation
164
+ # generated_render = params[:renderers] || default_renderer
165
+ # generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
166
+ # generated_parents = params[:parents] || []
167
+ # generated_children = params[:children] || []
168
+ # params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
169
+ # params
170
+ # end
171
+ # generator.build_sanitizer(:text) do |params|
172
+ # params = { data: params } unless params.instance_of? Hash
173
+ # default_renderer = Essentials.default_params[:render_engines]
174
+ # atome_type = :text
175
+ # generated_render = params[:renderers] || default_renderer
176
+ # generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
177
+ # generated_parents = params[:parents] || [id.value]
178
+ # generated_children = params[:children] || []
179
+ # params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
180
+ # params
181
+ # end
@@ -1,6 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- generator = Genesis.generator
4
3
 
5
- generator.build_particle(:smooth)
6
- generator.build_particle(:blur)
4
+ new({ particle: :smooth })
5
+ new({ particle: :blur })
6
+
7
+
8
+ # generator = Genesis.generator
9
+ #
10
+ # generator.build_particle(:smooth)
11
+ # generator.build_particle(:blur)
@@ -1,50 +1,93 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- generator = Genesis.generator
4
3
 
5
- # touch
6
- generator.build_particle(:touch)
7
- # video
8
- generator.build_particle(:play) do
4
+
5
+ new({particle: :touch })
6
+ new({particle: :play }) do
9
7
  @atome[:pause] = :false
10
8
  end
11
- generator.build_particle(:time)
12
- generator.build_particle(:pause) do
9
+ new({particle: :time })
10
+ new({particle: :pause }) do
13
11
  @atome[:play] = :false
14
12
  end
15
- generator.build_particle(:on)
16
- generator.build_particle(:fullscreen)
17
- generator.build_particle(:mute)
18
- # TODO : add the at event to ny particle : (width, left, ...) maybe use monitor particle
19
- # generator.build_particle(:at)
20
- # drag
21
- generator.build_particle(:drag)
22
- generator.build_sanitizer(:drag) do |params|
13
+ new({particle: :on })
14
+ new({particle: :fullscreen })
15
+ new({particle: :mute })
16
+ new({particle: :drag })
17
+ new({ sanitizer: :drag }) do |params|
23
18
  params = { move: true } if params == true
24
19
  params
25
20
  end
26
- # sort
27
- generator.build_particle(:sort) do |_value, sort_proc|
21
+ new({particle: :sort }) do |_value, sort_proc|
28
22
  @sort_proc = sort_proc
29
23
  end
30
-
31
- # animation
32
- generator.build_particle(:targets)
33
- generator.build_particle(:start)
34
- generator.build_option(:pre_render_start) do |_value, user_proc|
24
+ new({particle: :targets })
25
+ new({particle: :start })
26
+ new({pre: :start }) do |_value, user_proc|
35
27
  @animation_start_proc = user_proc
36
28
  end
37
- generator.build_particle(:stop)
38
- generator.build_option(:pre_render_stop) do |_value, user_proc|
29
+ new({particle: :stop })
30
+ new({pre: :stop }) do |_value, user_proc|
39
31
  @animation_stop_proc = user_proc
40
32
  end
41
- generator.build_particle(:begin)
42
- generator.build_particle(:end)
43
- generator.build_particle(:duration)
44
- generator.build_particle(:mass)
45
- generator.build_particle(:damping)
46
- generator.build_particle(:stiffness)
47
- generator.build_particle(:velocity)
48
- generator.build_particle(:repeat)
49
- generator.build_particle(:ease)
50
- generator.build_particle(:unbind)
33
+ new({particle: :begin })
34
+ new({particle: :end })
35
+ new({particle: :duration })
36
+ new({particle: :mass })
37
+ new({particle: :damping })
38
+ new({particle: :stiffness })
39
+ new({particle: :velocity })
40
+ new({particle: :repeat })
41
+ new({particle: :ease })
42
+ new({particle: :unbind })
43
+ new({particle: :over })
44
+
45
+
46
+ # generator = Genesis.generator
47
+ #
48
+ # # touch
49
+ # generator.build_particle(:touch)
50
+ # # video
51
+ # generator.build_particle(:play) do
52
+ # @atome[:pause] = :false
53
+ # end
54
+ # generator.build_particle(:time)
55
+ # generator.build_particle(:pause) do
56
+ # @atome[:play] = :false
57
+ # end
58
+ # generator.build_particle(:on)
59
+ # generator.build_particle(:fullscreen)
60
+ # generator.build_particle(:mute)
61
+ # # TODO : add the at event to ny particle : (width, left, ...) maybe use monitor particle
62
+ # # generator.build_particle(:at)
63
+ # # drag
64
+ # generator.build_particle(:drag)
65
+ # generator.build_sanitizer(:drag) do |params|
66
+ # params = { move: true } if params == true
67
+ # params
68
+ # end
69
+ # # sort
70
+ # generator.build_particle(:sort) do |_value, sort_proc|
71
+ # @sort_proc = sort_proc
72
+ # end
73
+ # # animation
74
+ # generator.build_particle(:targets)
75
+ # generator.build_particle(:start)
76
+ # generator.build_option(:pre_render_start) do |_value, user_proc|
77
+ # @animation_start_proc = user_proc
78
+ # end
79
+ # generator.build_particle(:stop)
80
+ # generator.build_option(:pre_render_stop) do |_value, user_proc|
81
+ # @animation_stop_proc = user_proc
82
+ # end
83
+ # generator.build_particle(:begin)
84
+ # generator.build_particle(:end)
85
+ # generator.build_particle(:duration)
86
+ # generator.build_particle(:mass)
87
+ # generator.build_particle(:damping)
88
+ # generator.build_particle(:stiffness)
89
+ # generator.build_particle(:velocity)
90
+ # generator.build_particle(:repeat)
91
+ # generator.build_particle(:ease)
92
+ # generator.build_particle(:unbind)
93
+ # generator.build_particle(:over)