RUIC 0.4.6 → 0.5.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -3
  3. data/HISTORY +63 -52
  4. data/README.md +220 -220
  5. data/bin/ruic +12 -11
  6. data/gui/TODO +2 -2
  7. data/gui/appattributesmodel.rb +51 -51
  8. data/gui/appelementsmodel.rb +126 -126
  9. data/gui/launch.rb +19 -19
  10. data/gui/makefile +14 -14
  11. data/gui/resources/style/dark.qss +459 -459
  12. data/gui/window.rb +90 -90
  13. data/gui/window.ui +753 -753
  14. data/lib/ruic.rb +182 -175
  15. data/lib/ruic/application.rb +2 -2
  16. data/lib/ruic/assets.rb +436 -421
  17. data/lib/ruic/attributes.rb +170 -165
  18. data/lib/ruic/behaviors.rb +1 -1
  19. data/lib/ruic/interfaces.rb +23 -1
  20. data/lib/ruic/presentation.rb +100 -34
  21. data/lib/ruic/ripl-after-result.rb +24 -24
  22. data/lib/ruic/statemachine.rb +1 -1
  23. data/lib/ruic/version.rb +3 -3
  24. data/ruic.gemspec +25 -25
  25. data/test/MetaData-simple.xml +28 -28
  26. data/test/MetaData.xml +435 -435
  27. data/test/customclasses.ruic +31 -21
  28. data/test/filtering.ruic +43 -43
  29. data/test/futureassets.ruic +8 -8
  30. data/test/nonmaster.ruic +0 -0
  31. data/test/paths.ruic +18 -18
  32. data/test/projects/CustomClasses/CustomClasses.uia +7 -7
  33. data/test/projects/CustomClasses/CustomClasses.uip +7 -1
  34. data/test/projects/CustomClasses/FutureAsset.uip +17 -17
  35. data/test/projects/CustomClasses/scripts/DataDrivenTime.lua +58 -0
  36. data/test/projects/CustomClasses/scripts/TimeDrivenAttribute.lua +49 -0
  37. data/test/projects/Paths/Paths.uia +4 -4
  38. data/test/projects/Paths/Paths.uip +98 -98
  39. data/test/projects/SimpleScene/SimpleScene.uia +4 -4
  40. data/test/projects/SimpleScene/SimpleScene.uip +35 -35
  41. data/test/properties.ruic +82 -82
  42. data/test/referencematerials.ruic +52 -52
  43. data/test/usage.ruic +20 -20
  44. metadata +32 -4
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <application xmlns="http://nvidia.com/uicomposer">
3
- <assets><presentation id="main" src="SimpleScene.uip"/></assets>
4
- </application>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <application xmlns="http://nvidia.com/uicomposer">
3
+ <assets><presentation id="main" src="SimpleScene.uip"/></assets>
4
+ </application>
@@ -1,35 +1,35 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <UIP version="3">
3
- <Project>
4
- <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False"/>
5
- <Graph>
6
- <Scene id="Scene">
7
- <Layer id="Layer">
8
- <Camera id="Camera"/>
9
- <Light id="Light"/>
10
- <Model id="Sphere"><Material id="Material"/></Model>
11
- <Model id="Sphere2"><Material id="Material_001"/></Model>
12
- <Model id="Cube"><Material id="Material_002"/></Model>
13
- <Model id="Sphere3"><Material id="Material_003"/></Model>
14
- </Layer>
15
- </Scene>
16
- </Graph>
17
- <Logic>
18
- <State name="Master Slide" component="#Scene">
19
- <Add ref="#Layer"/>
20
- <Add ref="#Camera"/>
21
- <Add ref="#Light"/>
22
- <Add ref="#Sphere" name="Sphere1" position="-150 60 0" sourcepath="#Sphere"/>
23
- <Add ref="#Material" diffuse="0 0.752941 0"/>
24
- <Add ref="#Sphere2" name="Sphere2" position="150 60.0004 0" sourcepath="#Sphere"/>
25
- <Add ref="#Material_001" diffuse="0 0.75287 0"/>
26
- <Add ref="#Cube" name="Cube" position="0 60 0" rotation="-30 60 -20" sourcepath="#Cube"/>
27
- <Add ref="#Material_002" name="Material" diffuse="0.5 0 0"/>
28
- <State id="Scene-Slide1" name="Slide1">
29
- <Add ref="#Sphere3" name="NonMaster" position="-150 60 0" sourcepath="#Sphere"/>
30
- <Add ref="#Material_003" diffuse="0 0.752941 0"/>
31
- </State>
32
- </State>
33
- </Logic>
34
- </Project>
35
- </UIP>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <UIP version="3">
3
+ <Project>
4
+ <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False"/>
5
+ <Graph>
6
+ <Scene id="Scene">
7
+ <Layer id="Layer">
8
+ <Camera id="Camera"/>
9
+ <Light id="Light"/>
10
+ <Model id="Sphere"><Material id="Material"/></Model>
11
+ <Model id="Sphere2"><Material id="Material_001"/></Model>
12
+ <Model id="Cube"><Material id="Material_002"/></Model>
13
+ <Model id="Sphere3"><Material id="Material_003"/></Model>
14
+ </Layer>
15
+ </Scene>
16
+ </Graph>
17
+ <Logic>
18
+ <State name="Master Slide" component="#Scene">
19
+ <Add ref="#Layer"/>
20
+ <Add ref="#Camera"/>
21
+ <Add ref="#Light"/>
22
+ <Add ref="#Sphere" name="Sphere1" position="-150 60 0" sourcepath="#Sphere"/>
23
+ <Add ref="#Material" diffuse="0 0.752941 0"/>
24
+ <Add ref="#Sphere2" name="Sphere2" position="150 60.0004 0" sourcepath="#Sphere"/>
25
+ <Add ref="#Material_001" diffuse="0 0.75287 0"/>
26
+ <Add ref="#Cube" name="Cube" position="0 60 0" rotation="-30 60 -20" sourcepath="#Cube"/>
27
+ <Add ref="#Material_002" name="Material" diffuse="0.5 0 0"/>
28
+ <State id="Scene-Slide1" name="Slide1">
29
+ <Add ref="#Sphere3" name="NonMaster" position="-150 60 0" sourcepath="#Sphere"/>
30
+ <Add ref="#Material_003" diffuse="0 0.752941 0"/>
31
+ </State>
32
+ </State>
33
+ </Logic>
34
+ </Project>
35
+ </UIP>
@@ -1,82 +1,82 @@
1
- #!/usr/bin/env ruic
2
- metadata 'MetaData.xml' # optional; also may be set via -m flag
3
- uia 'projects/BMW_Cluster/BMW_Cluster.uia' # required before other commands
4
-
5
- show "Uh oh!", app.errors if app.errors?
6
-
7
- assert app.filename == 'BMW_Cluster.uia'
8
- assert app.assets.length==10, "There should be 10 assets"
9
- assert app.behaviors.length==3
10
- assert app.presentations.length==6
11
-
12
- assert app['#logic']
13
- assert app['#logic'].datamodel=='{output=output}'
14
- assert app['#logic']==app['states/logic.scxml']
15
- assert app['#logic']==app['./states/logic.scxml']
16
- assert app['#logic']==app['../BMW_Cluster/states/logic.scxml']
17
-
18
- main = app['#main'] # Look up a presentation by asset id
19
- assert main == app.main_presentation # …or ask for the main rendered presentation
20
- assert main == app.main # …also available as a shortcut name
21
- assert main.filename == 'BMW_Cluster.uip' # You can also ask for the full path via .file
22
- assert main == app['BMW_Cluster.uip'] # Look up a presentation by asset id
23
-
24
- assert !app['beejonkers'] # If an asset id doesn't exist, you'll get nil
25
-
26
- scene = app/'main:Scene'
27
- assert scene
28
- assert scene==main.scene
29
- assert scene.type == 'Scene'
30
- assert scene.name == 'Scene'
31
- assert scene['name'].value == 'Scene'
32
-
33
- # Find an element based on path, prefixed with asset id
34
- sm = app/'main:Scene.ClassicContent.ClassicContent.SimpleMedia'
35
- assert sm.name == 'SimpleMedia'
36
- assert sm.type == 'Model'
37
- assert sm.path == 'main:Scene.ClassicContent.ClassicContent.SimpleMedia'
38
-
39
- assert sm==main/'Scene.ClassicContent.ClassicContent.SimpleMedia'
40
-
41
- assert sm.component == (main/'Scene.ClassicContent.ClassicContent')
42
- assert sm.component.slides.length==2
43
- assert sm.component.slides[0].name == 'Master Slide'
44
- assert sm.component.slides[0].index == 0
45
- assert sm.component.slides[2].name == 'CarStatus'
46
- assert sm.component.slides[2].index == 2
47
- assert sm.component.slides['CarStatus'].name == 'CarStatus'
48
- assert sm.component.slides['CarStatus'] == sm.component.slides[2]
49
-
50
- assert sm['endtime',0]==250
51
- assert sm['endtime',1]==500
52
- assert sm['endtime','SimpleMedia']==500
53
- assert sm['endtime','CarStatus' ]==250
54
- assert sm['endtime',99].nil?
55
-
56
- assert sm['position'].linked?
57
- assert !sm['endtime'].linked?
58
- assert sm['endtime'].values == [250,500,250]
59
- assert sm['endtime'].value == 250
60
-
61
- assert sm['endtime',1]==500
62
- assert sm['endtime','SimpleMedia']==500
63
- assert sm['endtime','CarStatus' ]==250
64
-
65
- sm['endtime','CarStatus'] = 750
66
- assert sm['endtime','SimpleMedia']==500
67
- assert sm['endtime','CarStatus' ]==750
68
-
69
- sm['endtime'] = 100
70
- assert sm['endtime',0]==100
71
- assert sm['endtime',1]==100
72
- assert sm['endtime',2]==100
73
-
74
- assert sm['position',0].x==0
75
- assert sm['scale',0].y == 2.88
76
-
77
- sm['position',0].x=42
78
- assert sm['position',0].x==42
79
-
80
- sm['position',0].y=17
81
- assert sm['position',0].y==17
82
- assert sm['position',0].x==42
1
+ #!/usr/bin/env ruic
2
+ metadata 'MetaData.xml' # optional; also may be set via -m flag
3
+ uia 'projects/BMW_Cluster/BMW_Cluster.uia' # required before other commands
4
+
5
+ show "Uh oh!", app.errors if app.errors?
6
+
7
+ assert app.filename == 'BMW_Cluster.uia'
8
+ assert app.assets.length==10, "There should be 10 assets"
9
+ assert app.behaviors.length==3
10
+ assert app.presentations.length==6
11
+
12
+ assert app['#logic']
13
+ assert app['#logic'].datamodel=='{output=output}'
14
+ assert app['#logic']==app['states/logic.scxml']
15
+ assert app['#logic']==app['./states/logic.scxml']
16
+ assert app['#logic']==app['../BMW_Cluster/states/logic.scxml']
17
+
18
+ main = app['#main'] # Look up a presentation by asset id
19
+ assert main == app.main_presentation # …or ask for the main rendered presentation
20
+ assert main == app.main # …also available as a shortcut name
21
+ assert main.filename == 'BMW_Cluster.uip' # You can also ask for the full path via .file
22
+ assert main == app['BMW_Cluster.uip'] # Look up a presentation by asset id
23
+
24
+ assert !app['beejonkers'] # If an asset id doesn't exist, you'll get nil
25
+
26
+ scene = app/'main:Scene'
27
+ assert scene
28
+ assert scene==main.scene
29
+ assert scene.type == 'Scene'
30
+ assert scene.name == 'Scene'
31
+ assert scene['name'].value == 'Scene'
32
+
33
+ # Find an element based on path, prefixed with asset id
34
+ sm = app/'main:Scene.ClassicContent.ClassicContent.SimpleMedia'
35
+ assert sm.name == 'SimpleMedia'
36
+ assert sm.type == 'Model'
37
+ assert sm.path == 'main:Scene.ClassicContent.ClassicContent.SimpleMedia'
38
+
39
+ assert sm==main/'Scene.ClassicContent.ClassicContent.SimpleMedia'
40
+
41
+ assert sm.component == (main/'Scene.ClassicContent.ClassicContent')
42
+ assert sm.component.slides.length==2
43
+ assert sm.component.slides[0].name == 'Master Slide'
44
+ assert sm.component.slides[0].index == 0
45
+ assert sm.component.slides[2].name == 'CarStatus'
46
+ assert sm.component.slides[2].index == 2
47
+ assert sm.component.slides['CarStatus'].name == 'CarStatus'
48
+ assert sm.component.slides['CarStatus'] == sm.component.slides[2]
49
+
50
+ assert sm['endtime',0]==250
51
+ assert sm['endtime',1]==500
52
+ assert sm['endtime','SimpleMedia']==500
53
+ assert sm['endtime','CarStatus' ]==250
54
+ assert sm['endtime',99].nil?
55
+
56
+ assert sm['position'].linked?
57
+ assert !sm['endtime'].linked?
58
+ assert sm['endtime'].values == [250,500,250]
59
+ assert sm['endtime'].value == 250
60
+
61
+ assert sm['endtime',1]==500
62
+ assert sm['endtime','SimpleMedia']==500
63
+ assert sm['endtime','CarStatus' ]==250
64
+
65
+ sm['endtime','CarStatus'] = 750
66
+ assert sm['endtime','SimpleMedia']==500
67
+ assert sm['endtime','CarStatus' ]==750
68
+
69
+ sm['endtime'] = 100
70
+ assert sm['endtime',0]==100
71
+ assert sm['endtime',1]==100
72
+ assert sm['endtime',2]==100
73
+
74
+ assert sm['position',0].x==0
75
+ assert sm['scale',0].y == 2.88
76
+
77
+ sm['position',0].x=42
78
+ assert sm['position',0].x==42
79
+
80
+ sm['position',0].y=17
81
+ assert sm['position',0].y==17
82
+ assert sm['position',0].x==42
@@ -1,52 +1,52 @@
1
- require 'fileutils'
2
- FileUtils.copy_entry('projects/ReferencedMaterials','projects/_RefMat',false,false,true)
3
-
4
- metadata 'MetaData.xml'
5
-
6
- uia 'projects/_RefMat/ReferencedMaterials.uia'
7
- show app.errors if app.errors?
8
-
9
- layer = app/'main:Scene.Layer'
10
- cubemat = layer/"Cube"/"Material"
11
-
12
- # Ensure that the diffuse attribute is linked and present on multiple slides
13
- assert cubemat['diffuse'].linked?
14
- assert cubemat.has_slide?(0)
15
- assert cubemat.has_slide?(1)
16
- assert cubemat.has_slide?(2)
17
- assert cubemat['diffuse',1].r == 0.5
18
- assert cubemat['diffuse',2].r == 0.5
19
-
20
- # When we do not unlink, values remain shared
21
- cubemat['diffuse',1].r = 1
22
- cubemat['diffuse',2].r = 0.2
23
- assert cubemat['diffuse',1].r == cubemat['diffuse',2].r
24
-
25
- # Ensure that we can unlink an attribute and vary the values per slide
26
- cubemat['diffuse'].unlink
27
- assert !cubemat['diffuse'].linked?
28
- cubemat['diffuse',1].r = 1
29
- cubemat['diffuse',2].r = 0.2
30
- assert cubemat['diffuse',1].r == 1
31
- assert cubemat['diffuse',2].r == 0.2
32
-
33
- # We can swap a material with a referenced material
34
- model = cubemat.parent
35
- assert model
36
- ref = cubemat.replace_with_referenced_material
37
- assert cubemat.parent.nil? # The old material is removed from the graph
38
- assert ref.parent==model # The new material is where the old was
39
- assert ref['id'] == cubemat['id'] # The new material has the same id and name
40
- assert ref.name == 'Material'
41
- assert ref['referencedmaterial',0].object.nil? # New referenced materials start out with no reference
42
- assert ref['referencedmaterial',0].type == :absolute # New references default to absolute
43
-
44
- ref['referencedmaterial'].unlink
45
- %w[Sphere Sphere2].each.with_index do |name,s|
46
- # You can set a reference directly to an object, or alternatively
47
- # ref['referencedmaterial',1].object = layer/name/"Material"
48
- ref['referencedmaterial',s+1] = layer/name/"Material"
49
- ref['referencedmaterial',s+1].type = :path
50
- end
51
-
52
- app.save_all!
1
+ require 'fileutils'
2
+ FileUtils.copy_entry('projects/ReferencedMaterials','projects/_RefMat',false,false,true)
3
+
4
+ metadata 'MetaData.xml'
5
+
6
+ uia 'projects/_RefMat/ReferencedMaterials.uia'
7
+ show app.errors if app.errors?
8
+
9
+ layer = app/'main:Scene.Layer'
10
+ cubemat = layer/"Cube"/"Material"
11
+
12
+ # Ensure that the diffuse attribute is linked and present on multiple slides
13
+ assert cubemat['diffuse'].linked?
14
+ assert cubemat.has_slide?(0)
15
+ assert cubemat.has_slide?(1)
16
+ assert cubemat.has_slide?(2)
17
+ assert cubemat['diffuse',1].r == 0.5
18
+ assert cubemat['diffuse',2].r == 0.5
19
+
20
+ # When we do not unlink, values remain shared
21
+ cubemat['diffuse',1].r = 1
22
+ cubemat['diffuse',2].r = 0.2
23
+ assert cubemat['diffuse',1].r == cubemat['diffuse',2].r
24
+
25
+ # Ensure that we can unlink an attribute and vary the values per slide
26
+ cubemat['diffuse'].unlink
27
+ assert !cubemat['diffuse'].linked?
28
+ cubemat['diffuse',1].r = 1
29
+ cubemat['diffuse',2].r = 0.2
30
+ assert cubemat['diffuse',1].r == 1
31
+ assert cubemat['diffuse',2].r == 0.2
32
+
33
+ # We can swap a material with a referenced material
34
+ model = cubemat.parent
35
+ assert model
36
+ ref = cubemat.replace_with_referenced_material
37
+ assert cubemat.parent.nil? # The old material is removed from the graph
38
+ assert ref.parent==model # The new material is where the old was
39
+ assert ref['id'] == cubemat['id'] # The new material has the same id and name
40
+ assert ref.name == 'Material'
41
+ assert ref['referencedmaterial',0].object.nil? # New referenced materials start out with no reference
42
+ assert ref['referencedmaterial',0].type == :absolute # New references default to absolute
43
+
44
+ ref['referencedmaterial'].unlink
45
+ %w[Sphere Sphere2].each.with_index do |name,s|
46
+ # You can set a reference directly to an object, or alternatively
47
+ # ref['referencedmaterial',1].object = layer/name/"Material"
48
+ ref['referencedmaterial',s+1] = layer/name/"Material"
49
+ ref['referencedmaterial',s+1].type = :path
50
+ end
51
+
52
+ app.save_all!
@@ -1,20 +1,20 @@
1
- metadata 'MetaData.xml' # optional; also may be set via -m flag
2
- # uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
3
- uia 'projects/BMW_Cluster/BMW_Cluster.uia' # required before other commands
4
- show app.errors if app.errors?
5
-
6
- show app.image_usage # hash mapping image paths, relative to uia, to arrays of things referencing them: materials; scxml visual actions; effects;
7
- show app.image_paths # Just the paths
8
- show app.mesh_usage # mapping mesh paths (postfixed with version numbers) to referencing elements
9
- show app.mesh_paths # Just the paths (no version number information)
10
- show app.script_usage # hash mapping lua paths, relative to uia, to arrays of things referencing them: presentation/application behaviors
11
- show app.script_paths # just the paths
12
- show app.material_usage # hash mapping materials paths, relative to uia, to arrays referencing material elements
13
- show app.material_paths # just the paths
14
- show app.font_usage # hash mapping font paths, relative to uia, to arrays of referencing text elements
15
- show app.font_paths # just the paths
16
- show app.effect_usage # hash mapping effect paths, relative to uia, to arrays of referencing effect elements
17
- show app.effect_paths # just the paths
18
-
19
- show app.referenced_paths
20
- show app.unused_files # Remember to check for .uip and .scxml not referenced by .uia
1
+ metadata 'MetaData.xml' # optional; also may be set via -m flag
2
+ # uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
3
+ uia 'projects/BMW_Cluster/BMW_Cluster.uia' # required before other commands
4
+ show app.errors if app.errors?
5
+
6
+ show app.image_usage # hash mapping image paths, relative to uia, to arrays of things referencing them: materials; scxml visual actions; effects;
7
+ show app.image_paths # Just the paths
8
+ show app.mesh_usage # mapping mesh paths (postfixed with version numbers) to referencing elements
9
+ show app.mesh_paths # Just the paths (no version number information)
10
+ show app.script_usage # hash mapping lua paths, relative to uia, to arrays of things referencing them: presentation/application behaviors
11
+ show app.script_paths # just the paths
12
+ show app.material_usage # hash mapping materials paths, relative to uia, to arrays referencing material elements
13
+ show app.material_paths # just the paths
14
+ show app.font_usage # hash mapping font paths, relative to uia, to arrays of referencing text elements
15
+ show app.font_paths # just the paths
16
+ show app.effect_usage # hash mapping effect paths, relative to uia, to arrays of referencing effect elements
17
+ show app.effect_paths # just the paths
18
+
19
+ show app.referenced_paths
20
+ show app.unused_files # Remember to check for .uip and .scxml not referenced by .uia
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: RUIC
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Kistner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-19 00:00:00.000000000 Z
11
+ date: 2014-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -168,6 +168,8 @@ files:
168
168
  - test/projects/CustomClasses/maps/UV-Checker.png
