jax 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,56 @@
1
+ * 2.0.1 *
2
+
3
+ * Implemented missing `Jax.Geometry.Line#contains` method.
4
+
5
+ * Fixed line intersection test, when `vec3` is used as a receiver for point of intersection.
6
+
7
+ * Built-in resources have been moved to their respective `.resource` files. Same with
8
+ shaders. This should make overriding them work more reliably, and remove redundant
9
+ requests for built-in shaders and resources.
10
+
11
+
12
+
13
+ * 2.0.0 *
14
+
15
+ * Integrates cleanly with Ruby on Rails applications. Add `jax` to the bundle, then run:
16
+ jax g install
17
+
18
+ * Internal development server is now a Rails engine, so that it can run stand-alone (for
19
+ non-Rails apps) as well as be mounted into Rails apps directly.
20
+
21
+ * Generators now inherit from `Rails::Generators::Base`
22
+
23
+ * CoffeeScript is now supported, and CS files will be generated by default if the CS gem
24
+ is present.
25
+
26
+ * Files are now created in `app/assets/jax/` instead of just `app/` in order to gain the
27
+ benefits of the Rails asset pipeline.
28
+
29
+ * The `jax package` command has been deprecated in favor of `rake assets:precompile`.
30
+
31
+ * Packager will now minify all JavaScript code, if possible.
32
+
33
+ * The `public/javascripts/jax.js` file has been deprecated. Jax source files are now served
34
+ directly from within the rubygem.
35
+
36
+ * The `rake jax:update` task has been removed. It is no longer needed.
37
+
38
+ * Removed `config/routes.rb` from non-Rails apps. Instead, controllers map themselves
39
+ automatically on the JS side when defined, and their actions are looked up dynamically.
40
+
41
+ * Controller generator now generates an `index` action by default.
42
+
43
+ * Helper files are no longer generated by the controller generator since they usually weren't
44
+ tightly coupled to their corresponding controllers. A helper generator has been added,
45
+ instead.
46
+
47
+ * Added a material viewer to the dev suite, so that materials can be previewed in isolation
48
+
49
+ * Removed a runtime dependency on Minitar. `Gem::Package` is now used for tar and untar
50
+ operations instead.
51
+
52
+
53
+
1
54
  * 1.1.1 *
2
55
 
3
56
  * Mouse events are scaled in relation to the real canvas size, regardless of CSS styling.
@@ -5,17 +5,3 @@
5
5
  //= require "jax/builtin/meshes/plane"
6
6
  //= require "jax/builtin/meshes/sphere"
7
7
  //= require "jax/builtin/meshes/teapot"
8
-
9
- //= require "shaders/texture/material"
10
- //= require "shaders/normal_map/material"
11
- //= require "shaders/shadow_map/material"
12
- //= require "shaders/depthmap/material"
13
- //= require "shaders/paraboloid/material"
14
- //= require "shaders/fog/material"
15
- //= require "shaders/picking/material"
16
-
17
- Jax.Material.create("basic");
18
- Jax.Material.create("default", {default_shader:'basic'});
19
- Jax.Material.create("depthmap", {default_shader:"depthmap"});
20
- Jax.Material.create("paraboloid-depthmap", {type:"Paraboloid",default_shader:"paraboloid",layers:[{type:"Depthmap"}]});
21
- Jax.Material.create("picking", {type:"Picking"});
@@ -3,6 +3,8 @@
3
3
  *
4
4
  **/
