MINT-core 1.0.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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".