Add hex holder designer page (/holder)

Server-side OpenSCAD renders STL from bundled hex_cell.scad with parameter
overrides via -D. Frontend is a Three.js viewer with auto-form generated
from /api/holder/params. 'Design busbars →' button posts the computed
cell coordinates to /api/projects and redirects to the busbar editor with
the holder cells pre-loaded.

  - holder.py:                openscad subprocess wrapper + compute_cells()
                              (Python mirror of get_hex_center_points_*)
  - scad/hex_cell.scad:       verbatim copy of Addy/Hex-Cell-Holder source
  - app.py:                   /holder route + /api/holder/{params,render,cells}
  - static/holder.html etc:   parameter form + Three.js STL viewer
  - Dockerfile / install.sh:  apt install openscad
  - static/index.html:        nav link Holder ↔ Busbars in topbar
This commit is contained in:
wenil
2026-05-24 19:27:50 +03:00
parent d8cb0dc06d
commit 6bc922cabf
13 changed files with 2371 additions and 9 deletions
+21
View File
@@ -61,6 +61,27 @@ body {
align-items: center;
}
.topbar-nav {
display: flex;
gap: 4px;
padding: 0 12px;
border-left: 1px solid var(--border);
}
.topbar-nav a {
color: var(--muted);
text-decoration: none;
padding: 4px 10px;
font-size: 13px;
border-bottom: 2px solid transparent;
}
.topbar-nav a:hover { color: var(--text); }
.topbar-nav a.active {
color: var(--text);
border-bottom-color: var(--accent);
}
.project-bar {
display: flex;
align-items: center;