5
5
  Jax.Geometry.Line = (function() {
6
+ var bufs = {};
7
+
6
8
  var Line = Jax.Class.create({
7
9
  /**
8
10
  * new Jax.Geometry.Line([a[, b]])
@@ -65,15 +67,40 @@ Jax.Geometry.Line = (function() {
65
67
  return this;
66
68
  },
67
69
 
70
+ /**
71
+ * Jax.Geometry.Line#contains(point) -> Boolean
72
+ * - point (vec3): a 3D point
73
+ *
74
+ * Tests and returns whether this line contains the specified point.
75
+ **/
76
+ contains: function(point) {
77
+ // check whether the normal from A to B is the same as the normal from A to P,
78
+ // and whether the normal from B to A is the same as the normal from B to P.
79
+ // There's probably a more efficient way to do this...
80
+
81
+ var ba = vec3.subtract(this.b, this.a, bufs.ba || (bufs.ba = vec3.create()));
82
+ var pa = vec3.subtract(point, this.a, bufs.ba || (bufs.pa = vec3.create()));
83
+ var ab = vec3.subtract(this.a, this.b, bufs.ba || (bufs.ab = vec3.create()));
84
+ var pb = vec3.subtract(point, this.b, bufs.ba || (bufs.pb = vec3.create()));
85
+
86
+ vec3.normalize(ba);
87
+ vec3.normalize(pa);
88
+ vec3.normalize(ab);
89
+ vec3.normalize(pb);
90
+
91
+ return Math.equalish(ba, pa) && Math.equalish(ab, pb);
92
+ },
93
+
68
94
  /**
69
95
  * Jax.Geometry.Line#intersectLineSegment(line[, dest]) -> Boolean
70
96
  * - line (Jax.Geometry.Line): the line to test for intersection
71
- * - dest (Jax.Geometry.Line): an optional receiving line
97
+ * - dest (Jax.Geometry.Line | vec3): an optional receiver
72
98
  *
73
99
  * Tests the two lines for intersection. If +dest+ is given, the overlap is stored
74
100
  * within it. (If the lines intersect at a single point, but do not overlap, then
75
101
  * only the A point in +dest+ will be set.) If +dest+ is
76
- * omitted, this information is ignored.
102
+ * omitted, this information is ignored. If +dest+ is a vec3, it will hold the center
103
+ * of the intersection line.
77
104
  *
78
105
  * If the lines do not interesct, Jax.Geometry.DISJOINT (which is equal to 0) is returned.
79
106
  * If they intersect in a single unique point, Jax.Geometry.INTERSECT is returned.
@@ -84,6 +111,7 @@ Jax.Geometry.Line = (function() {
84
111
  var v = vec3.subtract(line.b, line.a, vec3.create());
85
112
  var w = vec3.subtract(this.a, line.a, vec3.create());
86
113
  var D = (u[0] * v[1] - u[1] * v[0]);
114
+ var isVec3 = dest && !(dest instanceof Jax.Geometry.Line);
87
115
  if (Math.abs(D) < Math.EPSILON) { // S1 and S2 are parallel
88
116
  if ((u[0] * w[1] - u[1] * w[0]) != 0 || (v[0] * w[1] - v[1] * w[0]) != 0) {
89
117
  return Jax.Geometry.DISJOINT; // they are NOT colinear
@@ -96,21 +124,27 @@ Jax.Geometry.Line = (function() {
96
124
  if (!Math.equalish(this.a, line.a)) // they are distinct points
97
125
  return Jax.Geometry.DISJOINT;
98
126
  // they are the same point
99
- if (dest) vec3.set(line.a, dest.a);
127
+ if (dest)
128
+ if (isVec3) vec3.set(line.a, dest);
129
+ else vec3.set(line.a, dest.a);
100
130
  // vec3.set(line.a, dest.b);
101
131
  return Jax.Geometry.INTERSECT;
102
132
  }
103
133
  if (du == 0) { // +this+ is a single point
104
134
  if (!line.contains(this.a)) // but is not in S2
105
135
  return Jax.Geometry.DISJOINT;
106
- if (dest) vec3.set(this.a, dest.a);
136
+ if (dest)
137
+ if (isVec3) vec3.set(this.a, dest);
138
+ else vec3.set(this.a, dest.a);
107
139
  // vec3.set(this.b, dest.b);
108
140
  return Jax.Geometry.INTERSECT;
109
141
  }
110
142
  if (dv == 0) { // +line+ is a single point
111
143
  if (!this.contains(line.a)) // but is not in this line
112
144
  return Jax.Geometry.DISJOINT;
113
- if (dest) vec3.set(line.a, dest.a);
145
+ if (dest)
146
+ if (isVec3) vec3.set(line.a, dest);
147
+ else vec3.set(line.a, dest.a);
114
148
  // vec3.set(line.b, dest.b);
115
149
  return Jax.Geometry.INTERSECT;
116
150
  }
@@ -134,15 +168,25 @@ Jax.Geometry.Line = (function() {
134
168
  if (t0 == t1) {
135
169
  // intersect is a point
136
170
  if (line) {
137
- vec3.add(line.a, vec3.scale(v, t0, dest.a), dest.a);
171
+ if (dest) {
172
+ var dest_a = isVec3 ? dest : dest.a;
173
+ vec3.add(line.a, vec3.scale(v, t0, dest_a), dest_a);
174
+ }
138
175
  return Jax.Geometry.INTERSECT;
139
176
  }
140
177
  }
141
178
 
142
179
  // they overlap in a valid subsegment
143
180
  if (dest) {
144
- vec3.add(line.a, vec3.scale(v, t0, dest.a), dest);
145
- vec3.add(line.b, vec3.scale(v, t1, dest.b), dest);
181
+ if (isVec3) {
182
+ var tmp = bufs.tmp || (bufs.tmp = vec3.create());
183
+ vec3.add(line.a, vec3.scale(v, t0, dest), dest);
184
+ vec3.add(line.b, vec3.scale(v, t1, tmp), dest);
185
+ vec3.scale(dest, 0.5, dest);
186
+ } else {
187
+ vec3.add(line.a, vec3.scale(v, t0, dest.a), dest);
188
+ vec3.add(line.b, vec3.scale(v, t1, dest.b), dest);
189
+ }
146
190
  }
147
191
  return Jax.Geometry.COINCIDENT;
148
192
  }
@@ -0,0 +1,2 @@
1
+ layers:
2
+ - type: Lighting
@@ -0,0 +1,4 @@
1
+ type: Paraboloid
2
+
3
+ layers:
4
+ - type: Depthmap
data/lib/jax/version.rb CHANGED
@@ -2,7 +2,7 @@ module Jax
2
2
  module Version
3
3
  MAJOR = 2
4
4
  MINOR = 0
5
- PATCH = 0
5
+ PATCH = 1
6
6
  BUILD = nil
7
7
  STRING = BUILD ? [MAJOR, MINOR, PATCH, BUILD].join(".") : [MAJOR, MINOR, PATCH].join(".")
8
8
  end
@@ -25,9 +25,18 @@ describe("Jax.Geometry.Triangle", function() {
25
25
 
26
26
  expect(tri.intersectTriangle(tri2)).toBeFalsy();
27
27
  });
28
+
29
+ it("should not raise errors", function() {
30
+ // TypeError: Object [Line a:[Float32Array: -0.44343942403793335,0.4999999701976776,-0.4434394836425781], b:[Float32Array: 0.5037173628807068,-0.5,0.28691262006759644]] has no method 'contains' with
31
+ var dist = vec3.create();
32
+ var tri1 = new Jax.Geometry.Triangle([0.5,0.5,0.5000000596046448], [-0.5,0.4999999701976776,-0.5000000596046448], [0.5,0.4999999701976776,-0.5000000596046448]);
33
+ var tri2 = new Jax.Geometry.Triangle([0.5037173628807068,0.5,0.28691262006759644], [0.5037173628807068,-0.5,0.28691262006759644], [0.8630872964859009,0.5,-0.6462825536727905]);
34
+
35
+ expect(function() { tri1.intersectTriangle(tri2, dist); }).not.toThrow();
36
+ });
28
37
  });
29
38
 
30
- describe("with triangle and capture point", function() {
39
+ describe("with triangle and capture line", function() {
31
40
  var line;
32
41
  beforeEach(function() { line = new Jax.Geometry.Line(); });
33
42
 
@@ -51,6 +60,38 @@ describe("Jax.Geometry.Triangle", function() {
51
60
  });
52
61
  });
53
62
 
63
+ describe("with triangle and capture vec3", function() {
64
+ var point;
65
+ beforeEach(function() { point = vec3.create(); });
66
+
67
+ // more complete tritri tests found in tritri_spec.js
68
+ it("no intersect", function() {
69
+ var tri2 = new Jax.Geometry.Triangle([0,0.5,2],[-1,0.5,2],[0,1.5,2]);
70
+ expect(tri.intersectTriangle(tri2, point)).toBeFalsy();
71
+ });
72
+
73
+ it("intersect", function() {
74
+ var tri2 = new Jax.Geometry.Triangle([0,0.95,-1],[-1,0.95,2],[1,0.95,2]);
75
+ expect(tri.intersectTriangle(tri2, point)).toBeTruthy();
76
+ expect(Math.abs(point[0]) + Math.abs(point[1]) + Math.abs(point[2])).toBeGreaterThan(Math.EPSILON);
77
+ });
78
+
79
+ it("identical, positioned above", function() {
80
+ tri = new Jax.Geometry.Triangle([0,0.95,-1],[-1,0.95,2],[1,0.95,2]);
81
+ var tri2 = new Jax.Geometry.Triangle([0,3.95,-1],[-1,3.95,2],[1,3.95,2]);
82
+
83
+ expect(tri.intersectTriangle(tri2, point)).toBeFalsy();
84
+ });
85
+
86
+ it("identical, same position", function() {
87
+ tri = new Jax.Geometry.Triangle([-0.7006292939186096,0.5,0.5090369582176208], [-0.7911535501480103,0.5,0.3522442579269409], [-0.7390738129615784,0.5877852439880371,0.32905685901641846]);
88
+ tri2 = new Jax.Geometry.Triangle([-0.7006292939186096,0.5,0.5090369582176208], [-0.7911535501480103,0.5,0.3522442579269409], [-0.7390738129615784,0.5877852439880371,0.32905685901641846]);
89
+
90
+ expect(tri.intersectTriangle(tri2, point)).toBeTruthy();
91
+ expect(Math.abs(point[0])+Math.abs(point[1])+Math.abs(point[2])).toBeGreaterThan(Math.EPSILON);
92
+ });
93
+ });
94
+
54
95
  describe("with ray", function() {
55
96
  it("intersect", function() {
56
97
  var O = [0,0,1];
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jax
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-03 00:00:00.000000000Z
12
+ date: 2011-11-04 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &2153276260 !ruby/object:Gem::Requirement
16
+ requirement: &2153982300 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153276260
24
+ version_requirements: *2153982300
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jquery-rails
27
- requirement: &2153273380 !ruby/object:Gem::Requirement
27
+ requirement: &2153981800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.13
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2153273380
35
+ version_requirements: *2153981800
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jasmine
38
- requirement: &2153272800 !ruby/object:Gem::Requirement
38
+ requirement: &2153981180 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.2.0
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2153272800
46
+ version_requirements: *2153981180
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rest-client
49
- requirement: &2153272280 !ruby/object:Gem::Requirement
49
+ requirement: &2153980680 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.6.3
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2153272280
57
+ version_requirements: *2153980680
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rspec
60
- requirement: &2153271720 !ruby/object:Gem::Requirement
60
+ requirement: &2153980220 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 2.6.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2153271720
68
+ version_requirements: *2153980220
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: coffee-rails
71
- requirement: &2153271160 !ruby/object:Gem::Requirement
71
+ requirement: &2153979740 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 3.1.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2153271160
79
+ version_requirements: *2153979740
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: coderay
82
- requirement: &2153270600 !ruby/object:Gem::Requirement
82
+ requirement: &2153979200 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.9.7
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2153270600
90
+ version_requirements: *2153979200
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: sqlite3
93
- requirement: &2153270020 !ruby/object:Gem::Requirement
93
+ requirement: &2153978700 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.3.4
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2153270020
101
+ version_requirements: *2153978700
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: sass-rails
104
- requirement: &2153269420 !ruby/object:Gem::Requirement
104
+ requirement: &2153978220 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 3.1.0
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *2153269420
112
+ version_requirements: *2153978220
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: uglifier
115
- requirement: &2153268860 !ruby/object:Gem::Requirement
115
+ requirement: &2153977740 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 1.0.2
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *2153268860
123
+ version_requirements: *2153977740
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: genspec
126
- requirement: &2153268280 !ruby/object:Gem::Requirement
126
+ requirement: &2153977260 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ~>
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 0.2.3
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *2153268280
134
+ version_requirements: *2153977260
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: selenium-webdriver
137
- requirement: &2153267700 !ruby/object:Gem::Requirement
137
+ requirement: &2153976780 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ~>
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 2.9.1
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *2153267700
145
+ version_requirements: *2153976780
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: fakeweb
148
- requirement: &2153267140 !ruby/object:Gem::Requirement
148
+ requirement: &2153976320 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ~>
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: 1.3.0
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *2153267140
156
+ version_requirements: *2153976320
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: ansi
159
- requirement: &2153266700 !ruby/object:Gem::Requirement
159
+ requirement: &2153975940 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: '0'
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *2153266700
167
+ version_requirements: *2153975940
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: cucumber-rails
170
- requirement: &2153266040 !ruby/object:Gem::Requirement
170
+ requirement: &2153975400 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ~>
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 1.0.2
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *2153266040
178
+ version_requirements: *2153975400
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: RedCloth
181
- requirement: &2153261800 !ruby/object:Gem::Requirement
181
+ requirement: &2153974840 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ~>
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: '4.2'
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *2153261800
189
+ version_requirements: *2153974840
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: w3c_validators
192
- requirement: &2153261320 !ruby/object:Gem::Requirement
192
+ requirement: &2153974180 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ~>
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: '1.2'
198
198
  type: :development
199
199
  prerelease: false
200
- version_requirements: *2153261320
200
+ version_requirements: *2153974180
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: treetop
203
- requirement: &2153260780 !ruby/object:Gem::Requirement
203
+ requirement: &2153973660 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ~>
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: 1.4.9
209
209
  type: :development
210
210
  prerelease: false
211
- version_requirements: *2153260780
211
+ version_requirements: *2153973660
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: bluecloth
214
- requirement: &2153260280 !ruby/object:Gem::Requirement
214
+ requirement: &2153973140 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ~>
@@ -219,7 +219,7 @@ dependencies:
219
219
  version: 2.0.11
220
220
  type: :development
221
221
  prerelease: false
222
- version_requirements: *2153260280
222
+ version_requirements: *2153973140
223
223
  description: ! "\n Framework for creating rich WebGL-enabled applications using
224
224
  JavaScript and Ruby.\n Can be used stand-alone to create static JavaScript documents,
225
225
  or integrated\n seamlessly with Ruby on Rails to build dynamic WebGL applications.\n
@@ -344,6 +344,11 @@ files:
344
344
  - lib/assets/javascripts/jax/webgl/shader_chain.js
345
345
  - lib/assets/javascripts/jax/webgl/texture.js
346
346
  - lib/assets/javascripts/jax/webgl/world.js
347
+ - lib/assets/javascripts/resources/materials/basic.resource
348
+ - lib/assets/javascripts/resources/materials/default.resource
349
+ - lib/assets/javascripts/resources/materials/depthmap.resource
350
+ - lib/assets/javascripts/resources/materials/paraboloid-depthmap.resource
351
+ - lib/assets/javascripts/resources/materials/picking.resource
347
352
  - lib/assets/javascripts/shaders/basic/common.glsl
348
353
  - lib/assets/javascripts/shaders/basic/fragment.glsl
349
354
  - lib/assets/javascripts/shaders/basic/vertex.glsl
@@ -513,7 +518,6 @@ files:
513
518
  - spec/javascripts/shaders/preprocessor_spec.js
514
519
  - spec/javascripts/shaders/shadow_map_spec.js
515
520
  - spec/javascripts/shaders/texture_spec.js
516
- - spec/javascripts/suite/controller_select_spec.js.coffee
517
521
  - spec/lib/jax/commands/plugin_manager/credentials_spec.rb
518
522
  - spec/lib/jax/commands/plugin_manager/push_spec.rb
519
523
  - spec/lib/jax/commands/plugin_manager_spec.rb
@@ -640,7 +644,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
640
644
  version: '0'
641
645
  segments:
642
646
  - 0
643
- hash: 3865866395311177846
647
+ hash: -3170321314478077500
644
648
  required_rubygems_version: !ruby/object:Gem::Requirement
645
649
  none: false
646
650
  requirements:
@@ -649,7 +653,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
649
653
  version: '0'
650
654
  segments:
651
655
  - 0
652
- hash: 3865866395311177846
656
+ hash: -3170321314478077500
653
657
  requirements: []
654
658
  rubyforge_project: jax
655
659
  rubygems_version: 1.8.10
@@ -759,7 +763,6 @@ test_files:
759
763
  - spec/javascripts/shaders/preprocessor_spec.js
760
764
  - spec/javascripts/shaders/shadow_map_spec.js
761
765
  - spec/javascripts/shaders/texture_spec.js
762
- - spec/javascripts/suite/controller_select_spec.js.coffee
763
766
  - spec/lib/jax/commands/plugin_manager/credentials_spec.rb
764
767
  - spec/lib/jax/commands/plugin_manager/push_spec.rb
765
768
  - spec/lib/jax/commands/plugin_manager_spec.rb
@@ -1,24 +0,0 @@
1
- #= require "jquery"
2
- #= require "jax/controller-select"
3
-
4
- describe "The select box in the dev suite runtime", ->
5
- select = null
6
-
7
- beforeEach ->
8
- Jax.routes.clear()
9
- Jax.views.push 'welcome/index', -> 1
10
- Jax.Controller.create "Welcome", index: -> 1
11
- select = document.createElement "select"
12
- _controller_select_fill select
13
-
14
- it "should contain the 'Welcome' controller", ->
15
- expect(select.options[0].value).toEqual("welcome")
16
-
17
- describe "clicked", ->
18
- beforeEach ->
19
- select.webgl_context = SPEC_CONTEXT
20
- select.selectedIndex = 0
21
- $(select).trigger("change");
22
-
23
- it "should redirect to the selected controller", ->
24
- expect(SPEC_CONTEXT.current_controller.getControllerName()).toEqual("Welcome")