Files
scaenae/scenes/ssgp/index.html
2026-04-22 10:30:04 +02:00

161 lines
7.4 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<link rel="icon" href="../../appicon.png" sizes="512x512" type="image/png">
<!-- Add iOS meta tags and icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="SCAENE">
<link rel="apple-touch-icon" href="appicon.png">
<!-- OpenGraph tags -->
<meta property="og:title" content="SCAENE" />
<meta property="og:description" content="Web App 3D per il progetto PRIN 'SCAENAE'" />
<meta property="og:image" content="../../appicon.png" />
<meta property="og:image:secure_url" content="../../appicon.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="200" />
<meta property="og:image:height" content="200" />
<!-- Web-app ID -->
<meta name="aton:appid" content="app_scaenae">
<meta name="title" content="SCAENAE - Teatro Santi Giovanni e Paolo, Venezia">
<meta name="description" content="SCAENAE - Teatro Santi Giovanni e Paolo, Venezia">
<!-- Add meta theme-color -->
<meta name="theme-color" content="#000000" />
<title>SCAENE</title>
<link rel="stylesheet" type="text/css" href="/vendors/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/vendors/bootstrap/css/bootstrap-icons/font/bootstrap-icons.min.css">
<link rel="stylesheet" type="text/css" href="/res/css/main.css">
<link rel="stylesheet" type="text/css" href="../../css/app.css">
<!-- Vendors -->
<script type="text/javascript" src="/vendors/vendors.min.js"></script>
<script type="text/javascript" src="/vendors/bootstrap/js/bootstrap.bundle.min.js"></script>
<script type="text/javascript" src="/dist/THREE.bundle.js"></script>
<script type="text/javascript" src="../../vendor/three/examples/js/controls/DragControls.js"></script>
<script type="text/javascript" src="/dist/ATON.min.js"></script>
<script type="importmap">
{
"imports": {
"@hotwired/stimulus": "../../vendor/@hotwired/stimulus/dist/stimulus.js"
}
}
</script>
<!-- Main js entry -->
<script type="module" src="./index.js"></script>
</head>
<body data-bs-theme="light" data-controller="menu">
<div id="toolbar" class="aton-toolbar-top w-100"
data-controller="toolbar clipper" data-clipper-enabled-value="false">
<a class="btn aton-btn fs-5" href="/a/scaenae" id="back" title="Torna alla mappa">
<i class="bi bi-map-fill"></i>
</a>
<a class="btn aton-btn fs-5" title="Impostazioni" data-toolbar-target="settings"
data-action="toolbar#toggleSettings">
<i class="bi bi-gear-fill"></i>
</a>
<a class="btn aton-btn fs-5" title="Attiva / disattiva sezionamento"
data-clipper-target="trigger" data-action="clipper#toggleClipper">
<i class="bi bi-scissors"></i>
</a>
<div class="d-none w-25
position-absolute
top-0 start-50
translate-middle bg-light
px-4 pt-2 pb-2 bg-opacity-50
rounded-bottom-3
mt-4 text-dark text-center"
id="clipper-bar"
data-clipper-target="clipper">
<span class="pt-5 pb-2 d-block fw-bold">Sezionamento</span>
<button class="btn aton-btn d-inline px-4 py-4 me-5" id="clipX"
data-clipper-target="axis" data-clipper-axis-param="x" data-action="clipper#clip" title="Sezione X"></button>
<button class="btn aton-btn d-inline px-4 py-4 me-5" id="clipY"
data-clipper-target="axis" data-clipper-axis-param="y" data-action="clipper#clip" title="Sezione Y"></button>
<button class="btn aton-btn d-inline px-4 py-4" id="clipZ"
data-clipper-target="axis" data-clipper-axis-param="z" data-action="clipper#clip" title="Sezione Z"></button>
</div>
<a class="btn aton-btn fs-5 float-end" id="menu" title="Menu"
data-menu-target="trigger" data-action="menu#toggleMenu">
<i class="bi bi-list"></i>
</a>
</div>
<!-- Settings menu template (except dynamic light sliders) -->
<template id="tmpl-settings">
<div data-controller="settings">
<h2 class="fs-5 ms-2 mb-3 mt-3">
<i class="bi bi-lightbulb me-1"></i> Illuminazione
</h2>
<h3 class="fs-6 ms-4 mb-3 mt-3">
Direzione (x, y, z)
</h3>
<div data-sliders-container></div>
<h3 class="fs-6 ms-4 mb-3 mt-3">
Intensità
</h3>
<div data-slider-exposure-container></div>
<h2 class="fs-5 ms-2 mb-3 mt-3">
<i class="bi bi-brightness-high me-1"></i> Ambiente
</h2>
<div class="form-check form-switch ms-4 mt-2">
<input class="form-check-input" type="checkbox" role="switch"
data-settings-target="ao" data-action="change->settings#toggleAO">
<label class="form-check-label" for="aoSwitch">Ambient occlusion</label>
</div>
<div class="form-check form-switch ms-4 mt-2">
<input class="form-check-input" type="checkbox" role="switch"
data-settings-target="shadows" data-action="change->settings#toggleShadows">
<label class="form-check-label" for="shadowsSwitch">Ombre</label>
</div>
</div>
</template>
<template id="tmpl-menu-tabs">
<!-- Nav tabs -->
<ul class="nav nav-pills" id="content-tabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="layer-tab" data-bs-toggle="tab" data-bs-target="#layer" type="button" role="tab" aria-controls="layer" aria-selected="false">
<i class="bi bi-boxes me-1"></i> Elementi 3D
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="content-tab" data-bs-toggle="tab" data-bs-target="#content" type="button" role="tab" aria-controls="media" aria-selected="true">
<i class="bi bi-diagram-3 me-1"></i> Contenuti
</button>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content ps-4 ms-3 overflow-y-auto">
<div class="tab-pane active p-3 ms-2" data-menu-target="layers" id="layer" role="tabpanel" aria-labelledby="layer-tab" tabindex="0"></div>
<div class="tab-pane pt-3" data-menu-target="ontology" id="content" role="tabpanel" aria-labelledby="media-tab" tabindex="0">
<!-- Temporary -->
<ul class="list-group me-4 ms-0">
<li class="list-group-item pt-2 pb-2" id="ontology-list"> </li>
</ul>
</div>
</div>
</template>
<!-- TODO CSS-only popover -->
<div class="card d-none" id="shadows-popover" popover>Disabilitare le ombre può migliorare le prestazioni</div>
<div class="aton-poweredby" >
<a href="https://aton.ispc.cnr.it/site/" target="_blank"><img src="/res/aton-logo.png"></a>
</div>
</body>