# A-Frame & VWF simple scene
# Copyright 2017 Krestianstvo.org project
# Christmas tree model by 14islands Lab Made with Blocks Public / Remixable (CC-BY) https://poly.google.com/view/2VSoAQN6JoH
---
extends: http://vwf.example.com/aframe/ascene.vwf
properties:
  transparent: true
  assets: "assets.json"
children:
  sky:
    extends: http://vwf.example.com/aframe/asky.vwf
    properties:
    children:
      material:
        extends: http://vwf.example.com/aframe/aMaterialComponent.vwf
        properties:
          color: "#ECECEC"
          side: "back"
          fog: false
  myLightSG:
    extends: http://vwf.example.com/aframe/alight.vwf
    properties:
      type: "directional"
      color: "white"
      position: "6 22 6"
      rotation: "-77 85 64"
  myLightSB:
    extends: http://vwf.example.com/aframe/alight.vwf
    properties:
      type: "spot"
      color: "blue"
      position: "0 5 -25"
      rotation: "0 0 150"
  myLightSR:
    extends: http://vwf.example.com/aframe/alight.vwf
    properties:
      type: "spot"
      color: "red"
      position: "0 5 -25"
      rotation: "0 -3 150"
  model:
    extends: http://vwf.example.com/aframe/aobjmodel.vwf
    properties:
      src: "#nwtree-obj"
      mtl: "#nwtree-mtl"
      position: "-1 6 -25"
      rotation: "0 -45 0"
      scale: "20 20 20"
    children:
      interpolation:
        extends: http://vwf.example.com/aframe/interpolation-component.vwf
        properties:
          enabled: true
    methods:
          run:
            body: |
              var time = vwf.now;
              let rot = AFRAME.utils.coordinates.parse(this.rotation);
              this.rotation = [rot.x, Math.sin(time)*50, rot.z];
              this.future( 0.01 ).run();  // schedule the next step
  spaceText:
    extends: http://vwf.example.com/aframe/atext.vwf
    properties:
      value: "Happy New Year 2018!"
      color: "#d5ebda"
      position: "-19 5 -30"
      rotation: "0 0 45"
      scale: "9 9 9"
  spaceText2:
    extends: http://vwf.example.com/aframe/atext.vwf
    properties:
      value: "Project by Krestianstvo.org"
      color: "#305b32"
      position: "5 10 -30"
      scale: "5 5 5"
  box:
    extends: http://vwf.example.com/aframe/abox.vwf
    properties:
      position: "10 0.5 0"
      rotation: "0 -30 0"
      depth: 2
      height: 5
      width: 2
    children:
      material:
        extends: http://vwf.example.com/aframe/aMaterialComponent.vwf
        properties:
          color: "#3c7249"
  sphere:
    extends: http://vwf.example.com/aframe/asphere.vwf
    properties:
      position: "7 15 -25"
      radius: 5
    children:
      material:
        extends: http://vwf.example.com/aframe/aMaterialComponent.vwf
        properties:
          color: "#e0e014"
          wireframe: true
  box2:
    extends: http://vwf.example.com/aframe/abox.vwf
    properties:
      position: "0 0 -35"
      rotation: "0 0 0"
      depth: 1
      height: 50
      width: 50
    children:
      material:
        extends: http://vwf.example.com/aframe/aMaterialComponent.vwf
        properties:
          color: "white"
  groundPlane:
    extends: http://vwf.example.com/aframe/aplane.vwf
    properties:
      height: 100
      width: 100
      rotation: "-90 0 0"
    children:
      material:
        extends: http://vwf.example.com/aframe/aMaterialComponent.vwf
        properties:
          color: "white"
          wireframe: false
          src: "#bg2"
          repeat: "10 10"
  multicam:
      extends: http://vwf.example.com/aframe/abox.vwf
      properties:
        position: "0 4 -2"
        rotation: "0 0 0"
        depth: 0.5
        height: 0.5
        width: 0.5
      children:
        material:
          extends: http://vwf.example.com/aframe/aMaterialComponent.vwf
          properties:
            opacity: 0.5
            transparent: true
            color: "green"
        interpolation:
          extends: http://vwf.example.com/aframe/interpolation-component.vwf
          properties:
            enabled: true
        camera1:
          extends: http://vwf.example.com/aframe/offsetcamera.vwf
        camera2:
          extends: http://vwf.example.com/aframe/offsetcamera.vwf
methods:
  initialize:
    body: |
          console.log("initializing...");
          this.children.multicam.camera1.createCamera(3000, 2000, 0, 0, 1500, 2000);
          this.children.multicam.camera2.createCamera(3000, 2000, 1500, 0, 1500, 2000);