atome 0.5.6.3.0 → 0.5.6.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -2
  3. data/atome.gemspec +15 -7
  4. data/exe/atome +7 -0
  5. data/lib/atome/genesis/particles/atome.rb +4 -0
  6. data/lib/atome/kernel/universe.rb +1 -1
  7. data/lib/atome/version.rb +1 -1
  8. data/lib/atome.rb +19 -14
  9. data/lib/atome_relative.rb +19 -14
  10. metadata +29 -27
  11. data/lib/eVe/LICENSE +0 -8
  12. data/lib/eVe/README.md +0 -350
  13. data/lib/eVe/documentation/Backup_docs.zip +0 -0
  14. data/lib/eVe/documentation/server.md +0 -2
  15. data/lib/eVe/eVe.rb +0 -4
  16. data/lib/eVe/eVe_relative.rb +0 -4
  17. data/lib/eVe/lib/examples/site.rb +0 -34
  18. data/lib/eVe/lib/init.rb +0 -54
  19. data/lib/eVe/lib/intuition/inputs.rb +0 -111
  20. data/lib/eVe/lib/intuition/sliders.rb +0 -49
  21. data/lib/eVe/lib/intuition/toolbox.rb +0 -280
  22. data/lib/eVe/lib/version.rb +0 -11
  23. data/lib/eVe/todo.txt +0 -147
  24. /data/lib/atome/genesis/{generators/atome.rb → atome.rb} +0 -0
  25. /data/lib/atome/genesis/{generators → particles}/communication.rb +0 -0
  26. /data/lib/atome/genesis/{generators → particles}/effect.rb +0 -0
  27. /data/lib/atome/genesis/{generators → particles}/event.rb +0 -0
  28. /data/lib/atome/genesis/{generators → particles}/geometry.rb +0 -0
  29. /data/lib/atome/genesis/{generators → particles}/hierarchy.rb +0 -0
  30. /data/lib/atome/genesis/{generators → particles}/identity.rb +0 -0
  31. /data/lib/atome/genesis/{generators → particles}/material.rb +0 -0
  32. /data/lib/atome/genesis/{generators → particles}/property.rb +0 -0
  33. /data/lib/atome/genesis/{generators → particles}/security.rb +0 -0
  34. /data/lib/atome/genesis/{generators → particles}/spatial.rb +0 -0
  35. /data/lib/atome/genesis/{generators → particles}/time.rb +0 -0
  36. /data/lib/atome/genesis/{generators → particles}/utility.rb +0 -0
