fix load/moto, add default broker for gapp/moto. gut broken meta app
This commit is contained in:
parent
6b9c9b2753
commit
b471713917
9 changed files with 35 additions and 3060 deletions
32
app.js
32
app.js
|
|
@ -399,36 +399,13 @@ const script = {
|
|||
"kiri/frame"
|
||||
],
|
||||
meta : [
|
||||
"ext/three",
|
||||
"main/meta",
|
||||
"moto/license",
|
||||
"ext/tween",
|
||||
"ext/fsave",
|
||||
"ext/earcut",
|
||||
"add/array",
|
||||
"add/three",
|
||||
"geo/base",
|
||||
// "geo/render",
|
||||
"geo/point",
|
||||
"geo/slope",
|
||||
"geo/line",
|
||||
"geo/bounds",
|
||||
"geo/polygon",
|
||||
"geo/polygons",
|
||||
"geo/gyroid",
|
||||
"moto/kv",
|
||||
"moto/ajax",
|
||||
"moto/ctrl",
|
||||
"moto/space",
|
||||
"load/obj",
|
||||
"load/stl",
|
||||
"moto/idb",
|
||||
"moto/ui",
|
||||
"kiri/catalog",
|
||||
"main/meta"
|
||||
],
|
||||
mesh : [
|
||||
"moto/client",
|
||||
"moto/license",
|
||||
"moto/broker",
|
||||
"ext/three",
|
||||
"ext/three-bgu",
|
||||
"ext/three-svg",
|
||||
|
|
@ -444,7 +421,6 @@ const script = {
|
|||
"load/svg",
|
||||
"load/url",
|
||||
"load/file",
|
||||
"moto/broker",
|
||||
"moto/idb",
|
||||
"main/mesh-ui"
|
||||
],
|
||||
|
|
@ -521,7 +497,7 @@ function handleSetup(req, res, next) {
|
|||
|
||||
function handleVersion(req, res, next) {
|
||||
let vstr = oversion || version;
|
||||
if (["/kiri/","/mesh/"].indexOf(req.app.path) >= 0 && req.url.indexOf(vstr) < 0) {
|
||||
if (["/kiri/","/mesh/","/meta/"].indexOf(req.app.path) >= 0 && req.url.indexOf(vstr) < 0) {
|
||||
if (req.url.indexOf("?") > 0) {
|
||||
return http.redirect(res, `${req.url},ver:${vstr}`);
|
||||
} else {
|
||||
|
|
@ -852,7 +828,7 @@ function cookieValue(cookie,key) {
|
|||
}
|
||||
|
||||
function rewriteHtmlVersion(req, res, next) {
|
||||
if (["/kiri/","/mesh/"].indexOf(req.app.path) >= 0) {
|
||||
if (["/kiri/","/mesh/","/meta/"].indexOf(req.app.path) >= 0) {
|
||||
let real_write = res.write;
|
||||
let real_end = res.end;
|
||||
res.write = function() {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ class Engine {
|
|||
load(url) {
|
||||
return new Promise((accept, reject) => {
|
||||
try {
|
||||
new moto.STL().load(url, vertices => {
|
||||
new load.STL().load(url, vertices => {
|
||||
this.listener({loaded: url, vertices});
|
||||
this.widget.loadVertices(vertices).center();
|
||||
accept(this);
|
||||
|
|
@ -47,7 +47,7 @@ class Engine {
|
|||
parse(data) {
|
||||
return new Promise((accept, reject) => {
|
||||
try {
|
||||
let vertices = new moto.STL().parse(data);
|
||||
let vertices = new load.STL().parse(data);
|
||||
this.listener({parsed: data, vertices});
|
||||
this.widget.loadVertices(vertices).center();
|
||||
accept(this);
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
SETUP = parseOpt(LOC.search.substring(1)),
|
||||
SECURE = isSecure(LOC.protocol),
|
||||
LOCAL = self.debug && !SETUP.remote,
|
||||
EVENT = KIRI.broker = new Broker(),
|
||||
EVENT = KIRI.broker,
|
||||
SDB = MOTO.KV,
|
||||
ODB = KIRI.odb = new MOTO.Storage(SETUP.d ? SETUP.d[0] : 'kiri'),
|
||||
// K3DB = KIRI.wdb = new MOTO.Storage('kiri3', { stores:["file","work"] }).init(),
|
||||
|
|
@ -522,7 +522,7 @@
|
|||
break;
|
||||
}
|
||||
if (data.parse) {
|
||||
new moto.STL().parse(data.parse, vertices => {
|
||||
new load.STL().parse(data.parse, vertices => {
|
||||
let widget = newWidget().loadVertices(vertices);
|
||||
platform.add(widget);
|
||||
});
|
||||
|
|
|
|||
2377
src/main/meta.js
2377
src/main/meta.js
File diff suppressed because it is too large
Load diff
|
|
@ -72,3 +72,9 @@ class Broker {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// establish default broker when GridApp container present
|
||||
let gapp = self.gapp;
|
||||
if (gapp && !gapp.broker) {
|
||||
gapp.broker = new Broker();
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
(function() {
|
||||
|
||||
let gapp = self.gapp = self.gapp || {},
|
||||
moto = self.moto = self.moto || {},
|
||||
moto = self.moto = self.moto || gapp,
|
||||
ccvalue = self.navigator ? navigator.hardwareConcurrency || 1 : 1,
|
||||
ccmax = ccvalue > 3 ? ccvalue - 1 : 0,
|
||||
workcc = false, // concurrent or not
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
(function() {
|
||||
|
||||
let gapp = self.gapp = self.gapp || {},
|
||||
moto = self.moto = self.moto || {},
|
||||
moto = self.moto = self.moto || gapp,
|
||||
time = Date.now;
|
||||
|
||||
if (moto.worker) return;
|
||||
|
|
@ -44,7 +44,10 @@ const dispatch = moto.worker = {
|
|||
}
|
||||
},
|
||||
error: (data) => {
|
||||
dispatch.send({ error: data });
|
||||
if (canSend(data)) {
|
||||
done = true;
|
||||
dispatch.send({ error: data });
|
||||
}
|
||||
}
|
||||
},
|
||||
canSend = (data) => {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,3 @@
|
|||
/** ******************************************************************
|
||||
* Element
|
||||
******************************************************************* */
|
||||
|
||||
a, a:hover, a:visited {
|
||||
border: none;
|
||||
outline: none;
|
||||
|
|
@ -12,646 +8,9 @@ body {
|
|||
overflow: hidden;
|
||||
}
|
||||
body,div {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-weight: normal;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
label {
|
||||
font-size: 14px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
canvas {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
button {
|
||||
outline: none;
|
||||
max-width: 25ex;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
background-color: #eee;
|
||||
padding: 2px 7px 3px 7px;
|
||||
margin-bottom: 2px !important;
|
||||
}
|
||||
button:hover {
|
||||
background-color: #aaa;
|
||||
color: black;
|
||||
}
|
||||
button[load] {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
button[del] {
|
||||
margin-left: 5px;
|
||||
}
|
||||
select {
|
||||
outline: none;
|
||||
}
|
||||
th, tr, td, span, div, label, button {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/** ******************************************************************
|
||||
* Class
|
||||
******************************************************************* */
|
||||
|
||||
.noselect {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.title {
|
||||
text-align:center;
|
||||
border-radius: 4px;
|
||||
border-bottom: 2px;
|
||||
color: #222;
|
||||
padding: 4px 5px 3px 5px;
|
||||
margin-bottom: 2px;
|
||||
background-color: rgba(170,221,255,0.75);
|
||||
border: 1px solid rgba(255,255,255,0.5);
|
||||
font-size: 12pt !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.tablerow {
|
||||
-webkit-flex-direction: row;
|
||||
-webkit-justify-content: center;
|
||||
-webkit-align-items: center;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.tablerow button {
|
||||
-webkit-flex-basis: auto;
|
||||
-webkit-flex-grow: 1;
|
||||
flex-grow: 1;
|
||||
flex-basis: auto;
|
||||
width: 33.33%;
|
||||
}
|
||||
.grouphead:first-of-type {
|
||||
margin-top: 0;
|
||||
}
|
||||
.dark .grouphead {
|
||||
background-color: rgba(100,120,150,0.75);
|
||||
border: 1px solid #555;
|
||||
color: #eee;
|
||||
font-weight: normal;
|
||||
}
|
||||
.grouphead {
|
||||
color: black;
|
||||
background-color: rgba(170,221,255,0.7);
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 3px;
|
||||
padding: 3px 2px 2px 3px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
.grouphead > a {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.grouphead:hover {
|
||||
cursor: default;
|
||||
}
|
||||
.ck_catalog {
|
||||
padding-top: 2px;
|
||||
}
|
||||
.ck_catalog div {
|
||||
-webkit-flex-direction: row;
|
||||
-webkit-justify-content: center;
|
||||
-webkit-align-items: center;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.ck_catalog button {
|
||||
margin: 0px 0px 1px 2px !important;
|
||||
}
|
||||
.buton {
|
||||
font-weight: bold;
|
||||
background-color: #bbb;
|
||||
}
|
||||
.flow-row {
|
||||
position: relative;
|
||||
-webkit-flex-direction: row;
|
||||
-webkit-justify-content: flex-end;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
.flow-row label {
|
||||
-webkit-flex-basis: auto;
|
||||
-webkit-flex-grow: 1;
|
||||
flex-basis: auto;
|
||||
flex-grow: 1;
|
||||
}
|
||||
.flow-col {
|
||||
position: relative;
|
||||
-webkit-flex-direction: column;
|
||||
-webkit-justify-content: flex-start;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.flow-left {
|
||||
-webkit-justify-content: flex-start;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.flow-grow {
|
||||
-webkit-flex-grow: 1;
|
||||
flex-grow: 1
|
||||
}
|
||||
.flow-space-between {
|
||||
-webkit-justify-content: space-between;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
:-moz-any(#control-left) {
|
||||
overflow-x: hidden !important;
|
||||
overflow-y: hidden !important;
|
||||
}
|
||||
:-moz-any(#control-right) {
|
||||
overflow-x: scroll !important;
|
||||
overflow-y: scroll !important;
|
||||
margin-right: -14px !important;
|
||||
margin-bottom: -14px !important;
|
||||
}
|
||||
.dark .control {
|
||||
border: 0 !important;
|
||||
background-color: rgba(255,255,255,0.5);
|
||||
}
|
||||
.dark .control button {
|
||||
border: 1px solid rgba(128,128,128,0.5);
|
||||
}
|
||||
.control {
|
||||
background-color: rgba(255,255,255,0.75);
|
||||
}
|
||||
.control label {
|
||||
padding: 2px;
|
||||
}
|
||||
.control input {
|
||||
background-color: #eee;
|
||||
margin-bottom: 1px;
|
||||
text-align: right;
|
||||
border: 1px solid #bbb;
|
||||
}
|
||||
.control input:focus {
|
||||
background-color: #fec;
|
||||
outline: none;
|
||||
}
|
||||
.control input[disabled] {
|
||||
background-color: #ccc;
|
||||
color: #000;
|
||||
border-width: 1px;
|
||||
}
|
||||
.control input[type="range"] {
|
||||
width: 85px;
|
||||
background-color: transparent;
|
||||
}
|
||||
.control select {
|
||||
border: 1px solid #bbb;
|
||||
background-color: #eee;
|
||||
margin-bottom: 1px !important;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.control button {
|
||||
margin: 1px;
|
||||
}
|
||||
.control .flow-row {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/** ******************************************************************
|
||||
* ID
|
||||
******************************************************************* */
|
||||
|
||||
.dark #appid span {
|
||||
border-color: #555;
|
||||
background-color: rgba(100,120,150,0.75);
|
||||
color: #eee;
|
||||
}
|
||||
.dark #appid a {
|
||||
color: #eee;
|
||||
}
|
||||
.dark #appid a:hover {
|
||||
color: #eee;
|
||||
}
|
||||
.dark #appid span:hover {
|
||||
background-color: rgba(80,100,230,0.75);
|
||||
}
|
||||
.dark #langpop {
|
||||
color: black;
|
||||
}
|
||||
#appid {
|
||||
text-align: center;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
top: 3px;
|
||||
}
|
||||
#appid span {
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
padding: 5px 8px 3px 8px;
|
||||
background-color: rgba(170,221,255,0.75);
|
||||
color: rgba(0,0,0,0.5);
|
||||
}
|
||||
#appid span:hover {
|
||||
background-color: rgba(170,221,255,0.5);
|
||||
}
|
||||
#appid a {
|
||||
color: rgba(0,0,0,0.75);
|
||||
font-weight: bold;
|
||||
}
|
||||
#appid a:hover {
|
||||
color: rgba(0,50,50,0.75);
|
||||
}
|
||||
#apphelp {
|
||||
margin-left: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
#applang {
|
||||
position: relative;
|
||||
margin-right: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
#langpop {
|
||||
display: none;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
top: 105%;
|
||||
left: 0;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #ddd;
|
||||
background-color: rgba(255,255,255,0.75);
|
||||
padding: 5px;
|
||||
}
|
||||
#langpop > div {
|
||||
padding: 5px;
|
||||
}
|
||||
#langpop > div:hover {
|
||||
background-color: rgba(255,128,128,0.5);
|
||||
border-radius: 5px;
|
||||
}
|
||||
#applang:hover #langpop {
|
||||
display: block;
|
||||
}
|
||||
#container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#control > div:hover label {
|
||||
text-decoration: underline;
|
||||
text-decoration-color: #aaa;
|
||||
}
|
||||
#control-left {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 10000;
|
||||
color: black;
|
||||
top: 5px;
|
||||
left: 0px;
|
||||
padding: 5px;
|
||||
border-top: 2px solid #ddd;
|
||||
border-right: 2px solid #ddd;
|
||||
border-bottom: 2px solid #ddd;
|
||||
border-top-right-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
overflow-x: visible;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#control-right {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 10000;
|
||||
top: 5px;
|
||||
right: 0px;
|
||||
bottom: 5px;
|
||||
padding: 5px;
|
||||
border-top: 2px solid #ddd;
|
||||
border-left: 2px solid #ddd;
|
||||
border-bottom: 2px solid #ddd;
|
||||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
color: #222;
|
||||
overflow-y: scroll;
|
||||
overflow-x: visible;
|
||||
}
|
||||
.dark .compact .grouphead {
|
||||
background-color: rgba(100,120,150,0.75);
|
||||
border: 1px solid #555;
|
||||
color: #eee;
|
||||
}
|
||||
.dark .compact .grouphead:hover {
|
||||
background-color: rgba(80,100,230,0.75);
|
||||
}
|
||||
.dark .compact.control {
|
||||
background-color: rgba(128,128,128,0.2) !important;
|
||||
}
|
||||
.compact {
|
||||
overflow: visible !important;
|
||||
bottom: auto !important;
|
||||
border: 0 !important;
|
||||
background-color: rgba(255,255,255,0.5) !important;
|
||||
}
|
||||
.compact .grouphead {
|
||||
padding: 10px 5px 10px 5px !important;
|
||||
background-color: rgba(170,221,255,0.25);
|
||||
}
|
||||
.compact .grouphead:hover {
|
||||
background-color: rgba(170,221,255,0.9);
|
||||
}
|
||||
.compact .grouphead a {
|
||||
font-size: larger !important;
|
||||
margin: 5px !important;
|
||||
}
|
||||
.compact .flow-row label {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.compact .flow-row input {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.compact .flow-row select {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.compact .flow-row {
|
||||
margin: 3px 0 3px 0;
|
||||
}
|
||||
.compact .asym {
|
||||
width: auto !important;
|
||||
}
|
||||
.compact button {
|
||||
font-size: larger !important;
|
||||
padding: 5px 10px 5px 10px;
|
||||
}
|
||||
:-moz-any(#control-left.compact) {
|
||||
overflow-x: display !important;
|
||||
overflow-y: display !important;
|
||||
}
|
||||
:-moz-any(#control-right.compact) {
|
||||
overflow-x: display !important;
|
||||
overflow-y: display !important;
|
||||
margin-right: auto !important;
|
||||
margin-bottom: auto !important;
|
||||
}
|
||||
#control-left::-webkit-scrollbar, #control-right::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
.dark #control-left:hover, .dark #control-right:hover {
|
||||
background-color: rgba(255,255,255,0.6);
|
||||
}
|
||||
#control-left:hover, #control-right:hover {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
#loading {
|
||||
position: fixed;
|
||||
top: 5px;
|
||||
left: 20%;
|
||||
right: 20%;
|
||||
border: 1px solid white;
|
||||
margin: 2px;
|
||||
background-color: #ddd;
|
||||
text-align: center;
|
||||
display: none;
|
||||
}
|
||||
#modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 20000;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background-color: rgba(0,0,0,0);
|
||||
}
|
||||
#progress {
|
||||
position: relative;
|
||||
width: 1%;
|
||||
height: 100%;
|
||||
background-color: #f00;
|
||||
}
|
||||
#welcome {
|
||||
color: white;
|
||||
padding: 10px;
|
||||
border: 10px solid white;
|
||||
background-color: rgba(20,20,20,0.75);
|
||||
position: fixed;
|
||||
top: 50px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 100px;
|
||||
margin: 0 auto;
|
||||
width: 50%;
|
||||
max-width: 800px;
|
||||
min-width: 500px;
|
||||
display: block;
|
||||
unicode-bidi: embed;
|
||||
font-family: monospace;
|
||||
white-space: pre;
|
||||
overflow-y: scroll
|
||||
}
|
||||
|
||||
.ck_space button {
|
||||
margin: 2px 0px 1px 2px !important;
|
||||
}
|
||||
.ck_spaces {
|
||||
padding-top: 2px;
|
||||
}
|
||||
.ck_spaces div {
|
||||
-webkit-flex-direction: row;
|
||||
-webkit-justify-content: flex-start;
|
||||
-webkit-align-items: center;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.ck_spaces button {
|
||||
margin: 0px 0px 1px 2px !important;
|
||||
}
|
||||
.ck_library {
|
||||
padding-top: 2px;
|
||||
}
|
||||
.ck_library div {
|
||||
-webkit-flex-direction: row;
|
||||
-webkit-justify-content: flex-start;
|
||||
-webkit-align-items: center;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.ck_library button {
|
||||
margin: 0px 0px 1px 2px !important;
|
||||
}
|
||||
|
||||
button.load {
|
||||
-webkit-flex-basis: 1px;
|
||||
-webkit-flex-grow: 1;
|
||||
flex-basis: 1px;
|
||||
flex-grow: 1;
|
||||
text-align: left;
|
||||
}
|
||||
button.del {
|
||||
}
|
||||
|
||||
#dropbutton {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
background-color: #ccc;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
.compact {
|
||||
overflow: visible !important;
|
||||
bottom: auto !important;
|
||||
border: 0 !important;
|
||||
background-color: rgba(255,255,255,0.5) !important;
|
||||
}
|
||||
.compact .grouphead {
|
||||
padding: 10px 5px 10px 5px !important;
|
||||
background-color: rgba(170,221,255,0.25);
|
||||
}
|
||||
.compact .grouphead:hover {
|
||||
background-color: rgba(170,221,255,0.9);
|
||||
}
|
||||
.compact .grouphead a {
|
||||
font-size: larger !important;
|
||||
margin: 5px !important;
|
||||
}
|
||||
.compact .flow-row label {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.compact .flow-row input {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.compact .flow-row select {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.compact .flow-row {
|
||||
margin: 3px 0 3px 0;
|
||||
}
|
||||
.compact .asym {
|
||||
width: auto !important;
|
||||
}
|
||||
.compact button {
|
||||
font-size: larger !important;
|
||||
padding: 5px 10px 5px 10px;
|
||||
}
|
||||
:-moz-any(#control-left.compact) {
|
||||
overflow-x: display !important;
|
||||
overflow-y: display !important;
|
||||
}
|
||||
:-moz-any(#control-right.compact) {
|
||||
overflow-x: display !important;
|
||||
overflow-y: display !important;
|
||||
margin-right: auto !important;
|
||||
margin-bottom: auto !important;
|
||||
}
|
||||
|
||||
.compact .sel-span .value {
|
||||
font-size: 16px;
|
||||
color: #444466 !important;
|
||||
}
|
||||
.compact .sel-span label {
|
||||
font-size: 20px;
|
||||
}
|
||||
.compact .sel-span input {
|
||||
font-size: 18px;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.popper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 50000;
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 3px;
|
||||
padding: 5px;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
.popper.left {
|
||||
left: 105%;
|
||||
}
|
||||
.popper.right {
|
||||
right: 105%;
|
||||
}
|
||||
.popper svg {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.poprow > div {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.poptext {
|
||||
display: none;
|
||||
position: absolute;
|
||||
margin-left: 30px;
|
||||
border: 3px solid #ddd;
|
||||
border-radius: 3px;
|
||||
transform: translate(0, -25%);
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
z-Index: 10000;
|
||||
}
|
||||
.poptext label {
|
||||
text-align: center !important;
|
||||
border-top: 1px solid #888;
|
||||
border-left: 1px solid #888;
|
||||
border-right: 1px solid #888;
|
||||
background-color: rgba(170,221,255,0.75);
|
||||
padding: 3px 0 3px 0;
|
||||
margin: 0;
|
||||
color: black;
|
||||
}
|
||||
.poptext textarea {
|
||||
flex-grow: 1;
|
||||
margin: 0;
|
||||
opacity: 0.95;
|
||||
outline: none;
|
||||
overflow-y: scroll !important;
|
||||
}
|
||||
|
||||
.sel-span {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
.sel-pop {
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: 100%;
|
||||
left: 0;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
.sel-pop div, .sel-pop table {
|
||||
background-color: white;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
}
|
||||
.sel-span:hover .sel-pop {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
<html>
|
||||
<head lang="en">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="copyright" content="stewart allen [stewart@neuron.com]">
|
||||
<meta name="copyright" content="stewart allen [sa@grid.space]">
|
||||
<meta name="description" content="3d block modeler">
|
||||
<meta name="keywords" content="gridspace,meta,metamoto,3d,block,builder,modeler,modeling">
|
||||
<meta name="author" content="Stewart Allen">
|
||||
|
|
@ -10,16 +10,10 @@
|
|||
<link rel="icon" href="/meta/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="/meta/favicon-mobile.png">
|
||||
<link rel="stylesheet" type="text/css" href="/meta/index.css">
|
||||
<script>module={};kiri={};</script>
|
||||
<link href="/font/css/all.min.css" rel="stylesheet">
|
||||
<script src="/font/js/all.min.js" crossorigin="anonymous"></script>
|
||||
<script src="/code/meta.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- app title home page links -->
|
||||
<div id="appid"><span><a href="/" id="appname" target="home">Meta:Moto Modeler</a></span></div>
|
||||
<!-- left control menu -->
|
||||
<div id="control-left" class="control compact"><div id="assets"></div></div>
|
||||
<!-- right control menu -->
|
||||
<div id="control-right" class="control compact"><div id="control"></div></div>
|
||||
<div id="container"></div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
Loading…
Reference in a new issue