MINT-core 1.0.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. data/Gemfile +22 -3
  2. data/Gemfile.lock +98 -22
  3. data/History.txt +262 -0
  4. data/LICENSE +30 -0
  5. data/MINT-core.gemspec +25 -80
  6. data/Manifest.txt +145 -30
  7. data/README.rdoc +6 -163
  8. data/Rakefile +16 -17
  9. data/bin/mint-aui +3 -3
  10. data/bin/mint-cui-gfx +3 -2
  11. data/bin/mint-juggernaut.sh +0 -0
  12. data/bin/mint-tuplespace +0 -0
  13. data/lib/MINT-core.rb +53 -15
  14. data/lib/MINT-core/agent/agent.rb +1 -1
  15. data/lib/MINT-core/agent/aui.rb +0 -14
  16. data/lib/MINT-core/agent/auicontrol.rb +91 -38
  17. data/lib/MINT-core/agent/cui-gfx.rb +3 -3
  18. data/lib/MINT-core/agent/cuicontrol.rb +94 -24
  19. data/lib/MINT-core/connector/redis_connector.rb +16 -0
  20. data/lib/MINT-core/manager/mapping_manager.rb +101 -0
  21. data/lib/MINT-core/manager/mapping_parser.rb +89 -0
  22. data/lib/MINT-core/manager/mapping_server.rb +99 -0
  23. data/lib/MINT-core/manager/position_updater.rb +33 -0
  24. data/lib/MINT-core/manager/scxml_client.rb +118 -0
  25. data/lib/MINT-core/manager/scxml_server.rb +86 -0
  26. data/lib/MINT-core/mapping/action/action.rb +32 -0
  27. data/lib/MINT-core/mapping/action/backend_action.rb +32 -0
  28. data/lib/MINT-core/mapping/action/bind_action.rb +88 -0
  29. data/lib/MINT-core/mapping/action/event_action.rb +40 -0
  30. data/lib/MINT-core/mapping/complementary_mapping.rb +31 -0
  31. data/lib/MINT-core/mapping/mapping.rb +170 -34
  32. data/lib/MINT-core/mapping/observation/negation_observation.rb +64 -0
  33. data/lib/MINT-core/mapping/observation/observation.rb +219 -0
  34. data/lib/MINT-core/mapping/sequential.rb +1 -2
  35. data/lib/MINT-core/mapping/sequential_mapping.rb +60 -0
  36. data/lib/MINT-core/model/aui/AIChoiceElement.rb +17 -0
  37. data/lib/MINT-core/model/aui/AICommand.rb +7 -0
  38. data/lib/MINT-core/model/aui/AIContainer.rb +73 -0
  39. data/lib/MINT-core/model/aui/AIContext.rb +12 -0
  40. data/lib/MINT-core/model/aui/AIIN.rb +8 -0
  41. data/lib/MINT-core/model/aui/AIINContinuous.rb +56 -0
  42. data/lib/MINT-core/model/aui/AIINDiscrete.rb +8 -0
  43. data/lib/MINT-core/model/aui/AIMultiChoice.rb +1 -2
  44. data/lib/MINT-core/model/aui/AIMultiChoiceElement.rb +4 -51
  45. data/lib/MINT-core/model/aui/AIO.rb +76 -123
  46. data/lib/MINT-core/model/aui/AIOUT.rb +8 -0
  47. data/lib/MINT-core/model/aui/AIOUTContinuous.rb +61 -0
  48. data/lib/MINT-core/model/aui/AIReference.rb +16 -0
  49. data/lib/MINT-core/model/aui/AISingleChoice.rb +18 -1
  50. data/lib/MINT-core/model/aui/AISingleChoiceElement.rb +10 -56
  51. data/lib/MINT-core/model/aui/AISinglePresence.rb +39 -71
  52. data/lib/MINT-core/model/aui/aicommand.scxml +47 -0
  53. data/lib/MINT-core/model/aui/aicontainer.scxml +41 -0
  54. data/lib/MINT-core/model/aui/aicontext.scxml +34 -0
  55. data/lib/MINT-core/model/aui/aiincontinuous.scxml +59 -0
  56. data/lib/MINT-core/model/aui/aiinrange.scxml +86 -0
  57. data/lib/MINT-core/model/aui/aimultichoice.scxml +67 -0
  58. data/lib/MINT-core/model/aui/aimultichoiceelement.scxml +51 -0
  59. data/lib/MINT-core/model/aui/aio.scxml +18 -27
  60. data/lib/MINT-core/model/aui/aioutcontinuous.scxml +66 -0
  61. data/lib/MINT-core/model/aui/aireference.scxml +28 -0
  62. data/lib/MINT-core/model/aui/aisinglechoice.scxml +60 -0
  63. data/lib/MINT-core/model/aui/aisinglechoiceelement.scxml +45 -60
  64. data/lib/MINT-core/model/aui/aisinglepresence.scxml +15 -24
  65. data/lib/MINT-core/model/aui/model.rb +15 -38
  66. data/lib/MINT-core/model/cui/gfx/CIC.rb +34 -10
  67. data/lib/MINT-core/model/cui/gfx/CIO.rb +66 -115
  68. data/lib/MINT-core/model/cui/gfx/CarouFredSel.scxml +58 -0
  69. data/lib/MINT-core/model/cui/gfx/MarkableRadioButton.rb +8 -0
  70. data/lib/MINT-core/model/cui/gfx/RadioButton.rb +8 -0
  71. data/lib/MINT-core/model/cui/gfx/RadioButtonGroup.rb +6 -0
  72. data/lib/MINT-core/model/cui/gfx/button.rb +16 -0
  73. data/lib/MINT-core/model/cui/gfx/button.scxml +58 -0
  74. data/lib/MINT-core/model/cui/gfx/caroufredsel.rb +48 -0
  75. data/lib/MINT-core/model/cui/gfx/cic.scxml +57 -0
  76. data/lib/MINT-core/model/cui/gfx/cio.scxml +54 -0
  77. data/lib/MINT-core/model/cui/gfx/markableradiobutton.scxml +67 -0
  78. data/lib/MINT-core/model/cui/gfx/model.rb +39 -176
  79. data/lib/MINT-core/model/cui/gfx/radiobutton.scxml +59 -0
  80. data/lib/MINT-core/model/interactor.rb +167 -46
  81. data/lib/MINT-core/model/interactor.scxml +3 -0
  82. data/lib/MINT-core/model/interactor_helpers.rb +25 -0
  83. data/lib/MINT-core/model/ir/body/OneHandPoseNavigation.rb +15 -0
  84. data/lib/MINT-core/model/ir/body/body.rb +5 -0
  85. data/lib/MINT-core/model/ir/body/fingertip.rb +114 -0
  86. data/lib/MINT-core/model/ir/body/fingertip.scxml +43 -0
  87. data/lib/MINT-core/model/{body → ir/body}/gesture_button.rb +0 -0
  88. data/lib/MINT-core/model/ir/body/hand.rb +5 -0
  89. data/lib/MINT-core/model/ir/body/head.rb +102 -0
  90. data/lib/MINT-core/model/ir/body/head.scxml +92 -0
  91. data/lib/MINT-core/model/ir/body/onehandposenavigation.scxml +53 -0
  92. data/lib/MINT-core/model/ir/body/pose.rb +99 -0
  93. data/lib/MINT-core/model/ir/browserscreen.rb +27 -0
  94. data/lib/MINT-core/model/ir/browserscreen.scxml +14 -0
  95. data/lib/MINT-core/model/{device → ir}/button.rb +1 -1
  96. data/lib/MINT-core/model/ir/ir.rb +5 -0
  97. data/lib/MINT-core/model/ir/irmedia.rb +5 -0
  98. data/lib/MINT-core/model/ir/irmode.rb +5 -0
  99. data/lib/MINT-core/model/{device → ir}/joypad.rb +1 -1
  100. data/lib/MINT-core/model/ir/mouse.rb +44 -0
  101. data/lib/MINT-core/model/ir/mouse.scxml +35 -0
  102. data/lib/MINT-core/model/{device/mouse.rb → ir/mouse_old.rb} +2 -2
  103. data/lib/MINT-core/model/{device → ir}/pointer.rb +20 -22
  104. data/lib/MINT-core/model/ir/pointer.scxml +19 -0
  105. data/lib/MINT-core/model/ir/screen.rb +5 -0
  106. data/lib/MINT-core/model/{device → ir}/wheel.rb +1 -1
  107. data/lib/MINT-core/model/mim/aicommand_activate_to_button_press.xml +13 -0
  108. data/lib/MINT-core/model/mim/aicommand_deactivate_to_button_release.xml +13 -0
  109. data/lib/MINT-core/model/mim/aio_defocus_to_cio_unhighlight.xml +13 -0
  110. data/lib/MINT-core/model/mim/aio_focus_to_cio_highlight.xml +14 -0
  111. data/lib/MINT-core/model/mim/aio_present_to_cio_display.xml +14 -0
  112. data/lib/MINT-core/model/mim/aio_suspend_to_cio_hide.xml +13 -0
  113. data/lib/MINT-core/model/mim/aisinglechoice_present_to_child_present.xml +14 -0
  114. data/lib/MINT-core/model/mim/aisinglechoiceelement_chosen_to_radiobutton_select.xml +13 -0
  115. data/lib/MINT-core/model/mim/aisinglechoiceelement_unchosen_to_radiobutton_unselect.xml +13 -0
  116. data/lib/MINT-core/model/mim/aisinglepresence_children_finished_to_caroufredsel_init_js.xml +14 -0
  117. data/lib/MINT-core/model/mim/aisinglepresence_present_to_child_present.xml +15 -0
  118. data/lib/MINT-core/model/mim/browserscreen_reload_to_cuicontrol_refresh_all.xml +12 -0
  119. data/lib/MINT-core/model/mim/button_press_to_aicommand_activate.xml +12 -0
  120. data/lib/MINT-core/model/mim/button_release_to_aicommand_deactivate.xml +12 -0
  121. data/lib/MINT-core/model/mim/caroufredsel_refreshing_to_caroufredsel_init_js.xml +14 -0
  122. data/lib/MINT-core/model/mim/cio_display_to_aio_defocus.xml +13 -0
  123. data/lib/MINT-core/model/mim/cio_display_to_aio_present.xml +12 -0
  124. data/lib/MINT-core/model/mim/cio_display_to_cio_display_cache_add.xml +11 -0
  125. data/lib/MINT-core/model/mim/cio_hide_to_aio_suspend.xml +12 -0
  126. data/lib/MINT-core/model/mim/cio_hide_to_cio_display_cache_remove.xml +12 -0
  127. data/lib/MINT-core/model/mim/cio_highlight_to_aio_focus.xml +13 -0
  128. data/lib/MINT-core/model/mim/head_looking_left_to_aisinglepresence_prev.xml +14 -0
  129. data/lib/MINT-core/model/mim/head_looking_right_to_aisinglepresence_next.xml +15 -0
  130. data/lib/MINT-core/model/mim/head_nodding_to_aisinglepresence_next.xml +15 -0
  131. data/lib/MINT-core/model/mim/head_tilting_left_to_aisinglepresence_prev.xml +14 -0
  132. data/lib/MINT-core/model/mim/head_tilting_right_to_aisinglepresence_next.xml +15 -0
  133. data/lib/MINT-core/model/mim/left_button_aisinglepresence_enter.xml +15 -0
  134. data/lib/MINT-core/model/mim/left_button_aisinglepresence_next.xml +15 -0
  135. data/lib/MINT-core/model/mim/mim_default.xml +52 -0
  136. data/lib/MINT-core/model/mim/mint-mappings.xsd +127 -0
  137. data/lib/MINT-core/model/mim/mouse_press_to_aicommand_activate.xml +17 -0
  138. data/lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_choose.xml +17 -0
  139. data/lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_unchoose.xml +17 -0
  140. data/lib/MINT-core/model/mim/mouse_release_to_aicommand_deactivate.xml +16 -0
  141. data/lib/MINT-core/model/mim/mouse_stop_to_cio_highlight.xml +13 -0
  142. data/lib/MINT-core/model/mim/onehandposnav_confirm_to_aichoiceelement_choose.xml +14 -0
  143. data/lib/MINT-core/model/mim/onehandposnav_next_to_aio_next.xml +14 -0
  144. data/lib/MINT-core/model/mim/onehandposnav_previous_to_aio_prev.xml +14 -0
  145. data/lib/MINT-core/model/mim/radiobutton_selected_to_aisinglechoiceelement_choose.xml +13 -0
  146. data/lib/MINT-core/model/mim/radiobutton_unselected_to_aisinglechoiceelement_unchoose.xml +13 -0
  147. data/lib/MINT-core/model/mim/right_button_aisinglepresence_prev.xml +15 -0
  148. data/lib/MINT-core/model/task.rb +6 -6
  149. data/script/console +0 -0
  150. data/script/destroy +0 -0
  151. data/script/generate +0 -0
  152. data/spec/AICommand_spec.rb +20 -0
  153. data/spec/AIContainer_spec.rb +161 -0
  154. data/spec/AIINContinuous_spec.rb +92 -0
  155. data/spec/AIOUTContinuous_spec.rb +93 -0
  156. data/spec/AIO_spec.rb +73 -0
  157. data/spec/AIReference_spec.rb +105 -0
  158. data/spec/AISinglePresence_spec.rb +204 -60
  159. data/spec/Button_spec.rb +114 -0
  160. data/spec/CIO_spec.rb +145 -0
  161. data/spec/Interactor_spec.rb +95 -0
  162. data/spec/MappingManager_spec.rb +126 -0
  163. data/spec/Spontaneous_spec.rb +53 -0
  164. data/spec/aio_agent_spec.rb +215 -186
  165. data/spec/aisinglechoice_spec.rb +147 -88
  166. data/spec/aisinglechoiceelement_spec.rb +154 -70
  167. data/spec/complementary_mapping_spec.rb +158 -0
  168. data/spec/core_spec.rb +27 -15
  169. data/spec/cui_helper.rb +100 -0
  170. data/spec/examples/browserscreen_reload_to_cuicontrol_refresh_all.xml +12 -0
  171. data/spec/examples/mim_streaming_example.xml +9 -0
  172. data/spec/examples/mouse_highlight.xml +22 -0
  173. data/spec/examples/performance_mapping.xml +15 -0
  174. data/spec/examples/reset_click.xml +24 -0
  175. data/spec/interactor_test.scxml +32 -0
  176. data/spec/interactor_test_2.scxml +16 -0
  177. data/spec/mapping_performance_spec.rb +118 -0
  178. data/spec/mapping_server_spec.rb +161 -0
  179. data/spec/mapping_spec.rb +307 -0
  180. data/spec/music_spec.rb +301 -135
  181. data/spec/performance_counter.scxml +9 -0
  182. data/spec/sequential_mappings_spec.rb +69 -0
  183. data/spec/shared/aio_shared.rb +144 -0
  184. data/spec/spec_helper.rb +22 -3
  185. data/spec/spontaneous.scxml +11 -0
  186. data/spec/support/connection_helper.rb +19 -0
  187. data/spec/support/redis_connector_monkey_patch.rb +1 -0
  188. data/spec/support/statemachine_helper.rb +84 -0
  189. data/spec/sync_mappings_spec.rb +96 -0
  190. metadata +219 -354
  191. data/lib/MINT-core/mapping/complementary.rb +0 -100
  192. data/lib/MINT-core/mapping/on_state_change.rb +0 -65
  193. data/lib/MINT-core/model/aui/AIC.rb +0 -86
  194. data/lib/MINT-core/model/aui/AIChoice.rb +0 -65
  195. data/lib/MINT-core/model/aui/AIINChoose.rb +0 -54
  196. data/lib/MINT-core/model/aui/AIOUTDiscrete.rb +0 -43
  197. data/lib/MINT-core/model/aui/aic.png +0 -0
  198. data/lib/MINT-core/model/aui/aic.scxml +0 -50
  199. data/lib/MINT-core/model/aui/aichoice.png +0 -0
  200. data/lib/MINT-core/model/aui/aichoice.scxml +0 -60
  201. data/lib/MINT-core/model/aui/aio.png +0 -0
  202. data/lib/MINT-core/model/aui/aisinglechoiceelement.png +0 -0
  203. data/lib/MINT-core/model/aui/aisinglepresence.png +0 -0
  204. data/lib/MINT-core/model/body/handgesture.rb +0 -279
  205. data/lib/MINT-core/model/body/head.png +0 -0
  206. data/lib/MINT-core/model/body/head.rb +0 -51
  207. data/lib/MINT-core/model/body/head.scxml +0 -28
  208. data/lib/MINT-core/model/cui/gfx/screen.rb +0 -18
  209. data/lib/MINT-core/overrides/rinda.rb +0 -34
  210. data/spec/AIC_spec.rb +0 -69
  211. data/spec/MINT-core_spec.rb +0 -11
  212. data/spec/aio_spec.rb +0 -144
  213. data/spec/cio_spec.rb +0 -369
  214. data/tasks/rspec.rake +0 -21