@@ -1,34 +0,0 @@
1
-
2
- new(application: {name: :compose })
3
-
4
-
5
- grab(:toto).color(:cyan)
6
-
7
- def layout
8
- compose_back=box
9
-
10
- compose_back.color({ alpha: 0 })
11
- media_reader=compose_back.box({left: 99, width: 250, height: 250, top: 99})
12
- viewer_1=compose_back.box({left: 360, width: 250, height: 250, top: 99})
13
- viewer_2=compose_back.box({left: 690, width: 250, height: 250, top: 99})
14
- timeline=compose_back.box({left: 99, width: 250, height: 250, top: 399})
15
- login=compose_back.text(:log)
16
- login.touch(true) do
17
- compose_back.delete(true)
18
- # grab(:view).clear(true)
19
- form
20
- end
21
-
22
- end
23
-
24
- def form
25
- form1=box
26
- form1.text(:login)
27
-
28
- form1.touch(true) do
29
- form1.delete(true)
30
- layout
31
- end
32
-
33
- end
34
- form
data/lib/eVe/lib/init.rb DELETED
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Universe.eVe(true)
4
- puts "eVe version : #{EVe::VERSION}"
5
-
6
- module EVe
7
- def new(params, &bloc)
8
- if params[:page]
9
- site_found = grab(params[:page][:application])
10
- site_found.clear(true)
11
- page_id = params[:page][:name]
12
- site_found.box({ id: page_id })
13
- elsif params[:application]
14
-
15
- footer_header_size=33
16
- footer_header_color=color({red: 0, green: 0, blue: 0, id: :footer_header_color})
17
-
18
- if params[:header]
19
- top = footer_header_size
20
- header=box({ left: 0, right: 0, width: :auto, top: 0, height: top, id: :header })
21
- # header.attach(:footer_header_color)
22
- else
23
- top = 0
24
- end
25
- if params[:footer]
26
- bottom = footer_header_size
27
- box({ left: 0, right: 0, width: :auto, top: :auto, bottom: 0, height: bottom, id: :footer })
28
- else
29
- bottom = 0
30
- end
31
- box({ left: 0, right: 0, width: :auto, top: top, bottom: bottom, height: :auto, id: params[:application] })
32
- elsif params[:module]
33
-
34
- end
35
- super if defined?(super)
36
- end
37
- end
38
-
39
- class Object
40
- include EVe
41
- end
42
-
43
- # tests
44
- # new({application: :compose, header: true, footer: true })
45
-
46
- # new(page: {name: :home, application: :compose, attach: :root })
47
-
48
- # new(module: {name: :home, application: :compose, attach: :root })
49
-
50
-
51
-
52
-
53
-
54
-
@@ -1,111 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # def atome_common(atome_preset, params)
4
- # basic_params = { renderers: [] }
5
- # # TODO : remove Essentials.default_params[atome_preset] || {} as it is
6
- # # applied twice because preset is now a particle
7
- # preset_params = Essentials.default_params[atome_preset] || {}
8
- #
9
- # basic_params[:type] = preset_params[:type] || :element
10
- # basic_params[:id] = params[:id] || identity_generator(atome_preset)
11
- # basic_params[:renderers] = @renderers || preset_params[:renderers]
12
- # essential_params = basic_params.merge(preset_params)
13
- # reordered_params = essential_params.reject { |key, _| params.has_key?(key) }
14
- # params = reordered_params.merge(params)
15
- #
16
- # # condition to handle color/shadow/paint atomes that shouldn't be attach to view
17
- # # TODO : add category for atome( material/physical vs modifier : color, shadow, .. vs shape, image ..)
18
- # # then add condition same things fo code in genesis new_atome
19
- # if %i[color shadow paint].include?(atome_preset)
20
- # unless params[:affect]
21
- # params[:affect] = if @id == :view
22
- # [:black_matter]
23
- # else
24
- # [@id]
25
- # end
26
- # end
27
- # else
28
- # params[:attach] = params[:attach] || @id || :view
29
- # end
30
- # params
31
- # end
32
- #
33
- # def preset_common(params, &bloc)
34
- # # if an atome with current id exist we update the ID in the params
35
- # params[:id] = "#{params[:id]}_#{Universe.atomes.length}" if grab(params[:id])
36
- # Atome.new(params, &bloc)
37
- # end
38
- # class EVe < Atome
39
- class EVe < Atome
40
- def initialize
41
- @atomes = {}
42
- end
43
-
44
- def atome(atome_to_find)
45
- @atomes[atome_to_find]
46
- end
47
-
48
- def input_box(params = {}, &bloc)
49
- height_wanted = 15
50
- width_wanted = 222
51
- input_back = Atome.new(
52
- { renderers: [:html], id: :input_back, type: :shape, attach: :view, apply: [:shape_color],
53
- left: 120, top: 120,data: '', width: width_wanted, height: height_wanted + height_wanted * 20 / 100, smooth: 6 })
54
-
55
- @atomes[:input_back] = input_back
56
-
57
- Atome.new(
58
- { renderers: [:html], id: :input_text_color, type: :color, tag: ({ system: true, persistent: true }),
59
- red: 0.1, green: 0.1, blue: 0.1, alpha: 1 }
60
- )
61
-
62
- text_input = Atome.new(
63
- { renderers: [:html], id: :input_text, type: :text, apply: [:input_text_color], component: { size: height_wanted },
64
- data: :input, left: height_wanted * 20 / 100, top: 0, edit: true, attach: :input_back, height: height_wanted, position: :absolute })
65
-
66
- text_input.touch(true) do
67
- text_input.component({ selected: { color: 'rgba(0,0,0,0.3)', text: :orange } })
68
- end
69
-
70
- text_input.keyboard(:down) do |native_event|
71
- event = Native(native_event)
72
- if event[:keyCode].to_s == '13'
73
- # we prevent the input
74
- event.preventDefault()
75
- end
76
-
77
- end
78
-
79
- text_input.keyboard(:up) do |native_event|
80
- input_back.data=text_input.data
81
- end
82
- @atomes[:input_text] = text_input
83
-
84
- input_back
85
- end
86
-
87
- end
88
-
89
- def input(params = {}, &proc)
90
- text_color = :white
91
- text_size = 12
92
- back_color = :gray
93
- width = 2000
94
- in_b = EVe.new()
95
- in_b.input_box
96
- end
97
-
98
- i= input
99
-
100
- b=box({top: 0, left: 0, width: 33, height: 33})
101
- b.touch(true) do
102
- puts "i.data : #{i.data}"
103
- end
104
- i.left(66)
105
- i.color(:white)
106
- i.text.left(55)
107
-
108
-
109
-
110
-
111
-
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- button = box({smooth: 6,left: 55,top: 160, color:{red: 0.3, green: 0.3, blue: 0.3},id: :my_box})
4
- button.shadow({
5
- id: :s1,
6
- left: 3, top: 3, blur: 9,
7
- invert: true,
8
- red: 0, green: 0, blue: 0, alpha: 0.7
9
- })
10
- button.touch(true) do
11
- button.controller(:hello)
12
- end
13
- slider=box({ width: 333, height: 25, top: 45, left: 55, smooth: 9, color:{red: 0.3, green: 0.3, blue: 0.3}})
14
- slider.shadow({
15
- id: :s2,
16
- left: 3, top: 3, blur: 9,
17
- invert: true,
18
- red: 0, green: 0, blue: 0, alpha: 0.7
19
- })
20
- cursor= slider.circle({width: 30, height: 30, left: 2, top: 1, color:{red: 0.3, green: 0.3, blue: 0.3}})
21
-
22
- cursor.left(0)
23
- cursor.top(0)
24
- cursor.shadow({
25
- id: :s4,
26
- left: 1, top: 1, blur: 3,
27
- option: :natural,
28
- red: 0, green: 0, blue: 0, alpha: 0.6
29
- })
30
- label=text({data: 0, top: 69, left: 69, component: { size: 12 }, color: :gray})
31
- cursor.drag({ restrict: {max:{ left: 309, top: 0}} }) do |event|
32
- puts cursor.left
33
- value = cursor.left/309*100
34
- label.data(value)
35
- cursor.controller({ action: :setModuleParameterValue, params: { moduleId: 6456549897,parameterId: 9846546, value: value} })
36
-
37
- end
38
- support=box({top: 300, left: 55, width: 300, height: 40, smooth: 9, color:{red: 0.3, green: 0.3, blue: 0.3}, id: :support })
39
- support.shadow({
40
- id: :s3,
41
- left: 3, top: 3, blur: 9,
42
- invert: true,
43
- red: 0, green: 0, blue: 0, alpha: 0.7
44
- })
45
- support.import(true) do |content|
46
- puts "add code here, content: #{content}"
47
- end
48
-
49
- in_box=input_box
@@ -1,280 +0,0 @@
1
- # frozen_string_literal: true
2
- text(:hello)
3
- class Atome
4
-
5
- def build_tool(&bloc)
6
- # alert params[:tool]
7
- a = Atome.instance_exec(&bloc)
8
- puts "===> a is : #{a[:action]}"
9
- # check below
10
- wait 2 do
11
- send a[:action]
12
- end
13
- grab(:toolbox).box({color: :white, width: 33, height: 33})
14
- end
15
- end
16
-
17
- class Object
18
- def new(params, &bloc)
19
- # Genesis = Genesis.Genesis
20
- if params.key?(:atome)
21
- Universe.add_atomes_specificities params[:atome]
22
- Genesis.build_atome(params[:atome], &bloc)
23
- elsif params.key?(:particle)
24
- Atome.instance_variable_set("@main_#{params[:particle]}", bloc)
25
- # render indicate if the particle needs to be rendered
26
- # store tell the system if it need to store the particle value
27
- # type help the system what type of type the particle will receive and store
28
- Genesis.build_particle(params[:particle], { render: params[:render], return: params[:return],
29
- store: params[:store], type: params[:type] }, &bloc)
30
- elsif params.key?(:sanitizer)
31
- Genesis.build_sanitizer(params[:sanitizer], &bloc)
32
- elsif params.key?(:pre)
33
- Atome.instance_variable_set("@pre_#{params[:pre]}", bloc)
34
- elsif params.key?(:post)
35
- Atome.instance_variable_set("@post_#{params[:post]}", bloc)
36
- elsif params.key?(:after)
37
- Atome.instance_variable_set("@after_#{params[:after]}", bloc)
38
- elsif params.key?(:read)
39
- Atome.instance_variable_set("@read_#{params[:read]}", bloc)
40
- elsif params[:renderer]
41
- renderer_found = params[:renderer]
42
- if params[:specific]
43
- Universe.set_atomes_specificities(params)
44
- params[:specific] = "#{params[:specific]}_"
45
- end
46
- render_method = "#{renderer_found}_#{params[:specific]}#{params[:method]}"
47
- Genesis.build_render(render_method, &bloc)
48
- elsif params.key?(:callback)
49
- particle_targetted = params[:callback]
50
- Atome.define_method "#{particle_targetted}_callback" do
51
- bloc.call
52
- end
53
- elsif params.key?(:tool)
54
- A.build_tool(&bloc)
55
- end
56
- end
57
- end
58
-
59
- grab(:intuition).box({id: :toolbox, top: :auto, bottom: 0, left: 0, width: 50, height: 255})
60
-
61
- def record_tool
62
- grab(Universe.current_user).selection
63
- alert "must get selection to treat it "
64
- end
65
-
66
-
67
- module Intuition
68
- def intuition_int8
69
- # tool taxonomy and list
70
- {
71
- capture: { int8: { french: :enregistrement, english: :record, german: :datensatz } },
72
- communication: { french: :communication, english: :communication, german: :communication },
73
- tool: { french: :outils, english: :tools, german: :werkzeuge },
74
- view: { french: :vue, english: :view, german: :aussicht },
75
- time: { french: :horloge, english: :clock, german: :Uhr },
76
- find: { french: :trouve, english: :find, german: :finden },
77
- home: { french: :accueil, english: :home, german: :zuhause },
78
- code: { french: :code, english: :code, german: :code },
79
- impulse: { french: :impulse, english: :impulse, german: :impulse },
80
- }
81
- end
82
- def intuition_taxonomy
83
-
84
- end
85
-
86
- def impulse
87
- # tool start point
88
- [:capture, :communication, :tool, :view, :time, :find, :home]
89
- end
90
-
91
- # def capture
92
- # categories=ATOME.methods_categories
93
- # [categories[:inputs]]
94
- # end
95
- #
96
- # def communication
97
- # categories=ATOME.methods_categories
98
- # [categories[:communications]]
99
- # end
100
- #
101
- # def toolz
102
- # categories=ATOME.methods_categories
103
- # [categories[:spatials],categories[:helpers],categories[:materials],
104
- # categories[:geometries],categories[:effects],
105
- # categories[:medias],categories[:hierarchies],categories[:utilities],categories[:events]]
106
- # end
107
- #
108
- # def tool_style(size = 33)
109
- # # styling
110
- # shadows = [{ x: size / 15, y: size / 15, thickness: 0, blur: size / 3, color: { red: 0, green: 0, blue: 0, alpha: 0.3 } }, { x: -size / 15, y: -size / 15, thickness: 0, blur: size / 6, color: { red: 1, green: 1, blue: 1, alpha: 0.3 } }]
111
- # style = { type: :tool, content: { points: 4 }, color: { red: 0.9, green: 0.9, blue: 0.9, alpha: 0.15 }, parent: :intuition, shadow: shadows, blur: { value: 6, invert: true } }
112
- # return style
113
- # end
114
- #
115
- # def open_tool(tool_id, widthness=3, orientation=:x, speed=0.6)
116
- # if orientation == :x
117
- # orientation = :width
118
- # value = grab(tool_id).width
119
- # else
120
- # orientation = :height
121
- # value = grab(tool_id).height
122
- # end
123
- # animate({
124
- # start: { orientation => value },
125
- # end: { orientation => value * widthness },
126
- # duration: speed * 1000,
127
- # loop: 0,
128
- # curve: :easing,
129
- # target: tool_id
130
- # })
131
- # notification "find why this id #{self.atome_id}, add annimation callback to set overflow when anim complete"
132
- # grab(tool_id).overflow(:visible)
133
- # end
134
- #
135
- # def close_tool(tool_id, widthness, orientation, speed)
136
- # if orientation == :x
137
- # orientation = :width
138
- # value = grab(tool_id).width
139
- # else
140
- # orientation = :height
141
- # value = grab(tool_id).height
142
- # end
143
- # animate({
144
- # start: { orientation => value * widthness },
145
- # end: { orientation => value },
146
- # duration: speed * 1000,
147
- # loop: 0,
148
- # curve: :easing,
149
- # target: tool_id
150
- # })
151
- # # grab(tool_id).overflow(:hidden)
152
- # end
153
- #
154
- # def create_tool(tool_name, size = 33, x_pos = 0, y_pos = 33, offsset=0)
155
- # tool_created = tool(self.tool_style(size).merge({ parent: :main_menu, atome_id: "tool_" + tool_name, id: "tool_" + tool_name,
156
- # width: size, height: size, smooth: size / 9, overflow: :hidden, x: x_pos, y: y_pos, z: 1, content: [] }))
157
- # icon=tool_created.shape({ path: tool_name, width: size - size / 2, height: size - size / 2, center: true })
158
- # # name = intuition_list[tool_name][language]
159
- # particle({ atome_id: :tools_property_container, color: { red: 0.6, green: 0.6, blue: 0.6 } })
160
- # # we get the plugin code only if the plugin hasn't been interpreted before (unless condition below)
161
- # unless grab(:intuition).content.include? tool_name
162
- # ATOME.reader("./medias/e_rubies/tools/#{tool_name}.rb") do |data|
163
- # # todo add a security parser here
164
- # # we set the variable tool that can be used to facilitate plugin creation
165
- # data="tool=grab(:#{tool_created.atome_id})\n"+data
166
- # compile(data)
167
- # # we add the tool to the intuition content so it won't be loaded twice
168
- # grab(:intuition).content |= [tool_name]
169
- # end
170
- # end
171
- # # end
172
- # tool_created.active({ exec: false })
173
- # tool_created.inactive({ exec: false })
174
- # icon.touch(stop: true) do
175
- # if tool_created.active[:exec] == true
176
- # tool_created.color(:transparent)
177
- # tool_created.active(exec: false, proc: tool_created.active[:proc] )
178
- # tool_created.inactive(exec: true, proc: tool_created.inactive[:proc] )
179
- # else
180
- # tool_created.color({alpha: 0.3})
181
- # tool_created.active({ exec: true, proc: tool_created.active[:proc] })
182
- # end
183
- # end
184
- # end
185
- #
186
- # # we get menu entry point
187
- # def open_intuition(position = {})
188
- # position = { x: 0, yy: 0, size: 33, orientation: :vertical, offset: 0 }.merge(position)
189
- # # we get content language from view's language
190
- # if grab(:main_menu)
191
- # grab(:main_menu).delete
192
- # else
193
- # grab(:view).language
194
- # self.language(grab(:view).language)
195
- # orientation = position.delete(:orientation)
196
- # size = position.delete(:size)
197
- # offset = position.delete(:offset)
198
- # # positioning and scaling
199
- # if orientation == :vertical
200
- # requested_width = size
201
- # requested_height = (size+offset)* impulse.length
202
- # else
203
- # requested_width = (size+offset) * impulse.length
204
- # requested_height = size
205
- # end
206
- # tool({ atome_id: :main_menu, parent: :intuition, color: { alpha: 0 } }.merge(position).merge(width: requested_width, height: requested_height))
207
- # impulse.each_with_index do |item, index|
208
- # if orientation == :vertical
209
- # create_tool(item, size, 0, index * (size+offset))
210
- # else
211
- # create_tool(item, size, index * (size+offset), 0)
212
- # end
213
- # end
214
- # end
215
- # end
216
- end
217
- # atome class extension for eVe
218
-
219
- class Atome
220
- include Intuition
221
- # def atome(requested_property)
222
- # # add component list iin the content we maybe ahave to create a tool object because box can't handle this type of content
223
- # new_atome=self.tool({ atome_id: "#{self.atome_id}_#{requested_property}_atome_#{self.content.length}", x: 66})
224
- # new_atome.touch({ stop: true, option: :down}) do
225
- # color(:red)
226
- # new_atome.height = new_atome.height*3
227
- # end
228
- # new_atome.touch({ stop: true, option: :up}) do
229
- # color(:red)
230
- # new_atome.height = new_atome.height/3
231
- # end
232
- # notification "now we have to add an object or a new property (style) to store complete tool style including size and
233
- # orientation so we can position the new atome correctly"
234
- # # alert self.content.class
235
- # # alert self.content.length
236
- # # alert tool_style
237
- # end
238
- end
239
-
240
- # # we initialise the toolbox here :
241
- #
242
- # # the launch bar
243
- # launch_bar = box({ x: 0, y: 0, width: 33, height: "100%", parent: :intuition, z: 0, color: { alpha: 0 } })
244
- # launch_bar.touch({ option: :long }) do |evt|
245
- # size = 33
246
- # yy_touch_position = grab(:view).convert(:height) - evt.page_y
247
- # if yy_touch_position < size
248
- # #if the long touch is within the wanted area( in this at bottom of the screen) we open the menu
249
- # # launch_bar.open_intuition({ x: size, yy: 6,offset: 6, orientation: :horizontal, size: size })
250
- # launch_bar.open_intuition({ x: 6, yy: size,offset: 6, orientation: :vertical, size: size })
251
- # end
252
- # end
253
- #
254
- # # # # # # # # # # # # # # # tests below # # # # # # # # # # # # #
255
- #
256
- # list = molecule_analysis(@molecules_list)
257
- # notif list[:tools]
258
- # notif "======"
259
- # notif list[:molecules]
260
- # notif "======"
261
- # notif list[:atomes]
262
- # notif "======"
263
- # notif list[:molecules][:shadow]
264
-
265
- new({ tool: :capture }) do |params|
266
- tool = { id: :rec_01,
267
-
268
- name: :record, icon: :record, action: {open: [:sub_menu]}, code: :record_tool, position: { root: 1 }, # position can be multiple
269
- option: { opt1: :method_2 }, int8: { french: :enregistrement, english: :record, german: :datensatz } }
270
- tool
271
- end
272
-
273
-
274
- puts A.impulse
275
- # def fill_toolzone(tools_ids)
276
- #
277
- # end
278
- #
279
- # fill_toolzone(%i[files edition select group link copy undo settings])
280
-
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # return eVe version
4
- module EVe
5
- VERSION = '0.0.0.0.3'
6
- end
7
-
8
-
9
-
10
-
11
-
data/lib/eVe/todo.txt DELETED
@@ -1,147 +0,0 @@
1
-
2
- Urgent :
3
- - Drag and drop
4
- - Save
5
- - user strategy
6
- - U.I.
7
- - IDE
8
- - Embeded versionnb v
9
-
10
- tool composition tool :
11
- - Examples
12
- - Api name
13
- - Definition
14
- - usages
15
- - copyright
16
- - price
17
- - Author
18
- - presets
19
- - connex tools
20
- - code
21
- - version of Api
22
- - create a two way return method. ex : e.x => 50 e.x_incept => {content: :50, dynamic => true, reference: :view}
23
- - suppress all @@ class varaible
24
- - find a solution when setting text if we want to position it corecctly and obtain the correct size using the value api when have to set prop in this order:find a way to set the prop in any order : text_title.width(:auto)
25
- text_title.x = 80
26
- text_title.xx = 80
27
- text_title.y = 0
28
- - add adaptive size: for width and height too:
29
- - create method accumulate so the next obect is postioned after the precedent etheir along x or y axis, with an optional offset
30
- - to modify text lines aligenments t.child.align(:distribute/x/xx, center) text_title.size(34)
31
- - bug when inserting an object into another if the insertted object is centererd before grouping its position is incorect
32
- - change width according to the right align
33
- - enliven still need a bit od refinement
34
- - to test: read_code in help.rb ( reactive the commented lines)
35
- - if object position is specified using xx then when dragging it should remain relative to xx not to x
36
- - todo objet masking and stencil with boolean
37
- - bug width anim help error with border radius
38
- - add or check if a delete property exist and relaly delete the property and it's value
39
- - bug text menu on resize start in method render_resize in html.rb file
40
- - finish to add monitor to all apis
41
- - verify object in object
42
- - check old group method for group in group!!
43
- - create detach method
44
- - .bat script on windows to install atome
45
- - check group add child nd parent respectively
46
- - check ungroup both remove parent and child property
47
- - unify (group/child) - (attach-parent) (detach-ungroup)
48
- - Help.render bug, Help.volume_example bug
49
- - reflection if presets are global or specific to a atype , cf preset :red only available for color or also for text
50
- - allow to create new preset
51
- - Better alert system
52
- - create objext in object example
53
- - create rotation example
54
- - finish attach api (group inverse)
55
- - Important : Objet created in objet are not centered anymore!!
56
- - Important : check if event are re-injected when setting events before sending type to the view
57
- - create a console objet and redirect the js console to the new console
58
- - bug when enliven a draggable object
59
- - bug when enliven an object whith children. Children are nor enliven
60
- - add Urho 3D rendering (Mruby)
61
- - Arduino (shell acces from cordova)
62
- - Create menu
63
- - U.I.
64
- - Save mecanism (DB and file)
65
- - check Roda and native Ruby
66
- - websocket
67
- - restore ide
68
- - create console
69
- - Add Q-Audio native library binding
70
- - remove all comment when creating production version
71
- - Kind of bug, if we run the script 'default_values' in Help then the 'enliven' script position are not consistent because the position is first set using x and then override by left and top (is it a bug?)
72
- - record media
73
- - allow iframe integration
74
- - object type permutation
75
- - Help.drag bug object are persistent when modifying or re running the script
76
- - drag api is badly formated and not send the same manner to the render when restoring from @drag other event api with proc may have the same propblem
77
- - when using b=box(); c=b.circle({x: 20}) objet are badly positioned
78
- - text tabulation is rendered
79
- - Align bug for text
80
- - unify all finite value with value 0 to 1
81
- - render_fill bug when using % or px (html.rb line 308 - 317
82
- - enhancement check Preset algorythm behavior, it should create an atome accordingg to the type then apply the preset's optional proprties (also check if the type and the the presetare corectly fromated and saved)
83
- - bug when changing image content if a size it is reset
84
- - better integration of web iframe
85
- - image can't be created using Atome.new({"id"=>"logo", "type"=>"image", "content"=>"atome", "preset"=>"box", "size"=>33.33333333333333, "top"=>8.333333333333334, "left"=>8.333333333333334, "shadow"=>{"color"=>"rgba(0,0,0,0.3)", "blur"=>16, "x"=>0, "y"=>0}})
86
- - rename drag event page_x to x
87
- - out api (when over)
88
- - ensure atome_id unicity
89
- - drag api on mobile kill any touch set before the drag but doesn't on desktop
90
- - conflict between get(id) and atome.get
91
- - anim callback
92
- - internationalisation
93
- - multi render engine
94
- - group store only the iD of the object grouped not the atome
95
- - add dynamic option to center api to allow recentering on resize
96
- - add an offset option when using the center api
97
- - add target option to center api to allow centering according to another object
98
- - parent api should return the id instead of the atome_id to be easier for coder
99
- - bug : when writing b=box();b.x=b.y=300;alert b.info.join("\n") it crash
100
- - add rotation pivot option
101
- - infos tools
102
- - select tool
103
- - Make tests
104
- - unify unit ( 0 to 1) for all values
105
- - change color so when a user specify a purple color it create a "purple" preset, the atome then look like this :
106
- [type: :shape, preset: :box, red: [child: :purple],green: [child: :purple],blue: [child: :purple],alpha: [child: :purple],cyan: [child: :purple],magenta: [child: :purple],yellow: [child: :purple],key: [child: :purple]]
107
- - anim param as a block and param used to acitvate desavtivate anim : b.anim(true) do |evt|; start: {x: 0}, end: {x: 200}, duration: 150, target: b.id; end
108
- - Collaboration
109
- - User account
110
- - Rights managements
111
- - Multidevice acccount access and datas retreive
112
- - import asset with drag an drop
113
- - Int8!
114
- - Accessibility
115
- - keep current content in event (allow the use of self in bloc) proc.call(evt) if proc.is_a?(Proc) #instance_eval(&proc) if proc.is_a?(Proc)
116
- - on overflow
117
- - name and store events in a list to remove those events by their names
118
-
119
- - remove all code in backtick from html.rb file
120
- - pb de css filter qui s'efface le precedent quand on en ajoute un nouveau
121
-
122
-
123
- eVe Tools to do :
124
- done - bug with Help module and topic name if topic is an atome function etheir the topic is not display or the atome methode doesnt work
125
- pone - bug if help is call before background the app is freeze
126
- done - pb drag ex a.drag(true) (sans bloc do end)
127
- done - remove jquery UI css error
128
- done - add romain Arc
129
- done - put all render methods in html.rb file in a module
130
- done - delete child when deleting group
131
- done - clean up code
132
- done - correct deletion strategy for object
133
- done - on resize (for view)
134
- done - Allow youtube integration
135
- done - replace refresh by render property in atome api ex: box({color: :red, render: false})
136
- done - bug in 'every' api that stop after 5 times
137
- done - Help.render crash the help application
138
- done - finish fit function
139
- done - catch eror when a media is messing to avoid : "[]: undefined method `[]' for nil"
140
- done - add_prop_to_all child crash
141
- done - allow default value for atome to be parametric
142
- done - verify selectable is possible( for objet and text)
143
- Done - a regression prevent resurection to work
144
- Done - refresh rake compile when modifying atome libs
145
- done - resize method (scale)
146
- Done - puts render in a class Render with optional rendering engine( mfor multiples simultaneaous rendering)
147
- Done - puts the render methods in a module