x_ite 8.3.2 → 8.3.3
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.
- package/.github/workflows/pages-deploy.yml +1 -1
- package/.vscode/settings.json +2 -1
- package/dist/LICENSE.md +4 -4
- package/dist/assets/components/Annotation.js +13 -13
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +13 -13
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +25 -25
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +13 -13
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +61 -74
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +27 -27
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +24 -24
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +23 -23
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +19 -19
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +17 -17
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +28 -28
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +24 -24
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/{ProjectiveTextureMapping.js → TextureProjector.js} +39 -39
- package/dist/assets/components/TextureProjector.min.js +1 -0
- package/dist/assets/components/Texturing3D.js +27 -27
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +19 -19
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +9 -9
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +1492 -1291
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/Gemfile +1 -4
- package/docs/_config.yml +3 -3
- package/docs/_posts/getting-started.md +147 -441
- package/docs/_posts/reference/scene-services.md +13 -2
- package/docs/_posts/what's-new.md +21 -3
- package/docs/_tabs/playground.html +36 -40
- package/docs/assets/css/style.scss +18 -0
- package/package.json +1 -1
- package/src/assets/components/{ProjectiveTextureMapping.js → TextureProjector.js} +5 -5
- package/src/examples.js +1 -1
- package/src/tests.js +5 -5
- package/src/x_ite/Base/X3DInfoArray.js +21 -21
- package/src/x_ite/Base/X3DObject.js +29 -20
- package/src/x_ite/Base/X3DObjectArrayField.js +27 -26
- package/src/x_ite/Base/X3DTypedArrayField.js +34 -32
- package/src/x_ite/Browser/DOMIntegration.js +4 -3
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +43 -28
- package/src/x_ite/Components/Core/X3DNode.js +196 -187
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +113 -90
- package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +18 -43
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +24 -25
- package/src/x_ite/Components/HAnim/HAnimJoint.js +19 -31
- package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +14 -1
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +0 -1
- package/src/x_ite/Components/{ProjectiveTextureMapping → TextureProjector}/TextureProjector.js +1 -1
- package/src/x_ite/Components/{ProjectiveTextureMapping → TextureProjector}/TextureProjectorParallel.js +1 -1
- package/src/x_ite/Components/{ProjectiveTextureMapping → TextureProjector}/X3DTextureProjectorNode.js +0 -0
- package/src/x_ite/Components/Time/TimeSensor.js +5 -0
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +1 -0
- package/src/x_ite/Configuration/ComponentInfo.js +20 -23
- package/src/x_ite/Configuration/ProfileInfo.js +6 -6
- package/src/x_ite/Configuration/SupportedComponents.js +22 -20
- package/src/x_ite/Configuration/SupportedProfiles.js +1 -1
- package/src/x_ite/Configuration/UnitInfo.js +24 -27
- package/src/x_ite/Execution/X3DExecutionContext.js +28 -59
- package/src/x_ite/Execution/X3DExportedNode.js +23 -28
- package/src/x_ite/Execution/X3DImportedNode.js +63 -67
- package/src/x_ite/Execution/X3DScene.js +98 -117
- package/src/x_ite/Fields/ArrayFields.js +57 -55
- package/src/x_ite/Fields/SFBool.js +6 -6
- package/src/x_ite/Fields/SFColor.js +10 -12
- package/src/x_ite/Fields/SFDouble.js +7 -10
- package/src/x_ite/Fields/SFFloat.js +7 -10
- package/src/x_ite/Fields/SFImage.js +33 -8
- package/src/x_ite/Fields/SFInt32.js +6 -6
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +13 -13
- package/src/x_ite/Fields/SFNode.js +42 -19
- package/src/x_ite/Fields/SFRotation.js +13 -13
- package/src/x_ite/Fields/SFString.js +6 -7
- package/src/x_ite/Fields/SFTime.js +6 -6
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +10 -10
- package/src/x_ite/InputOutput/FileLoader.js +1 -1
- package/src/x_ite/InputOutput/Generator.js +117 -17
- package/src/x_ite/Parser/VRMLParser.js +24 -27
- package/src/x_ite/Parser/X3DParser.js +0 -4
- package/src/x_ite/Parser/XMLParser.js +2 -2
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +59 -64
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +86 -93
- package/src/x_ite/Rendering/X3DRenderObject.js +6 -1
- package/src/x_ite/Routing/X3DRoute.js +37 -40
- package/src/x_ite.html +1 -1
- package/x_ite.min.html +1 -1
- package/dist/assets/components/ProjectiveTextureMapping.min.js +0 -1
- package/docs/Gemfile.lock +0 -116
|
@@ -52,7 +52,6 @@ import FieldDefinitionArray from "../Base/FieldDefinitionArray.js";
|
|
|
52
52
|
import X3DExecutionContext from "../Execution/X3DExecutionContext.js";
|
|
53
53
|
import X3DProtoDeclarationNode from "./X3DProtoDeclarationNode.js";
|
|
54
54
|
import X3DConstants from "../Base/X3DConstants.js";
|
|
55
|
-
import Generator from "../InputOutput/Generator.js";
|
|
56
55
|
|
|
57
56
|
SupportedNodes .addAbstractType ("X3DProtoDeclaration", X3DProtoDeclaration);
|
|
58
57
|
|
|
@@ -65,8 +64,6 @@ function X3DProtoDeclaration (executionContext)
|
|
|
65
64
|
|
|
66
65
|
this .addType (X3DConstants .X3DProtoDeclaration)
|
|
67
66
|
|
|
68
|
-
this .addChildObjects ("loadState", new Fields .SFInt32 (X3DConstants .NOT_STARTED_STATE));
|
|
69
|
-
|
|
70
67
|
this [_body] = new X3DExecutionContext (executionContext);
|
|
71
68
|
this [_body] .setOuterNode (this);
|
|
72
69
|
this [_body] .setLive (false);
|
|
@@ -88,8 +85,6 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
|
|
|
88
85
|
X3DProtoDeclarationNode .prototype .initialize .call (this);
|
|
89
86
|
|
|
90
87
|
this [_body] .setup ();
|
|
91
|
-
|
|
92
|
-
this ._loadState = X3DConstants .COMPLETE_STATE;
|
|
93
88
|
},
|
|
94
89
|
getProtoDeclaration: function ()
|
|
95
90
|
{
|
|
@@ -99,108 +94,99 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
|
|
|
99
94
|
{
|
|
100
95
|
return this [_body];
|
|
101
96
|
},
|
|
102
|
-
checkLoadState: function ()
|
|
103
|
-
{
|
|
104
|
-
return this ._loadState .getValue ();
|
|
105
|
-
},
|
|
106
97
|
canUserDefinedFields: function ()
|
|
107
98
|
{
|
|
108
99
|
return true;
|
|
109
100
|
},
|
|
110
|
-
toVRMLStream: function (
|
|
101
|
+
toVRMLStream: function (generator)
|
|
111
102
|
{
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
stream .string += " ";
|
|
119
|
-
stream .string += "[";
|
|
103
|
+
generator .string += generator .Indent ();
|
|
104
|
+
generator .string += "PROTO";
|
|
105
|
+
generator .string += generator .Space ();
|
|
106
|
+
generator .string += this .getName ();
|
|
107
|
+
generator .string += generator .TidySpace ();
|
|
108
|
+
generator .string += "[";
|
|
120
109
|
|
|
121
110
|
generator .EnterScope ();
|
|
122
111
|
|
|
123
112
|
const userDefinedFields = this .getUserDefinedFields ();
|
|
124
113
|
|
|
125
|
-
let
|
|
126
|
-
fieldTypeLength = 0,
|
|
127
|
-
accessTypeLength = 0;
|
|
128
|
-
|
|
129
114
|
if (userDefinedFields .length === 0)
|
|
130
115
|
{
|
|
131
|
-
|
|
116
|
+
generator .string += generator .TidySpace ();
|
|
132
117
|
}
|
|
133
118
|
else
|
|
134
119
|
{
|
|
120
|
+
let
|
|
121
|
+
fieldTypeLength = 0,
|
|
122
|
+
accessTypeLength = 0;
|
|
123
|
+
|
|
135
124
|
for (const field of userDefinedFields)
|
|
136
125
|
{
|
|
137
126
|
fieldTypeLength = Math .max (fieldTypeLength, field .getTypeName () .length);
|
|
138
127
|
accessTypeLength = Math .max (accessTypeLength, generator .AccessType (field .getAccessType ()) .length);
|
|
139
128
|
}
|
|
140
129
|
|
|
141
|
-
|
|
130
|
+
generator .string += generator .TidyBreak ();
|
|
142
131
|
|
|
143
132
|
generator .IncIndent ();
|
|
144
133
|
|
|
145
134
|
for (const field of userDefinedFields)
|
|
146
135
|
{
|
|
147
|
-
this .toVRMLStreamUserDefinedField (
|
|
148
|
-
|
|
136
|
+
this .toVRMLStreamUserDefinedField (generator, field, fieldTypeLength, accessTypeLength);
|
|
137
|
+
|
|
138
|
+
generator .string += generator .Break ();
|
|
149
139
|
}
|
|
150
140
|
|
|
151
141
|
generator .DecIndent ();
|
|
152
142
|
|
|
153
|
-
|
|
143
|
+
generator .string += generator .Indent ();
|
|
154
144
|
}
|
|
155
145
|
|
|
156
146
|
generator .LeaveScope ();
|
|
157
147
|
|
|
158
|
-
|
|
159
|
-
|
|
148
|
+
generator .string += "]";
|
|
149
|
+
generator .string += generator .TidyBreak ();
|
|
160
150
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
151
|
+
generator .string += generator .Indent ();
|
|
152
|
+
generator .string += "{";
|
|
153
|
+
generator .string += generator .TidyBreak ();
|
|
164
154
|
|
|
165
155
|
generator .IncIndent ();
|
|
166
156
|
|
|
167
|
-
this [_body] .toVRMLStream (
|
|
157
|
+
this [_body] .toVRMLStream (generator);
|
|
168
158
|
|
|
169
159
|
generator .DecIndent ();
|
|
170
160
|
|
|
171
|
-
|
|
172
|
-
|
|
161
|
+
generator .string += generator .Indent ();
|
|
162
|
+
generator .string += "}";
|
|
173
163
|
},
|
|
174
|
-
toVRMLStreamUserDefinedField: function (
|
|
164
|
+
toVRMLStreamUserDefinedField: function (generator, field, fieldTypeLength, accessTypeLength)
|
|
175
165
|
{
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
stream .string += " ";
|
|
183
|
-
stream .string += field .getName ();
|
|
166
|
+
generator .string += generator .Indent ();
|
|
167
|
+
generator .string += generator .PadRight (generator .AccessType (field .getAccessType ()), accessTypeLength);
|
|
168
|
+
generator .string += generator .Space ();
|
|
169
|
+
generator .string += generator .PadRight (field .getTypeName (), fieldTypeLength);
|
|
170
|
+
generator .string += generator .Space ();
|
|
171
|
+
generator .string += field .getName ();
|
|
184
172
|
|
|
185
173
|
if (field .isInitializable ())
|
|
186
174
|
{
|
|
187
|
-
|
|
175
|
+
generator .string += generator .Space ();
|
|
188
176
|
|
|
189
|
-
field .toVRMLStream (
|
|
177
|
+
field .toVRMLStream (generator);
|
|
190
178
|
}
|
|
191
179
|
},
|
|
192
|
-
toXMLStream: function (
|
|
180
|
+
toXMLStream: function (generator)
|
|
193
181
|
{
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
stream .string += ">";
|
|
203
|
-
stream .string += "\n";
|
|
182
|
+
generator .string += generator .Indent ();
|
|
183
|
+
generator .string += "<ProtoDeclare";
|
|
184
|
+
generator .string += generator .Space ();
|
|
185
|
+
generator .string += "name='";
|
|
186
|
+
generator .string += generator .XMLEncode (this .getName ());
|
|
187
|
+
generator .string += "'";
|
|
188
|
+
generator .string += ">";
|
|
189
|
+
generator .string += generator .TidyBreak ();
|
|
204
190
|
|
|
205
191
|
// <ProtoInterface>
|
|
206
192
|
|
|
@@ -212,31 +198,33 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
|
|
|
212
198
|
{
|
|
213
199
|
generator .IncIndent ();
|
|
214
200
|
|
|
215
|
-
|
|
216
|
-
|
|
201
|
+
generator .string += generator .Indent ();
|
|
202
|
+
generator .string += "<ProtoInterface>";
|
|
203
|
+
generator .string += generator .TidyBreak ();
|
|
217
204
|
|
|
218
205
|
generator .IncIndent ();
|
|
219
206
|
|
|
220
207
|
for (const field of userDefinedFields)
|
|
221
208
|
{
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
209
|
+
generator .string += generator .Indent ();
|
|
210
|
+
generator .string += "<field";
|
|
211
|
+
generator .string += generator .Space ();
|
|
212
|
+
generator .string += "accessType='";
|
|
213
|
+
generator .string += generator .AccessType (field .getAccessType ());
|
|
214
|
+
generator .string += "'";
|
|
215
|
+
generator .string += generator .Space ();
|
|
216
|
+
generator .string += "type='";
|
|
217
|
+
generator .string += field .getTypeName ();
|
|
218
|
+
generator .string += "'";
|
|
219
|
+
generator .string += generator .Space ();
|
|
220
|
+
generator .string += "name='";
|
|
221
|
+
generator .string += generator .XMLEncode (field .getName ());
|
|
222
|
+
generator .string += "'";
|
|
236
223
|
|
|
237
224
|
if (field .isDefaultValue ())
|
|
238
225
|
{
|
|
239
|
-
|
|
226
|
+
generator .string += "/>";
|
|
227
|
+
generator .string += generator .TidyBreak ();
|
|
240
228
|
}
|
|
241
229
|
else
|
|
242
230
|
{
|
|
@@ -247,31 +235,33 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
|
|
|
247
235
|
{
|
|
248
236
|
generator .PushContainerField (field);
|
|
249
237
|
|
|
250
|
-
|
|
238
|
+
generator .string += generator .TidyBreak ();
|
|
251
239
|
|
|
252
240
|
generator .IncIndent ();
|
|
253
241
|
|
|
254
|
-
field .toXMLStream (
|
|
242
|
+
field .toXMLStream (generator);
|
|
255
243
|
|
|
256
|
-
|
|
244
|
+
generator .string += generator .TidyBreak ();
|
|
257
245
|
|
|
258
246
|
generator .DecIndent ();
|
|
259
247
|
|
|
260
|
-
|
|
261
|
-
|
|
248
|
+
generator .string += generator .Indent ();
|
|
249
|
+
generator .string += "</field>";
|
|
250
|
+
generator .string += generator .TidyBreak ();
|
|
262
251
|
|
|
263
252
|
generator .PopContainerField ();
|
|
264
253
|
break;
|
|
265
254
|
}
|
|
266
255
|
default:
|
|
267
256
|
{
|
|
268
|
-
|
|
269
|
-
|
|
257
|
+
generator .string += generator .Space ();
|
|
258
|
+
generator .string += "value='";
|
|
270
259
|
|
|
271
|
-
field .toXMLStream (
|
|
260
|
+
field .toXMLStream (generator);
|
|
272
261
|
|
|
273
|
-
|
|
274
|
-
|
|
262
|
+
generator .string += "'";
|
|
263
|
+
generator .string += "/>";
|
|
264
|
+
generator .string += generator .TidyBreak ();
|
|
275
265
|
break;
|
|
276
266
|
}
|
|
277
267
|
}
|
|
@@ -280,8 +270,9 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
|
|
|
280
270
|
|
|
281
271
|
generator .DecIndent ();
|
|
282
272
|
|
|
283
|
-
|
|
284
|
-
|
|
273
|
+
generator .string += generator .Indent ();
|
|
274
|
+
generator .string += "</ProtoInterface>";
|
|
275
|
+
generator .string += generator .TidyBreak ();
|
|
285
276
|
|
|
286
277
|
generator .DecIndent ();
|
|
287
278
|
}
|
|
@@ -294,24 +285,26 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
|
|
|
294
285
|
|
|
295
286
|
generator .IncIndent ();
|
|
296
287
|
|
|
297
|
-
|
|
298
|
-
|
|
288
|
+
generator .string += generator .Indent ();
|
|
289
|
+
generator .string += "<ProtoBody>";
|
|
290
|
+
generator .string += generator .TidyBreak ();
|
|
299
291
|
|
|
300
292
|
generator .IncIndent ();
|
|
301
293
|
|
|
302
|
-
this [_body] .toXMLStream (
|
|
294
|
+
this [_body] .toXMLStream (generator);
|
|
303
295
|
|
|
304
296
|
generator .DecIndent ();
|
|
305
297
|
|
|
306
|
-
|
|
307
|
-
|
|
298
|
+
generator .string += generator .Indent ();
|
|
299
|
+
generator .string += "</ProtoBody>";
|
|
300
|
+
generator .string += generator .TidyBreak ();
|
|
308
301
|
|
|
309
302
|
generator .DecIndent ();
|
|
310
303
|
|
|
311
304
|
// </ProtoBody>
|
|
312
305
|
|
|
313
|
-
|
|
314
|
-
|
|
306
|
+
generator .string += generator .Indent ();
|
|
307
|
+
generator .string += "</ProtoDeclare>";
|
|
315
308
|
},
|
|
316
309
|
});
|
|
317
310
|
|
|
@@ -82,6 +82,7 @@ function X3DRenderObject (executionContext)
|
|
|
82
82
|
this .localShadows = [ false ];
|
|
83
83
|
this .localFogs = [ null ];
|
|
84
84
|
this .layouts = [ ];
|
|
85
|
+
this .jointNodes = [ ];
|
|
85
86
|
this .textureProjectors = [ ];
|
|
86
87
|
this .generatedCubeMapTextures = [ ];
|
|
87
88
|
this .collisions = [ ];
|
|
@@ -219,6 +220,10 @@ X3DRenderObject .prototype =
|
|
|
219
220
|
{
|
|
220
221
|
return this .layouts;
|
|
221
222
|
},
|
|
223
|
+
getJoints: function ()
|
|
224
|
+
{
|
|
225
|
+
return this .jointNodes;
|
|
226
|
+
},
|
|
222
227
|
getParentLayout: function ()
|
|
223
228
|
{
|
|
224
229
|
return this .layouts .at (-1);
|
|
@@ -837,7 +842,7 @@ X3DRenderObject .prototype =
|
|
|
837
842
|
globalShadows = this .globalShadows,
|
|
838
843
|
shadows = globalShadows .at (-1),
|
|
839
844
|
headlight = this .getNavigationInfo () ._headlight .getValue (),
|
|
840
|
-
numGlobalLights = globalObjects .reduce ((v, c) => v + !!c .lightNode,
|
|
845
|
+
numGlobalLights = globalObjects .reduce ((v, c) => v + !!c .lightNode, 0),
|
|
841
846
|
numGlobalTextureProjectors = globalObjects .reduce ((v, c) => v + !!c .textureProjectorNode, 0);
|
|
842
847
|
|
|
843
848
|
|
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
import X3DObject from "../Base/X3DObject.js";
|
|
49
49
|
import X3DConstants from "../Base/X3DConstants.js";
|
|
50
50
|
import SFNodeCache from "../Fields/SFNodeCache.js";
|
|
51
|
-
import Generator from "../InputOutput/Generator.js";
|
|
52
51
|
|
|
53
52
|
const
|
|
54
53
|
_executionContext = Symbol (),
|
|
@@ -112,68 +111,66 @@ X3DRoute .prototype = Object .assign (Object .create (X3DObject .prototype),
|
|
|
112
111
|
this [_sourceField] .removeOutputRoute (this);
|
|
113
112
|
this [_destinationField] .removeInputRoute (this);
|
|
114
113
|
},
|
|
115
|
-
toVRMLStream: function (
|
|
114
|
+
toVRMLStream: function (generator)
|
|
116
115
|
{
|
|
117
116
|
const
|
|
118
|
-
generator = Generator .Get (stream),
|
|
119
117
|
sourceNodeName = generator .LocalName (this [_sourceNode]),
|
|
120
118
|
destinationNodeName = generator .LocalName (this [_destinationNode]);
|
|
121
119
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
generator .string += generator .Indent ();
|
|
121
|
+
generator .string += "ROUTE";
|
|
122
|
+
generator .string += generator .Space ();
|
|
123
|
+
generator .string += sourceNodeName;
|
|
124
|
+
generator .string += ".";
|
|
125
|
+
generator .string += this [_sourceField] .getName ();
|
|
128
126
|
|
|
129
127
|
if (this [_sourceField] .getAccessType () === X3DConstants .inputOutput)
|
|
130
|
-
|
|
128
|
+
generator .string += "_changed";
|
|
131
129
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
130
|
+
generator .string += generator .Space ();
|
|
131
|
+
generator .string += "TO";
|
|
132
|
+
generator .string += generator .Space ();
|
|
133
|
+
generator .string += destinationNodeName;
|
|
134
|
+
generator .string += ".";
|
|
137
135
|
|
|
138
136
|
if (this [_destinationField] .getAccessType () === X3DConstants .inputOutput)
|
|
139
|
-
|
|
137
|
+
generator .string += "set_";
|
|
140
138
|
|
|
141
|
-
|
|
139
|
+
generator .string += this [_destinationField] .getName ();
|
|
142
140
|
},
|
|
143
|
-
toXMLStream: function (
|
|
141
|
+
toXMLStream: function (generator)
|
|
144
142
|
{
|
|
145
143
|
const
|
|
146
|
-
generator = Generator .Get (stream),
|
|
147
144
|
sourceNodeName = generator .LocalName (this [_sourceNode]),
|
|
148
145
|
destinationNodeName = generator .LocalName (this [_destinationNode]);
|
|
149
146
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
147
|
+
generator .string += generator .Indent ();
|
|
148
|
+
generator .string += "<ROUTE";
|
|
149
|
+
generator .string += generator .Space ();
|
|
150
|
+
generator .string += "fromNode='";
|
|
151
|
+
generator .string += generator .XMLEncode (sourceNodeName);
|
|
152
|
+
generator .string += "'";
|
|
153
|
+
generator .string += generator .Space ();
|
|
154
|
+
generator .string += "fromField='";
|
|
155
|
+
generator .string += generator .XMLEncode (this [_sourceField] .getName ());
|
|
159
156
|
|
|
160
157
|
if (this [_sourceField] .getAccessType () === X3DConstants .inputOutput)
|
|
161
|
-
|
|
158
|
+
generator .string += "_changed";
|
|
162
159
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
160
|
+
generator .string += "'";
|
|
161
|
+
generator .string += generator .Space ();
|
|
162
|
+
generator .string += "toNode='";
|
|
163
|
+
generator .string += generator .XMLEncode (destinationNodeName);
|
|
164
|
+
generator .string += "'";
|
|
165
|
+
generator .string += generator .Space ();
|
|
166
|
+
generator .string += "toField='";
|
|
170
167
|
|
|
171
168
|
if (this [_destinationField] .getAccessType () === X3DConstants .inputOutput)
|
|
172
|
-
|
|
169
|
+
generator .string += "set_";
|
|
173
170
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
171
|
+
generator .string += generator .XMLEncode (this [_destinationField] .getName ());
|
|
172
|
+
generator .string += "'";
|
|
173
|
+
generator .string += "/>";
|
|
177
174
|
},
|
|
178
175
|
dispose: function ()
|
|
179
176
|
{
|
package/src/x_ite.html
CHANGED
package/x_ite.min.html
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/* X_ITE v8.3.2 */(()=>{"use strict";var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var r in i)t.o(i,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:i[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const e=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Components");var i=t.n(e);const r=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Fields");var o=t.n(r);const n=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Base/X3DFieldDefinition");var s=t.n(n);const a=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Base/FieldDefinitionArray");var u=t.n(a);const c=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Components/Core/X3DChildNode");var h=t.n(c);const l=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Base/X3DConstants");var x=t.n(l);const p=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Base/X3DCast");var g=t.n(p);const d=window[Symbol.for("X_ITE.X3D-8.3.2")].require("standard/Math/Numbers/Vector3");var w=t.n(d);const m=window[Symbol.for("X_ITE.X3D-8.3.2")].require("standard/Math/Numbers/Rotation4");var f=t.n(m);const _=window[Symbol.for("X_ITE.X3D-8.3.2")].require("standard/Math/Numbers/Matrix4");var T=t.n(_);const M=window[Symbol.for("X_ITE.X3D-8.3.2")].require("x_ite/Namespace");var j,v,y,V,S,b=t.n(M);function X(t){h().call(this,t),this.addType(x().X3DTextureProjectorNode),this._location.setUnit("length"),this._farDistance.setUnit("length"),this._location.setUnit("length")}X.prototype=Object.assign(Object.create(h().prototype),{constructor:X,initialize:function(){h().prototype.initialize.call(this),this._on.addInterest("set_on__",this),this._texture.addInterest("set_texture__",this),this.set_texture__()},getGlobal:function(){return this._global.getValue()},getLocation:function(){return this._location.getValue()},getDirection:function(){return this._direction.getValue()},getNearDistance:function(){return this._nearDistance.getValue()},getFarDistance:function(){return this._farDistance.getValue()},getTexture:function(){return this.textureNode},getBiasMatrix:(S=new(T())(.5,0,0,0,0,.5,0,0,0,0,.5,0,.5,.5,.5,1),function(){return S}),straightenHorizon:(j=new(w())(0,0,0),v=new(w())(0,0,0),y=new(w())(0,0,0),V=new(f())(0,0,1,0),function(t){t.multVecRot(j.assign(w().xAxis).negate()),t.multVecRot(v.assign(w().zAxis)),y.assign(this._upVector.getValue()).normalize();var e=v.cross(y);return Math.abs(v.dot(y))>=1||Math.abs(e.dot(j))>=1?t:(V.setFromToVec(j,e),t.multRight(V))}),set_on__:function(){this._on.getValue()&&this.textureNode?(delete this.push,delete this.pop):(this.push=Function.prototype,this.pop=Function.prototype)},set_texture__:function(){this.textureNode&&this.textureNode.removeInterest("set_aspectRatio__",this),this.textureNode=g()(x().X3DTexture2DNode,this._texture),this.textureNode&&this.textureNode.addInterest("set_aspectRatio__",this),this.set_aspectRatio__(),this.set_on__()},set_aspectRatio__:function(){this.textureNode?this._aspectRatio=this.textureNode.getWidth()/this.textureNode.getHeight():this._aspectRatio=0},push:function(t){var e=this.getTextureProjectors().pop();e.set(this,t.getModelViewMatrix().get()),this._global.getValue()?(t.getGlobalObjects().push(e),t.getTextureProjectors().push(e)):(t.getLocalObjects().push(e),t.getTextureProjectors().push(e),++t.getLocalObjectsCount()[2])},pop:function(t){this._global.getValue()||(t.getLocalObjects().pop(),--t.getLocalObjectsCount()[2])}});const O=X;b().set("x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode",O);const P=O,F=window[Symbol.for("X_ITE.X3D-8.3.2")].require("standard/Math/Geometry/Camera");var D=t.n(F);const N=window[Symbol.for("X_ITE.X3D-8.3.2")].require("standard/Utility/ObjectCache");var I=t.n(N),R=I()(E);function E(){this.projectionMatrix=new(T()),this.modelViewMatrix=new(T()),this.modelMatrix=new(T()),this.invTextureSpaceMatrix=new(T()),this.invTextureSpaceProjectionMatrix=new(T()),this.location=new(w())(0,0,0),this.locationArray=new Float32Array(3),this.direction=new(w())(0,0,0),this.rotation=new(f()),this.projectiveTextureMatrix=new(T()),this.projectiveTextureMatrixArray=new Float32Array(16)}function z(t){P.call(this,t),this.addType(x().TextureProjector),this._fieldOfView.setUnit("angle")}E.prototype={constructor:E,set:function(t,e){this.browser=t.getBrowser(),this.textureProjectorNode=t,this.modelViewMatrix.assign(e)},setGroup:function(t){this.groupNode=t},getModelViewMatrix:function(){return this.modelViewMatrix},setGlobalVariables:function(t){var e=this.textureProjectorNode,i=t.getCameraSpaceMatrix().get(),r=this.modelMatrix.assign(this.modelViewMatrix).multRight(i),o=this.invTextureSpaceMatrix.assign(e.getGlobal()?r:T().Identity);this.rotation.setFromToVec(w().zAxis,this.direction.assign(e.getDirection()).negate()),e.straightenHorizon(this.rotation),o.translate(e.getLocation()),o.rotate(this.rotation),o.inverse();var n=e.getTexture().getWidth(),s=e.getTexture().getHeight(),a=e.getNearDistance(),u=e.getFarDistance(),c=e.getFieldOfView();D().perspective(c,a,u,n,s,this.projectionMatrix),e.getGlobal()||o.multLeft(r.inverse()),this.invTextureSpaceProjectionMatrix.assign(o).multRight(this.projectionMatrix).multRight(e.getBiasMatrix()),this.projectiveTextureMatrix.assign(i).multRight(this.invTextureSpaceProjectionMatrix),this.projectiveTextureMatrixArray.set(this.projectiveTextureMatrix),this.modelViewMatrix.multVecMatrix(this.location.assign(e._location.getValue())),this.locationArray.set(this.location)},setShaderUniforms:function(t,e,i){const r=e.numProjectiveTextures++;if(e.hasTextureProjector(r,this))return;const o=this.textureProjectorNode.getTexture(),n=this.browser.getTexture2DUnit();t.activeTexture(t.TEXTURE0+n),t.bindTexture(t.TEXTURE_2D,o.getTexture()),t.uniform1i(e.x3d_ProjectiveTexture[r],n),t.uniformMatrix4fv(e.x3d_ProjectiveTextureMatrix[r],!1,this.projectiveTextureMatrixArray),t.uniform3fv(e.x3d_ProjectiveTextureLocation[r],this.locationArray)},dispose:function(){R.push(this)}},z.prototype=Object.assign(Object.create(P.prototype),{constructor:z,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(u())([new(s())(x().inputOutput,"metadata",new(o().SFNode)),new(s())(x().inputOutput,"description",new(o().SFString)),new(s())(x().inputOutput,"on",new(o().SFBool)(!0)),new(s())(x().inputOutput,"global",new(o().SFBool)(!0)),new(s())(x().inputOutput,"location",new(o().SFVec3f)(0,0,1)),new(s())(x().inputOutput,"direction",new(o().SFVec3f)(0,0,1)),new(s())(x().inputOutput,"upVector",new(o().SFVec3f)(0,0,1)),new(s())(x().inputOutput,"fieldOfView",new(o().SFFloat)(.7854)),new(s())(x().inputOutput,"nearDistance",new(o().SFFloat)(1)),new(s())(x().inputOutput,"farDistance",new(o().SFFloat)(10)),new(s())(x().outputOnly,"aspectRatio",new(o().SFFloat)),new(s())(x().inputOutput,"texture",new(o().SFNode))]),getTypeName:function(){return"TextureProjector"},getComponentName:function(){return"ProjectiveTextureMapping"},getContainerField:function(){return"children"},initialize:function(){P.prototype.initialize.call(this)},getFieldOfView:function(){var t=this._fieldOfView.getValue();return t>0&&t<Math.PI?t:Math.PI/4},getTextureProjectors:function(){return R}});const A=z;b().set("x_ite/Components/ProjectiveTextureMapping/TextureProjector",A);const C=A;var B=I()(U);function U(){this.projectionMatrix=new(T()),this.modelViewMatrix=new(T()),this.modelMatrix=new(T()),this.invTextureSpaceMatrix=new(T()),this.location=new(w())(0,0,0),this.locationArray=new Float32Array(3),this.invTextureSpaceProjectionMatrix=new(T()),this.direction=new(w())(0,0,0),this.rotation=new(f()),this.projectiveTextureMatrix=new(T()),this.projectiveTextureMatrixArray=new Float32Array(16)}function Y(t){P.call(this,t),this.addType(x().TextureProjectorParallel),this._fieldOfView.setUnit("length")}U.prototype={constructor:U,set:function(t,e){this.browser=t.getBrowser(),this.textureProjectorNode=t,this.modelViewMatrix.assign(e)},setGroup:function(t){this.groupNode=t},getModelViewMatrix:function(){return this.modelViewMatrix},setGlobalVariables:function(t){var e=this.textureProjectorNode,i=t.getCameraSpaceMatrix().get(),r=this.modelMatrix.assign(this.modelViewMatrix).multRight(i),o=this.invTextureSpaceMatrix.assign(e.getGlobal()?r:T().Identity);this.rotation.setFromToVec(w().zAxis,this.direction.assign(e.getDirection()).negate()),e.straightenHorizon(this.rotation),o.translate(e.getLocation()),o.rotate(this.rotation),o.inverse();var n=e.getTexture().getWidth()/e.getTexture().getHeight(),s=e.getMinimumX(),a=e.getMaximumX(),u=e.getMinimumY(),c=e.getMaximumY(),h=e.getSizeX(),l=e.getSizeY(),x=e.getNearDistance(),p=e.getFarDistance();if(n>h/l){var g=(s+a)/2,d=l*n/2;D().ortho(g-d,g+d,u,c,x,p,this.projectionMatrix)}else{g=(u+c)/2,d=h/n/2;D().ortho(s,a,g-d,g+d,x,p,this.projectionMatrix)}e.getGlobal()||o.multLeft(r.inverse()),this.invTextureSpaceProjectionMatrix.assign(o).multRight(this.projectionMatrix).multRight(e.getBiasMatrix()),this.projectiveTextureMatrix.assign(i).multRight(this.invTextureSpaceProjectionMatrix),this.projectiveTextureMatrixArray.set(this.projectiveTextureMatrix),this.modelViewMatrix.multVecMatrix(this.location.assign(e._location.getValue())),this.locationArray.set(this.location)},setShaderUniforms:function(t,e,i){const r=e.numProjectiveTextures++;if(e.hasTextureProjector(r,this))return;const o=this.textureProjectorNode.getTexture(),n=this.browser.getTexture2DUnit();t.activeTexture(t.TEXTURE0+n),t.bindTexture(t.TEXTURE_2D,o.getTexture()),t.uniform1i(e.x3d_ProjectiveTexture[r],n),t.uniformMatrix4fv(e.x3d_ProjectiveTextureMatrix[r],!1,this.projectiveTextureMatrixArray),t.uniform3fv(e.x3d_ProjectiveTextureLocation[r],this.locationArray)},dispose:function(){B.push(this)}},Y.prototype=Object.assign(Object.create(P.prototype),{constructor:Y,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(u())([new(s())(x().inputOutput,"metadata",new(o().SFNode)),new(s())(x().inputOutput,"description",new(o().SFString)),new(s())(x().inputOutput,"on",new(o().SFBool)(!0)),new(s())(x().inputOutput,"global",new(o().SFBool)(!0)),new(s())(x().inputOutput,"location",new(o().SFVec3f)(0,0,1)),new(s())(x().inputOutput,"direction",new(o().SFVec3f)(0,0,1)),new(s())(x().inputOutput,"upVector",new(o().SFVec3f)(0,1,0)),new(s())(x().inputOutput,"fieldOfView",new(o().MFFloat)(-1,-1,1,1)),new(s())(x().inputOutput,"nearDistance",new(o().SFFloat)(1)),new(s())(x().inputOutput,"farDistance",new(o().SFFloat)(10)),new(s())(x().outputOnly,"aspectRatio",new(o().SFFloat)),new(s())(x().inputOutput,"texture",new(o().SFNode))]),getTypeName:function(){return"TextureProjectorParallel"},getComponentName:function(){return"ProjectiveTextureMapping"},getContainerField:function(){return"children"},initialize:function(){P.prototype.initialize.call(this),this._fieldOfView.addInterest("set_fieldOfView___",this),this.set_fieldOfView___()},set_fieldOfView___:function(){var t=this._fieldOfView.length;this.minimumX=t>0?this._fieldOfView[0]:-1,this.minimumY=t>1?this._fieldOfView[1]:-1,this.maximumX=t>2?this._fieldOfView[2]:1,this.maximumY=t>3?this._fieldOfView[3]:1,this.sizeX=this.maximumX-this.minimumX,this.sizeY=this.maximumY-this.minimumY},getMinimumX:function(){return this.minimumX},getMinimumY:function(){return this.minimumY},getMaximumX:function(){return this.maximumX},getMaximumY:function(){return this.maximumY},getSizeX:function(){return this.sizeX},getSizeY:function(){return this.sizeY},getTextureProjectors:function(){return B}});const q=Y;b().set("x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel",q);const G=q;i().addComponent({name:"ProjectiveTextureMapping",types:{TextureProjector:C,TextureProjectorParallel:G},abstractTypes:{X3DTextureProjectorNode:P}});const L=void 0;b().set("assets/components/ProjectiveTextureMapping",L)})();
|
package/docs/Gemfile.lock
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
GEM
|
|
2
|
-
remote: https://rubygems.org/
|
|
3
|
-
specs:
|
|
4
|
-
addressable (2.8.1)
|
|
5
|
-
public_suffix (>= 2.0.2, < 6.0)
|
|
6
|
-
colorator (1.1.0)
|
|
7
|
-
concurrent-ruby (1.1.10)
|
|
8
|
-
em-websocket (0.5.3)
|
|
9
|
-
eventmachine (>= 0.12.9)
|
|
10
|
-
http_parser.rb (~> 0)
|
|
11
|
-
ethon (0.16.0)
|
|
12
|
-
ffi (>= 1.15.0)
|
|
13
|
-
eventmachine (1.2.7)
|
|
14
|
-
ffi (1.15.5)
|
|
15
|
-
forwardable-extended (2.6.0)
|
|
16
|
-
html-proofer (3.19.4)
|
|
17
|
-
addressable (~> 2.3)
|
|
18
|
-
mercenary (~> 0.3)
|
|
19
|
-
nokogiri (~> 1.13)
|
|
20
|
-
parallel (~> 1.10)
|
|
21
|
-
rainbow (~> 3.0)
|
|
22
|
-
typhoeus (~> 1.3)
|
|
23
|
-
yell (~> 2.0)
|
|
24
|
-
http_parser.rb (0.8.0)
|
|
25
|
-
i18n (1.12.0)
|
|
26
|
-
concurrent-ruby (~> 1.0)
|
|
27
|
-
jekyll (4.3.1)
|
|
28
|
-
addressable (~> 2.4)
|
|
29
|
-
colorator (~> 1.0)
|
|
30
|
-
em-websocket (~> 0.5)
|
|
31
|
-
i18n (~> 1.0)
|
|
32
|
-
jekyll-sass-converter (>= 2.0, < 4.0)
|
|
33
|
-
jekyll-watch (~> 2.0)
|
|
34
|
-
kramdown (~> 2.3, >= 2.3.1)
|
|
35
|
-
kramdown-parser-gfm (~> 1.0)
|
|
36
|
-
liquid (~> 4.0)
|
|
37
|
-
mercenary (>= 0.3.6, < 0.5)
|
|
38
|
-
pathutil (~> 0.9)
|
|
39
|
-
rouge (>= 3.0, < 5.0)
|
|
40
|
-
safe_yaml (~> 1.0)
|
|
41
|
-
terminal-table (>= 1.8, < 4.0)
|
|
42
|
-
webrick (~> 1.7)
|
|
43
|
-
jekyll-archives (2.2.1)
|
|
44
|
-
jekyll (>= 3.6, < 5.0)
|
|
45
|
-
jekyll-paginate (1.1.0)
|
|
46
|
-
jekyll-redirect-from (0.16.0)
|
|
47
|
-
jekyll (>= 3.3, < 5.0)
|
|
48
|
-
jekyll-sass-converter (2.2.0)
|
|
49
|
-
sassc (> 2.0.1, < 3.0)
|
|
50
|
-
jekyll-seo-tag (2.8.0)
|
|
51
|
-
jekyll (>= 3.8, < 5.0)
|
|
52
|
-
jekyll-sitemap (1.4.0)
|
|
53
|
-
jekyll (>= 3.7, < 5.0)
|
|
54
|
-
jekyll-theme-chirpy (5.3.2)
|
|
55
|
-
jekyll (~> 4.1)
|
|
56
|
-
jekyll-archives (~> 2.2)
|
|
57
|
-
jekyll-paginate (~> 1.1)
|
|
58
|
-
jekyll-redirect-from (~> 0.16)
|
|
59
|
-
jekyll-seo-tag (~> 2.7)
|
|
60
|
-
jekyll-sitemap (~> 1.4)
|
|
61
|
-
jekyll-watch (2.2.1)
|
|
62
|
-
listen (~> 3.0)
|
|
63
|
-
kramdown (2.4.0)
|
|
64
|
-
rexml
|
|
65
|
-
kramdown-parser-gfm (1.1.0)
|
|
66
|
-
kramdown (~> 2.0)
|
|
67
|
-
liquid (4.0.3)
|
|
68
|
-
listen (3.7.1)
|
|
69
|
-
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
70
|
-
rb-inotify (~> 0.9, >= 0.9.10)
|
|
71
|
-
mercenary (0.4.0)
|
|
72
|
-
nokogiri (1.13.10-arm64-darwin)
|
|
73
|
-
racc (~> 1.4)
|
|
74
|
-
nokogiri (1.13.10-x86_64-darwin)
|
|
75
|
-
racc (~> 1.4)
|
|
76
|
-
parallel (1.22.1)
|
|
77
|
-
pathutil (0.16.2)
|
|
78
|
-
forwardable-extended (~> 2.6)
|
|
79
|
-
public_suffix (5.0.1)
|
|
80
|
-
racc (1.6.1)
|
|
81
|
-
rainbow (3.1.1)
|
|
82
|
-
rb-fsevent (0.11.2)
|
|
83
|
-
rb-inotify (0.10.1)
|
|
84
|
-
ffi (~> 1.0)
|
|
85
|
-
rexml (3.2.5)
|
|
86
|
-
rouge (3.30.0)
|
|
87
|
-
safe_yaml (1.0.5)
|
|
88
|
-
sassc (2.4.0)
|
|
89
|
-
ffi (~> 1.9)
|
|
90
|
-
terminal-table (3.0.2)
|
|
91
|
-
unicode-display_width (>= 1.1.1, < 3)
|
|
92
|
-
thread_safe (0.3.6)
|
|
93
|
-
typhoeus (1.4.0)
|
|
94
|
-
ethon (>= 0.9.0)
|
|
95
|
-
tzinfo (1.2.10)
|
|
96
|
-
thread_safe (~> 0.1)
|
|
97
|
-
tzinfo-data (1.2022.7)
|
|
98
|
-
tzinfo (>= 1.0.0)
|
|
99
|
-
unicode-display_width (2.3.0)
|
|
100
|
-
wdm (0.1.1)
|
|
101
|
-
webrick (1.7.0)
|
|
102
|
-
yell (2.2.2)
|
|
103
|
-
|
|
104
|
-
PLATFORMS
|
|
105
|
-
universal-darwin-22
|
|
106
|
-
|
|
107
|
-
DEPENDENCIES
|
|
108
|
-
html-proofer (~> 3.18)
|
|
109
|
-
jekyll-theme-chirpy (~> 5.3, >= 5.3.2)
|
|
110
|
-
tzinfo (~> 1.2)
|
|
111
|
-
tzinfo-data
|
|
112
|
-
wdm (~> 0.1.1)
|
|
113
|
-
webrick (~> 1.7)
|
|
114
|
-
|
|
115
|
-
BUNDLED WITH
|
|
116
|
-
2.3.22
|