data/Gemfile CHANGED
@@ -1,4 +1,23 @@
1
- source :rubygems
1
+ #source :rubygems
2
+ source :gemcutter
2
3
 
3
- gemspec
4
- gem "rdoc"
4
+ gem "dm-redis-adapter", :git => "git://github.com/sfeu/dm-redis-adapter.git", :branch => "test_natural_keys"
5
+ gem "MINT-statemachine", "~> 1.3.0"
6
+ gem "MINT-scxml", "~> 1.1.0"
7
+ gem "cassowary", "~> 1.0.1"
8
+ gem "dm-core","~>1.2.0"
9
+ gem "dm-serializer"
10
+ gem "eventmachine", "~> 0.12.10"
11
+ gem "rake", "= 0.9.2.2"
12
+ gem "rmagick", "~> 2.12.2"
13
+ gem "oj"
14
+ gem "newgem"
15
+ gem "multi_json"
16
+ gem "redis", "~> 2.2.1"
17
+ gem "dm-types","~>1.2.0"
18
+ gem "rspec","2.8.0"
19
+ gem "em-spec", "~> 0.2.5"
20
+ gem "em-hiredis", :git => "git://github.com/mloughran/em-hiredis.git", :branch => "experimental"
21
+ gem "hoe"
22
+ gem "perftools.rb"
23
+ # gemspec
@@ -1,34 +1,110 @@
1
- PATH
2
- remote: .
1
+ GIT
2
+ remote: git://github.com/mloughran/em-hiredis.git
3
+ revision: f8ba04ba0a6e21b1d3ee78deed83380dc28dda22
4
+ branch: experimental
3
5
  specs:
4
- MINT-core (0.0.1)
5
- MINT-statemachine (~> 1.2.2)
6
- cassowary (~> 1.0.0)
7
- dm-rinda-adapter (~> 0.1.0)
6
+ em-hiredis (0.1.0)
7
+ hiredis (~> 0.4.0)
8
+
9
+ GIT
10
+ remote: git://github.com/sfeu/dm-redis-adapter.git
11
+ revision: 9e0389ec61a73123b72d7a9be36ff5fc2b56bf65
12
+ branch: test_natural_keys
13
+ specs:
14
+ dm-redis-adapter (0.6.0)
15
+ dm-core (>= 1.2.0)
16
+ dm-types (>= 1.2.0)
17
+ hiredis (~> 0.4.0)
18
+ redis (~> 2.2)
8
19
 
9
20
  GEM
10
21
  remote: http://rubygems.org/
11
22
  specs:
12
- MINT-statemachine (1.2.3)
13
- addressable (2.2.6)
14
- cassowary (1.0.0)
15
- dm-core (0.10.2)
16
- addressable (~> 2.1)
17
- extlib (~> 0.9.14)
18
- dm-rinda-adapter (0.1.2)
19
- dm-core (~> 0.10.2)
20
- extlib (0.9.15)
21
- hoe (2.9.6)
23
+ MINT-scxml (1.1.0)
24
+ MINT-statemachine (~> 1.3.0)
25
+ MINT-statemachine (1.3.0)
26
+ RedCloth (4.2.9)
27
+ activesupport (2.3.14)
28
+ addressable (2.2.8)
29
+ bacon (1.1.0)
30
+ bcrypt-ruby (3.0.1)
31
+ cassowary (1.0.1)
32
+ diff-lcs (1.1.3)
33
+ dm-core (1.2.0)
34
+ addressable (~> 2.2.6)
35
+ dm-serializer (1.2.2)
36
+ dm-core (~> 1.2.0)
37
+ fastercsv (~> 1.5)
38
+ json (~> 1.6)
39
+ json_pure (~> 1.6)
40
+ multi_json (~> 1.0)
41
+ dm-types (1.2.2)
42
+ bcrypt-ruby (~> 3.0)
43
+ dm-core (~> 1.2.0)
44
+ fastercsv (~> 1.5)
45
+ json (~> 1.6)
46
+ multi_json (~> 1.0)
47
+ stringex (~> 1.4)
48
+ uuidtools (~> 2.1)
49
+ em-spec (0.2.6)
50
+ bacon
51
+ eventmachine
52
+ rspec (> 2.6.0)
53
+ test-unit
54
+ eventmachine (0.12.10)
55
+ fastercsv (1.5.5)
56
+ hiredis (0.4.5)
57
+ hoe (3.3.0)
22
58
  rake (~> 0.8)
