{“ast”:null,“code”:“// import * as THREE from '../build/three.module.js';nimport * as THREE from 'three';nimport { OrbitControls } from './kmz/jsm/controls/OrbitControls.js';nimport { KMZLoader } from './kmz/jsm/loaders/KMZLoader.js';nimport * as _ from 'lodash';nvar camera, scene, renderer, cube;ninit();nnfunction init() {n scene = new THREE.Scene();n var geometry = new THREE.BoxGeometry(100, 100, 100);n var material = new THREE.MeshBasicMaterial({n color: 0x00ff00n }); // §nn cube = new THREE.Mesh(geometry, material);n scene.add(cube);n scene.background = new THREE.Color(0x999999);n var light = new THREE.DirectionalLight(0xffffff);n light.position.set(0.5, 1.0, 0.5).normalize();n scene.add(light);n camera = new THREE.PerspectiveCamera(35, window.innerWidth / window.innerHeight, 1, 500);n camera.position.y = 5;n camera.position.z = 10;n scene.add(camera);n var grid = new THREE.GridHelper(50, 50, 0xffffff, 0x555555);n scene.add(grid);n renderer = new THREE.WebGLRenderer({n antialias: truen });n renderer.setPixelRatio(window.devicePixelRatio);n renderer.setSize(window.innerWidth, window.innerHeight);n document.body.appendChild(renderer.domElement);n var loader = new KMZLoader(); // 2 or 1nn loader.load('/kmz_models/1.kmz', function (kmz) {n kmz.scene.position.y = 0.5;n scene.add(kmz.scene);n render();n });n var controls = new OrbitControls(camera, renderer.domElement);n controls.addEventListener('change', render);n controls.update();n window.addEventListener('resize', onWindowResize, false);n}nnfunction onWindowResize() {n camera.aspect = window.innerWidth / window.innerHeight;n camera.updateProjectionMatrix();n renderer.setSize(window.innerWidth, window.innerHeight);n render();n}nnfunction render() {n renderer.render(scene, camera);n}nn$(document).on('eZii/moveCube', function (e) {n // would be cool to ddo the following using a small neural network like rubygemms brainzn // then the layeres of the network could be be printedn // and understdoon // maybe by converting them to markov chains // What are hiddden markov chains?n var dIRECTION_INDDEX_PRE_BRAINZ = {n 'north': [1, 0, 0, 0, 0, 0, 0, 0],n 'east': [0, 1, 0, 0, 0, 0, 0, 0],n 'south': [0, 0, 1, 0, 0, 0, 0, 0],n 'west': [0, 0, 0, 1, 0, 0, 0, 0],n 'nearest_poi': [0, 0, 0, 0, 1, 0, 0, 0],n 'sraight': [0, 0, 0, 0, 0, 1, 0, 0],n 'stand_still': [0, 0, 0, 0, 0, 0, 1, 0],n 'next_poi': [0, 0, 0, 0, 0, 0, 0, 1]n };nn function dIRECTION_INDDEX_POST_BRAINZ(a) {n debugger;n if (_.isEqual(a, [1, 0, 0, 0, 0, 0, 0, 0])) return 'east';n if (_.isEqual(a, [0, 1, 0, 0, 0, 0, 0, 0])) return 'east'; // if b ? ⚕nn if (_.isEqual(a, [0, 0, 1, 0, 0, 0, 0, 0])) return 'east';n if (_.isEqual(a, [0, 0, 0, 1, 0, 0, 0, 0])) return 'west';n if (_.isEqual(a, [0, 0, 0, 0, 1, 0, 0, 0])) return 'west';n if (_.isEqual(a, [0, 0, 0, 0, 0, 1, 0, 0])) return 'west';n if (_.isEqual(a, [0, 0, 0, 0, 0, 0, 1, 0])) return 'south';n if (_.isEqual(a, [0, 0, 0, 0, 0, 0, 0, 1])) return 'west';n }nn var direction_index_pre = dIRECTION_INDDEX_PRE_BRAINZ;n var direction_index = dIRECTION_INDDEX_POST_BRAINZ(direction_index_pre);nn switch (direction_index) {n case 'north':n cube.position.z -= 10; // probablly reversed because of initial "LOOK_AT" of this scene §CHANGE_SOONnn break;nn case 'east':n cube.position.x += 10;n break;nn case 'south':n cube.position.z += 10; // probablly reversed because of initial "LOOK_AT" of this scene §CHANGE_SOONnn break;nn case 'west':n cube.position.x -= 10;n break;n }nn render();n});nnfunction moveCube(cardinalPoint) {n cube.position.z += 1;n}”,“map”:{“version”:3,“sources”:[“/Users/lemonandroid/Banal Dropbox/random/redux-os/app/javascript/packs/kmz.js.erb”],“names”:,“mappings”:“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”,“sourcesContent”:[“n// import * as THREE from '../build/three.module.js';nimport * as THREE from 'three';nimport { OrbitControls } from './kmz/jsm/controls/OrbitControls.js';nimport { KMZLoader } from './kmz/jsm/loaders/KMZLoader.js';nnimport * as _ from 'lodash';nnnvar camera, scene, renderer, cube;ninit();nfunction init() {ntscene = new THREE.Scene();ntntvar geometry = new THREE.BoxGeometry( 100, 100, 100 );ntvar material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );ntnt// §ntcube = new THREE.Mesh( geometry, material );ntscene.add( cube );ntntntscene.background = new THREE.Color( 0x999999 );ntvar light = new THREE.DirectionalLight( 0xffffff );ntlight.position.set( 0.5, 1.0, 0.5 ).normalize();ntscene.add( light );ntcamera = new THREE.PerspectiveCamera( 35, window.innerWidth / window.innerHeight, 1, 500 );ntcamera.position.y = 5;ntcamera.position.z = 10;ntscene.add( camera );ntvar grid = new THREE.GridHelper( 50, 50, 0xffffff, 0x555555 );ntscene.add( grid );ntrenderer = new THREE.WebGLRenderer( { antialias: true } );ntrenderer.setPixelRatio( window.devicePixelRatio );ntrenderer.setSize( window.innerWidth, window.innerHeight );ntdocument.body.appendChild( renderer.domElement );ntvar loader = new KMZLoader();ntnt// 2 or 1ntloader.load( '/kmz_models/1.kmz', function ( kmz ) {nttkmz.scene.position.y = 0.5;nttscene.add( kmz.scene );nttrender();nt} );ntvar controls = new OrbitControls( camera, renderer.domElement );ntcontrols.addEventListener( 'change', render );ntcontrols.update();ntwindow.addEventListener( 'resize', onWindowResize, false );n}nfunction onWindowResize() {ntcamera.aspect = window.innerWidth / window.innerHeight;ntcamera.updateProjectionMatrix();ntrenderer.setSize( window.innerWidth, window.innerHeight );ntrender();n}nfunction render() {ntrenderer.render( scene, camera );n}nnn$(document).on('eZii/moveCube', function(e) {nt// would be cool to ddo the following using a small neural network like rubygemms brainznt// then the layeres of the network could be be printednt// and understdoont// maybe by converting them to markov chains // What are hiddden markov chains?ntntnntconst dIRECTION_INDDEX_PRE_BRAINZ = {ntt'north': [1, 0, 0, 0, 0, 0, 0, 0],ntt'east': [0, 1, 0, 0, 0, 0, 0, 0],ntt'south': [0, 0, 1, 0, 0, 0, 0, 0],ntt'west': [0, 0, 0, 1, 0, 0, 0, 0],ntt'nearest_poi': [0, 0, 0, 0, 1, 0, 0, 0],ntt'sraight': [0, 0, 0, 0, 0, 1, 0, 0],ntt'stand_still': [0, 0, 0, 0, 0, 0, 1, 0],ntt'next_poi': [0, 0, 0, 0, 0, 0, 0, 1],nt}nnntfunction dIRECTION_INDDEX_POST_BRAINZ(a) {nttdebugger;nttif(_.isEqual(a, [1, 0, 0, 0, 0, 0, 0, 0])) return 'east';nttif(_.isEqual(a, [0, 1, 0, 0, 0, 0, 0, 0])) return 'east';// if b ? ⚕nttif(_.isEqual(a, [0, 0, 1, 0, 0, 0, 0, 0])) return 'east';nttif(_.isEqual(a, [0, 0, 0, 1, 0, 0, 0, 0])) return 'west';nttif(_.isEqual(a, [0, 0, 0, 0, 1, 0, 0, 0])) return 'west';nttif(_.isEqual(a, [0, 0, 0, 0, 0, 1, 0, 0])) return 'west';nttif(_.isEqual(a, [0, 0, 0, 0, 0, 0, 1, 0])) return 'south';nttif(_.isEqual(a, [0, 0, 0, 0, 0, 0, 0, 1])) return 'west';nnt}nnntlet direction_index_pre = dIRECTION_INDDEX_PRE_BRAINZntlet direction_index = dIRECTION_INDDEX_POST_BRAINZ(direction_index_pre)nntswitch (direction_index) {ntcase 'north':ntttcube.position.z -= 10; // probablly reversed because of initial "LOOK_AT" of this scene §CHANGE_SOONnttbreak;ntcase 'east':ntttcube.position.x += 10;nttbreak;ntcase 'south':ntttcube.position.z += 10; // probablly reversed because of initial "LOOK_AT" of this scene §CHANGE_SOONnttbreak;ntcase 'west':ntttcube.position.x -= 10;nttbreak;nt}nnntrender()n})nnfunction moveCube(cardinalPoint) {ntcube.position.z += 1;n}”]},“metadata”:{},“sourceType”:“module”}