* minor fixes * Publish master as alpha/ and document manual deploys * remove /latest + add it to the root * minor cleanups
98 lines
4.7 KiB
HTML
98 lines
4.7 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<title>ManifoldCAD</title>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description"
|
|
content="Fast, reliable, parametric solid modeling web app. Programmatic 3D design with JavaScript, inspired by and improving upon OpenSCAD & JSCAD. Demonstrates a new GPU-parallel, open-source geometry kernel: Manifold.">
|
|
<meta name="theme-color" content="#A288B3">
|
|
<meta property="og:title" content="ManifoldCAD">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="https://manifoldcad.org/" />
|
|
<meta property="og:image" content="https://elalish.github.io/manifold/samples/models/mengerSpongeSquare.png">
|
|
<meta property="og:image:width" content="850">
|
|
<meta property="og:image:height" content="850">
|
|
<link rel="shortcut icon" type="image/png" href="./icons/ManifoldIcon.png">
|
|
<link rel="manifest" href="./manifest.json">
|
|
<link type="text/css" href="editor.css" rel="stylesheet">
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "WebApplication",
|
|
"name": "ManifoldCAD",
|
|
"applicationCategory": "DesignApplication",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "0"
|
|
}
|
|
}
|
|
</script>
|
|
<script>
|
|
self.ModelViewerElement = self.ModelViewerElement || {};
|
|
self.ModelViewerElement.modelCacheSize = 0;
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="page">
|
|
<div class="container header">
|
|
<p style="flex: 2; margin-left: 16px;"><a target="_blank" href="https://github.com/elalish/manifold">Manifold</a>CAD
|
|
<span class="top-edit blue">
|
|
<button type="button" id="undo" class="top-icon undo squish" title="Undo"></button>
|
|
<button type="button" id="redo" class="top-icon redo squish" title="Redo"></button>
|
|
<button type="button" id="format" class="top-icon star squish" title="Format Code"></button>
|
|
<button type="button" id="share" class="top-icon share squish" title="Copy Shareable Link"></button>
|
|
<a target="_blank" href="./docs/jsuser/" class="top-icon docs squish" title="Documentation"></a>
|
|
<button type="button" id="edgesToggle" class="top-icon edges" title="Toggle Edges" aria-pressed="false"></button>
|
|
</span>
|
|
<span id="type-indicator" style="font-size: 14px; margin-left: 12px; font-weight: normal; opacity: 0.8;"></span>
|
|
</p>
|
|
<div class="margin" id="file-margin">
|
|
<button type="button" id="file" class="blue item"><b class="uparrow"></b> <span id="current">Intro</span><button
|
|
id="current-edit" class="icon edit" aria-hidden="true"></button></button>
|
|
<div class="dropdown" id="fileDropdown">
|
|
<button type="button" class="green item" id="new">New</button>
|
|
</div>
|
|
</div>
|
|
<div class="container" id="button-container">
|
|
<button type="button" id="compile" class="margin green" disabled><span>Run</span></button>
|
|
<div id="save" class="margin" style="position: relative; ">
|
|
<div class="item">
|
|
<button type="button" id="glb" class="blue item">Save GLB</button>
|
|
<button type="button" class="icon"><b class="uparrow" style="right: 2px;"></b></button>
|
|
</div>
|
|
<div class="dropdown" id="saveDropdown">
|
|
<div class="item">
|
|
<button type="button" id="threemf" class="blue item">Save 3MF</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Draggable pane dividers-start -->
|
|
<div id="workbench" class="container workbench" style="flex: 2;">
|
|
<div id="editor" class="col pane-left"></div>
|
|
<div id="split-x" class="splitter splitter-x" aria-hidden="true"></div>
|
|
<div id="rightPane" class="col container pane-right" style="flex-direction: column;">
|
|
<model-viewer id="viewer" camera-controls min-camera-orbit="auto 0deg auto" max-camera-orbit="auto 180deg auto"
|
|
min-field-of-view="1deg" shadow-intensity="1" tone-mapping="neutral" interaction-prompt="none" alt="Editor 3D output">
|
|
<div class="center" slot="poster">
|
|
<p id="poster" style="text-align: center; line-height: 36px;"> Loading... </p>
|
|
</div>
|
|
<div id="animation">
|
|
<button type="button" id="play" class="icon pause"></button>
|
|
<input type="range" min="0" max="1" step="0.01" value="0" class="slider" id="scrubber">
|
|
</div>
|
|
</model-viewer>
|
|
<div id="split-y" class="splitter splitter-y" aria-hidden="true"></div>
|
|
<!-- Draggable pane dividers-end -->
|
|
<div id="console"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
<script type="module" src="editor-examples.js"></script>
|
|
<script type="module" src="editor.js"></script>
|
|
</html> |