<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Joe, there are some ways of loading JSON through the runtime in
X3DOM (which uses JSONParser.js), but typically, JSON is loaded
through a URL on the web page. I don't want to overburden my
customers by forcing them to drop into JavaScript. There's also
a different interface for X_ITE as well, and also one can load
JSON through a URL on the web page.<br>
</p>
<p>I think there may still be some issues with HAnim, which need to
be addressed (skeleton field). I will work with you to get HAnim
working with X3DOM and X_ITE. I have many, may issues with Java
code generated from JSON in X3DJSONLD package. Fixing those may
help or hinder us from accomplishing our goals.<br>
</p>
<p>Thanks!</p>
<p>John<br>
</p>
<div class="moz-cite-prefix">On 10/31/21 20:45, Joseph D Williams
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:617f46f1.1c69fb81.1366b.4391SMTPIN_ADDED_MISSING@mx.google.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0in;}ul
{margin-bottom:0in;}</style>
<div class="WordSection1">
<p class="MsoNormal">Does anyone want to discuss SAI for
building a scenegraph from X3DJSON? What approaches are out
there?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Just wondering, or waking up, why would
there be a special SAI for use with json? All I thought I
needed was a way to reliably import/export nodes and
parameters ilnto a standard scenegraph using standard SAI
interfaces. <o:p></o:p></p>
<p class="MsoNormal">Sure, using external programming interfaces
to build a scene by authoring or importing nodes and
statements and structures is possible, but regardless the
scenegraph is built from nodes and statements that may be
emitted from and external and internal scripts activated when
the scene is initialized using the spec SAI. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">At this point I still think of the json as
a way to store some data and some organized way for import
into the x3d scenegraph using the spec interfaces for external
and external programming. Bite my lip, but why think of a
scenegraph built entirely for json? How can I say no way, too
verbose<span style="font-family:"Segoe UI
Emoji",sans-serif">😊</span>I don’t think there needs
to be a canonical form for a scene built from json, like for
x3d xml and x3d Classic. I think it is more appropriate to
think of the Json as imported into or from the scene and
integrated into the scenegraph to be accessible by SAI using
the existing SAI with the canonical user code in XML or
Classic (same interfaces for both).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks, <o:p></o:p></p>
<p class="MsoNormal">Joe<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div
style="mso-element:para-border-div;border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From:
</b><a href="mailto:joedwil@earthlink.net"
moz-do-not-send="true">Joseph D Williams</a><br>
<b>Sent: </b>Saturday, October 30, 2021 3:52 PM<br>
<b>To: </b><a href="mailto:yottzumm@gmail.com"
moz-do-not-send="true">John Carlson</a>; <a
href="mailto:brutzman@nps.edu" moz-do-not-send="true">Brutzman,
Donald (Don) (CIV)</a>; <a
href="mailto:x3d-public@web3d.org" moz-do-not-send="true"
class="moz-txt-link-freetext">x3d-public@web3d.org</a><br>
<b>Subject: </b>Re: [x3d-public] JSON Schema meeting
minutes</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo1">Is there a
modeling language which encompasses everything we want to do
with schemas and semantics?<o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We have a modeling language that
encompasses objects and object interactions in real time with
specific control of the time. At the most abstract is it
metaontologies connected to metadata connecting to real and
virtual objects with interactive event processing? <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo1">textual
SysML<o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Is any of this usable in x3d? Ports, parts,
and connectors to start. If it works then writing this
language could be a guide to showing flows and interactions in
simulations and realtime? <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For me, the JSON should be standardized
when it can be clearly shown to be an accurate set of rules
when transcoding between the XML, the Classic, and the JSON,
given the idea that the XML is the defining schema. That is,
for a given set of data, equivalent results can be produced to
and from equivalent data in other standard forms. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Now, for the SAI, are we past just system
of defining and validating syntax and data structures for
textual x3dscenegraphs and now are looking for connects
between these great achievements and some way to abstractly
define and validate event processing by the scene object and
internal and external objects composing the scene from
internal and external events? Then not only can be validate
the user code but also validate event processing without
actually having to run the thing. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">That is where the sysML comes in, maybe, is
laying out the hierarchy and structures of the processes and
flows in a project. Like showing that these two things are
things and when this thing is started, then this other thing
also should start, and if one takes too long then this should
happen. I think the x3d scengraph can precisely document
timing and event flows that the user has defined, so a
competent x3d authoring system should be able to validate the
syntax and structures and event flows and timing within the
scenegraph at any operating point. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Joe <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a
href="mailto:yottzumm@gmail.com" moz-do-not-send="true">John
Carlson</a><br>
<b>Sent: </b>Friday, October 29, 2021 3:18 PM<br>
<b>To: </b><a href="mailto:brutzman@nps.edu"
moz-do-not-send="true">Brutzman, Donald (Don) (CIV)</a>; <a
href="mailto:x3d-public@web3d.org" moz-do-not-send="true"
class="moz-txt-link-freetext">x3d-public@web3d.org</a><br>
<b>Subject: </b>Re: [x3d-public] JSON Schema meeting
minutes<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Note that encodings, bindings and schemas
are different things, except that bindings are starting to
look a lot like encodings now. JSON schema has not yet
achieved standardization, we are using draft 2020-12, and it
looks a bit like the JSON schema crew are having a bit of an
issue getting a standards body to endorse it. Since both
glTF and X3D could make use of a JSON schema standard, I
recommend that either Khronos and/or Web3d consortium suggest
a standards body to the JSON schema folks. Something like
ECMA seems like a natural fit.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Note that X3D JSON schema depends on JSON
schema for vocabulary.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In the early days of X3DJSON I looked for
something that would convert XML schema to JSON schema, but
it looked like any tool were were going to use would not
match what we were creating with X3D JSON. I don’t know if
there’s sufficient umph in XMLSpy to do it, but we might
consider a post-processing tool.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I may still have code around that
converts xsd to owl to vowl if anyone is interested.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Another place we might place effort is a
validating API for X3D JSON. I view that as a valuable
task, but I don’t have the personal passion or brainpower to
push it through. First things first. You probably
shouldn’t write parser without a specification.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">This is pretty much the 5th JSON schema
draft we’ve developed for, not counting all the X3D
versions.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">We have X3DJSONLD deployed in 2 browsers
and on sourceforge. Does anyone want to discuss SAI for
building a scenegraph from X3DJSON? What approaches are out
there?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">What’s worrying me is the lack of
expressively in X3DUOM compared to other schemas
(geoSystem, oneOf). Perhaps we should convert to a
textual SysML? Is there a modeling language which
encompasses everything we want to do with schemas and
semantics?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">John<o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Sent from my iPad<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On
Oct 25, 2021, at 2:10 AM, Brutzman, Donald (Don)
(CIV) <a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a> wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Hi Joe. The USE pattern we were
working on in the X3D JSON Schema was common to all
nodes, not just HAnim nodes. So no change of
functionality expected.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">We are always striving for
consistent expressive power for all the different
language bindings and file encodings.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">We have 3950 X3D Examples to
test. More are always welcome for the archives if
you think that further coverage is needed of some
capability.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">all the best, Don<br>
<span
style="font-size:10.0pt;font-family:"Courier
New"">-- <br>
Don Brutzman Naval Postgraduate School, Code
USW/Br <a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>
Watkins 270, MOVES Institute, Monterey CA
93943-5000 USA +1.831.656.2149<br>
X3D graphics, virtual worlds, Navy robotics <a
href="https://faculty.nps.edu/brutzman"
moz-do-not-send="true"
class="moz-txt-link-freetext">https://faculty.nps.edu/brutzman</a></span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a
href="mailto:joedwil@earthlink.net"
moz-do-not-send="true">Joseph D Williams</a><br>
<b>Sent: </b>Sunday, October 24, 2021 5:12 PM<br>
<b>To: </b><a href="mailto:yottzumm@gmail.com"
moz-do-not-send="true">John Carlson</a>; <a
href="mailto:brutzman@nps.edu"
moz-do-not-send="true">Brutzman, Donald (Don)
(CIV)</a><br>
<b>Cc: </b><a href="mailto:x3d-public@web3d.org"
moz-do-not-send="true">X3D Public Mailing List
(x3d-public@web3d.org)</a><br>
<b>Subject: </b>RE: [x3d-public] JSON Schema
meeting minutes<o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal">Hi John, Getting this to work
will help. Are you looking for examples to
validate, beginning with a .x3d file? <o:p></o:p></p>
<p class="MsoNormal">If I can include USE in the
HanimDisplacer pt. then I can include USE as
Interpolator key and value fields(?)<o:p></o:p></p>
<p class="MsoNormal">Including a USE in any of the
HAnim… nodes Joints, Segments, Sites is not going
to work unless, well, I can’t really see how it
would work in a ‘standard’ humanoid.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Joe<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a
href="mailto:yottzumm@gmail.com"
moz-do-not-send="true">John Carlson</a><br>
<b>Sent: </b>Sunday, October 24, 2021 11:44 AM<br>
<b>To: </b><a href="mailto:brutzman@nps.edu"
moz-do-not-send="true">Brutzman, Donald (Don)
(CIV)</a><br>
<b>Cc: </b><a
href="mailto:x3d-public@web3d.org"
moz-do-not-send="true">X3D Public Mailing List
(x3d-public@web3d.org)</a><br>
<b>Subject: </b>Re: [x3d-public] JSON Schema
meeting minutes<o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Don, schema is here, python
seems to be working with added metaschema checks.<br>
<br>
<a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcoderextreme%2FX3DJSONLD%2Ftree%2Fmaster%2Fsrc%2Fmain%2Fschema&data=04%7C01%7Cbrutzman%40nps.edu%7C51fbb182092b4d5bb02c08d9974c199c%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637707175517256956%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ZcklHNEBEtinlpnaTacqhx6dQUY2X0MYdh7vhMIRo1M%3D&reserved=0"
moz-do-not-send="true">https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/schema</a><o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Next on agenda is bpy to JSON
conversion, possibly with added GUI/X3D
conversion tool.<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">John<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Sent from my iPad<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="margin-bottom:12.0pt"> <o:p></o:p></p>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"
style="margin-bottom:12.0pt">On Oct 18,
2021, at 5:09 PM, Brutzman, Donald (Don)
(CIV) <a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a> wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">John and I reviewed his
latest schema today and discussed various
design considerations.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">His latest version,
generated by a Python program reading
X3DUOM, is found as follows:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0
level1 lfo2"><a class="moz-txt-link-freetext" href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-4.0-JSONSchema.json">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-4.0-JSONSchema.json</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Looking at the result
in Firefox was helpful because that has a
great way to look at JSON which allowed us
to iconize/expand (fold/unfold) as
needed. Excerpt follows.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">The result looks
great. One refinement John will handle:
for nodes with a USE field, no -children
nodes are permitted.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Once he has the next
version, I will check it into the
specifications directory (next to X3D XML
Schema and XML DOCTYPE).<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">At that point we are
ready to begin further validation efforts
using multivarious tools against the many
X3D examples in JSON, such as<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0
level1 lfo2"><a class="moz-txt-link-freetext" href="https://savage.nps.edu/Savage/GroundVehicles/Jeep/Jeep.json">https://savage.nps.edu/Savage/GroundVehicles/Jeep/Jeep.json</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Testing without regex
patterns is good for now. A prior version
had acceptable regex, so that appears to
be do-able.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Having fun with X3D
JSON! 8)<o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New""> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New"">all the best, Don</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New"">-- </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New"">Don Brutzman Naval
Postgraduate School, Code USW/Br
<a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New"">Watkins 270, MOVES
Institute, Monterey CA 93943-5000 USA
+1.831.656.2149</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New"">X3D graphics, virtual worlds,
navy robotics https://</span> <span
style="font-size:10.0pt;font-family:"Courier
New"">faculty.nps.edu/brutzman</span><o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:2.0in;margin-bottom:5.0pt;margin-left:2.0in"> <o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:.5in;margin-bottom:5.0pt;margin-left:.5in"> <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
</body>
</html>