[x3d-public] Inlining, importing higher profiles

Leonard Daly Leonard.Daly at realism.com
Tue Mar 12 11:40:14 PDT 2019


Andreas,

It's in 
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#X3DUrlObject

4th paragraph (edited):

    It shall be an error to specify a file in the URL field that has a
    set of component definitions that is not a subset of the components
    of the containing world. In addition, the components shall not be of
    a higher support level than those used by the containing world....
    When the world indicated by the /url/ field requests capabilities
    greater than its parent, the following actions shall occur:

      * an error shall be generated,
      * the URL shall be treated as not interpretable as specified in
        9.3.2 /X3DUrlObject/
        <http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#X3DUrlObject>,
        and
      * the next URL shall be loaded and checked in accordance with 9.2
        Concepts
        <http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#Concepts>.

    For more information on URLs, see 9.2.1 URLs
    <http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#URLs>.



This was based on design decisions ~20 years ago. The WG explicitly 
considered lazy loading and decided that the optimizations available at 
the beginning of the file overrode the feature of increasing support 
(profile or component) later on. Nothing prevents a browser from lazing 
loading capabilities, but it's suppose to limit that to what was 
originally declared.


Leonard Daly


> X-ITE is now loading support for some, less common components on
> demand, eg. depending on profile and component statements in a scene.
> This may lead to consequences on how external SAI and Inline are
> treated which I want to clarify. I came across this since it affects
> my dom bridge.
>
> The question is if inlining or importing a Scene requiring a higher
> profile (say Full) into a scene with a lower profile (say Interactive)
> should be possible, eg. have the browser accept the higher profile
> nodes.
>
> The answer seems like the browser should just work with the higher
> profile nodes, in both cases, Inline and
> browser.replaceWorld(new_scene). But I could not find guidance in the
> spec. and X-ITE currently does not do that since it only seems to load
> needed components on loading of the initial scene.
>
> The more common scenario is a higher profile Inline, which is using
> say geospatial nodes, being inlined into a lower profile scene. I
> think not specifying a profile for a scene just means the browser
> should use its highest level of support since the point of profiles is
> that a browser can warn or reject if it cannot support a scene. Is
> that the main point ?
>
> A question in this case is if SAI properties Scene.components or
> Scene.profile should then report the elevated, higher level or the
> original level.
> Due to on-demand loading of additional libraries, there is some logic
> for a browser to not support higher profiles in Inlines although it
> could. Should there be a directive in the spec, to clarify that this
> kind of elevating should be supported anyways, or should a decision be
> left to the browser ?
>
> For the dom bridge I use the importDocument and replaceWorld browser
> services, for initial loading into a default empty Scene.
> Since here the new scene completely replaces the old scene, there is
> really no reason why a higher profile could not replace a lower
> profile scene. But perhaps I am overlooking something since X-ITE does
> not allow it ? Should this be explicitly allowed in the spec. ?
> Here is a github issue: https://github.com/create3000/x_ite/issues/43
>
>
>
>
>

-- 
*Leonard Daly*
3D Systems & Cloud Consultant
LA ACM SIGGRAPH Past Chair
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190312/177a2600/attachment.html>


More information about the x3d-public mailing list