23
- json (1.5.4)
59
+ json (1.7.5)
60
+ json_pure (1.7.5)
61
+ multi_json (1.3.6)
62
+ newgem (1.5.3)
63
+ RedCloth (>= 4.1.1)
64
+ activesupport (~> 2.3.4)
65
+ hoe (>= 2.4.0)
66
+ rubigen (>= 1.5.3)
67
+ syntax (>= 1.0.0)
68
+ oj (1.4.0)
69
+ perftools.rb (2.0.0)
24
70
  rake (0.9.2.2)
25
- rdoc (3.11)
26
- json (~> 1.4)
71
+ redis (2.2.2)
72
+ rmagick (2.12.2)
73
+ rspec (2.8.0)
74
+ rspec-core (~> 2.8.0)
75
+ rspec-expectations (~> 2.8.0)
76
+ rspec-mocks (~> 2.8.0)
77
+ rspec-core (2.8.0)
78
+ rspec-expectations (2.8.0)
79
+ diff-lcs (~> 1.1.2)
80
+ rspec-mocks (2.8.0)
81
+ rubigen (1.5.8)
82
+ activesupport (>= 2.3.5, < 3.2.0)
83
+ stringex (1.4.0)
84
+ syntax (1.0.0)
85
+ test-unit (2.5.2)
86
+ uuidtools (2.1.3)
27
87
 
