[x3d-public] Well, @rotation errors (normalization) all originals; pajekOriginals; getting serious about X3D JSON Schema in draft-07

Don Brutzman brutzman at nps.edu
Sat Apr 3 18:23:09 PDT 2021


Hmmm.  Several twists and turns here.

1. We already have a HelloWorld.json (of course) and it looks like yours strips out a bunch of stuff an inserts a Transform

   "@rotation":[2,1,0,3]

There is a Special Place in Hell where everything has the same name.  Let's not go there, please...

All of our original models have .x3d in version control, with other file encodings and language bindings autogenerated.

If you want to create a TestRotationsNormalization.x3d scene, then a good place for that to be maintained will be with the 15 other test scenes in

* https://www.web3d.org/x3d/content/examples/Basic/development/

Suggest you will want both an SFRotation (such as the Transform @rotation above) and an MFRotation, perhaps most familiar node might be an OrientationInterpolator.

Please craft a TestRotationsNormalization.x3d scene and we can add it to the examples archive.

---

2.  Glad that you are handling pajekOriginals by postprocessing.  Since these are "original" models created by a tool, we wont' be changing them.

* Pajek Analysis and visualization of very large networks
   http://mrvar.fdv.uni-lj.si/pajek

* Pajek manual, p. 80, chapter 5 Exports to EPS/SVG/X3D/VRML
   https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.726.5730&rep=rep1&type=pdf

Perhaps we should come up with a metadata scheme to indicate when a model has known errors so that automatic corrections are disable and diagnostics are silenced.

---

3. Primary task remains.

What I have been referring to with HelloWorld was confirming that JSON Schema and JSON X3D model are truly validating, and the patterns to accomplish that.  Silent (non-reporting) command-line invocations aren't strong evidence and don't add much insight.

As ever, the JSON Schema patterns are what we want to focus on using JSON Schema Draft 7.  We should update our X3D JSON pages to match.

* https://json-schema.org

These people remain a curious bunch.  While draft-07 now appears well supported, they are up to releasing draft 20.

The following is their latest documentation, written for draft-07 but updated in 2021.

* https://json-schema.org/understanding-json-schema/

Once patterns are confirmed we can look at X3D JSON Schema autogeneration from X3DUOM.

Based on your emails one might deduce that you may have such a thing, but it has not been reviewed and not been integrated.  Please let's backtrack and get on firm footing.

If you do have a single best-effort X3D JSON schema, please provide a stable url so that we can study it.

---

4. Everit

Are you still getting this from the following site?

* https://github.com/everit-org/json-schema

* https://github.com/everit-org/json-schema/releases

---

5. Next

This week I cannot meet Monday but have sent you an update to meet on Web3D line Tuesday 14-1500 pacific, hope that can work for you.

Thanks for continued pounding on the problem.  Let's hammer this into a repeatable understandable result, rather than scattered pieces.

On 4/2/2021 10:50 PM, John Carlson wrote:
>
> Here's a small test (attached.).
> 
> John
> 
> On 4/3/21 12:44 AM, John Carlson wrote:
>> Likely we need a very small test case.  I will work on one.
>>
>> John
>>
>> On 4/3/21 12:42 AM, John Carlson wrote:
>>> No worries about lax or non-lax validation.  The only cases (1800)
>>> showing validation errors with @rotation are pajekOriginals.  This is
>>> easily handled in a post process filter. Sorry for not filtering them
>>> earlier. Everit results next (Ajv doesn't show up, likely because
>>> both schemas fail).
>>>


> 
> 
> The strange thing is, the autogenerated code did not throw any errors 
> with Everit for rotation.
> 
> On 4/2/21 11:07 PM, John Carlson wrote:
>> It appears that all the rotation errors were in originals:
>>
>> https://coderextreme.net/rot.txt
>>
>> So I could go either way with the auto-generated X3D JSON schema, 
>> pasting fixed text or generating less restrictive code.
>>
>>
>> John
>>


>>>                     "@rotation":[2,1,0,3],
>>>
>>> I made this change to show the errors.  I do not know why the hand
>>> generated schema errors do not show up.  That seems to be an issue.
>>> Thanks for the backwards step Don.
>>>
>>> So strict validation is still in place, as 2 > 1.
>>>
>>> So the current issue seems to be the hand generated schema.  The
>>> definitions are in different order.   Changing order doesn't fix things.

We need to get on the "same sheet of music" with the same best-case schema.

>>> I guess i would propose to file an issue with Everit about the two
>>> schemas and the HelloWorld.json
>>>
>>> Good catch!
>>>
>>> John

If we can apply Everit in the Ant build.xml then we can repeat the error.  At that point any problem report becomes measurably fix-able.

>>> On 4/2/21 11:22 PM, Don Brutzman wrote:
>>>> Please backtrack.  Not clear you heard what we said this morning or
>>>> posted.
>>>>
>>>> Don't worry about rotation normalization now please.  Lax validation
>>>> is good, normalize() routines in our libraries can help.
>>>>
>>>> You are showing results from gigantic visualization files done by a
>>>> grad student with the pajek tool eleven years ago.
>>>>
>>>> Sorry but can't keep up if we can't do Hello World.
>>>>
>>>> Thanks John.

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list