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.
- checksums.yaml +4 -4
- data/lib/atome/genesis/particles/geometry.rb +1 -1
- data/lib/atome/genesis/particles/identity.rb +0 -1
- data/lib/atome/genesis/particles/spatial.rb +13 -3
- data/lib/atome/genesis/particles/utility.rb +16 -8
- data/lib/atome/genesis/sparkle.rb +4 -0
- data/lib/atome/kernel/universe.rb +1 -1
- data/lib/atome/version.rb +1 -1
- data/lib/molecules/intuition/utillities.rb +64 -11
- data/lib/renderers/html/hierarchy.rb +13 -1
- data/lib/renderers/html/html.rb +10 -0
- data/vendor/assets/application/examples/clones&monitoring.rb +1 -1
- data/vendor/assets/application/examples/image.rb +1 -2
- data/vendor/assets/application/examples/input.rb +6 -4
- data/vendor/assets/application/examples/list.rb +16 -10
- data/vendor/assets/application/examples/matrix.rb +43 -73
- data/vendor/assets/application/examples/selected.rb +53 -52
- data/vendor/assets/application/examples/svg_img_to_vector.rb +5 -2
- data/vendor/assets/application/examples/touch.rb +7 -4
- data/vendor/assets/application/examples/vector.rb +0 -3
- data/vendor/assets/src/css/style.css +7 -4
- data/vendor/assets/src/index.html +13 -1
- data/vendor/assets/src/index_opal.html +14 -3
- data/vendor/assets/src/index_server.html +3 -3
- data/vendor/assets/src/index_server_wasm.html +13 -1
- data/vendor/assets/src/index_wasm.html +13 -1
- data/vendor/assets/src/medias/images/icons/edit-.svg +1 -1
- data/vendor/assets/src/medias/images/icons/edit.svg +1 -1
- data/vendor/assets/src/medias/images/icons/infos.svg +13 -0
- data/vendor/assets/src/medias/images/icons/mixer.svg +15 -0
- data/vendor/assets/src/medias/images/icons/new.svg +7 -0
- data/vendor/assets/src/medias/images/icons/panel.svg +8 -0
- data/vendor/assets/src/medias/images/icons/play.svg +2 -2
- data/vendor/assets/src/medias/images/icons/save.svg +1 -1
- data/vendor/assets/src/medias/images/icons/sequence.svg +11 -0
- data/vendor/assets/src/medias/images/logos/vie.svg +3 -0
- data/vendor/assets/src/medias/images/shapes/triangle.svg +5 -0
- metadata +9 -3
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ac857ff76516c3e581e3204e6e1e1f9e497d1dc80575edeb0045e001e235b53
|
4
|
+
data.tar.gz: a6f94e75d6ab5596d005d3f84565b25f413406ec959aae10ddaa8eaeebef7777
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
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:
|
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
@@ -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
|
-
|
15
|
-
|
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,
|
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
|
-
|
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
|
data/lib/renderers/html/html.rb
CHANGED
@@ -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
|
-
|
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,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=
|
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
|
-
|
14
|
-
|
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
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
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(
|
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
|
-
|
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
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
image({ path: 'medias/images/red_planet.png', id: :the__red_planet, top: 233 })
|
27
|
-
|
28
|
-
t.touch(true) do
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
-
|
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:
|
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
|
-
|
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)
|
@@ -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
|
-
|
20
|
-
|
21
|
-
|
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=
|
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=
|
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
|
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=
|
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
|
23
|
-
<script defer
|
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=
|
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=
|
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="#
|
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="#
|
6
|
+
fill="#eeee"/>
|
7
7
|
</svg>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<svg class="svg-icon" style="width: 1em; height: 1em;vertical-align: middle;fill:
|
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
|
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-
|
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>
|