28
88
  PLATFORMS
29
89
  ruby
30
90
 
31
91
  DEPENDENCIES
32
- MINT-core!
33
- hoe (~> 2.9)
34
- rdoc
92
+ MINT-scxml (~> 1.1.0)
93
+ MINT-statemachine (~> 1.3.0)
94
+ cassowary (~> 1.0.1)
95
+ dm-core (~> 1.2.0)
96
+ dm-redis-adapter!
97
+ dm-serializer
98
+ dm-types (~> 1.2.0)
99
+ em-hiredis!
100
+ em-spec (~> 0.2.5)
101
+ eventmachine (~> 0.12.10)
102
+ hoe
103
+ multi_json
104
+ newgem
105
+ oj
106
+ perftools.rb
107
+ rake (= 0.9.2.2)
108
+ redis (~> 2.2.1)
109
+ rmagick (~> 2.12.2)
110
+ rspec (= 2.8.0)
@@ -1,3 +1,265 @@
1
+ === 2.0.0 2012-11-21 MINT 2012 Framework version
2
+
3
+ * new interator_helpers module that collects common used utility functions used inside from state charts added
4
+ AIOUTContinuous feature to move to waiting if timeout occured (Sebastian Feuerstack)
5
+ * Changed to act as a server (Sebastian Feuerstack)
6
+ * code cleanups (Sebastian Feuerstack)
7
+ * new hightlighting caching (Sebastian Feuerstack)
8
+ * fixed net interactor get method (Sebastian Feuerstack)
9
+ * information for windows installation (Sebastian Feuerstack)
10
+ * new static get helper method to retrieve interactors from redis - changed nested
11
+ resfreshing and changed browser mapping (Sebastian Feuerstack)
12
+ * added automatic reconnect feature (Sebastian Feuerstack)
13
+ * changed to static getModel to improve observation performance (Sebastian Feuerstack)
14
+ * interactors use channel that includes interactor name to reduce observation overhead (Sebastian Feuerstack)
15
+ * switched to multijson and oj to parse json, 15% performance gain for mapping test (Sebastian Feuerstack)
16
+ * new performance test for mappings (Sebastian Feuerstack)
17
+ * sync highlight inside CUIcontrol instead of mapping (Sebastian Feuerstack)
18
+ * added error message (Sebastian Feuerstack)
19
+ * position updater no longer change x and y values (Sebastian Feuerstack)
20
+ * added fingertip (Sebastian Feuerstack)
21
+ * support for backend_action calls without parameters (Sebastian Feuerstack)
22
+ * added disconnect feature (Sebastian Feuerstack)
23
+ * moved ticker inside next and previous (Sebastian Feuerstack)
24
+ * removed mappings that make sync problems (Sebastian Feuerstack)
25
+ * new aiinrange interactor (Sebastian Feuerstack)
26
+ * added basic server to Handpose interactor (Sebastian Feuerstack)
27
+ * added onehandnav mappings (Sebastian Feuerstack)
28
+ * fixed problem: interactors derived from aireference were not part of navigation (Sebastian Feuerstack)
29
+ * test with double check value before sync to reduce dirty sync problem (Sebastian Feuerstack)
30
+ * AICommand and AIChoiceElement are now AIReferences since they can contain a nested label (Sebastian Feuerstack)
31
+ * references are not part of a sequential navigation (Sebastian Feuerstack)
32
+ * splitted browser refresh mapping into two mappings. Otherwise mapping would fail if no hidden interactors
33
+ could be found (Sebastian Feuerstack)
34
+ * fixed publish update method (Sebastian Feuerstack)
35
+ * fixed mapping to deactivate command on mouse release (Sebastian Feuerstack)
36
+ * new sync_states feature of interactor that uses retrieves current redis state to keep running interactor instances
37
+ up to date with external state changes (Sebastian Feuerstack)
38
+ * new mapping to refresh CarouFredSel on browser refresh fixed aisinglepresence mapping observation paths
39
+ and fixed bug in obervation that prevented to define observations without states (Sebastian Feuerstack)
40
+ * bugfix for crash if observation is defined with unknown interactor name (Sebastian Feuerstack)
41
+ * added head mappings (Sebastian Feuerstack)
42
+ * state is now optional for instant observations (Sebastian Feuerstack)
43
+ * added new refreshing state (Sebastian Feuerstack)
44
+ * suspend all function (Sebastian Feuerstack)
45
+ * no longer need to set a state filter in instant observation (Sebastian Feuerstack)
46
+ * further test to check for suspend forwarding for containers (Sebastian Feuerstack)
47
+ * changed to check for highlighted instead of displayed to reduce amount of unwanted matches (Sebastian Feuerstack)
48
+ * State is now optional for instant observations (Sebastian Feuerstack)
49
+ * fixed all remaining tests re-added label attribute to AIIN for backward compability (Sebastian Feuerstack)
50
+ * made adjustments to match latest specs fixed all tests (Sebastian Feuerstack)
51
+ * changes to match specs (Sebastian Feuerstack)
52
+ * changed to match specification (Sebastian Feuerstack)
53
+ * Merge remote-tracking branch 'origin/specification_cleanups' (Sebastian Feuerstack)
54
+ * update state names (Sebastian Feuerstack)
55
+ * code cleanups to match the specifications (Sebastian Feuerstack)
56
+ * prepared state machines for new spec version (Sebastian Feuerstack)
57
+ * added refresh capability and browser reload cleanups for handposture interactor (Sebastian Feuerstack)
58
+ * new browserscreen interactor to manage browser refresh
59
+ * inital handling of browser refresh by mapping and browserscreen interactor
60
+ * instant observations can retrieve more than one interactor if selection is done just by state name
61
+ * event_action can handle a list of interactors
62
+ * added test for list of interactors handling in event_action
63
+ * removed caroulfredselimage scxml as it is identical to cio added refreshing state for all cio
64
+ interactors (Sebastian Feuerstack)
65
+ * changed nose movements threshold (Sebastian Feuerstack)
66
+ * backend calls supports more than one parameter
67
+ * new head interactor that includes tcpip server and conditions in SCXML instead in ruby code
68
+ * bind actions support transformation function (xml format as well) (Sebastian Feuerstack)
69
+ * removed syncronization calls that are now handled by mappings (Sebastian Feuerstack)
70
+ * fixed transitions (Sebastian Feuerstack)
71
+ * fixed channel naming (Sebastian Feuerstack)
72
+ * added inital_js state (Sebastian Feuerstack)
73
+ * changed to sequential (Sebastian Feuerstack)
74
+ * new mappings to support list selection (Sebastian Feuerstack)
75
+ * removed synchronization calls that we implement as mappings separately
76
+ * changed listed to unchosen to be more clear (Sebastian Feuerstack)
77
+ * fixed bug for instant check without set name (Sebastian Feuerstack)
78
+ * new position updater that updates cio cache when displaying new interactors in browser
79
+ * adapted multi- and single choice manage display of their children as well
80
+ * added sync mappings between radiobuttons and aisinglechoice (Sebastian Feuerstack)
81
+ * outsourced radio button and radio button group to separate files (Sebastian Feuerstack)
82
+ * changed devlaut settings new init_js method (Sebastian Feuerstack)
83
+ * fixed next/prev navigation usinga ctive_child repaired test spec (Sebastian Feuerstack)
84
+ * add check to ensure that at least one child is displaying (Sebastian Feuerstack)
85
+ * add publish of depends (Sebastian Feuerstack)
86
+ * new cache mappings (Sebastian Feuerstack)
87
+ * removed cuicontrol2 and added scxmlserver + client (Sebastian Feuerstack)
88
+ * more detailed information in callback (Sebastian Feuerstack)
89
+ * added function to retrieve all mappings (Sebastian Feuerstack)
90
+ * added action states to inform about general success of a set of actions (Sebastian Feuerstack)
91
+ * refactoring (Sebastian Feuerstack)
92
+ * new sxcml client and server for lucas (Sebastian Feuerstack)
93
+ * added caching and aisinglepresence mappings to default mapping set (Sebastian Feuerstack)
94
+ * new wait_for children approach (Sebastian Feuerstack)
95
+ * added resturn statements to inform mapping about action success (Sebastian Feuerstack)
96
+ * suspend others method used in singleprecence interactor (Sebastian Feuerstack)
97
+ * publish highlightable attribute to be used in cache mapping (Sebastian Feuerstack)
98
+ * new caroufedsel scxml refactored caroufredsel to separate file (Sebastian Feuerstack)
99
+ * support for nested selector (Sebastian Feuerstack)
100
+ * improved readme (Sebastian Feuerstack)
101
+ * publish only selected attributes to prevent cycles (Sebastian Feuerstack)
102
+ * implemented filtering (Sebastian Feuerstack)
103
+ * moved id to absrtract action class (Sebastian Feuerstack)
104
+ * changed scxml on_enter calls to work with using mappings (Sebastian Feuerstack)
105
+ * new caroufedsel scxml
106
+ * refactored caroufredsel to separate file (Sebastian Feuerstack)
107
+ * enhanced xsd to add process and observation type with restrictions fixed mappings (Sebastian Feuerstack)
108
+ * fixed mapping server to have default host and port
109
+ * fixed mapping server to support an initial mapping_manager (Sebastian Feuerstack)
110
+ * enhanced installation doc (Sebastian Feuerstack)
111
+ * substituted puts with callbacks (reverse-merged from commit 19534aa2812a2257e1f6f705804cf5b64a03587e)
112
+ (Sebastian Feuerstack)
113
+ * changed loading path to be relative from mapping manager path file (Sebastian Feuerstack)
114
+ * mapping manager default mappings (Sebastian Feuerstack)
115
+ * fixed mapping names (Sebastian Feuerstack)
116
+ * changed channel naming to use specifc channel for communication with browser added flag to ensure
117
+ bind_action only subscribes once (Sebastian Feuerstack)
118
+ * added onchange flag (Sebastian Feuerstack)
119
+ * further default mappings (Sebastian Feuerstack)
120
+ * changed channel name (Sebastian Feuerstack)
121
+ * added new aicommand spec based on aio_spec added xml-based sync mappings to button_spec (Sebastian Feuerstack)
122
+ * added more sync mappings (Sebastian Feuerstack)
123
+ * improved mapping parser to consider sequential mappings and negation observations
124
+ * added first aio sync mappings in xml tested sync mapping xml with spec (Sebastian Feuerstack)
125
+ * started refactoring out specs to shared AIO spec (Sebastian Feuerstack)
126
+ * changed data retrival channel to not interfere with state change observation (Sebastian Feuerstack)
127
+ * introduced helper that can handle several interactors at the same time (Sebastian Feuerstack)
128
+ * changed to use onchange instead of continuous (Sebastian Feuerstack)
129
+ * introduced inheritance for sync mappings by adding pattern query for observation subscriptions
130
+ * fixed tests to support the restart using the process attributes (Sebastian Feuerstack)
131
+ * introduced clean restart following the process attribute (Sebastian Feuerstack)
132
+ * removed sync calls from scxml added mapping for button <> AICommand sync (Sebastian Feuerstack)
133
+ * fixed aireference test (Sebastian Feuerstack)
134
+ * changed bindaction to support new pubsub client api (Sebastian Feuerstack)
135
+ * changed mouse interactor to new pubsub client (Sebastian Feuerstack)
136
+ * applied fiber handling to AIINContinuous as well removed all sync calls from scxml fixed spec (Sebastian Feuerstack)
137
+ * fixed spec first use of fibers to sync async code execution removed sync calls from scxml (Sebastian Feuerstack)
138
+ * refactored connection helper fixed further specs to support new hiredis pubsub client (Sebastian Feuerstack)
139
+ * redisconnector needs to be restarted for each test for the subscription mechanism to work correctly
140
+ (Sebastian Feuerstack)
141
+ * got sync mappings to work
142
+ * outsourced mapping sync test into separate file
143
+ * changed to used a continuous subscription for observations that just ignore changes if observation has been stopped.
144
+ * switched to new em-hiredis pubsub client (Sebastian Feuerstack)
145
+ * new test helper to consider specific name and call callback if mapping finished to do further checks
146
+ (Sebastian Feuerstack)
147
+ * fixed bug with zombie subscription callbacks (Sebastian Feuerstack)
148
+ * fixed unneeded un-subscription (Sebastian Feuerstack)
149
+ * added fail case for observation to restart mapping
150
+ * removed logging print statements from mappings, callback can be used for logging
151
+ * added process flag to distinguish between onchange, continuous, and instant observations (Sebastian Feuerstack)
152
+ * CIO display to AIO presenting sync mapping test (Sebastian Feuerstack)
153
+ * added negation observation
154
+ * added initial support to use selector in observation name using dot notation
155
+ * first test to proof sync mapping removed sync display->presented from cio interactor (Sebastian Feuerstack)
156
+ * Sequential Mapping with primary test (Sebastian Feuerstack)
157
+ * added test for non-continuous observation (Sebastian Feuerstack)
158
+ * added test to check restart of mapping with continuous observation (Sebastian Feuerstack)
159
+ * refactored mapping handling fixed notification (Sebastian Feuerstack)
160
+ * substituted puts with callbacks (jcolnago)
161
+ * renamed mappingsparser to mapping_parser and moved to MINT-core (Sebastian Feuerstack)
162
+ * added test for spontaneous transition from inital state (Sebastian Feuerstack)
163
+ * moved mapping manager to new folder
164
+ * added initial mapping tcpip server
165
+ * added initial mapping server test (Sebastian Feuerstack)
166
+ * bugfix for other mappings that did not wait for done
167
+ * added timeout to ensure that a waiting example fails after waiting more than 3 seconds (Sebastian Feuerstack)
168
+ * added mapping_manager class (jcolnago)
169
+ * new cui elements that are used in music sheet (Sebastian Feuerstack)
170
+ * support to specify dependencies to define display order (Sebastian Feuerstack)
171
+ * inital test for mapping manager (Sebastian Feuerstack)
172
+ * added id to actions, observation and complementary_mapping (jcolnago)
173
+ * fixed drag and drop handling between choices (Sebastian Feuerstack)
174
+ * fixed complementary mapping spec (Sebastian Feuerstack)
175
+ * added spec for AIINContinuous (Sebastian Feuerstack)
176
+ * added tests for other mapping actions. (jcolnago)
177
+ * fixed CIO_spec (jcolnago)
178
+ * added head interactor to lib (Sebastian Feuerstack)
179
+ * Added exemplary mapping test (Sebastian Feuerstack)
180
+ * fixed AIOUTContinuous (Sebastian Feuerstack)
181
+ * Added timer for rspec to fail if expected state change does not occur (Sebastian Feuerstack)
182
+ * button test (Sebastian Feuerstack)
183
+ * fixed interactors to get slider/volume exampĺe to work (Sebastian Feuerstack)
184
+ * updated music_spec to new type of test (jcolnago)
185
+ * added test to check if abstract states are correct after entering and leaving parallel states (jcolnago)
186
+ * new aimultichoice sxcml (Sebastian Feuerstack)
187
+ * new head IR (Sebastian Feuerstack)
188
+ * Statemachine updates (jcolnago)
189
+ * basic interactor scxml (Sebastian Feuerstack)
190
+ * changed consume variable (Sebastian Feuerstack)
191
+ * consider highlighable feature for caching (Sebastian Feuerstack)
192
+ * interactor publishes initialize state upon creation (Sebastian Feuerstack)
193
+ * added right mouse button (Sebastian Feuerstack)
194
+ * added support for generic observations that do not refer to a specific interactor instance using
195
+ name property (Sebastian Feuerstack)
196
+ * introduced highlightable property added missing hide transition (Sebastian Feuerstack)
197
+ * added selector feature (Sebastian Feuerstack)
198
+ * removed ruby state machine (Sebastian Feuerstack)
199
+ * fixed failing test for navigation to parents (Sebastian Feuerstack)
200
+ * removed parallel state that should handle updates (Sebastian Feuerstack)
201
+ * fixed AISinglePresence + specs (Sebastian Feuerstack)
202
+ * extended spec (Sebastian Feuerstack)
203
+ * refactoring: initialize_statemachien function no longer needs to be overwritten
204
+ instead just getSCXML function needs to be overwritten to set the corerct scxml name
205
+ * added interactor spec (Sebastian Feuerstack)
206
+ * fixed aireference, specs are working but still one test fails (Sebastian Feuerstack)
207
+ * changed dependencies hiredis, em-hiredis, dm-serializer requires updated
208
+ dm-redis-adapter project!! (Sebastian Feuerstack)
209
+ * Merged and deleted aui_jessica files (jcolnago)
210
+ * added basic multichoice scxml added to_string methods for navigation fields for debugger
211
+ got navigation tests back working (Sebastian Feuerstack)
212
+ * refactoring: renamed typo Continous->Continuous (Sebastian Feuerstack)
213
+ * refactoring renamed AIC to AIContainer (Sebastian Feuerstack)
214
+ * refactored interaction resources to new structure (Sebastian Feuerstack)
215
+ * reintroduced navigation options for CIO got CIO spec working without errors (Sebastian Feuerstack)
216
+ * moved all new MINT2 interactors to MINT aui folder fixed broken navigation for AIO and AIC
217
+ * All tests for AIO and AIC interactor are working (Sebastian Feuerstack)
218
+ * refactored: basic Element class is now named Interactor
219
+ * removed old mappings organized new mappings into several folders: action,observation and mapping (Sebastian Feuerstack)
220
+ * updated installation instructions (Sebastian Feuerstack)
221
+ * new aireference scxml new option to activate publish event testing in spec helper (Sebastian Feuerstack)
222
+ * continuous flag for observations mappings can be named fixed button activate bug (Sebastian Feuerstack)
223
+ * changes for AIReference (jcolnago)
224
+ * removed uncessary files and added aireference (jcolnago)
225
+ * Removed AIChoice dependencies (jcolnago)
226
+ * Removed AIChoice (jcolnago)
227
+ * added capability to publish updates on data attribute changes (Sebastian Feuerstack)
228
+ * added mouse interactor added button / aicommand interactor new event_action (Sebastian Feuerstack)
229
+ * added missing min/max states (Sebastian Feuerstack)
230
+ * added mouse IR and changed pointer to mouse added hoe to gemfile (Sebastian Feuerstack)
231
+ * using statemachine files that I can alter (jcolnago)
232
+ * got new jquery based slider and progressbar working with mapping (Sebastian Feuerstack)
233
+ * drag n drop working. (jcolnago)
234
+ * added aisinglechoice scxml (jcolnago)
235
+ * added pointer interactor
236
+ * new action class cuicontrol works with redis
237
+ * commented out all navigation features because of trouble with redis adapter (Sebastian Feuerstack)
238
+ * change specs to use redis adapter fixed problem that prevents finishing a test example (Sebastian Feuerstack)
239
+ * added basic AIReference class structure added basic AIReference spec (Sebastian Feuerstack)
240
+ * added new CIO model added property to inicate model type (Sebastian Feuerstack)
241
+ * added check upon initialization (Sebastian Feuerstack)
242
+ * script and other small fixes (jcolnago)
243
+ * fixed to get it working with MINT-nodejs (Sebastian Feuerstack)
244
+ * got test to for continous mapping between slider and volume level gauge working (Sebastian Feuerstack)
245
+ * abstracted redis connection to connector class as singleton first experiments to get a continous mapping running (Sebastian Feuerstack)
246
+ * removed images (jcolnago)
247
+ * added AIINContinous and got it working (Sebastian Feuerstack)
248
+ * AIoutcontinuous forwards data updates to webpage (Sebastian Feuerstack)
249
+ * switched to hires - all AIOUTContinous tests seem to work (Sebastian Feuerstack)
250
+ * switched AIOUTContinous to eventmchine
251
+ * added em-spec library for testing em based AIOUTContinous (Sebastian Feuerstack)
252
+ * first experiments with aio and AIC connections left/right navigation still is a problem (Sebastian Feuerstack)
253
+ * changed to MINT2
254
+ * changed to Gemfile
255
+ * introduced new associations that enables prev;next to work with AIO - parent of
256
+ AIC still is not working (Sebastian Feuerstack)
257
+ * first publish/subscribe support that ends up the cui agent to do the layout calculation (therafter it crashes)
258
+ * added attribute publish limitation function inside interactors, because the to_json serializer
259
+ has problems with CIO objects (Sebastian Feuerstack)
260
+ * first test to switch to redis (Sebastian Feuerstack)
261
+ * fixed bug in installation instructions (Sebastian Feuerstack)
262
+
1
263
  === 1.0.1 2011-11-09
