atome 0.5.7.0.7 → 0.5.7.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/atome/genesis/particles/spatial.rb +13 -3
  3. data/lib/atome/genesis/particles/utility.rb +16 -8
  4. data/lib/atome/version.rb +1 -1
  5. data/lib/molecules/intuition/utillities.rb +18 -5
  6. data/lib/renderers/html/hierarchy.rb +13 -1
  7. data/lib/renderers/html/html.rb +3 -0
  8. data/vendor/assets/application/examples/image.rb +1 -2
  9. data/vendor/assets/application/examples/input.rb +6 -4
  10. data/vendor/assets/application/examples/list.rb +16 -10
  11. data/vendor/assets/application/examples/matrix.rb +22 -11
  12. data/vendor/assets/application/examples/svg_img_to_vector.rb +5 -2
  13. data/vendor/assets/application/examples/touch.rb +7 -4
  14. data/vendor/assets/application/examples/vector.rb +0 -3
  15. data/vendor/assets/src/css/style.css +2 -0
  16. data/vendor/assets/src/index.html +13 -1
  17. data/vendor/assets/src/index_opal.html +14 -3
  18. data/vendor/assets/src/index_server.html +3 -3
  19. data/vendor/assets/src/index_server_wasm.html +13 -1
  20. data/vendor/assets/src/index_wasm.html +13 -1
  21. data/vendor/assets/src/medias/images/icons/edit-.svg +1 -1
  22. data/vendor/assets/src/medias/images/icons/edit.svg +1 -1
  23. data/vendor/assets/src/medias/images/icons/infos.svg +13 -0
  24. data/vendor/assets/src/medias/images/icons/mixer.svg +15 -0
  25. data/vendor/assets/src/medias/images/icons/new.svg +7 -0
  26. data/vendor/assets/src/medias/images/icons/panel.svg +8 -0
  27. data/vendor/assets/src/medias/images/icons/play.svg +2 -2
  28. data/vendor/assets/src/medias/images/icons/save.svg +1 -1
  29. data/vendor/assets/src/medias/images/icons/sequence.svg +11 -0
  30. data/vendor/assets/src/medias/images/logos/vie.svg +1 -1
  31. data/vendor/assets/src/medias/images/shapes/triangle.svg +5 -0
  32. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64323bdc4b0ecf2f9a130c3632dcf0934dc15797035b20bf6549c11b11dcd672
4
- data.tar.gz: 00ee111af8d4bed4b7ab415173fdd1aaa4aa84cbfbb5298457ff18dcad5f2c3a
3
+ metadata.gz: 3ac857ff76516c3e581e3204e6e1e1f9e497d1dc80575edeb0045e001e235b53
4
+ data.tar.gz: a6f94e75d6ab5596d005d3f84565b25f413406ec959aae10ddaa8eaeebef7777
5
5
  SHA512:
6
- metadata.gz: b47d3e83540561669ad27ebe0ad2a3f7fa7cb74c8ec7524248aa67edc9dd42f50d57b9aa32bd627940e02fd60b0289245a26b162791ceaf2de5856c7df4a9eff
7
- data.tar.gz: 2c6bdc853586f7c0f9a516212c2f972b7070fcf2e229b64f16a70f76862c0443087c6d3d7b233f77620890130064d45691f8e8a93580476070b1f53bff1e7126
6
+ metadata.gz: 6b6c2f0f2cdc28ef9a51ba50c0e42a5d564db451b3842b20ded678b43fcb94edf20dd63144e381269bf580c8bb521b23d7a324c6e55947319bd510dba79b4072
7
+ data.tar.gz: 3de7b9612d651409b56ce4ce04a5c951739414066d904135be8311ebdf24dfc2487ac78594bd80a18b54b440d4818b62555bc56667ea3bbe5ca942641f2cce4f
@@ -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
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.7'
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
@@ -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
@@ -505,6 +505,7 @@ STRDELIM
505
505
  end
506
506
  end
507
507
 
508
+
508
509
  def transform(property, value = nil)
509
510
  transform_needed = "#{property}(#{value}deg)"
510
511
  @element[:style][:transform] = transform_needed.to_s
@@ -577,6 +578,8 @@ STRDELIM
577
578
  @element[:style][:"-webkit-backdrop-filter"] = filter_needed
578
579
  end
579
580
 
581
+
582
+
580
583
  def currentTime(time)
581
584
  @element[:currentTime] = time
582
585
  end
@@ -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,18 +1,14 @@
1
1
  # # frozen_string_literal: true
2
2
  #
3
- matrix_zone = box({ width: 333, height: 333, drag: true, id: :the_box })
3
+ matrix_zone = box({ width: 333, height: 333, drag: true, id: :the_box, color: {alpha: 0.4} })
4
4
  #
5
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
- grab(:view).on(:resize) do
11
10
 
12
- end
13
- #
14
- # matrix_to_treat=main_matrix
15
- #
11
+
16
12
  # #######################################################@
17
13
  matrix_to_treat = main_matrix.cells
18
14
  matrix_to_treat.color(:blue)
@@ -30,7 +26,7 @@ col_2 = color({ red: 1, id: :red_col })
30
26
  wait 3 do
31
27
  matrix_to_treat.paint({ gradient: [col_1.id, col_2.id], direction: :top })
32
28
  end
33
-
29
+ #
34
30
  # ###################
35
31
 
36
32
  test_cell = grab(:vie_0_2_3)
@@ -65,13 +61,28 @@ matrix_to_treat.touch(:down) do |event|
65
61
  current_cell.color(:blue)
66
62
  current_cell.selected(true)
67
63
  end
68
- main_matrix.cells.smooth(9)
64
+ matrix_to_treat.smooth(9)
69
65
  main_matrix.color(:red)
70
- main_matrix.cells.color(:yellow)
66
+ matrix_to_treat.color(:yellow)
71
67
  wait 5 do
72
68
  main_matrix.resize_matrix({width: 555, height: 555})
73
69
  end
74
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
75
84
 
76
-
85
+ # b=box
86
+ # b.circle
87
+ # b.delete(true)
77
88
 
@@ -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,6 +15,8 @@ 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
21
  @font-face {
20
22
  font-family: 'Roboto-Thin';
@@ -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>
@@ -1,3 +1,3 @@
1
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" />
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
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.7
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-27 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
@@ -853,6 +858,7 @@ files:
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