atome 0.5.7.0.5 → 0.5.7.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/atome/genesis/particles/geometry.rb +1 -1
  3. data/lib/atome/genesis/particles/identity.rb +0 -1
  4. data/lib/atome/genesis/particles/spatial.rb +13 -3
  5. data/lib/atome/genesis/particles/utility.rb +16 -8
  6. data/lib/atome/genesis/sparkle.rb +4 -0
  7. data/lib/atome/kernel/universe.rb +1 -1
  8. data/lib/atome/version.rb +1 -1
  9. data/lib/molecules/intuition/utillities.rb +64 -11
  10. data/lib/renderers/html/hierarchy.rb +13 -1
  11. data/lib/renderers/html/html.rb +10 -0
  12. data/vendor/assets/application/examples/clones&monitoring.rb +1 -1
  13. data/vendor/assets/application/examples/image.rb +1 -2
  14. data/vendor/assets/application/examples/input.rb +6 -4
  15. data/vendor/assets/application/examples/list.rb +16 -10
  16. data/vendor/assets/application/examples/matrix.rb +43 -73
  17. data/vendor/assets/application/examples/selected.rb +53 -52
  18. data/vendor/assets/application/examples/svg_img_to_vector.rb +5 -2
  19. data/vendor/assets/application/examples/touch.rb +7 -4
  20. data/vendor/assets/application/examples/vector.rb +0 -3
  21. data/vendor/assets/src/css/style.css +7 -4
  22. data/vendor/assets/src/index.html +13 -1
  23. data/vendor/assets/src/index_opal.html +14 -3
  24. data/vendor/assets/src/index_server.html +3 -3
  25. data/vendor/assets/src/index_server_wasm.html +13 -1
  26. data/vendor/assets/src/index_wasm.html +13 -1
  27. data/vendor/assets/src/medias/images/icons/edit-.svg +1 -1
  28. data/vendor/assets/src/medias/images/icons/edit.svg +1 -1
  29. data/vendor/assets/src/medias/images/icons/infos.svg +13 -0
  30. data/vendor/assets/src/medias/images/icons/mixer.svg +15 -0
  31. data/vendor/assets/src/medias/images/icons/new.svg +7 -0
  32. data/vendor/assets/src/medias/images/icons/panel.svg +8 -0
  33. data/vendor/assets/src/medias/images/icons/play.svg +2 -2
  34. data/vendor/assets/src/medias/images/icons/save.svg +1 -1
  35. data/vendor/assets/src/medias/images/icons/sequence.svg +11 -0
  36. data/vendor/assets/src/medias/images/logos/vie.svg +3 -0
  37. data/vendor/assets/src/medias/images/shapes/triangle.svg +5 -0
  38. metadata +9 -3
  39. data/vendor/assets/src/medias/images/icons/vie.svg +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 23166944704e42b25801cc052708c19f265c1f8247dd3ff9b099944ecb415401
4
- data.tar.gz: 38a31b2cdcc6ceeef5453b926ee4d7eaf704e48c58039830126a94b5a430c188
3
+ metadata.gz: 3ac857ff76516c3e581e3204e6e1e1f9e497d1dc80575edeb0045e001e235b53
4
+ data.tar.gz: a6f94e75d6ab5596d005d3f84565b25f413406ec959aae10ddaa8eaeebef7777
5
5
  SHA512:
6
- metadata.gz: 86db3598d96617483482c8e97006bf3fe2e981be529cd871e75b7370b55838002914192c64dcb4b46cf72313f470a91a9ff3f2408fa5914439b84126c924cd44
7
- data.tar.gz: 655b083c5529f5ed4c642ee5c7457d2940062914433e072a582964ae1e7a4932423731b3a353d0f927d1d6db5b5d56386907d91d7011dfca53979b4e3c532608
6
+ metadata.gz: 6b6c2f0f2cdc28ef9a51ba50c0e42a5d564db451b3842b20ded678b43fcb94edf20dd63144e381269bf580c8bb521b23d7a324c6e55947319bd510dba79b4072
7
+ data.tar.gz: 3de7b9612d651409b56ce4ce04a5c951739414066d904135be8311ebdf24dfc2487ac78594bd80a18b54b440d4818b62555bc56667ea3bbe5ca942641f2cce4f
@@ -14,7 +14,7 @@ new({ particle: :size, category: :geometry, type: :int }) do |params|
14
14
  if params[:reference] == :x
15
15
  original_width = width
16
16
  width(params[:value])
17
- height(height * params[:value] / original_width)
17
+ height(height * params[:value] / original_width) if value
18
18
  else
19
19
  original_height = height
20
20
  height(params[:value])
@@ -64,7 +64,6 @@ end
64
64
  new(particle: :selected, category: :identity, type: :boolean) do |params|
65
65
  if params == true
66
66
  @selection_style = []
67
- # select_style= border({ thickness: 3, red: 1, green: 1, blue: 1, alpha: 1, pattern: :dotted })
68
67
  default_style = Universe.default_selection_style
69
68
  select_style = ''
70
69
  default_style.each do |atome_f, part_f|
@@ -11,7 +11,17 @@ new({ particle: :position, category: :spatial, type: :int })
11
11
  new({ particle: :organise, category: :spatial, type: :string })
12
12
  new({ particle: :spacing, category: :spatial, type: :string })
13
13
  new({ particle: :display, category: :spatial, type: :boolean }) do |params|
14
- params = { mode: params } unless params.instance_of? Hash
14
+ # params = { mode: params } unless params.instance_of? Hash
15
+ params = case params
16
+ when true
17
+ :block
18
+ when false
19
+ :none
20
+ else
21
+ params
22
+
23
+ end
24
+ params = :none if params == false
15
25
  params
16
26
  end
17
27
  new({ particle: :layout, category: :spatial, type: :int }) do |params|
@@ -92,7 +102,7 @@ new({ particle: :center, category: :spatial, type: :hash }) do |params|
92
102
  end
93
103
  new ({ particle: :increment, category: :spatial, type: :hash }) do |params|
94
104
  params.each do |particle, value|
95
- prev_value=send(particle)
96
- send(particle, value+prev_value)
105
+ prev_value = send(particle)
106
+ send(particle, value + prev_value)
97
107
  end
98
108
  end
@@ -26,8 +26,12 @@ end
26
26
 
27
27
  new({ particle: :delete, category: :utility, type: :boolean, render: false }) do |params|
28
28
  if params == true
29
+
29
30
  # We use the tag persistent to exclude color of system object and other default colors
30
31
  unless @tag && (@tag[:persistent] || @tag[:system])
32
+ # if we are on a matrix we delete cells found & group found
33
+ cells.delete(true)
34
+ group.delete(true)
31
35
  # now we detach the atome from it's parent
32
36
  # now we init rendering
33
37
  render(:delete, params)
@@ -38,20 +42,25 @@ new({ particle: :delete, category: :utility, type: :boolean, render: false }) do
38
42
  parent_found.attached.delete(id_found)
39
43
  end
40
44
  @affect&.each do |affected_atome|
41
- affected_found = grab(affected_atome)
42
- affected_found.apply.delete(id_found)
43
- affected_found.refresh
44
- end
45
-
46
- # Universe.delete(@aid)
45
+ affected_found = grab(affected_atome)
46
+ affected_found.apply.delete(id_found)
47
+ affected_found.refresh
48
+ end
49
+ Universe.delete(@aid)
47
50
  end
