From 4dd3fe622ee98b2cb4fe16c6baf3a486f35d950d Mon Sep 17 00:00:00 2001 From: Jeffrey Smith Date: Wed, 1 Apr 2026 10:28:35 +0000 Subject: [PATCH] Feat v0.6.10 viewport foundation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Single layout model: body → shell → surface. CSS zoom replaces transform: scale() — no more getBoundingClientRect hacks. Extension surfaces use height: 100% instead of 100vh. All viewport-height declarations use 100dvh fallbacks for mobile browsers. Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 41 ++++++++++++++++++++ ROADMAP-UI.md | 18 +++------ ROADMAP.md | 2 +- VERSION | 2 +- packages/chat/css/main.css | 4 +- packages/dashboard/css/main.css | 2 +- packages/git-board/css/main.css | 1 + server/pages/templates/base.html | 21 +++++----- server/pages/templates/workflow-landing.html | 1 + server/pages/templates/workflow.html | 2 +- src/css/primitives.css | 1 + src/css/sw-login.css | 2 +- src/css/sw-shell.css | 18 ++++----- src/js/sw/primitives/menu.js | 15 ++----- src/js/sw/sdk/index.js | 11 +----- src/js/sw/shell/app-shell.js | 18 +++------ src/js/sw/shell/app.js | 4 +- src/js/sw/shell/surface-viewport.js | 3 +- src/js/sw/surfaces/settings/appearance.js | 15 ++----- 19 files changed, 94 insertions(+), 87 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac93034..bd144aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,47 @@ All notable changes to Armature are documented here. +## v0.6.10 — Viewport Foundation + +Single layout model. Every surface renders inside one containment chain: +`body → shell → surface`. No dual systems. No transform hacks. + +### Changed + +- **CSS `zoom` replaces `transform: scale()`**: UI scale (80%–175%) now + uses CSS `zoom` on `#surfaceInner` instead of `transform: scale()`. + `zoom` reflows layout correctly — `getBoundingClientRect()` returns + accurate values, eliminating the scale-correction hack in `menu.js`. + Supported in all evergreen browsers (Firefox 126+, June 2024). +- **Single layout root**: `` in `base.html` is the authoritative + flex column layout. `.sw-shell` CSS demoted from viewport-level + container (`height: 100vh`) to fill-parent (`height: 100%`). + Safe-area insets moved from `.sw-shell` to ``. +- **Banner single source of truth**: Template banners measure their own + height via inline ` {{end}} {{if .Message.Visible}} @@ -101,9 +101,12 @@ {{end}} {{if .Banner.Visible}} -