grid-apps-cmms/web/kiri/index.html

475 lines
25 KiB
HTML
Raw Normal View History

2017-04-18 17:09:33 -04:00
<!DOCTYPE html>
2026-02-19 14:41:52 -05:00
<html lang="en" data-app="kiri">
<head>
2017-04-18 17:09:33 -04:00
<meta charset="UTF-8">
2020-06-05 23:21:53 -04:00
<meta name="author" content="Stewart Allen">
2023-02-19 08:03:54 -05:00
<meta name="keywords" content="3d slicer,chromebook,slicer,3d slicing,cnc,cam,toolpaths,toolpath generation,kiri,kirimoto,kiri:moto,gcode,cura,simplify 3d,prusaslicer,fdm,sla">
2019-01-20 21:20:35 -05:00
<meta name="copyright" content="stewart allen [sa@grid.space]">
2020-12-06 18:10:44 -05:00
<meta name="description" content="Browser-based 3D slicer, gcode and CNC toolpath generator">
<meta property="og:description" content="Kiri:Moto is a unique 3D slicer that runs entirely in browser and creates output for your favorite maker tools: 3D Printers, CNC Mills and Laser Cutters.">
<meta property="og:title" content="Browser-based 3D Slicer">
2017-04-18 17:09:33 -04:00
<meta property="og:type" content="website">
2020-04-21 18:20:39 -04:00
<meta property="og:url" content="https://grid.space/kiri/">
2020-04-20 21:04:52 -04:00
<meta property="og:image" content="https://static.grid.space/img/logo_km_og.png">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
2022-10-17 22:24:19 -04:00
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta http-equiv="origin-trial" content="AvttY0bfMDdg4vBwjn5k4Yv/+OmqjNj4bTRvCgBpP7hkI6base2DxEViSebcOyglERiFV7g0DaVmI+yv79ftDw8AAAB0eyJvcmlnaW4iOiJodHRwczovL2dyaWQuc3BhY2U6NDQzIiwiZmVhdHVyZSI6IlVucmVzdHJpY3RlZFNoYXJlZEFycmF5QnVmZmVyIiwiZXhwaXJ5IjoxNzc5MTQ4ODAwLCJpc1N1YmRvbWFpbiI6dHJ1ZX0=">
2022-10-17 22:24:19 -04:00
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
2017-04-18 17:09:33 -04:00
<title>Kiri:Moto</title>
<script>
2026-02-19 14:41:52 -05:00
const isDark = localStorage['kiri-dark'] === 'true';
function setDarkLight(isDark) {
const dde = document.documentElement;
dde.setAttribute('data-theme', isDark ? 'dark' : 'light');
2026-02-22 20:24:34 -05:00
dde.style.background = isDark ? '#000000' : '#ffffff';
}
setDarkLight(isDark);
</script>
2026-02-14 19:00:48 -05:00
<link rel="icon" href="/icon/kirimoto.png">
<link rel="apple-touch-icon" href="/icon/kirimoto.png">
2026-02-19 14:41:52 -05:00
<link rel="stylesheet" type="text/css" href="/moto/palette.css">
2026-02-22 17:54:38 -05:00
<link rel="stylesheet" type="text/css" href="/moto/theme.css">
<link rel="stylesheet" type="text/css" href="/moto/menubar.css">
2026-02-23 20:30:26 -05:00
<link rel="stylesheet" type="text/css" href="index.css">
<link href="manifest.json" rel="manifest">
2026-02-19 14:41:52 -05:00
<link href="/font/css/all.min.css" rel="stylesheet">
2025-12-24 14:15:47 -05:00
<!-- <script type="module" src="/lib/kiri/run/worker.js"></script> -->
<!-- <script type="module" src="/lib/kiri/run/minion.js"></script> -->
2026-02-19 14:41:52 -05:00
<script src="/lib/ext/tween.js"></script>
<script src="/font/js/all.min.js" crossorigin="anonymous" defer></script>
<script src="/lib/main/kiri.js" type="module"></script>
2017-04-18 17:09:33 -04:00
</head>
<body>
<div id="app" class="f-col">
2024-05-23 08:53:10 -04:00
<!-- hide page contents and provide loading message during initialization -->
2024-05-22 22:58:10 -04:00
<div id="curtain" class="j-center a-center"><img id="loading">Kiri:Moto is Loading</div>
2024-05-22 18:20:02 -04:00
2024-05-23 08:53:10 -04:00
<!-- when running iframed, provide a separator between the menu bar and enclosing page -->
2020-06-08 12:01:56 -04:00
<div id="top-sep"></div>
2024-05-19 22:31:25 -04:00
2024-05-23 08:53:10 -04:00
<!-- top menu bar -->
<div id="menubar" class="f-row"></div>
2024-05-19 22:31:25 -04:00
<!-- modal progress overlay -->
<div id="progress-overlay" class="hide">
<div id="progress-indicator">
<div id="progress-ring"></div>
<div id="progress-pct"></div>
<div id="progtxt"></div>
</div>
</div>
2024-05-20 13:40:44 -04:00
<!-- toolbar with mesh and rendering options -->
2026-02-22 17:14:20 -05:00
<div id="mode-tools"></div>
<div id="mid" class="grow f-row">
2024-05-22 18:20:02 -04:00
<!-- left settings menu -->
2024-05-28 18:02:52 -04:00
<div id="panel-left" class="f-col j-left">
<div id="panel-slide" class="f-col settings">
<div id="all-devpro" class="set2-group"></div>
2024-05-26 22:51:44 -04:00
<!-- FDM -->
2024-05-29 02:00:34 -04:00
<div id="fdm-layers" class="set2-group mode-fdm"></div>
2024-05-29 08:52:16 -04:00
<div id="fdm-walls" class="set2-group mode-fdm"></div>
<div id="fdm-solid" class="set2-group mode-fdm"></div>
2024-05-29 02:00:34 -04:00
<div id="fdm-fill" class="set2-group mode-fdm"></div>
2024-05-29 08:52:16 -04:00
<div id="fdm-heat" class="set2-group mode-fdm"></div>
<div id="fdm-cool" class="set2-group mode-fdm"></div>
2024-05-29 16:00:16 -04:00
<div id="fdm-base" class="set2-group mode-fdm"></div>
2024-05-29 02:00:34 -04:00
<div id="fdm-support" class="set2-group mode-fdm"></div>
<div id="fdm-output" class="set2-group mode-fdm"></div>
<div id="fdm-expert" class="set2-group mode-fdm bottom"></div>
2024-05-26 22:51:44 -04:00
<!-- CAM -->
2024-05-29 02:00:34 -04:00
<div id="cam-tabs" class="set2-group mode-cam"></div>
<div id="cam-stock" class="set2-group mode-cam"></div>
<div id="cam-limits" class="set2-group mode-cam"></div>
<div id="cam-output" class="set2-group mode-cam"></div>
<div id="cam-origin" class="set2-group mode-cam"></div>
<div id="cam-expert" class="set2-group mode-cam bottom"></div>
<!-- LASER / 2D Cut Tools -->
2024-05-29 02:00:34 -04:00
<div id="lzr-slice" class="set2-group mode-laser"></div>
<div id="lzr-surface" class="set2-group mode-laser"></div>
2024-05-29 02:00:34 -04:00
<div id="lzr-knife" class="set2-group mode-laser"></div>
<div id="lzr-layout" class="set2-group mode-laser"></div>
<div id="lzr-output" class="set2-group mode-laser bottom"></div>
2024-05-26 22:51:44 -04:00
<!-- SLA -->
2024-05-29 02:00:34 -04:00
<div id="sla-slice" class="set2-group mode-sla"></div>
<div id="sla-layers" class="set2-group mode-sla"></div>
<div id="sla-base" class="set2-group mode-sla"></div>
<div id="sla-fill" class="set2-group mode-sla"></div>
<div id="sla-support" class="set2-group mode-sla"></div>
<div id="sla-output" class="set2-group mode-sla bottom"></div>
2024-05-26 20:06:46 -04:00
</div>
2017-04-18 17:09:33 -04:00
</div>
2024-05-22 18:20:02 -04:00
2024-05-23 08:53:10 -04:00
<!-- main workspace -->
2024-05-22 18:20:02 -04:00
<div id="mid-mid" class="grow">
<div id="layer-slider" class="f-col a-stretch">
2024-06-02 19:40:45 -04:00
<div id="layers" class="f-row j-center gap2"></div>
<div id="slider" class="f-row russo">
<div id="slider-zero">0</div>
<div id="slider-center" class="grow">
2024-06-02 20:57:21 -04:00
<div id="slider-line"></div>
<div id="slider-hold" class="f-row">
<div id="slider-lo" class="handle"><div id="slider-lo-val"></div></div>
<div id="slider-mid">&nbsp;</div>
<div id="slider-hi" class="handle"><div id="slider-hi-val"></div></div>
</div>
</div>
<div id="slider-max">&infin;</div>
</div>
</div>
<!-- slice/preview layer slider -->
<div id="top-slider" class="f-col grow">
<input id="anim-slider" type="range" min="0" max="1000" value="0"></input>
</div>
<!-- CAM animation controls and readout -->
<div id="layer-animate" class="f-col a-center set2-group hide"></div>
2020-06-05 23:21:53 -04:00
</div>
2024-05-22 18:20:02 -04:00
2024-05-23 08:53:10 -04:00
<!-- allows right tray to slide/hide but still show speeds menu -->
2024-05-28 18:02:52 -04:00
<div class="f-row j-center">
<div id="set-menu" class="f-col">
<div id="speeds"><div id="speedbar" class="f-col a-stretch j-center" lkt="sb_info"></div></div>
2020-06-07 23:02:05 -04:00
</div>
2024-05-23 08:53:10 -04:00
<!-- vertical separation between workspace and right tray -->
2024-05-28 18:02:52 -04:00
<div id="panel-right" class="f-col j-start settings">
2024-05-31 15:28:20 -04:00
<div class="set2-group f-col">
2024-12-04 16:55:31 -05:00
<details open>
<summary class="set-header"><a>objects</a></summary>
<div id="ws-widgets" class="f-col"></div>
</details>
2024-05-27 13:53:16 -04:00
</div>
<div class="set2-group f-col mode-fdm bottom">
<div class="set-header"><a>ranges</a></div>
2024-05-24 22:49:10 -04:00
<div id="fdm-ranges" class="f-col"></div>
2024-05-23 10:22:47 -04:00
</div>
<div class="set2-group f-col mode-cam bottom">
2025-12-25 23:15:38 -05:00
<details open>
<summary class="set-header mode-cam"><a>operation list</a></summary>
2024-05-24 22:49:10 -04:00
<div id="camops" class="f-col a-stretch grow">
<div id="oplist" class="f-col"></div>
2024-05-24 22:49:10 -04:00
<div id="op-add" class="opdiv">
<i class="fas fa-plus"></i>
<div id="op-add-pop" class="f-col">
<div id="op-add-list" class="opdiv op-grid">
<div id="laser-on" title="turn on laser mode">laser on</div>
<div id="laser-off" title="turn off laser mode">laser off</div>
2026-01-07 19:17:12 -05:00
<div id="cam-index" title="rotate index axis">index</div>
<div id="cam-lathe" title="lathe operation">lathe</div>
2024-05-24 22:49:10 -04:00
<div id="cam-flip" title="flip part and load&#13;profile for other side&#13;for double-sided work">flip</div>
<div id="cam-reg" title="drill registration holes&#13;along the X or Y axis&#13;for double-sided work">register</div>
<div title="clear stock face">level</div>
2026-01-07 19:17:12 -05:00
<div title="drill selected holes">drill</div>
<div title="follow a downward helix&#13;using conical selections">helical</div>
2024-05-24 22:49:10 -04:00
<div title="insert custom gcode">gcode</div>
<div title="2.5D tracing along X or Y axis&#13;used for complex part features">contour</div>
<div title="follow selected features. often used&#13;for lettering and engraving">trace</div>
<div title="clear areas above selected surfaces">pocket</div>
<div title="remove an area of material&#13;inside a defined boundary&#13;sometimes called pocketing">rough</div>
<div title="cutout parts using their shadow outline">outline</div>
<div title="perform operations on using outlines or surfaces&#13;many operations are simple wrappers around this">area</div>
2026-01-03 01:16:54 -05:00
<div id="cam-loop" title="loop next N operations M times">loop</div>
2024-05-24 22:49:10 -04:00
</div>
2024-05-22 18:20:02 -04:00
</div>
2020-12-24 00:11:38 -05:00
</div>
</div>
2025-12-25 23:15:38 -05:00
</details>
2020-12-24 00:11:38 -05:00
</div>
</div>
</div>
</div>
2024-05-22 18:20:02 -04:00
<!-- ThreeJS container -->
<div id="container"></div>
2024-05-28 18:02:52 -04:00
<!-- modal dialogs-->
<div id="modal">
<div id="modal-box" class="f-col">
2024-05-29 12:54:59 -04:00
<!-- title bar and closer -->
<div class="mod-top f-row"><div id="mod-x" class="mod-x"><i class="fas fa-times"></i></div></div>
2024-05-29 12:54:59 -04:00
2025-02-05 18:37:41 -05:00
<!-- donate menu -->
<div id="mod-don8" class="mdialog f-col">
<div class="f-col gap4" style="gap:5px">
<div class="t-pad2"></div>
<div style="padding:20px;font-size:larger;font-weight:bold">Your contribution is appreciated!</div>
<div style="padding:5px 0 5px 0;justify-content:center">And supports ongoing development,</div>
<div style="padding:5px 0 20px 0;justify-content:center">servers, forums, and related costs</div>
<button id="don8pt" class="yellow" style="justify-content:center;padding:25px;font-size:larger"><a target="_paypal" href="https://www.patreon.com/c/gridspace3d">Become a Patreon Patron</a></button>
2025-02-05 18:37:41 -05:00
<button id="don8gh" class="yellow" style="justify-content:center;padding:25px;font-size:larger"><a target="_github" href="https://github.com/sponsors/GridSpace">Sponsor on GitHub</a></button>
<button id="don8pp" class="yellow" style="justify-content:center;padding:25px;font-size:larger"><a target="_paypal" href="https://paypal.me/gridspace3d">Donate with PayPal</a></button>
2025-02-05 18:37:41 -05:00
<div class="t-pad2"></div>
</div>
</div>
2024-05-29 12:54:59 -04:00
<!-- help menu -->
2024-05-28 18:02:52 -04:00
<div id="mod-help" class="mdialog f-col">
<div class="f-row j-center title">
<label>Kiri:Moto Help</label>
</div>
2024-07-09 19:20:03 -04:00
<hr width="100%">
2025-12-21 13:53:45 -05:00
<div class="f-row">
<div class="f-col">
<a target="_rsc" href="https://docs.grid.space/projects/kiri-moto"><i class="fas fa-question-circle"></i>Documentation & APIs</a>
<a target="_rsc" href="https://forum.grid.space"><i class="fab fa-discourse"></i> Discourse Forums</a>
<a target="_rsc" href="https://discord.gg/suyCCgr"><i class="fab fa-discord"></i> Discord Server</a>
<a target="_rsc" href="https://github.com/gridspace/grid-apps/issues"><i class="fas fa-bug"></i> Bug Reports</a>
2025-12-21 20:04:04 -05:00
<a href="https://youtu.be/08795Sj22QE" target="youtube"><i class="fab fa-youtube"></i>Video Guide (v2.5)</a>
2025-12-21 13:53:45 -05:00
<a target="_rsc" href="https://github.com/gridspace/grid-apps/releases"><i class="fab fa-github"></i> Releases & Binaries</a>
2025-12-21 14:20:29 -05:00
<a target="_rsc" id="wassup" onclick="kiri.api.modal.show('don8')"><i class="fa-solid fa-hand-holding-dollar"></i> Support Development</a>
2025-12-21 13:53:45 -05:00
</div>
2025-12-21 14:20:29 -05:00
<div id="suppopp" class="content hide">
2025-12-21 13:53:45 -05:00
<hr class="mlr-10">
<div class="f-col blurb">
<p>14 Years Under<br>Active Development</p>
<span class="grow"></span>
<p>A project for makers, hobbyist, professionals, students, and educators</p>
<span class="grow"></span>
<p>Help keep it free. Ask about Institutional support</p>
<span class="grow"></span>
<p>Support funds continued development, bug fixes, documentation, and discussion forums</p>
</div>
2024-05-28 18:02:52 -04:00
</div>
2025-12-21 14:20:29 -05:00
</div>
2024-07-09 19:20:03 -04:00
<hr width="100%">
2024-05-28 18:02:52 -04:00
<div class="f-row j-center">
<label id="kiri-version"></label>
</div>
</div>
2024-05-29 12:54:59 -04:00
<!-- device selector / editor -->
<div id="mod-setup" class="mdialog f-col gap3">
<div class="f-row gap4 a-center">
<label id="dev-sel" class="set-header">select device</label>
<select id="dev-list"></select>
<div class="f-row grow j-end">
2024-06-01 01:27:43 -04:00
<button id="device-add" lk="copy">copy</button>
<button id="device-ren" lk="rename">rename</button>
2024-06-01 01:27:43 -04:00
<button id="device-del" lk="delete">delete</button>
<button id="device-exp" lk="export">export</button>
2024-05-28 18:02:52 -04:00
</div>
</div>
<div class="set-sep"></div>
<div class="f-row grow gap4">
<div id="dev-config" class="f-col gap4 overy shrink0"></div>
<div class="f-col grow">
<div id="gcode-edit" class="f-col grow gap4">
<div id="dg" class="f-col t-body t-inset"></div>
<div id="dev-gcode" class="grow"></div>
</div>
2024-05-28 18:02:52 -04:00
</div>
</div>
<div class="set-sep"></div>
<div id="device-action" class="f-row">
<div class="grow"></div>
<button id="device-save" lk="save">save</button>
<div class="grow"></div>
<a href="https://docs.grid.space/kiri-moto/gcode-macros" target="docs">gcode macro docs</a>
</div>
2024-05-28 18:02:52 -04:00
</div>
2024-05-29 12:54:59 -04:00
<!-- recent file menu -->
2024-05-28 18:02:52 -04:00
<div id="mod-files" class="mdialog f-col">
<label class="set-header menu-title" lk="dm_rcnt">recent files</label>
<div id="catalogList" class="f-col"></div>
</div>
2024-05-29 12:54:59 -04:00
<!-- settings list and editor -->
2024-05-28 18:02:52 -04:00
<div id="mod-saves" class="mdialog f-col">
<label class="set-header menu-title" lk="dm_savs">settings</label>
2024-05-28 18:02:52 -04:00
<div id="settingsList" class="f-col"></div>
<div id="settingsNew">
<input id="settingsName" class="grow"></input>
<button id="settingsSave" lk="save">Save</button>
</div>
</div>
2024-05-29 12:54:59 -04:00
<!-- cnc tool menu -->
2024-05-28 18:02:52 -04:00
<div id="mod-tools" class="mdialog">
2024-06-02 22:22:38 -04:00
<div class="f-col gap3">
<div class="f-row t-head gap3">
<label class="t-33 set-header" lk="tool">tool</label>
<label class="t-33 set-header" lk="detail">detail</label>
<label class="t-33 set-header" lk="preview">preview</label>
2024-05-28 18:02:52 -04:00
</div>
2024-06-02 22:22:38 -04:00
<div id="tool-cols" class="f-row gap3">
2024-05-28 18:02:52 -04:00
<div class="f-col t-33">
<select id="tool-select" size="10" class="grow"></select>
</div>
<div id="tool-details" class="f-col t-33 t-body t-inset"></div>
2024-05-28 18:02:52 -04:00
<div id="tool-view" class="f-col t-33 t-body"></div>
</div>
2024-06-02 22:22:38 -04:00
<div class="set-sep"></div>
<div id="tool-action" class="f-row j-center gap10">
<div class="f-row">
<button id="tool-add"><i class="fas fa-plus"></i></button>
2024-08-12 08:42:28 -04:00
<button id="tool-dup" lk="clone">copy</button>
<button id="tool-del"><i class="fas fa-minus"></i></button>
</div>
<div class="f-row">
<button id="tools-save" lk="save">save</button>
<button id="tools-close" lk="done">done</button>
</div>
2024-08-12 08:42:28 -04:00
<div class="f-row">
2025-03-07 13:56:18 -05:00
<button id="tools-import" lk="import">import</button>
2024-08-12 08:42:28 -04:00
<button id="tools-export" lk="export">export</button>
</div>
2024-05-28 18:02:52 -04:00
</div>
</div>
</div>
2024-05-29 12:54:59 -04:00
<!-- system preferences -->
2024-05-28 18:02:52 -04:00
<div id="mod-prefs" class="mdialog f-col a-center">
<label lk="dm_appp" class="menu-title">Application Preferences</label>
<hr width="80%">
<div class="f-row gap10">
2024-05-28 18:02:52 -04:00
<div id="prefs-gen1" class="f-col"></div>
<div id="prefs-gen2" class="f-col"></div>
<div id="prefs-lay" class="f-col"></div>
<div id="prefs-xpo" class="f-col"></div>
<div id="prefs-prt" class="f-col"></div>
<div id="prefs-add" class="f-col"></div>
</div>
</div>
2024-05-29 12:54:59 -04:00
<!-- export dialogs -->
<div id="mod-x-any" class="mod-print mdialog f-col">
<div class="f-row gap4">
<div class="f-col grow">
<div class="header"><label lk="ex_job">job</label></div>
<div id="print-info" class="f-col box">
<div><label lk="ex_fnam">file name</label><input id="print-filename" size="20" spellcheck="false" /></div>
<div><label lk="ex_fsiz">file size (bytes)</label><input id="print-filesize" size="12" disabled="true" /></div>
<div><label lk="ex_time">time estimate (h:m:s)</label><input id="output-time" size="12" disabled="true" /></div>
</div>
</div>
<div id="print-filament" class="f-col">
<div class="header"><label lk="ex_matl">material</label></div>
<div class="f-col box">
<div><label lk="ex_dens">filament density (g/cm^3)</label><input id="print-density" size="12" value="1.25" /></div>
<div><label lk="ex_fuse">filament used (mm)</label><input id="print-length" size="12" disabled="true" /></div>
<div><label lk="ex_wght">printed weight (g)</label><input id="print-weight" size="12" disabled="true" /></div>
</div>
</div>
</div>
<div id="code-preview-head" class="header"><label lk="ex_gcpv">gcode preview</label></div>
<div id="code-preview" class="f-col box">
<div><textarea id="code-preview-textarea"></textarea></div>
</div>
<div class="header"><label lk="ex_dwnl">download</label></div>
<div class="f-row box">
2024-12-10 11:59:33 -05:00
<button id="print-download" class="grow">gcode</button>
<button id="print-palette" class="grow">palette</button>
2024-12-10 11:59:33 -05:00
<button id="print-zip" class="grow">zip</button>
<button id="print-3mf" class="grow">3mf</button>
</div>
<div id="bambu-output" class="f-col">
<div class="header"><label lk="ex_bamb">send to bambu</label></div>
<div class="f-row box gap4 a-center">
<label class="grow0 pad3">printer</label>
<select id="print-bambu-device"></select>
<label class="grow0 pad3">spool</label>
<select id="print-bambu-spool"></select>
2025-02-01 23:10:20 -05:00
<button id="print-bambu-1" class="grow" disabled>send</button>
2026-01-08 23:44:31 -05:00
<button id="print-bambu-2" class="grow" disabled>print</button>
</div>
</div>
2026-01-08 23:44:31 -05:00
<div id="send-remote-head" class="header"><label>send to print</label></div>
<div id="send-remote-print" class="f-col box">
<div class="grow f-row">
<div class="f-col grow">
2026-01-08 23:44:31 -05:00
<div id="ophost">
<label lk="ex_host">host</label>
<input id="octo-host" size="20" placeholder="http(s)://host:port" />
</div>
<div id="opapik">
<label lk="ex_akey">key</label>
<input id="octo-apik" size="20" />
</div>
<div id="optype">
<label lk="ex_type">type</label>
<select id="octo-type">
<option selected>moonraker</option>
<option>octoprint</option>
</select>
</div>
</div>
2026-01-08 23:44:31 -05:00
<button id="send-remote">send</button>
<button id="print-remote">print</button>
</div>
<div id="oph1nt">
<label class="hint">
check printer
<a href="http://docs.octoprint.org/en/master/api/general.html?highlight=cors#cross-origin-requests" target="_help">CORS</a>
settings
</label>
</div>
</div>
<div id="export-support" class="f-col">
<a id="export-support-a" target="support">this project needs your support!</a>
</div>
</div>
<div id="mod-x-sla" class="mod-print mdialog f-col">
<div class="header"><label lk="export">export</label></div>
<div id="print-info" class="f-col box">
<div><label lk="ex_fnam">file name</label><input id="print-filename-sla" size="20" spellcheck="false" /></div>
<div><label>resin used ML</label><input id="print-volume" size="10" spellcheck="false" /></div>
<div><label>layers</label><input id="print-layers" size="10" spellcheck="false" /></div>
<div><label>print time</label><input id="print-time" size="10" spellcheck="false" /></div>
</div>
<div class="header"><label lk="ex_dwnl">download</label></div>
<div class="f-row box">
<button id="print-sla" class="grow" lk="ex_dwnl">download</button>
</div>
</div>
<div id="mod-x-laser" class="mod-print mdialog f-col">
<div class="header"><label lk="export">export</label></div>
<div id="print-info" class="f-col box">
<div><label lk="ex_fnam">file name</label><input id="print-filename-laser" size="20" spellcheck="false" /></div>
<div><label>segments</label><input id="print-lines" size="12" disabled="true" /></div>
</div>
<div class="header"><label lk="ex_dwnl">download</label></div>
<div class="f-row box">
<button id="print-svg" class="grow">svg</button>
<button id="print-dxf" class="grow">dxf</button>
2025-12-25 20:47:38 -05:00
<button id="print-obj" class="grow">obj</button>
<button id="print-lg" class="grow">gcode</button>
</div>
</div>
<!-- dynamic dialogs -->
2024-05-28 18:02:52 -04:00
<div id="mod-any" class="mdialog f-col"></div>
<div class="mod-end"></div></div>
</div>
<!-- prompts and other modals needed in electron -->
<dialog id="dialog"></dialog>
2024-05-22 18:20:02 -04:00
<!-- click + drag mouse tracking -->
<div id="tracker"></div>
<!-- EU compliance -->
2020-06-13 20:04:39 -04:00
<div id="gdpr" class="noshow">
<p>this site uses <A href="/privacy.html" target="privacy">cookies</a> to preserve application preferences</p>
<button id="gotit" class="f-col j-center">got it</button>
2020-06-13 20:04:39 -04:00
</div>
2024-05-22 18:20:02 -04:00
<!-- developer debugging -->
<div id="stats">
<div id="rms"></div>
<div id="fps"></div>
2022-01-31 15:20:34 -05:00
<div id="rnfo"></div>
</div>
2024-05-22 18:20:02 -04:00
<!-- ephemeral non-modal alerts -->
<div id="alert-area">
<div id="alert-border">
<div id="alert-text">alerts<br>alerts<br>alerts</div>
</div>
</div>
2024-05-22 18:20:02 -04:00
</div>
2017-04-18 17:09:33 -04:00
</body>
</html>