[x3d-public] IDL for networking, based on messaging/chat/etc

John Carlson yottzumm at gmail.com
Fri Aug 20 16:29:01 PDT 2021


This looks promising for multi-user editing:

https://netbeans.apache.org/kb/docs/ide/team-servers.html

Here's an reimagining of the Message protocol class I used for Lircom 
for use with X3D, for possible usage in a Multi-user system.

class Message (not sure what to extend)

     MFString to  (required)

     SFString from (some implementations may require)

     SFString addressingLanguage (many choices here, X3D Routes, IRC, 
UDP, TCP, URL, RFC822, LIRCOM, RTP, WebRTC, etc.)

     SFString action (like POST, GET, PUT, DELETE, MSG, NOTICE)

     SFString actionLanguage (protocol: REST, HTTP, WebDAV, SMTP, XMPP, 
FTP, SFTP, etc.)

     SFString actionVersion (may be included in actionLanguage)

     MFString message

     SFString messageLanguage (could be a domain-specific language)

     MFNode nodes

     SFString nodeEncoding

     SFString error

     SFString errorLanguage

     SFTime timestamp.

     SF32Int sequenceNumber

     SF32Int sequenceWatermark (highest generated message 
sequenceNumber+1 in this process--probably hidden in implementation)

What I'm trying to say is, I'm reinventing MIME, XMPP and HTTP, except 
we use an X3D encoding. We might want to negotiate which languages or 
encodings are acceptable, like HTTP headers. We may want to add headers, 
like MIME and HTTP.

This uses ordinary fields and nodes, and I don't see any reason to 
extend the structure with a extendable large number of fields.

Would this become a useful adjunct to DIS?

Maybe I should look up and see how XMPP does it?

Has X3D over XMPP been done?  Yep! 
https://savage.nps.edu/X3D-Edit/XmppChatCollaborationModule.html 
additional chat resources here: 
https://savage.nps.edu/Savage/developers.html#Chat

As mentioned on those pages, there were working multi-user editors in 
X3D-Edit (yes, I tried them, and they were cool!). I do not see any 
reason why a similar effort might accomplish the same thing.  I do 
believe that most of the work was done by the NetBeans team to create 
collaborative editing (and maybe they broke patents and had to stop 
supporting?).

What I haven't figured out is how to separate Avatars from the model 
file, but perhaps DIS has some security!

John




More information about the x3d-public mailing list