npm packageを更新

Warning: Cannot read property 'srcRaw' of undefined
とでたので、concatとuglyfyをとりあえず最新版に更新
Gruntfile.jsを作成

diff --git a/htdocs/Gruntfile.js b/htdocs/Gruntfile.js
new file mode 100644
index 0000000..8eb124a
--- /dev/null
+++ b/htdocs/Gruntfile.js
@@ -0,0 +1,100 @@
+
+module.exports = function(grunt) {
+	var proc = require('child_process');
+
+    // ターゲットとするファイルを定義する
+    // ワイルドカードつかのはミスとかバグにつながりそうなので
+    // 一個ずつかきましょうか。。？
+    // 依存関係も明確になるし
+    var sassFiles = [];
+    var jsFiles = [
+			'js/plugins.js',
+			'js/three.js',
+			'js/sample.js'
+    ];
+
+    //タスクを初期化する
+    grunt.initConfig({
+
+        // grunt-contrib-concatに関する設定
+        // ↑で定義したcssFilesのファイルを結合し
+        // cssフォルダ下にall.cssとして出力する
+        concat: {
+            // css: {
+            //     src: cssFiles,
+            //     dest: "./css/all.css"
+            // }
+            js:{
+				src: jsFiles,
+				dest: "js/all.js"
+            }
+        },
+
+        // grunt-contrib-mincssに関する設定
+        // cssフォルダ下のall.cssをcompressし、all.min.cssとして出力する。
+        mincss: {
+            compress: {
+                files: {
+                    "css/all.min.css": ["css/all.css"]
+                }
+            }
+        },
+
+        // jshintで文法チェックしてからminifyしてくれる
+        uglify: {
+            my_target: {
+                files: {
+                    'js/all.min.js': jsFiles
+                }
+            }
+        },
+
+        //compass
+        compass: {                  // Task
+			dist: {                   // Target
+				options: {              // Target options
+					sassDir: 'sass',
+					cssDir: 'css'
+				}
+			}
+		},
+
+
+        // grunt-contrib-watchに関する設定
+        // ↑で定義したcssFilesのファイルを監視し、
+        // 変更があった場合にtasksに定義されるタスクが実行される
+        watch: {
+
+            compass : {
+                files: sassFiles,
+                tasks: ["compass", "notify"]
+            },
+
+            jsmin :{
+                files: jsFiles,
+                tasks: ["concat", "uglify", "notify"]
+                // growlへの通知をONにする場合は
+                // さらにnotifyというタスクを追記する
+            }
+        }
+
+    });
+
+	// notifyは無理やりkgwが作ったもの
+    // ***growlのcliToolが必要です***
+    grunt.registerTask('notify','run growlnotify', function(){
+        proc.exec("growlnotify -t grunt -m 'termination!!!!'");
+    });
+
+    //インストールしたモジュールをロードする
+    grunt.loadNpmTasks('grunt-contrib-concat');
+    grunt.loadNpmTasks('grunt-contrib-compass');
+    grunt.loadNpmTasks('grunt-contrib-mincss');
+    grunt.loadNpmTasks('grunt-contrib-watch');
+    grunt.loadNpmTasks('grunt-contrib-uglify');
+
+    //コマンドラインでgruntだけ入力し実行した場合に
+    //ここでは↑で定義したwatchタスクを実行するという設定
+    //カスタムで定義できます。
+    grunt.registerTask("default", "watch");
+};
\ No newline at end of file
コメントの追加 modernizrのコメントアウト

diff --git a/htdocs/index.html b/htdocs/index.html
index d59cd28..550194a 100644
--- a/htdocs/index.html
+++ b/htdocs/index.html
@@ -14,7 +14,8 @@
         <title></title>
         <link rel="stylesheet" href="css/normalize.css">
         <link rel="stylesheet" href="css/main.css">
-        <script src="js/vendor/modernizr-2.6.2.min.js"></script>
+        <!-- /とりあえず不要と思いmodenizrはコメントアウトしました -->
+        <!-- // <script src="js/vendor/modernizr-2.6.2.min.js"></script> -->
     </head>
     <body>
         <!--[if lt IE 7]>
@@ -24,7 +25,9 @@

         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
         <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.min.js"><\/script>')</script>
-        <script src="js/plugins.js"></script>
-        <script src="js/main.js"></script>
+        <!-- gruntですべて結合 -->
+        <script src="js/all.js"></script>
+        <!-- デプロイするとき？は以下のminバージョンをあげるようにしたい -->
+        <!-- // <script src="js/all.min.js"></script> -->
     </body>
 </html>
node_moduleのverUPと適当に必要なファイルを作成
package.jsonにmocha と chaiを追加

diff --git a/htdocs/package.json b/htdocs/package.json
index 1b58adb..05a3991 100644
--- a/htdocs/package.json
+++ b/htdocs/package.json
@@ -7,7 +7,6 @@
     "url": "https://github.com/cac-tus/chimera.git"
   },
   "author": "{cactus}",