2
264
 
3
265
  * Included all dependencies stored in Gemfile into the Rakefile / gemspec
data/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ The MINT framework is developed by Sebastian Feuerstack Copyright (C)
2
+ 2010, 2011, 2012 Sebastian Feuerstack
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU Affero General Public License version 3
6
+ as published by the Free Software Foundation.
7
+
8
+ This program is distributed in the hope that it will be useful, but
9
+ WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ General Public License for more details.
12
+
13
+ You should have received a copy of the GNU Affero General Public
14
+ License along with this program; if not, see
15
+ http://www.gnu.org/licenses or write to the Free Software Foundation,
16
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+
18
+ You can contact Sebastian Feuerstack using the contact formular on his
19
+ homepage http://www.feuerstack.org.
20
+
21
+ The modified source and object code versions of this program must
22
+ display Appropriate Legal Notices, as required under Section 5 of the
23
+ GNU Affero General Public License version 3.
24
+
25
+ In accordance with Section 7(b) of the GNU Affero General Public
26
+ License version 3, these Appropriate Legal Notices must retain the
27
+ display of the "Powered by MINT Framework" logo. If the display of
28
+ the logo is not reasonably feasible for technical reasons, the
29
+ Appropriate Legal Notices must display the words "Powered by the
30
+ MINT Framework".