48
51
  elsif params.instance_of? Hash
49
-
52
+ # if we are on a matrix we delete cells found & group found
53
+ cells.delete(true)
54
+ group.delete(true)
50
55
  if params[:recursive]
51
56
  unless grab(@id).tag && (grab(@id).tag[:persistent] || grab(@id).tag[:system])
52
57
  attached.each do |atttached_atomes|
53
58
  delete_recursive(atttached_atomes)
54
59
  end
60
+ # group.each do |el|
61
+ # delete_recursive(el)
62
+ # end
63
+
55
64
  touch(:remove)
56
65
  render(:delete, params)
57
66
  Universe.delete(@id)
@@ -68,7 +77,6 @@ new({ particle: :delete, category: :utility, type: :boolean, render: false }) do
68
77
  # we check if the params passed is an atome to treat it in a different way
69
78
  puts "write code here : #{apply} , #{attached}"
70
79
  else
71
- # alert grab(params).delete(true)
72
80
  send(params, 0) unless params == :id
73
81
  end
74
82
  end
@@ -215,3 +215,7 @@ end
215
215
  # Universe.allow_localstorage = true # to stop data to be stored in localstorage
216
216
  # Universe.allow_sync= false # to stop data to be sync on server
217
217
  touch_allow(false) # this lock the system right click in web view
218
+ # add a few default font
219
+ # A.add_text_visual({ path: 'Roboto', name: 'Roboto-Bold' })
220
+ # A.add_text_visual({ path: 'Roboto', name: 'Roboto-Thin' })
221
+ # A.add_text_visual({ path: 'Roboto', name: 'Roboto-LightItalic' })
@@ -27,7 +27,7 @@ class Universe
27
27
  @allow_tool_operations = false
28
28
  @active_tools = []
29
29
  @atome_preset = []
30
- @default_selection_style={border: { thickness: 3, red: 1, green: 1, blue: 1, alpha: 1, pattern: :dotted }}
30
+ @default_selection_style={border: { thickness: 1, red: 1, green: 0, blue: 0, alpha: 1, pattern: :dotted }}
31
31
  @applicable_atomes= %i[color shadow border paint animation]
32
32
  # @historicize=false
33
33
  class << self
data/lib/atome/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  # return atome version
4
4
  class Atome
5
- VERSION = '0.5.7.0.5'
5
+ VERSION = '0.5.7.1.0'
6
6
  end
@@ -11,9 +11,12 @@ new(molecule: :input) do |params, bloc|
11
11
  limit ||= 15
12
12
  back_col = params.delete(:back)
13
13
  back_col ||= :grey
14
- text_col = params.delete(:text)
15
- text_col ||= :black
14
+ text_params = params.delete(:text)
15
+ text_params ||= {}
16
16
  default_text = params.delete(:default)
17
+ component = params.delete(:component)
18
+ # component ||= {}
19
+
17
20
  default_text ||= :input
18
21
  default_parent = if self.instance_of?(Atome)
19
22
  id
@@ -29,12 +32,12 @@ new(molecule: :input) do |params, bloc|
29
32
  })
30
33
 
31
34
  text_input = Atome.new(
32
- { renderers: [:html], type: :text, color: text_col, component: { size: params[:height] },
35
+ { renderers: [:html], type: :text, component: component,
33
36
  data: default_text, left: params[:height] * 20 / 100, top: 0, edit: true, attach: input_back.id, height: params[:height],
34
37
  position: :absolute
35
- }
38
+ }.merge(text_params)
36
39
  )
37
-
40
+ # text_input.set()
38
41
  text_input.touch(:down) do
39
42
  input_back.tick(:input)
40
43
  text_input.edit(true)
@@ -79,11 +82,13 @@ new(molecule: :input) do |params, bloc|
79
82
  input_back.holder(text_input)
80
83
  input_back
81
84
  end
85
+
82
86
  new(molecule: :list) do |params, _bloc|
83
87
 
84
88
  styles_found = params.delete(:styles)
85
89
  element = params.delete(:element)
86
90
  listing = params.delete(:listing)
91
+ action = params.delete(:action)
87
92
  new_id = params.delete(:id) || identity_generator
88
93
 
