[x3d-public] Proposal for MetadataVersion (like MetadataSet), any number of dimensions

John Carlson yottzumm at gmail.com
Thu Apr 3 06:38:41 PDT 2025


Perhaps in general, it might be okay to provide an optional version field
along with every DEF/USE/id.

Well!

John

On Thu, Apr 3, 2025 at 8:34 AM John Carlson <yottzumm at gmail.com> wrote:

> I don’t think different versions of route nodes are necessary, but maybe!
>
> Sounds like a mess!
>
> John
> On Thu, Apr 3, 2025 at 8:27 AM John Carlson <yottzumm at gmail.com> wrote:
>
>> One can also think about providing different versions to prototypes and
>> protoinstances.
>>
>> Hmm!
>>
>> John
>>
>> On Thu, Apr 3, 2025 at 8:00 AM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> This seems relevant:
>>>
>>> https://3drepo.com/wp-content/uploads/2022/02/xml3drepo.pdf
>>>
>>> I’m interested in versioning some objects, not necessarily a whole
>>> document.   The question is, how to define a versioned collection of
>>> objects in an X3D encoding, particularly JSON.
>>>
>>> I’m also interested in temporal logic for a 3D graph (humanoid),
>>> potentially for HIPAA data.
>>>
>>> John
>>>
>>> On Thu, Apr 3, 2025 at 7:33 AM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>>> I’m thinking that adding a sequence or index field to MetadataVersion
>>>> may be appropriate, if not MetadataInteger..  Also, add a MetadataTime
>>>> node/statement as well, but a generic set of fields for metadata rears its
>>>> head  again, but I’m not doing it yet.
>>>>
>>>> Ideally, we could store events in a time series data store, potentially
>>>> gathered from multiple sources.   Scripts might do that, but a way to
>>>> replay events might be needed/ helpful.
>>>>
>>>> Traditional source code repositories are line oriented.  I’m aiming for
>>>> a versioned object store, like recording animation.   If a program is an
>>>> AST, I’m working on saving changes to the AST.
>>>>
>>>> Think about it.
>>>>
>>>> John
>>>>
>>>> On Wed, Apr 2, 2025 at 11:49 PM John Carlson <yottzumm at gmail.com>
>>>> wrote:
>>>>
>>>>> I want 2 more fields beyond MetadataSet, below.
>>>>>
>>>>> I want a MetadataVersion to call it out as different from MetadataSet.
>>>>>
>>>>> I realized that I can give the MetadataSet a "version" name.
>>>>>
>>>>> I also want to achieve a crontab-like or scheduling feature.
>>>>>
>>>>> Ideally, I could provide field-like nodes or statements for version information separate from axes.
>>>>>
>>>>> The idea is to create a vector-like object to maintain time series data
>>>>>
>>>>> and version data, and for building information, bill or materials, etc.  There may already be something in X3D,
>>>>>
>>>>> but I've not spotted it yet...CAD?
>>>>>
>>>>> The goal is to put this into a SQL database, such that I can input and output different versions of the JSON or JSON objects and arrays, watch the JSON change through time, etc.  The whole history of the document is stored.
>>>>>
>>>>>
>>>>> If the axes field is unacceptable, can we have a version field in MetadataSet?
>>>>>
>>>>>
>>>>> Basically, I need a way to separate version and dimensional data from ordinary MetadataSets.
>>>>>
>>>>> MetadataVersion: MetadataSet
>>>>>
>>>>> {
>>>>>
>>>>>   MFNode axes NULL [X3DMetadataObject]
>>>>>
>>>>>   MFString version '"0"'
>>>>>
>>>>> // Add everything from MetadataSet.
>>>>>
>>>>> // Default containerField is axes, not value or metadata.
>>>>> }
>>>>>
>>>>> Possible axes are below:
>>>>>
>>>>> <MetadataVersion version='"A"'>
>>>>>
>>>>> <MetadataVersion version='"1" "b"'>
>>>>>
>>>>> <MetadataInteger name="count" value="3"/>
>>>>>
>>>>> <MetadataDouble  name="quantity" value="3.5"/>
>>>>>
>>>>> <MetadataString  name="unit" value='"mg"'/>
>>>>>
>>>>> <MetadataDouble name="mg" value="0.4"/>
>>>>>
>>>>> <MetadataDouble name="x" value="1.0"/>
>>>>>
>>>>> <MetadataDouble name="y" value="4.0"/>
>>>>>
>>>>> <MetadataDouble name="z" value="9.0"/>
>>>>>
>>>>> <MetadataInteger name="century" value="2000"/>
>>>>>
>>>>> <MetadataInteger name="score" value="20"/>
>>>>>
>>>>> <MetadataInteger name="decade" value="20"/>
>>>>>
>>>>> <MetadataInteger name="year" value="2025"/>
>>>>>
>>>>> <MetadataInteger name="decade" value="20"/>
>>>>>
>>>>> <MetadataInteger name="month" value="4"/>
>>>>>
>>>>> <MetadataInteger name="fortnight" value="3"/>
>>>>>
>>>>> <MetadataInteger name="week" value="6"/>
>>>>>
>>>>> <MetadataInteger name="day" value="2"/>
>>>>>
>>>>> <MetadataInteger name="pm" value="10"/>
>>>>>
>>>>> <MetadataInteger name="24" value="22"/>
>>>>>
>>>>> <MetadataInteger name="minute" value="51"/>
>>>>>
>>>>> <MetadataInteger name="second" value="0"/>
>>>>>
>>>>> <MetadataDouble name="subsecond" value="0.0025"/>
>>>>>
>>>>> </MetadataVersion>
>>>>>
>>>>> </MetadataVersion>
>>>>>
>>>>>
>>>>>
>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250403/dc886f36/attachment.html>


More information about the x3d-public mailing list