diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..375542a --- /dev/null +++ b/.babelrc @@ -0,0 +1,5 @@ +{ + "plugins": [ + "transform-es2015-modules-amd" + ] +} diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..6b00f86 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +node_modules +vendor +build \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..3c88712 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,31 @@ +{ + "env": { + "browser": true, + "commonjs": true, + "es6": true, + "node": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "sourceType": "module" + }, + "rules": { + "indent": [ + "error", + 4, + {"SwitchCase": 1} + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "double" + ], + "semi": [ + "error", + "always" + ] + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index b95924a..35cf6df 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ logs *.log +# IDE files +.idea + # Runtime data pids *.pid @@ -26,4 +29,10 @@ node_modules # Storage store/* -!store/README.md \ No newline at end of file +!store/README.md + +# Generated files +dev/js/**/*.amd.js +dev/css/**/*.css +vendor/* +!vendor/README.md \ No newline at end of file diff --git a/build/css/main.css b/build/css/main.css new file mode 100644 index 0000000..c2985d2 --- /dev/null +++ b/build/css/main.css @@ -0,0 +1 @@ +/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects;color:#0c0}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;margin:0}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.hidden,[hidden],template{display:none}body{margin:0;font:400 87.5%/1.57142857 Arial,sans-serif}a:hover{text-decoration:none}button,input,optgroup,select,textarea{line-height:1.57142857}.oe-description{color:grey;font-size:.85em;line-height:1.2}#oe-view{font-size:0;height:calc(100vh - 22px - 3px * 2 - 1px);line-height:0;margin-right:10px;width:100%}#oe-view.oe-droppable{outline:#000 dashed 1px;position:relative}#oe-view.oe-droppable:after{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.5) 10px,rgba(255,255,255,.5) 20px);content:"";height:100%;left:0;position:absolute;top:0;width:100%}#oe-view.oe-droppable *,#oe-view.oe-droppable:after{pointer-events:none}#oe-view,#oe-view canvas{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#oe-view canvas{height:100%!important;width:100%!important}.oe-menu{background:#f0f0f0;border-bottom:1px solid #dadada;margin:0;padding:0}.app-busy .oe-menu:after{content:url(../img/loader.gif);cursor:wait;float:right;margin:6px 8px 0 0}.oe-menu>li{display:inline-block;list-style:none;margin:0;padding:0;position:relative}.oe-menu button[menu]{cursor:pointer;background:0 0;border:none;padding:3px 10px}.oe-menu button[menu]:hover{background:#e6e6e6}.oe-menu button[menu]:before{content:attr(value)}.oe-menu menu[type=popup]{background:#f0f0f0;border:1px solid #dadada;margin:0;padding:0;position:absolute;visibility:hidden;z-index:2}.oe-menu menu[type=popup].expanded{visibility:visible}.oe-menu menuitem{cursor:pointer;display:block;max-width:250px;overflow:hidden;padding:5px 7px;text-overflow:ellipsis;white-space:nowrap}.oe-potentials,.oe-store-list{list-style:none;overflow:auto}.oe-menu menuitem:hover{background:#e6e6e6}.oe-menu menuitem:before{content:attr(label)}.oe-menu menuitem[disabled]{color:#a0a0a0}.oe-menu menuitem[disabled]:hover{background:0 0}.oe-menu menuitem[disabled]:before{text-shadow:0 1px 0 #fff}.oe-menu hr{border:1px inset #fff;color:#fff}#oe-file{cursor:pointer;display:none;height:32px;left:0;max-width:175px;opacity:.01;position:absolute;top:28px;z-index:2}menu.expanded+#oe-file{display:inline}.oe-dialog{background:#fff;border:1px solid #0e0e0e;border-radius:5px;left:50%;margin-left:-250px;padding:0 15px;position:absolute;top:50px;width:500px;z-index:20}.oe-dialog:before{background:rgba(255,255,255,.8);content:"";height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}.oe-dialog-btns input{min-width:85px}.oe-dialog fieldset{border-color:#dadada;margin:1em 0}.oe-dialog-btns{text-align:right;border:none;padding:0}.oe-store-list{max-height:250px;min-height:20px;padding:0}.oe-store-list-loading{background:url(../../img/loader.gif) 50% 50% no-repeat}.oe-store-list>li{cursor:pointer;padding:.2em .5em}.oe-store-list h3{display:inline;font-size:1em;margin:0}.oe-store-list h3:after{color:#0c0;content:" …"}.oe-graph-form:before,.oe-store-list>.active h3:after{content:none}.oe-store-list p{color:transparent;display:inline;font-size:0;margin:0}.oe-store-list>.active{background:#e6e6e6}.oe-store-list>.active p{color:#999;font-size:.85em}.oe-save-form .oe-apply{margin-right:20px}.oe-graph-form{border-color:#dadada;border-radius:0 0 0 5px;border-width:0 0 1px 1px;left:auto;margin-left:0;right:0;top:29px;width:350px;z-index:1}.oe-cutoffs{border:1px solid #dadada;padding:0}.oe-cutoff{background:0 0;border:none;border-top:1px solid #dadada;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;display:block;padding:0;text-align:left;width:100%}.oe-cutoff:first-child{border-top:none}.oe-cutoff.active,.oe-cutoff:focus{background:#f5f5f5;outline:0}.oe-cutoff:before,.oe-potentials li:first-child>span{background:#f0f0f0}.oe-cutoff:before{border-right:1px solid #dadada;content:attr(data-pair);display:inline-block;margin-right:5px;min-width:75px;padding-left:5px}.oe-cutoff-slider{padding:0;width:100%}.oe-cutoff-exact,.oe-cutoff-max,.oe-cutoff-min{display:block;width:32%}.oe-cutoff-exact input,.oe-cutoff-max input,.oe-cutoff-min input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:100%}.oe-cutoff-min{float:left}.oe-cutoff-max{float:right}.oe-cutoff-exact{margin-left:auto;margin-right:auto}.oe-potentials{border:1px solid #dadada;border-collapse:collapse;display:table;margin:0;max-height:300px;padding:0;table-layout:fixed;width:100%}.oe-potentials li{display:table-row;margin:0;padding:0}.oe-potentials li>label,.oe-potentials li>span{border:1px solid #dadada;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;display:table-cell;padding:2px 5px;vertical-align:middle;width:28%}.oe-potentials li>label:first-child,.oe-potentials li>span:first-child{background:#f0f0f0;width:16%}.oe-potentials input{background:0 0;border:none;display:block;font-size:1em;height:1.5em;margin:0;padding:0;width:100%}.oe-appearance-colors input,.oe-appearance-colors label,.oe-appearance-colors select,.oe-translate label{display:inline-block;vertical-align:top}.oe-potentials .missed label{background:url(data:image/gif;base64,R0lGODlhBQAFAIAAAOPj4////yH5BAAAAAAALAAAAAAFAAUAAAIHRH6GodhZAAA7)}.oe-potentials sub{font-style:normal}.potential-filing label{color:#0c0;cursor:pointer;overflow:hidden;position:relative;text-decoration:underline}.potential-filing label:hover{text-decoration:none}.potential-filing label input{cursor:pointer;height:100%;left:0;opacity:.01;position:absolute;top:0;width:100%}.oe-transform-form{border-color:#dadada;border-radius:0 0 0 5px;border-width:0 0 1px 1px;left:auto;margin-left:0;right:0;top:29px;width:350px;z-index:1}.oe-transform-form:before{content:none}.oe-translate>legend:after{content:"\21A6"}.oe-translate input[type=text]{width:75px}.oe-translate input[type=button]{color:#c00;display:inline-block;font:400 22px/20px monospace;vertical-align:top}.oe-rotate>legend:after{content:"\21BB"}.oe-rotate input[data-axis="x"]{color:#a00}.oe-rotate input[data-axis="y"]{color:#0a0}.oe-rotate input[data-axis="z"]{color:#00a}.oe-rotate>legend:after,.oe-translate>legend:after{font:400 20px/1px monospace;margin:0 5px}.oe-evolve-params{background:url(data:image/gif;base64,R0lGODlhAQABAIAAANra2gAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==) 50% 0 repeat-y;float:left;margin-bottom:1em;width:100%}.oe-evolve-params fieldset{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;float:right;margin:0;padding:0 0 0 25px;width:49.5%}.oe-evolve-params fieldset:first-child{float:left;padding:0 25px 0 0}.oe-evolve-params fieldset>p:first-child{margin-top:0}.oe-evolve-form .oe-dialog-btns{clear:both}.oe-appearance-form{margin-left:-150px;width:300px}.oe-appearance-colors label{margin-right:20px}.oe-report{background:#fff;border-color:#dadada;border-radius:0 0 0 5px;border-width:0 0 1px 1px;padding:0 15px;position:absolute;right:0;top:29px;z-index:1}#oe-report-progress{position:relative}#oe-report-progress:after{content:attr(value) "%";font-size:.8em;left:0;margin-left:5px;position:absolute;text-align:center;width:100%}#oe-report-data>dt{font-weight:700}#oe-report-data>dd{margin:0 0 .5em} \ No newline at end of file diff --git a/build/src/img/dot.gif b/build/img/dot.gif similarity index 100% rename from build/src/img/dot.gif rename to build/img/dot.gif diff --git a/build/src/img/loader.gif b/build/img/loader.gif similarity index 100% rename from build/src/img/loader.gif rename to build/img/loader.gif diff --git a/build/index.html b/build/index.html index 3bf27e9..f4fe771 100644 --- a/build/index.html +++ b/build/index.html @@ -4,7 +4,7 @@
Powered by three.js
- + - - - - - + +