-
   "devDependencies": {
     "grunt-contrib-concat": "0.1.2rc6",
     "grunt-contrib-mincss": "~0.3.2",
@@ -15,7 +14,9 @@
     "grunt-contrib-jshint": "~0.1.0",
     "grunt": "~0.4.0rc2",
     "grunt-contrib-watch": "~0.1.4",
-    "grunt-contrib-compass": "~0.1.1rc8"
+    "grunt-contrib-compass": "~0.1.1rc8",
+    "mocha":"*",
+    "chai":"*"
   }

 }
node_moduleにmocha chaiを追加
READMEにテストについての項目を追加

diff --git a/README.md b/README.md
index 9f0fe6e..e1bca75 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,17 @@
 chimera
 =======
+
+
+## test
+
+#### dependencies
+
+- mocha (local)
+- chai (local)
+- sinon.js
+- sinon-chai
+- phantom.js
+- mocha-phantomjs
+
+
+
sample.jsにコメントを追加

diff --git a/htdocs/js/sample.js b/htdocs/js/sample.js
index d252ec5..c47eeb1 100644
--- a/htdocs/js/sample.js
+++ b/htdocs/js/sample.js
@@ -2,52 +2,112 @@ var camera, scene, renderer;
 var mesh;

 init();
+
+//animate関数なかでレンダリングを実行
 animate();

 function init() {
-
-
+	//レンダラーを作成
 	renderer = new THREE.WebGLRenderer();
+	//描画領域を指定
 	renderer.setSize( window.innerWidth, window.innerHeight );
+	// body直下に配置
 	document.body.appendChild( renderer.domElement );
-	//
-	camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 );
+
+	/**
+	 * カメラを作成
+	 * 透視投影カメラ
+	 * 視野体積等を作成
+	 * @type {THREE}
+	 */
+	camera = new THREE.PerspectiveCamera(
+		70,  // fov — camera frustum vertical field of view.
+		window.innerWidth / window.innerHeight,  // aspect — camera frustum aspect ratio.
+		1, // near — camera frustum near plane.
+		1000 // far — camera frustum far plane.
+	);
+	// 高さ初期位置
 	camera.position.z = 400;

+	// シーンの作成
 	scene = new THREE.Scene();

+
+/****** Create Object *******/
+	// オブジェクトの構造を定義
 	var geometry = new THREE.CubeGeometry( 200, 200, 200 );

+
+	// テクスチャをロード
 	var texture = THREE.ImageUtils.loadTexture( 'textures/crate.gif' );
 	texture.anisotropy = renderer.getMaxAnisotropy();

+
+	// 素材を決定
+	// parameters is an object with one or more properties defining the material's appearance.
+	/*
+		color — geometry color in hexadecimal. Default is 0xffffff.
+		wireframe — render geometry as wireframe. Default is false.
+		wireframeLinewidth — Line thickness. Default is 1.
+		wireframeLinecap — Define appearance of line ends. Default is 'round'.
+		wireframeLinejoin — Define appearance of line joints. Default is 'round'.
+		shading — Define shading type. Default is THREE.SmoothShading.
+		vertexColors — Define whether the material uses vertex colors, or not. Default is false.
+		fog — Define whether the material color is affected by global fog settings. Default is true.
+		lightMap — TODO. Default is null.
+		specularMap — TODO. Default is null.
+		envMap — TODO. Default is null.
+		skinning — TODO. Default is false.
+		morphTargets — TODO. Default is false.
+	*/
 	var material = new THREE.MeshBasicMaterial( { map: texture } );

+
+	/**
+	 * geometry — An instance of Geometry.
+	 * material — An instance of Material (optional).
+	 * @type {THREE}
+	 */
 	mesh = new THREE.Mesh( geometry, material );
-	scene.add( mesh );
+/********* End Create Object ***********/
+

-	//
+	// 作成したオブジェクトをシーンに追加
+	scene.add( mesh );

 	window.addEventListener( 'resize', onWindowResize, false );

 }

+/**
+ * windowサイズを変更すると描画領域も小さくなる
+ */
 function onWindowResize() {

 	camera.aspect = window.innerWidth / window.innerHeight;
 	camera.updateProjectionMatrix();

 	renderer.setSize( window.innerWidth, window.innerHeight );
-
 }

+
+
+/**
+ * アニメーションの定義
+ */
 function animate() {

+	// RequestAnimationFrame.jsはThree.jsに
+	// おまけとして付いてくるライブラリ。
+	// requestAnimationFrameをクロスブラウザで使えるようにしてくれる
 	requestAnimationFrame( animate );

 	mesh.rotation.x += 0.005;
 	mesh.rotation.y += 0.01;
-
+
+	// どこにも再帰呼び出しが書いてない
+	// 完全にwrapしてる感じ
+	// oFみたいになってきたな
 	renderer.render( scene, camera );

 }
\ No newline at end of file
sample.jsのデータを用いたレンダリング実装
コメントをちょっと追加
素材変更,光源追加,オブジェクトデータ変更
monkey3 add シワスレ
monkey4 オブジェクト追加
変更
gruntやめた
やっぱりgrunt使う, rendererちっさくして左上へ
headerをそれっぽくした
コメント追加
isotopeを導入