169
169
  - test/projects/CustomClasses/maps/effects/brushnoise.dds
170
170
  - test/projects/CustomClasses/maps/materials/spherical_checker.png
171
+ - test/projects/CustomClasses/scripts/DataDrivenTime.lua
172
+ - test/projects/CustomClasses/scripts/TimeDrivenAttribute.lua
171
173
  - test/projects/Paths/Paths.uia
172
174
  - test/projects/Paths/Paths.uip
173
175
  - test/projects/ReferencedMaterials/ReferencedMaterials.uia
@@ -197,9 +199,35 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
199
  version: '0'
198
200
  requirements: []
199
201
  rubyforge_project:
200
- rubygems_version: 2.0.14
202
+ rubygems_version: 2.4.2
201
203
  signing_key:
202
204
  specification_version: 4
203
205
  summary: Library and DSL analyzing and manipulating UI Composer applications and presentations.
204
- test_files: []
206
+ test_files:
207
+ - test/MetaData-simple.xml
208
+ - test/MetaData.xml
209
+ - test/customclasses.ruic
210
+ - test/filtering.ruic
211
+ - test/futureassets.ruic
212
+ - test/nonmaster.ruic
213
+ - test/paths.ruic
214
+ - test/projects/CustomClasses/Brush Strokes.effect
215
+ - test/projects/CustomClasses/CustomClasses.uia
216
+ - test/projects/CustomClasses/CustomClasses.uip
217
+ - test/projects/CustomClasses/FutureAsset.uip
218
+ - test/projects/CustomClasses/copper.material
219
+ - test/projects/CustomClasses/maps/UV-Checker.png
220
+ - test/projects/CustomClasses/maps/effects/brushnoise.dds
221
+ - test/projects/CustomClasses/maps/materials/spherical_checker.png
222
+ - test/projects/CustomClasses/scripts/DataDrivenTime.lua
223
+ - test/projects/CustomClasses/scripts/TimeDrivenAttribute.lua
224
+ - test/projects/Paths/Paths.uia
225
+ - test/projects/Paths/Paths.uip
226
+ - test/projects/ReferencedMaterials/ReferencedMaterials.uia
227
+ - test/projects/ReferencedMaterials/ReferencedMaterials.uip
228
+ - test/projects/SimpleScene/SimpleScene.uia
229
+ - test/projects/SimpleScene/SimpleScene.uip
230
+ - test/properties.ruic
231
+ - test/referencematerials.ruic
232
+ - test/usage.ruic
205
233
  has_rdoc: