<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Interchange' version='3.3'
  xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance'
  xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>

  <Scene>

    <Background skyColor="0.05 0.05 0.1"/>

    <NavigationInfo type='"EXAMINE" "ANY"' headlight="true"/>

    <Viewpoint description="Default" position="0 2 9" orientation="1 0 0 -0.22"/>

    <!-- Lighting -->
    <DirectionalLight direction="-1 -2 -1" intensity="0.8" color="0.8 0.85 1.0"/>
    <PointLight location="3 5 3" intensity="1.5" color="0.5 0.6 1.0" radius="25" attenuation="0 0 0.1"/>

    <!-- Animated orbit group -->
    <Transform DEF="ORBIT_GROUP">
      <TimeSensor DEF="TIMER" cycleInterval="7" loop="true"/>
      <OrientationInterpolator DEF="SPINNER"
        key="0 0.5 1"
        keyValue="0 1 0 0  0 1 0 3.14159  0 1 0 6.28318"/>
      <ROUTE fromNode="TIMER" fromField="fraction_changed" toNode="SPINNER" toField="set_fraction"/>
      <ROUTE fromNode="SPINNER" fromField="value_changed" toNode="ORBIT_GROUP" toField="set_rotation"/>

      <!-- Central Sphere -->
      <Transform translation="0 0 0">
        <Shape>
          <Appearance>
            <Material diffuseColor="0.2 0.4 0.9"
                      specularColor="0.7 0.8 1.0"
                      emissiveColor="0.02 0.05 0.2"
                      shininess="0.85"/>
          </Appearance>
          <Sphere radius="0.85"/>
        </Shape>
      </Transform>

      <!-- Red Box -->
      <Transform translation="2.4 0 0">
        <Shape>
          <Appearance>
            <Material diffuseColor="0.9 0.2 0.35"
                      specularColor="1.0 0.6 0.7"
                      emissiveColor="0.15 0.01 0.04"
                      shininess="0.75"/>
          </Appearance>
          <Box size="0.6 0.6 0.6"/>
        </Shape>
      </Transform>

      <!-- Green Cone -->
      <Transform translation="-2.4 0 0">
        <Shape>
          <Appearance>
            <Material diffuseColor="0.15 0.85 0.5"
                      specularColor="0.5 1.0 0.7"
                      emissiveColor="0.01 0.12 0.04"
                      shininess="0.7"/>
          </Appearance>
          <Cone height="1.0" bottomRadius="0.45"/>
        </Shape>
      </Transform>

      <!-- Yellow Cylinder -->
      <Transform translation="0 0 2.4">
        <Shape>
          <Appearance>
            <Material diffuseColor="1.0 0.75 0.1"
                      specularColor="1.0 0.95 0.6"
                      emissiveColor="0.15 0.1 0.0"
                      shininess="0.8"/>
          </Appearance>
          <Cylinder height="0.75" radius="0.3"/>
        </Shape>
      </Transform>

    </Transform>

    <!-- Ground disc -->
    <Transform translation="0 -1.4 0">
      <Shape>
        <Appearance>
          <Material diffuseColor="0.1 0.15 0.45"
                    specularColor="0.3 0.4 0.8"
                    shininess="0.5"
                    transparency="0.35"/>
        </Appearance>
        <Cylinder height="0.05" radius="3.5"/>
      </Shape>
    </Transform>

  </Scene>
</X3D>