89
94
  styles_found ||= {
@@ -123,7 +128,14 @@ new(molecule: :list) do |params, _bloc|
123
128
  listing.each_with_index do |data, index|
124
129
  # let's create the container
125
130
  new_atome = { renderers: renderer_found, attach: list.id }.merge(styles_found).merge({ type: :shape })
131
+
132
+
126
133
  el = Atome.new(new_atome)
134
+ if action
135
+ el.touch(action[:touch]) do
136
+ send(action[:method], data)
137
+ end
138
+ end
127
139
  el.top((height_found + margin) * index)
128
140
  # now the content
129
141
  Atome.new({ renderers: renderer_found, attach: el.id }.merge(element).merge(data))
@@ -131,6 +143,7 @@ new(molecule: :list) do |params, _bloc|
131
143
  end
132
144
  list
133
145
  end
146
+
134
147
  new({ molecule: :slider }) do |params, bloc|
135
148
 
136
149
  default_value = params[:value] ||= 0
@@ -309,6 +322,46 @@ new(molecule: :button) do |params, bloc|
309
322
  button
310
323
  end
311
324
 
325
+ new({ particle: :cells })
326
+
327
+ class Atome
328
+ def resize_matrix(params)
329
+
330
+ width(params[:width])
331
+ height(params[:height])
332
+ current_matrix=self
333
+ real_width = current_matrix.to_px(:width)
334
+ real_height = current_matrix.to_px(:height)
335
+ spacing = current_matrix.data[:spacing]
336
+ matrix_cells= current_matrix.data[:matrix]
337
+
338
+ total_spacing_x = spacing * (matrix_cells.collect.length ** (0.5) + 1)
339
+ total_spacing_y = spacing * (matrix_cells.collect.length ** (0.5) + 1)
340
+
341
+ if real_width > real_height
342
+ full_size = real_width
343
+ available_width = full_size - total_spacing_x
344
+ available_height = full_size - total_spacing_y
345
+ else
346
+ full_size = real_width
347
+ available_width = full_size - total_spacing_x
348
+ available_height = full_size - total_spacing_y
349
+ end
350
+
351
+ box_width = available_width / matrix_cells.collect.length ** (0.5)
352
+ box_height = available_height / matrix_cells.collect.length ** (0.5)
353
+
354
+ matrix_cells.collect.each_with_index do |box_id, index|
355
+ box = grab(box_id)
356
+ box.width(box_width)
357
+ box.height(box_height)
358
+ box.left((box_width + spacing) * (index % matrix_cells.collect.length ** (0.5)) + spacing)
359
+ box.top((box_height + spacing) * (index / matrix_cells.collect.length ** (0.5)).floor + spacing)
360
+ end
361
+
362
+ end
363
+ end
364
+
312
365
  new(molecule: :matrix) do |params, &bloc|
313
366
  id = params[:id]
314
367
  rows = params[:rows]
@@ -333,13 +386,13 @@ new(molecule: :matrix) do |params, &bloc|
333
386
  matrix_back = box({ id: "#{id}_background", width: size, height: size, color: { alpha: 0 } })
334
387
 
335
388
  if view_width > view_height
336
- full_size=view_height * size_coefficient
389
+ full_size = view_height * size_coefficient
337
390
  available_width = full_size - total_spacing_x
338
391
  available_height = full_size - total_spacing_y
339
392
  matrix_back.width(full_size)
340
393
  matrix_back.height(full_size)
341
394
  else
342
- full_size=view_width * size_coefficient
395
+ full_size = view_width * size_coefficient
343
396
  available_width = full_size - total_spacing_x
344
397
  available_height = full_size - total_spacing_y
345
398
  matrix_back.width(full_size)
@@ -360,15 +413,15 @@ new(molecule: :matrix) do |params, &bloc|
360
413
  end
361
414
  end
362
415
  current_matrix.collect(matrix_cells)
363
- current_matrix
364
- # end
416
+ matrix_back.cells(current_matrix)
417
+ params= params.merge({matrix: current_matrix})
418
+ matrix_back.data(params)
419
+ matrix_back
365
420
  end
366
421
  new(molecule: :page) do |params, &bloc|
367
-
368
422
  b = box({ color: :red, left: 99, drag: true })
369
423
  b.text(params)
370
424
  end
371
-
372
425
  new(molecule: :application) do |params, &bloc|
373
426
 
374
427
  main_page = box({ drag: true, width: :auto, height: :auto, top: 0, bottom: 0, left: 0, right: 0 })
@@ -32,15 +32,27 @@ new({ renderer: :html, method: :apply, type: :string }) do |parent_found, _user_
32
32
  html.style("boxShadow", box_shadow)
33
33
  html.style("filter", drop_shadow)
34
34
  when :color
35
+
35
36
  red = parent_found.red * 255
36
37
  green = parent_found.green * 255
37
38
  blue = parent_found.blue * 255
38
39
  alpha = parent_found.alpha
39
- html.style(:backgroundColor, "rgba(#{red}, #{green}, #{blue}, #{alpha})")
40
40
  if type.to_sym ==:border
41
41
  affect.each do |at_found|
42
42
  grab(at_found).html.style(:border, "solid 2px rgba(#{red},#{green},#{blue},#{alpha})")
43
43
  end
44
+ elsif type.to_sym == :image
45
+ # alert 'rr'
46
+ # div[:style][:mixBlendMode] = 'color'
47
+ # html.style(:mixBlendMode,'color')
48
+ # html.style(:backgroundColor, "rgba(#{red}, #{green}, #{blue}, #{alpha})")
49
+
50
+ # html.image_colorizer("rgba(#{red}, #{green}, #{blue}, #{alpha})")
51
+ # html.image_colorizer("rgba(#{red}, #{green}, #{blue}, #{alpha})")
52
+ else
53
+ html.style(:backgroundColor, "rgba(#{red}, #{green}, #{blue}, #{alpha})")
54
+
55
+
44
56
  end
45
57
  when :paint
46
58
  # if when found colors when use it for the gradient , else whe use the colors within the current atome
@@ -4,6 +4,12 @@
4
4
 
5
5
  class HTML
6
6
 
7
+
8
+
9
+ # def id
10
+ # :poil
11
+ # end
12
+
7
13
  def self.locate(selector, base_element = JS.global[:document][:body])
8
14
  return base_element if selector.empty?
9
15
 
@@ -21,6 +27,7 @@ class HTML
21
27
  end
22
28
 
23
29
  def initialize(id_found, current_atome)
30
+
24
31
  @element ||= JS.global[:document].getElementById(id_found.to_s)
25
32
  @id = id_found
26
33
  @original_atome = current_atome
@@ -498,6 +505,7 @@ STRDELIM
498
505
  end
499
506
  end
500
507
 
508
+
501
509
  def transform(property, value = nil)
502
510
  transform_needed = "#{property}(#{value}deg)"
503
511
  @element[:style][:transform] = transform_needed.to_s
@@ -570,6 +578,8 @@ STRDELIM
570
578
  @element[:style][:"-webkit-backdrop-filter"] = filter_needed
571
579
  end
572
580
 
581
+
582
+
573
583
  def currentTime(time)
574
584
  @element[:currentTime] = time
575
585
  end
@@ -11,7 +11,7 @@ t.touch(true) do
11
11
  puts "#{b.touch} , #{b.touch_code}"
12
12
  b.touch_code[:touch].call
13
13
  end
14
- col = color({ id: :col1, red: 1, blue: 1 })
14
+ color({ id: :col1, red: 1, blue: 1 })
15
15
  # #######################
16
16
  atomes_monitored = [c, b]
17
17
  # particles_monitored=[:left, :width, :touch, :apply]
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  image(:red_planet)
4
-
5
- image({path: 'medias/images/logos/atome.svg', width: 33})
4
+ image({path: 'medias/images/logos/atome.svg', width: 33})
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  t = text({ left: 33, top: 33, data: 'data collected', id: :infos })
3
-
4
- inp=A.input({ width: 166,
3
+ b=box({drag: true, id: :titi})
4
+ inp=b.input({ width: 166,
5
5
  trigger: :up,
6
6
  back: :orange,
7
7
  shadow: {
@@ -10,11 +10,13 @@ inp=A.input({ width: 166,
10
10
  invert: true,
11
11
  red: 0, green: 0, blue: 0, alpha: 0.9
12
12
  },
13
- attach: :intuition,
14
- text: :black,
13
+ component: {size: 8},
14
+ # attach: :intuition,
15
+ text: { color: :black , top: 5, left: 6},
15
16
  smooth: 3,
16
17
  left: 66,
17
18
  top: 33,
19
+ # height: 8,
18
20
  default: 'type here'
19
21
  }) do |val|
20
22
 
@@ -23,14 +23,15 @@ listing = [
23
23
  { data: :hi },
24
24
  { data: :ho }
25
25
  ]
26
- b=box({drag: true})
26
+ b = box({ drag: true })
27
27
  list_1 = grab(:intuition).list({
28
- styles: styles,
29
- element: element,
30
- listing: listing,
31
- left: 33,
32
- attach: b.id
33
- })
28
+ styles: styles,
29
+ element: element,
30
+ listing: listing,
31
+ left: 33,
32
+ attach: b.id,
33
+ action: {touch: :down, method: :my_method }
34
+ })
34
35
 
35
36
  # test2
36
37
 
@@ -50,22 +51,27 @@ element = { width: 25,
50
51
  # left: 10,
51
52
  # top: :center,
52
53
  color: :orange,
53
- type: :shape }
54
+ type: :shape
55
+ }
54
56
 
55
57
  listing = [
56
58
  { smooth: '100%' },
57
- { color: :red },
59
+ { color: :red, data: :poilu },
58
60
  {},
59
61
  {},
60
62
 
61
63
  { width: 33 },
62
64
  {},
63
65
  ]
66
+ def my_method(val=nil)
67
+ alert "so_cool : #{val}"
68
+ end
64
69
 
65
70
  list_2 = A.list({ left: 300,
66
71
  styles: styles,
67
72
  element: element,
68
- listing: listing
73
+ listing: listing,
74
+ action: {touch: :down, method: :my_method }
69
75
  })
70
76
  wait 1 do
71
77
  list_2.left(list_1.width)
@@ -1,77 +1,16 @@
1
- # frozen_string_literal: true
2
-
3
- matrix_zone=box({width: 333, height: 333, drag: true, id: :the_box})
4
-
5
- # matrix creation
1
+ # # frozen_string_literal: true
2
+ #
3
+ matrix_zone = box({ width: 333, height: 333, drag: true, id: :the_box, color: {alpha: 0.4} })
4
+ #
5
+ # # matrix creation
6
6
  main_matrix = matrix_zone.matrix({ id: :vie_0, rows: 8, columns: 8, spacing: 6, size: '100%' })
7
- main_matrix.smooth(3)
7
+ main_matrix.smooth(10)
8
8
  main_matrix.color(:red)
9
9
 
10
- # on resize
11
- def resize_matrix(current_matrix, new_width, new_height, spacing, size)
12
- parent_found = current_matrix
13
- if size.instance_of? String
14
- size_coefficient = size.end_with?('%') ? (size.to_f / 100) : size.to_f / parent_found.to_px(:width)
15
- matrix_back = grab(:vie_0_background)
16
- spacing = spacing * size_coefficient
17
- total_spacing_x = spacing * (current_matrix.collect.length ** (0.5) + 1)
18
- total_spacing_y = spacing * (current_matrix.collect.length ** (0.5) + 1)
19
-
20
- if new_width > new_height
21
- full_size = new_height * size_coefficient
22
- available_width = full_size - total_spacing_x
23
- available_height = full_size - total_spacing_y
24
- matrix_back.width(full_size)
25
- matrix_back.height(full_size)
26
- else
27
- full_size = new_width * size_coefficient
28
- available_width = full_size - total_spacing_x
29
- available_height = full_size - total_spacing_y
30
- matrix_back.width(full_size)
31
- matrix_back.height(full_size)
32
- end
33
-
34
- box_width = available_width / current_matrix.collect.length ** (0.5)
35
- box_height = available_height / current_matrix.collect.length ** (0.5)
36
- current_matrix.collect.each_with_index do |box_id, index|
37
- box = grab(box_id)
38
- box.width(box_width)
39
- box.height(box_height)
40
- box.left((box_width + spacing) * (index % current_matrix.collect.length ** (0.5)) + spacing)
41
- box.top((box_height + spacing) * (index / current_matrix.collect.length ** (0.5)).floor + spacing)
42
- end
43
- else
44
- # dunno if we have to resize if size is specified in px
45
- # size.to_f / parent_found.to_px(:width)
46
- end
47
-
48
- end
49
10
 
50
- grab(:view).on(:resize) do
51
- matrix_parent = grab(:view)
52
- new_width = matrix_parent.width
53
- new_height = matrix_parent.height
54
- unless new_width.instance_of?(Numeric)
55
- new_width = matrix_parent.to_px(:width)
56
- end
57
- unless new_height.instance_of?(Numeric)
58
- new_height = matrix_parent.to_px(:height)
59
- end
60
- new_size = if new_height > new_width
61
- new_width
62
- else
63
- new_height
64
- end
65
- ratio = new_size / grab(:vie_0_background).width.to_f
66
- main_matrix.data[:spacing] = main_matrix.data[:spacing] * ratio
67
- matrix_spacing = main_matrix.data[:spacing]
68
- matrix_size = main_matrix.data[:size]
69
- resize_matrix(main_matrix, new_width, new_height, matrix_spacing, matrix_size)
70
- end
71
11
 
72
- matrix_to_treat=main_matrix
73
-
74
- #######################################################@
12
+ # #######################################################@
13
+ matrix_to_treat = main_matrix.cells
75
14
  matrix_to_treat.color(:blue)
76
15
  matrix_to_treat.smooth(6)
77
16
  matrix_to_treat.shadow({
@@ -80,15 +19,15 @@ matrix_to_treat.shadow({
80
19
  invert: false,
81
20
  red: 0, green: 0, blue: 0, alpha: 0.6
82
21
  })
83
- ###################
22
+ # ###################
84
23
  col_1 = color(:yellow)
85
24
  col_2 = color({ red: 1, id: :red_col })
86
25
 
87
26
  wait 3 do
88
- matrix_to_treat.paint({ gradient: [col_1.id, col_2.id], direction: :top })
27
+ matrix_to_treat.paint({ gradient: [col_1.id, col_2.id], direction: :top })
89
28
  end
90
-
91
- ###################
29
+ #
30
+ # ###################
92
31
 
93
32
  test_cell = grab(:vie_0_2_3)
94
33
  wait 1 do
@@ -116,3 +55,34 @@ wait 2 do
116
55
  grab(:vie_0_background).left(250)
117
56
  grab(:vie_0_background).drag(true)
118
57
  end
58
+ matrix_to_treat.touch(:down) do |event|
59
+ # alert el.inspect
60
+ current_cell= grab(event[:target][:id].to_s)
61
+ current_cell.color(:blue)
62
+ current_cell.selected(true)
63
+ end
64
+ matrix_to_treat.smooth(9)
65
+ main_matrix.color(:red)
66
+ matrix_to_treat.color(:yellow)
67
+ wait 5 do
68
+ main_matrix.resize_matrix({width: 555, height: 555})
69
+ end
70
+
71
+ wait 7 do
72
+ main_matrix.display(false)
73
+ wait 1 do
74
+ main_matrix.display(true)
75
+ wait 1 do
76
+ main_matrix.delete(true)
77
+ wait 1 do
78
+ main_matrix = matrix_zone.matrix({ id: :vie_0, rows: 8, columns: 8, spacing: 6, size: '100%' })
79
+ end
80
+ end
81
+ # main_matrix.color(:red)
82
+ end
83
+ end
84
+
85
+ # b=box
86
+ # b.circle
87
+ # b.delete(true)
88
+
@@ -1,55 +1,56 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- t = text({ data: 'touch me to select all', id: :the_text })
4
- b = box({ left: 12, id: :the_box })
5
- c = circle({ left: 230, id: :the_circle, color: { blue: 1, id: :c1 } })
6
- c.color({ green: 1, id: :c2 })
7
- # to change default selection style
8
- Universe.default_selection_style = { border: { thickness: 3, red: 1, green: 0, blue: 1, alpha: 1, pattern: :dotted } }
9
-
10
- c.touch(true) do
11
- if c.selected
12
- c.selected(false)
13
- else
14
- # c.selected(true)
15
- # example of custom selection style
16
- c.selected({ shadow: { id: :titi,
17
- left: 9, top: 3, blur: 9,
18
- invert: false,
19
- red: 0, green: 0, blue: 0, alpha: 1
20
- }, border: { id: :toto, thickness: 5, red: 1, green: 1, blue: 1, alpha: 1,
21
- pattern: :dotted, inside: true }
22
- })
23
- end
24
- end
25
-
26
- image({ path: 'medias/images/red_planet.png', id: :the__red_planet, top: 233 })
27
-
28
- t.touch(true) do
29
- puts "1 current_user - #{grab(Universe.current_user).selection}"
30
- puts "1 - b selected : #{b.selected}"
31
- grab(:view).attached.each do |atome_found|
32
- grab(atome_found).selected(true)
33
- end
34
- puts "2 - current_user : #{grab(Universe.current_user).selection}"
35
- puts "2 - b selected : #{b.selected}"
36
- selected_items = grab(Universe.current_user).selection # we create a group
37
-
38
- selected_items.each do |atome_id_selected|
39
- atome_selected = grab(atome_id_selected)
40
- atome_selected.width = rand(333)
41
- atome_selected.height = rand(333)
42
-
43
- end
44
- b.selected(false)
45
- puts "3 current_user- #{grab(Universe.current_user).selection}"
46
- puts "3 - b selected : #{b.selected}"
47
-
48
- grab(Universe.current_user).selection.color(:red)
49
- grab(Universe.current_user).selection.each do |el|
50
- puts el
51
- end
52
- puts grab(Universe.current_user).selection.collect
53
- end
54
-
3
+ # t = text({ data: 'touch me to select all', id: :the_text })
4
+ # b = box({ left: 12, id: :the_box })
5
+ # c = circle({ left: 230, id: :the_circle, color: { blue: 1, id: :c1 } })
6
+ # c.color({ green: 1, id: :c2 })
7
+ # # to change default selection style
8
+ # Universe.default_selection_style = { border: { thickness: 3, red: 1, green: 0, blue: 1, alpha: 1, pattern: :dotted } }
9
+ #
10
+ # c.touch(true) do
11
+ # if c.selected
12
+ # c.selected(false)
13
+ # else
14
+ # # c.selected(true)
15
+ # # example of custom selection style
16
+ # c.selected({ shadow: { id: :titi,
17
+ # left: 9, top: 3, blur: 9,
18
+ # invert: false,
19
+ # red: 0, green: 0, blue: 0, alpha: 1
20
+ # }, border: { id: :toto, thickness: 5, red: 1, green: 1, blue: 1, alpha: 1,
21
+ # pattern: :dotted, inside: true }
22
+ # })
23
+ # end
24
+ # end
25
+ #
26
+ # image({ path: 'medias/images/red_planet.png', id: :the__red_planet, top: 233 })
27
+ #
28
+ # t.touch(true) do
29
+ # puts "1 current_user - #{grab(Universe.current_user).selection}"
30
+ # puts "1 - b selected : #{b.selected}"
31
+ # grab(:view).attached.each do |atome_found|
32
+ # grab(atome_found).selected(true)
33
+ # end
34
+ # puts "2 - current_user : #{grab(Universe.current_user).selection}"
35
+ # puts "2 - b selected : #{b.selected}"
36
+ # selected_items = grab(Universe.current_user).selection # we create a group
37
+ #
38
+ # selected_items.each do |atome_id_selected|
39
+ # atome_selected = grab(atome_id_selected)
40
+ # atome_selected.width = rand(333)
41
+ # atome_selected.height = rand(333)
42
+ #
43
+ # end
44
+ # b.selected(false)
45
+ # puts "3 current_user- #{grab(Universe.current_user).selection}"
46
+ # puts "3 - b selected : #{b.selected}"
47
+ #
48
+ # grab(Universe.current_user).selection.color(:red)
49
+ # grab(Universe.current_user).selection.each do |el|
50
+ # puts el
51
+ # end
52
+ # puts grab(Universe.current_user).selection.collect
53
+ # end
54
+
55
+ image({ path: "./medias/images/logos/vie.svg", left: :auto, right: 3, top: 0 , size: 30})
55
56
 
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  grab(:black_matter).image({ path: 'medias/images/icons/color.svg', id: :atomic_logo, width: 33, left: 333 })
4
- vector({ width: 333, height: 333, id: :my_placeholder })
4
+ img=vector({ width: 333, height: 333, id: :my_placeholder })
5
5
  A.fetch_svg({ source: :atomic_logo, target: :my_placeholder })
6
- grab(:atomic_logo).delete(true)
6
+ wait 2 do
7
+ img.color(:cyan)
8
+ end
9
+ # grab(:atomic_logo).delete(true)
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- b = box({ left: 666, color: :blue, smooth: 6, id: :the_box2 })
3
+ b = box({ left: 333, color: :blue, smooth: 6, id: :the_box2 })
4
4
 
5
5
  t=text({id: :the_text, data: 'type of touch : ?'})
6
6
 
7
7
  t.touch(:down) do |event|
8
-
8
+ puts :down
9
9
  puts event[:pageX]
10
10
  puts event[:pageY]
11
11
  b.touch({remove: :down})
@@ -13,28 +13,31 @@ t.touch(:down) do |event|
13
13
  t.data('touch down killed')
14
14
  end
15
15
  b.touch(true) do
16
- # t.data('type of touch : ?')
16
+ puts :true
17
17
  b.color(:red)
18
18
  puts 'box tapped'
19
19
  end
20
20
 
21
21
  b.touch(:long) do
22
+ puts :long
22
23
  t.data('type of touch is : long ')
23
24
  b.color(:black)
24
25
  end
25
26
 
26
27
  b.touch(:up) do
27
-
28
+ puts :up
28
29
  t.data('type of touch is : up ')
29
30
  b.color(:orange)
30
31
  end
31
32
 
32
33
  b.touch(:down) do
34
+ puts :down
33
35
  t.data('type of touch is : down ')
34
36
  b.color(:white)
35
37
  end
36
38
 
37
39
  b.touch(:double) do
40
+ puts :double
38
41
  t.color(:red)
39
42
  t.data('type of touch is : double ')
40
43
  b.color(:yellowgreen)
@@ -32,6 +32,3 @@ wait 1 do
32
32
  end
33
33
  end
34
34
 
35
-
36
-
37
-
@@ -15,11 +15,14 @@ html, body {
15
15
  height: 100%;
16
16
  z-index: 0;
17
17
  color: lightgray;
18
+ touch-action: manipulation; /*allow pinch to scroll and pan but lock the zoom */
19
+
18
20
  }
19
- /*@font-face {*/
20
- /* font-family: 'MaPolicePersonnelle';*/
21
- /* src: url('../medias/fonts/Roboto/Roboto-Black.ttf') format('truetype');*/
22
- /*}*/
21
+ @font-face {
22
+ font-family: 'Roboto-Thin';
23
+ src: url('../medias/fonts/Roboto/Roboto-Thin.ttf') format('truetype');
24
+ }
25
+
23
26
  pre {
24
27
  min-width: 100px;
25
28
  margin: 0;
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <link rel="icon" type="image/x-icon"
5
5
  href="https://github.com/atomecorp/atome/blob/master/vendor/assets/src/favicon.ico">
6
- <meta name='viewport' content='initial-scale=1, width=device-width, viewport-fit=cover'>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover,user-scalable=no">
7
7
  <meta charset='UTF-8'/>
8
8
  <meta name="format-detection" content="telephone=no">
9
9
  <meta name="msapplication-tap-highlight" content="no">
@@ -42,4 +42,16 @@
42
42
  const NativeMode = true; // used by atome.js to load code on the fly
43
43
  </script>
44
44
  <script defer src="js/atome/atome.js" type="text/javascript"></script>
45
+ <script defer>
46
+ document.addEventListener('touchstart', function(event) {
47
+ if (event.touches.length > 1) {
48
+ event.preventDefault();
49
+ }
50
+ }, { passive: false });
51
+ document.addEventListener('wheel', function(event) {
52
+ if (event.ctrlKey === true) {
53
+ event.preventDefault(); // Empêche le zoom quand Ctrl est pressé et que l'utilisateur scroll avec le trackpad
54
+ }
55
+ }, { passive: false });
56
+ </script >
45
57
  </html>
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <link rel="icon" type="image/x-icon"
5
5
  href="https://github.com/atomecorp/atome/blob/master/vendor/assets/src/favicon.ico">
6
- <meta name='viewport' content='initial-scale=1, width=device-width, viewport-fit=cover'>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover,user-scalable=no">
7
7
  <meta charset='UTF-8'/>
8
8
  <meta name="format-detection" content="telephone=no">
9
9
  <meta name="msapplication-tap-highlight" content="no">
@@ -20,7 +20,7 @@
20
20
  <script src='js/opal/opal.js' defer></script>
21
21
  <script src='js/opal/opal_parser.js' defer></script>
22
22
  <script src='js/aui.js' defer></script>
23
- <script defer defer src='js/host_mode.js'></script>
23
+ <script defer src='js/host_mode.js'></script>
24
24
  <script src='js/opal/atome_opal_extensions.js' defer></script>
25
25
  <script src='js/atome/kernel.js' defer></script>
26
26
  <script defer src="js/atome/atome_helpers/communication.js" type="text/javascript"></script>
@@ -36,5 +36,16 @@
36
36
  </script>
37
37
  <script defer src="js/atome/atome.js" type="text/javascript"></script>
38
38
  <script src='js/application.js' defer></script>
39
-
39
+ <script defer>
40
+ document.addEventListener('touchstart', function(event) {
41
+ if (event.touches.length > 1) {
42
+ event.preventDefault();
43
+ }
44
+ }, { passive: false });
45
+ document.addEventListener('wheel', function(event) {
46
+ if (event.ctrlKey === true) {
47
+ event.preventDefault(); // Empêche le zoom quand Ctrl est pressé et que l'utilisateur scroll avec le trackpad
48
+ }
49
+ }, { passive: false });
50
+ </script >
40
51
  </html>
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <link href="https://github.com/atomecorp/atome/blob/master/vendor/assets/src/favicon.ico" rel="icon"
5
5
  type="image/x-icon">
6
- <meta content='initial-scale=1, width=device-width, viewport-fit=cover' name='viewport'>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover,user-scalable=no">
7
7
  <meta charset='UTF-8'/>
8
8
  <meta content="telephone=no" name="format-detection">
9
9
  <meta content="no" name="msapplication-tap-highlight">
@@ -19,8 +19,8 @@
19
19
  <script type="text/javascript" src="js/third_parties/papaparse.min.js" defer></script>
20
20
  <script defer src='js/opal/opal.js'></script>
21
21
  <script defer src='js/opal/opal_parser.js'></script>
22
- <script defer defer src='js/aui.js'></script>
23
- <script defer defer src='js/host_mode.js'></script>
22
+ <script defer src='js/aui.js'></script>
23
+ <script defer src='js/host_mode.js'></script>
24
24
  <script defer src='js/opal/atome_opal_extensions.js'></script>
25
25
  <script defer src='js/atome/kernel.js'></script>
26
26
  <script defer src="js/atome/atome_helpers/communication.js" type="text/javascript"></script>
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <link rel="icon" type="image/x-icon"
5
5
  href="https://github.com/atomecorp/atome/blob/master/vendor/assets/src/favicon.ico">
6
- <meta name='viewport' content='initial-scale=1, width=device-width, viewport-fit=cover'>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover,user-scalable=no">
7
7
  <meta charset='UTF-8'/>
8
8
  <meta name="format-detection" content="telephone=no">
9
9
  <meta name="msapplication-tap-highlight" content="no">
@@ -42,4 +42,16 @@
42
42
  const NativeMode = false; // used by atome.js to load code on the fly
43
43
  </script>
44
44
  <script defer src="js/atome/atome.js" type="text/javascript"></script>
45
+ <script defer>
46
+ document.addEventListener('touchstart', function(event) {
47
+ if (event.touches.length > 1) {
48
+ event.preventDefault();
49
+ }
50
+ }, { passive: false });
51
+ document.addEventListener('wheel', function(event) {
52
+ if (event.ctrlKey === true) {
53
+ event.preventDefault(); // Empêche le zoom quand Ctrl est pressé et que l'utilisateur scroll avec le trackpad
54
+ }
55
+ }, { passive: false });
56
+ </script >
45
57
  </html>
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <link rel="icon" type="image/x-icon"
5
5
  href="https://github.com/atomecorp/atome/blob/master/vendor/assets/src/favicon.ico">
6
- <meta name='viewport' content='initial-scale=1, width=device-width, viewport-fit=cover'>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover,user-scalable=no">
7
7
  <meta charset='UTF-8'/>
8
8
  <meta name="format-detection" content="telephone=no">
9
9
  <meta name="msapplication-tap-highlight" content="no">
@@ -47,4 +47,16 @@
47
47
  const NativeMode = false; // used by atome.js to load code on the fly
48
48
  </script>
49
49
  <script defer src="js/atome/atome.js" type="text/javascript"></script>
50
+ <script defer>
51
+ document.addEventListener('touchstart', function(event) {
52
+ if (event.touches.length > 1) {
53
+ event.preventDefault();
54
+ }
55
+ }, { passive: false });
56
+ document.addEventListener('wheel', function(event) {
57
+ if (event.ctrlKey === true) {
58
+ event.preventDefault(); // Empêche le zoom quand Ctrl est pressé et que l'utilisateur scroll avec le trackpad
59
+ }
60
+ }, { passive: false });
61
+ </script >
50
62
  </html>
@@ -1,4 +1,4 @@
1
1
  <svg class="svg-icon" style="width: 1em; height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;"
2
2
  viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
3
- <path id="p1" d="M257.7 752c2 0 4-0.2 6-0.5L431.9 722c2-0.4 3.9-1.3 5.3-2.8l423.9-423.9c3.9-3.9 3.9-10.2 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2c-1.9 11.1 1.5 21.9 9.4 29.8 6.6 6.4 14.9 9.9 23.8 9.9z m67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"/>
3
+ <path id="p1" fill='white' d="M257.7 752c2 0 4-0.2 6-0.5L431.9 722c2-0.4 3.9-1.3 5.3-2.8l423.9-423.9c3.9-3.9 3.9-10.2 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2c-1.9 11.1 1.5 21.9 9.4 29.8 6.6 6.4 14.9 9.9 23.8 9.9z m67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"/>
4
4
  </svg>
@@ -1,4 +1,4 @@
1
1
  <svg class="svg-icon" style="width: 1em; height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;"
2
2
  viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
3
- <path id="p1" d="M941.04 398.64 850.736 489.136 850.736 489.152 805.584 534.4 805.584 534.384 384.32 960.528 128.32 960.528C92.976 960.528 64.32 931.872 64.32 896.512L64.32 640.528 625.008 81.856C649.952 56.864 690.368 56.864 715.296 81.856L941.04 308.128C965.968 333.12 965.968 373.648 941.04 398.64ZM128.32 670.096 128.32 896.512 353.904 896.512 760.432 489.136 534.704 262.848 128.32 670.096ZM670.16 127.104 579.856 217.6 805.584 443.872 895.888 353.392 670.16 127.104Z"/>
3
+ <path id="p1" fill='white' d="M941.04 398.64 850.736 489.136 850.736 489.152 805.584 534.4 805.584 534.384 384.32 960.528 128.32 960.528C92.976 960.528 64.32 931.872 64.32 896.512L64.32 640.528 625.008 81.856C649.952 56.864 690.368 56.864 715.296 81.856L941.04 308.128C965.968 333.12 965.968 373.648 941.04 398.64ZM128.32 670.096 128.32 896.512 353.904 896.512 760.432 489.136 534.704 262.848 128.32 670.096ZM670.16 127.104 579.856 217.6 805.584 443.872 895.888 353.392 670.16 127.104Z"/>
4
4
  </svg>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800" height="800" xml:space="preserve" id="informationiconsvgrepocomCanvas">
4
+ <g id="informationiconsvgrepocomCanvas-group">
5
+ <g id="informationiconsvgrepocomCanvas-group2">
6
+ <g id="informationiconsvgrepocomCanvas-group3">
7
+ <path id="informationiconsvgrepocomCanvas-bezier" stroke="none" fill="rgb(255, 255, 255)" d="M 399.98,-0 C 179.42,-0 0.01,179.44 0.01,400 0.01,620.57 179.42,800 399.98,800 620.55,800 799.99,620.56 799.99,400 799.99,179.44 620.55,-0 399.98,-0 Z M 399.98,715.32 C 226.13,715.32 84.7,573.86 84.7,400 84.7,226.15 226.13,84.69 399.98,84.69 573.84,84.69 715.3,226.15 715.3,400 715.3,573.86 573.84,715.32 399.98,715.32 Z M 399.98,715.32" />
8
+ <rect id="informationiconsvgrepocomCanvas-rectangle" stroke="none" fill="rgb(255, 255, 255)" x="334.7" y="361.15" width="130.6" height="290.1" rx="24.6" />
9
+ <circle id="informationiconsvgrepocomCanvas-oval" stroke="none" fill="rgb(255, 255, 255)" cx="400" cy="221.12" r="72.35" />
10
+ </g>
11
+ </g>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" xml:space="preserve" id="mixermusic3svgrepocomCanvas">
4
+ <g id="mixermusic3svgrepocomCanvas-group">
5
+ <rect id="mixermusic3svgrepocomCanvas-rectangle" stroke="rgb(255, 255, 255)" stroke-width="1" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="424" y="24" width="48" height="52" />
6
+ <rect id="mixermusic3svgrepocomCanvas-rectangle2" stroke="rgb(255, 255, 255)" stroke-width="1" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="424" y="188" width="48" height="300" />
7
+ <rect id="mixermusic3svgrepocomCanvas-rectangle3" stroke="rgb(255, 255, 255)" stroke-width="0" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="384" y="100" width="128" height="64" rx="27.2" />
8
+ <rect id="mixermusic3svgrepocomCanvas-rectangle4" stroke="rgb(255, 255, 255)" stroke-width="1" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="231.99" y="24" width="48" height="276.64" />
9
+ <rect id="mixermusic3svgrepocomCanvas-rectangle5" stroke="rgb(255, 255, 255)" stroke-width="1" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="231.99" y="412.64" width="48" height="75.36" />
10
+ <rect id="mixermusic3svgrepocomCanvas-rectangle6" stroke="rgb(255, 255, 255)" stroke-width="0" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="192" y="324.65" width="128" height="64" rx="27.2" />
11
+ <rect id="mixermusic3svgrepocomCanvas-rectangle7" stroke="rgb(255, 255, 255)" stroke-width="1" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="40" y="308" width="48" height="180" />
12
+ <rect id="mixermusic3svgrepocomCanvas-rectangle8" stroke="rgb(255, 255, 255)" stroke-width="1" stroke-miterlimit="10" fill="rgb(255, 255, 255)" x="40" y="24" width="48" height="172" />
13
+ <path id="mixermusic3svgrepocomCanvas-bezier" stroke="rgb(255, 255, 255)" stroke-width="0" stroke-miterlimit="4" fill="rgb(255, 255, 255)" d="M 100.79,220 L 27.21,220 C 12.19,220 0,232.19 0,247.21 L 0,256.79 C 0,271.81 12.19,284 27.21,284 L 100.79,284 C 115.81,284 128,271.81 128,256.79 L 128,247.21 C 128,232.19 115.81,220 100.79,220 Z M 100.79,220" />
14
+ </g>
15
+ </svg>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="101" height="102" xml:space="preserve" id="canvasNewCanvas">
4
+ <path id="canvasNewCanvas-canvas1bezier2" stroke="rgb(200, 200, 200)" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" fill="none" d="M 51,8 L 7.5,8 7.5,93.5 92.5,93.5 93,50" />
5
+ <path id="canvasNewCanvas-canvas1bezier" stroke="rgb(200, 200, 200)" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" fill="none" d="M 66,21 L 93,21" />
6
+ <path id="canvasNewCanvas-canvas1bezier3" stroke="rgb(200, 200, 200)" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" fill="none" d="M 79,35 L 79,8" />
7
+ </svg>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800" height="800" xml:space="preserve" id="paneltopsvgrepocomCanvas">
4
+ <g id="paneltopsvgrepocomCanvas-group">
5
+ <rect id="paneltopsvgrepocomCanvas-rectangle" stroke="rgb(255, 255, 255)" stroke-width="60" stroke-miterlimit="10" fill="none" x="30.32" y="30.34" width="739.67" height="739.66" rx="76.2" />
6
+ <path id="paneltopsvgrepocomCanvas-bezier" fill-rule="evenodd" stroke="rgb(255, 255, 255)" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" fill="none" d="M 171.62,140.52 L 628.38,140.52" />
7
+ </g>
8
+ </svg>
@@ -1,7 +1,7 @@
1
1
  <svg class="svg-icon" style="width: 1em; height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;"
2
2
  viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
3
3
  <path id="path1" d="M512 960A448 448 0 1 0 512 64a448 448 0 0 0 0 896z m0 64A512 512 0 1 1 512 0a512 512 0 0 1 0 1024z"
4
- fill="#333333"/>
4
+ fill="#eeee"/>
5
5
  <path id="path12" d="M448 422.656v217.088L621.632 531.2 448 422.656z m14.336 283.584A51.2 51.2 0 0 1 384 662.848V399.552a51.2 51.2 0 0 1 78.336-43.392l210.56 131.648a51.2 51.2 0 0 1 0 86.784l-210.56 131.648z"
6
- fill="#333333"/>
6
+ fill="#eeee"/>
7
7
  </svg>
@@ -1,4 +1,4 @@
1
- <svg class="svg-icon" style="width: 1em; height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;"
1
+ <svg class="svg-icon" style="width: 1em; height: 1em;vertical-align: middle;fill: white;overflow: hidden;"
2
2
  viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
3
3
  <path id="path1" d="M306.176 549.376l1.024 1.024 173.568 152.576c19.968 17.92 50.176 17.408 70.144-0.512l168.448-152.576c20.992-19.968 22.016-53.248 2.048-74.24-19.456-20.48-51.712-22.016-72.704-3.584l-83.456 75.264V72.192c0-29.184-23.552-52.736-52.736-52.736-29.184 0-52.736 23.552-52.736 52.736v472.064L376.32 471.04c-21.504-19.456-54.784-17.408-74.24 4.096-19.456 21.504-17.92 54.784 4.096 74.24z"/>
4
4
  <path id="path2" d="M969.216 628.224c-30.208 0-54.784 24.576-54.784 54.784v211.968H109.056v-211.968c0-30.208-24.576-54.784-54.784-54.784S0 652.8 0 683.008V901.12c0 56.832 49.664 102.912 110.592 102.912h802.816c60.928 0 110.592-46.08 110.592-102.912v-218.112c0-30.208-24.576-54.784-54.784-54.784z"/>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="682" height="615" xml:space="preserve" id="scatteralignmentsvgrepocomCanvas">
4
+ <!-- Generated by PaintCode - http://www.paintcodeapp.com -->
5
+ <path id="scatteralignmentsvgrepocomCanvas-bezier" stroke="rgb(255, 255, 255)" stroke-width="66.67" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" fill="none" d="M 169.33,233.33 L 252,233" />
6
+ <path id="scatteralignmentsvgrepocomCanvas-bezier2" stroke="rgb(255, 255, 255)" stroke-width="66.67" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" fill="none" d="M 108.67,358 L 322,358" />
7
+ <path id="scatteralignmentsvgrepocomCanvas-bezier3" stroke="rgb(255, 255, 255)" stroke-width="66.67" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" fill="none" d="M 109,475.67 L 575.67,475.67" />
8
+ <path id="scatteralignmentsvgrepocomCanvas-bezier4" stroke="rgb(255, 255, 255)" stroke-width="66.67" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" fill="none" d="M 397,232 L 575.5,232.5" />
9
+ <path id="scatteralignmentsvgrepocomCanvas-bezier5" stroke="rgb(255, 255, 255)" stroke-width="66.67" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" fill="none" d="M 431.67,358 L 552,358" />
10
+ <path id="scatteralignmentsvgrepocomCanvas-bezier6" stroke="rgb(255, 255, 255)" stroke-width="66.67" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" fill="none" d="M 272,119 L 552,119" />
11
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" >
2
+ <path id="vieCanvas-bezier" stroke="rgb(0, 0, 0)" stroke-width="0" stroke-miterlimit="10" fill="rgb(200, 120, 76.5)" d="M 73.04,26.41 C 50.57,12.14 15.77,53.39 15.81,85.33 15.83,107.68 23.49,124.45 35.37,139.38 97.06,203.55 73.1,232.52 109.61,231.71 134.09,231.16 181.15,134.57 220.5,138.31 232.63,123.3 240.52,106.7 240.5,85.07 240.5,84.51 240.49,83.95 240.47,83.4 211.52,29.92 146.74,182.8 114.45,179.38 69.64,174.65 90.68,37.61 73.04,26.41 Z M 172.32,76.13 C 172.32,94.63 157.34,109.64 138.85,109.64 120.36,109.64 105.37,94.63 105.37,76.13 105.37,57.62 120.36,42.62 138.85,42.62 157.34,42.62 172.32,57.62 172.32,76.13 Z M 172.32,76.13" />
3
+ </svg>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="120" height="120" xml:space="preserve" id="canvas1">
4
+ <path id="canvas1-bezier" stroke="none" fill="rgb(128, 128, 128)" d="M 59.5,1.5 L 0.5,66.5 119.5,66.5 59.5,1.5 Z M 59.5,1.5" />
5
+ </svg>
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.5.7.0.5
4
+ version: 0.5.7.1.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: 2024-04-26 00:00:00.000000000 Z
11
+ date: 2024-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: artoo
@@ -782,6 +782,7 @@ files:
782
782
  - vendor/assets/src/medias/images/icons/group.svg
783
783
  - vendor/assets/src/medias/images/icons/hamburger.svg
784
784
  - vendor/assets/src/medias/images/icons/high_pass.svg
785
+ - vendor/assets/src/medias/images/icons/infos.svg
785
786
  - vendor/assets/src/medias/images/icons/link.svg
786
787
  - vendor/assets/src/medias/images/icons/load.svg
787
788
  - vendor/assets/src/medias/images/icons/low_pass.svg
@@ -791,7 +792,10 @@ files:
791
792
  - vendor/assets/src/medias/images/icons/microphone.svg
792
793
  - vendor/assets/src/medias/images/icons/midi_in.svg
793
794
  - vendor/assets/src/medias/images/icons/midi_out.svg
795
+ - vendor/assets/src/medias/images/icons/mixer.svg
794
796
  - vendor/assets/src/medias/images/icons/modules.svg
797
+ - vendor/assets/src/medias/images/icons/new.svg
798
+ - vendor/assets/src/medias/images/icons/panel.svg
795
799
  - vendor/assets/src/medias/images/icons/paste.svg
796
800
  - vendor/assets/src/medias/images/icons/pause.svg
797
801
  - vendor/assets/src/medias/images/icons/play.svg
@@ -801,6 +805,7 @@ files:
801
805
  - vendor/assets/src/medias/images/icons/select-.svg
802
806
  - vendor/assets/src/medias/images/icons/select-all.svg
803
807
  - vendor/assets/src/medias/images/icons/select.svg
808
+ - vendor/assets/src/medias/images/icons/sequence.svg
804
809
  - vendor/assets/src/medias/images/icons/settings.svg
805
810
  - vendor/assets/src/medias/images/icons/settings0.svg
806
811
  - vendor/assets/src/medias/images/icons/settings1.svg
@@ -814,7 +819,6 @@ files:
814
819
  - vendor/assets/src/medias/images/icons/undo.svg
815
820
  - vendor/assets/src/medias/images/icons/undo2.svg
816
821
  - vendor/assets/src/medias/images/icons/validate.svg
817
- - vendor/assets/src/medias/images/icons/vie.svg
818
822
  - vendor/assets/src/medias/images/icons/wave-saw.svg
819
823
  - vendor/assets/src/medias/images/icons/wave-sine.svg
820
824
  - vendor/assets/src/medias/images/icons/wave-square-.svg
@@ -850,9 +854,11 @@ files:
850
854
  - vendor/assets/src/medias/images/logos/gray/youtube2.svg
851
855
  - vendor/assets/src/medias/images/logos/instagram.svg
852
856
  - vendor/assets/src/medias/images/logos/tiktok_back.svg
857
+ - vendor/assets/src/medias/images/logos/vie.svg
853
858
  - vendor/assets/src/medias/images/logos/vimeo.svg
854
859
  - vendor/assets/src/medias/images/noise.svg
855
860
  - vendor/assets/src/medias/images/red_planet.png
861
+ - vendor/assets/src/medias/images/shapes/triangle.svg
856
862
  - vendor/assets/src/medias/images/tile.png
857
863
  - vendor/assets/src/medias/texts/lorem.txt
858
864
  - vendor/assets/src/medias/utils/infos/color.rb
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" >
2
- <path id="vieCanvas-bezier" stroke="rgb(0, 0, 0)" stroke-width="1" stroke-miterlimit="10" fill="rgb(255, 0, 0)" d="M 73.04,26.41 C 50.57,12.14 15.77,53.39 15.81,85.33 15.83,107.68 23.49,124.45 35.37,139.38 97.06,203.55 73.1,232.52 109.61,231.71 134.09,231.16 181.15,134.57 220.5,138.31 232.63,123.3 240.52,106.7 240.5,85.07 240.5,84.51 240.49,83.95 240.47,83.4 211.52,29.92 146.74,182.8 114.45,179.38 69.64,174.65 90.68,37.61 73.04,26.41 Z M 172.32,76.13 C 172.32,94.63 157.34,109.64 138.85,109.64 120.36,109.64 105.37,94.63 105.37,76.13 105.37,57.62 120.36,42.62 138.85,42.62 157.34,42.62 172.32,57.62 172.32,76.13 Z M 172.32,76.13" />
3
- </svg>