﻿<?xml version="1.0" encoding="UTF-8"?>
<X3D profile="Immersive"  version="3.1">
    <Transform>
        <MetadataSet name='Template'>
            <MetadataString containerField='value' name='TemplateID' value='"PageCurlDownRightTransitionTemplate"'/>
            <MetadataInteger containerField='value' name='TemplateKind' value='3'/>
            <MetadataString containerField='value' name='TimeDependentNode' value='""'/>
            <MetadataString containerField='value' name='TemplateTitle' value='"@"'/>
            <MetadataString containerField='value' name='TemplateCategory' value='"Sweeps and Curls"'/>
            <MetadataString containerField='value' name='TemplateThumbnailPath' value='""'/>
            <MetadataInteger containerField='value' name='TemplateSubType' value='2'/>
            <MetadataInteger containerField='value' name='TemplateEffectKind' value='3'/>
            <MetadataInteger containerField='value' name='TransitionCompatibility' value='2'/>
        </MetadataSet>

        <!--OUT Sockets -->
        <Transform>
            <MetadataSet DEF='OutSockets'>

                <MetadataSet containerField='value' name='OutSocket'>
                    <MetadataString containerField='value' name='socketName' value='"grid"'/>
                    <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
                    <MetadataString containerField='value' name='socketConnectToExtent' value='"previous"'/>
                    <MetadataString containerField='value' name='socketChildNodeDEF' value='"PageCurlGrid"'/>
                </MetadataSet>

                <MetadataSet containerField='value' name='OutSocket'>
                    <MetadataString containerField='value' name='socketName' value='"appearanceShader"'/>
                    <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
                    <MetadataString containerField='value' name='socketConnectToExtent' value='"previous"'/>
                    <MetadataString containerField='value' name='socketChildNodeDEF' value='"PageCurlShader"'/>
                </MetadataSet>

            </MetadataSet>
        </Transform>

        <!--IN sockets -->
        <Transform>
            <MetadataSet DEF='InSockets'>

                <MetadataSet containerField='value' name='InSocket'>
                    <MetadataString containerField='value' name='socketName' value='"transitionTimer"'/>
                    <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
                    <MetadataString containerField='value' name='socketParentDEF' value='"PageCurlInterpolator"'/>
                    <MetadataString containerField='value' name='socketConnectAttribute' value='"set_fraction"'/>
                </MetadataSet>

            </MetadataSet>
        </Transform>

        <!--Socket Nodes scratch pad (only nodes with def's are injected)-->
        <Transform>
            <Shape>
                <Appearance>
                    <GridShader DEF="PageCurlShader"/>
                </Appearance>
                <PageCurlGrid DEF="PageCurlGrid"
                              autoFadeStart=".9"
                              clipProgress="true"
                              maxParticles="400"
                              size ="8 6"
                              type="downRight"/>
            </Shape>
        </Transform>

        <!--Nodes that need to be injected-->
        <Transform DEF='InjectSet'>
            <ScalarInterpolator DEF='PageCurlInterpolator' key='0 1' keyValue='0 1'/>
            <ROUTE fromNode='PageCurlInterpolator' fromField='value_changed' toNode='PageCurlShader' toField='set_fraction'/>
        </Transform>

    </Transform>
</X3D>
