Permalink
Browse files

Initial project commit

  • Loading branch information...
0 parents commit 0f0aca33383a849cb4f50e551320b902d23b0c38 @grahamgilchrist committed May 11, 2012
Showing with 1,951 additions and 0 deletions.
  1. +60 −0 config.rb
  2. +24 −0 index.html
  3. 0 sass/screen.sass
  4. +12 −0 scripts/csshover.htc
  5. +49 −0 scripts/init.js
  6. +729 −0 scripts/lib/Three.js
  7. +96 −0 scripts/lib/pie.htc
  8. +981 −0 scripts/lib/underscore.js
@@ -0,0 +1,60 @@
+# Require any additional compass plugins here.
+def is_linux?
+ RUBY_PLATFORM.downcase.include?('linux')
+end
+
+def is_mac?
+ RUBY_PLATFORM.downcase.include?('darwin')
+end
+
+if is_mac?
+ begin
+ require 'compass-growl'
+ rescue LoadError
+ puts "compass-growl missing: `gem install compass-growl`"
+ end
+end
+
+if is_linux?
+ # This might throw a fit because of the icon paths... can't test that so easily though.
+ # At the time of writing (2011-11-16) the paths existed on Charlie's machine.
+ # Taken from https://gist.github.com/1195687
+ begin
+ require 'libnotify'
+
+ # success callback
+ on_stylesheet_saved do |filename|
+ #Libnotify.show :summary => "#{File.basename(filename)}", :body => "Updated", :icon_path => "/usr/share/icons/gnome/256x256/actions/view-refresh.png"
+ end
+
+ # error callback
+ on_stylesheet_error do |filename, message|
+ Libnotify.show :summary => "#{File.basename(filename)}", :body => "#{message}", :icon_path => "/usr/share/icons/gnome/256x256/actions/edit-delete.png"
+ end
+ rescue LoadError
+ puts 'libnotify missing: `sudo apt-get install libnotify && sudo gem install libnotify`'
+ end
+end
+
+# Set this to the root of your project when deployed:
+http_path = "/"
+css_dir = "styles"
+sass_dir = "sass"
+images_dir = "images"
+javascripts_dir = "scripts"
+
+# You can select your preferred output style here (can be overridden via the command line):
+# output_style = :expanded or :nested or :compact or :compressed
+
+# To enable relative paths to assets via compass helper functions. Uncomment:
+# relative_assets = true
+
+# To disable debugging comments that display the original location of your selectors. Uncomment:
+# line_comments = false
+
+
+# If you prefer the indented syntax, you might want to regenerate this
+# project again passing --syntax sass, or you can uncomment this:
+# preferred_syntax = :sass
+# and then run:
+# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
+ <meta name="apple-mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-status-bar-style" content="black" />
+
+ <title>3D test</title>
+
+ <link rel="stylesheet" type="text/css" charset="utf-8" href="styles/screen.css">
+
+ <script charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
+ <script charset="utf-8" src="scripts/lib/underscore.js"></script>
+ <script charset="utf-8" src="scripts/lib/Three.js"></script>
+ <script charset="utf-8" src="scripts/init.js"></script>
+
+</head>
+
+<body>
+ <h1>hi</h1>
+</body>
+</html>
No changes.
@@ -0,0 +1,12 @@
+<public:attach event="ondocumentready" onevent="CSSHover()" />
+<script>
+/**
+ * Whatever:hover - V3.11
+ * http://www.xs4all.nl/~peterned/
+ *
+ * Copyright (c) 2009 Peter Nederlof
+ * Licensed under the LGPL license
+ * http://creativecommons.org/licenses/LGPL/2.1
+ */
+window.CSSHover=(function(){var m=/(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active|focus))/i;var n=/(.*?)\:(hover|active|focus)/i;var o=/[^:]+:([a-z\-]+).*/i;var p=/(\.([a-z0-9_\-]+):[a-z]+)|(:[a-z]+)/gi;var q=/\.([a-z0-9_\-]*on(hover|active|focus))/i;var s=/msie (5|6|7)/i;var t=/backcompat/i;var u={index:0,list:['text-kashida','text-kashida-space','text-justify'],get:function(){return this.list[(this.index++)%this.list.length]}};var v=function(c){return c.replace(/-(.)/mg,function(a,b){return b.toUpperCase()})};var w={elements:[],callbacks:{},init:function(){if(!s.test(navigator.userAgent)&&!t.test(window.document.compatMode)){return}var a=window.document.styleSheets,l=a.length;for(var i=0;i<l;i++){this.parseStylesheet(a[i])}},parseStylesheet:function(a){if(a.imports){try{var b=a.imports;var l=b.length;for(var i=0;i<l;i++){this.parseStylesheet(a.imports[i])}}catch(securityException){}}try{var c=a.rules;var r=c.length;for(var j=0;j<r;j++){this.parseCSSRule(c[j],a)}}catch(someException){}},parseCSSRule:function(a,b){var c=a.selectorText;if(m.test(c)){var d=a.style.cssText;var e=n.exec(c)[1];var f=c.replace(o,'on$1');var g=c.replace(p,'.$2'+f);var h=q.exec(g)[1];var i=e+h;if(!this.callbacks[i]){var j=u.get();var k=v(j);b.addRule(e,j+':expression(CSSHover(this, "'+f+'", "'+h+'", "'+k+'"))');this.callbacks[i]=true}b.addRule(g,d)}},patch:function(a,b,c,d){try{var f=a.parentNode.currentStyle[d];a.style[d]=f}catch(e){a.runtimeStyle[d]=''}if(!a.csshover){a.csshover=[]}if(!a.csshover[c]){a.csshover[c]=true;var g=new CSSHoverElement(a,b,c);this.elements.push(g)}return b},unload:function(){try{var l=this.elements.length;for(var i=0;i<l;i++){this.elements[i].unload()}this.elements=[];this.callbacks={}}catch(e){}}};var x={onhover:{activator:'onmouseenter',deactivator:'onmouseleave'},onactive:{activator:'onmousedown',deactivator:'onmouseup'},onfocus:{activator:'onfocus',deactivator:'onblur'}};function CSSHoverElement(a,b,c){this.node=a;this.type=b;var d=new RegExp('(^|\\s)'+c+'(\\s|$)','g');this.activator=function(){a.className+=' '+c};this.deactivator=function(){a.className=a.className.replace(d,' ')};a.attachEvent(x[b].activator,this.activator);a.attachEvent(x[b].deactivator,this.deactivator)}CSSHoverElement.prototype={unload:function(){this.node.detachEvent(x[this.type].activator,this.activator);this.node.detachEvent(x[this.type].deactivator,this.deactivator);this.activator=null;this.deactivator=null;this.node=null;this.type=null}};window.attachEvent('onbeforeunload',function(){w.unload()});return function(a,b,c,d){if(a){return w.patch(a,b,c,d)}else{w.init()}}})();
+</script>
@@ -0,0 +1,49 @@
+(function () {
+ var camera,
+ scene,
+ renderer,
+ geometry,
+ material,
+ mesh;
+
+ function init() {
+
+ scene = new THREE.Scene();
+
+ camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
+ camera.position.z = 1000;
+ scene.add( camera );
+
+ geometry = new THREE.CubeGeometry( 200, 200, 200 );
+ material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
+
+ mesh = new THREE.Mesh( geometry, material );
+ scene.add( mesh );
+
+ renderer = new THREE.CanvasRenderer();
+ renderer.setSize( window.innerWidth, window.innerHeight );
+
+ document.body.appendChild( renderer.domElement );
+
+ }
+
+ function animate() {
+
+ // note: three.js includes requestAnimationFrame shim
+ requestAnimationFrame( animate );
+ render();
+
+ }
+
+ function render() {
+
+ mesh.rotation.x += 0.01;
+ mesh.rotation.y += 0.02;
+
+ renderer.render( scene, camera );
+
+ }
+
+ init();
+ animate();
+})();
Oops, something went wrong.

0 comments on commit 0f0aca3

Please sign in to comment.