function(args) {
/*
is_app(true)
control_type("VB")
display_name("3d control")
description("This will return the 3d container control")
base_component_id("threedee_control")
load_once_from_file(true)
visibility("PRIVATE")
read_only(true)
properties(
    [
        {
            id:     "text",
            name:   "Text",
            type:   "String"
        }
        ,
        {
            id:     "background_color",
            name:   "Background color",
            type:   "String"
        }
        ,
        {
            id:         "is_container",
            name:       "Is Container?",
            type:       "Boolean",
            default:    true,
            hidden:     true
        }
        ,
        {
            id:         "hide_children",
            name:       "Hide Children?",
            type:       "Boolean",
            default:    true,
            hidden:     true
        }
        ,

        {
            id:         "has_details_ui",
            name:       "Has details UI?",
            type:       "Boolean",
            default:    true,
            hidden:     true
        }
    ]
)//properties
logo_url("/driver_icons/threedee_control.png")
*/

    Vue.component("threedee_control",{
      props: ["args","design_mode", "refresh", "children"]
      ,
      template: `<div   style='padding: 10px;'
                        v-bind:refresh='refresh'>

                    <div    v-bind:style='"width:100%;"'
                            v-if='design_mode == "detail_editor"'>
                        Detail editor
                    </div>



                      <div v-bind:style='"width:" + args.width + "; height: " + args.height + ";"'>


                          <a-scene  v-bind:id='(design_mode?"design_scene":"scene")'
                                    v-bind:ref='(design_mode?"design_scene":"scene")'
                                    physics-world=""
                                    physics="debug: false"
                                    style='width: 80%; height: 80%;'
                                    embedded
                                    allowvr="yes"
                                    v-bind:refresh='refresh'>

                              <a-entity geometry="primitive: sphere; radius: 100"
                                        material="color: #74DEED; shader: flat"
                                        v-bind:refresh='refresh'
                                        scale="1 1 -1">
                              </a-entity>

                              <a-entity geometry="primitive: box; depth: 50; height: 0.1; width: 50"
                                        material="color: #2E3837"
                                        v-bind:refresh='refresh'
                                        static-body
                                        physics-body="mass: 0; boundingBox: 50 0.1 50" position="0 0 -10"></a-entity>

                              <a-entity camera look-controls wasd-physics-controls
                                        v-bind:refresh='refresh'
                                        physics-body="mass: 0; boundingBox: 1 1.8 1"
                                        position="0 5 0">
                              </a-entity>

                                <slot v-bind:refresh='refresh'>
                                </slot>

                        </a-scene>
                    </div>

                 </div>`
                 ,




        mounted: function() {
            if (!this.design_mode) {
                //var scene = document.querySelector('a-scene');
                //if (isValidObject(scene)) {
                    //scene.addEventListener('click', function () {

                        // Apply impulse;
                        //setTimeout(function () {
                            //var box = document.getElementById('left-box');
                            //var impulse = { x: 0, y: 10, z: 0 };
                            //var point = { x: 0.5, y: 0, z: 0 };
                            //box['physics-body'].applyImpulse(impulse, point);
                        //}, 25);
                    //});
                //}

            }
        }
      ,
      data: function() {
          return {
              msg: "Hello Yazz!"
          }
      }
    })
}

@@ -1444,16 +1444,28 @@
 th:100%25;
+height:40vh;
 %22'%0A     
@@ -1564,16 +1564,858 @@
  editor%0A
+                        %3Cdiv    v-bind:style='%22border:1px solid gray; padding: 10px;display:flex;%22'%0A                                v-for='(child_item,index)  in  children'%3E%0A                            %3Cdiv%3E%7B%7Bchild_item.name%7D%7D%3C/div%3E%0A                            %3Cdiv     class='btn btn-danger'%0A                                     v-bind:style='%22box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 8px 0px, rgba(0, 0, 0, 0.19) 0px 6px 20px 0px;padding:0px; z-index: 2147483647;opacity:1;%22  +%0A                                                   %22width: 20px; height: 20px; line-height:20px;text-align: center;vertical-align: middle;margin-left: 20px;%22'%0A                                     v-on:click='$event.stopPropagation();deleteComponent(index)'%3E%0A%0A                                    X%0A%0A                            %3C/div%3E%0A                        %3C/div%3E%0A
         
@@ -5066,24 +5066,138 @@
   %7D%0A      ,%0A
+      methods:%0A      %7B%0A          deleteComponent: function() %7B%0A              alert(1)%0A          %7D%0A      %7D%0A      ,%0A
       data: 

Add a delete button to the 3d control