Form Quality Parity & Reusable Media Components #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Standalone tracker for bringing all Dioxus WASM island forms to full Bootstrap-quality parity, and adding reusable media components (markdown editor, PDF viewer). Based on Kristof's feedback.
Related:
Background
Hero OS has two UI layers:
_uiservices —hero_*_uicrates serve HTML templates with Bootstrap 5.3.3. These already look polished and are the visual reference (the gold standard).Issue #7 made significant progress closing the gap between the two. The islands already inherit a lot of Bootstrap's look and feel through:
styles.css— single source of truth for all visual rules, using CSS custom properties that mirror Bootstrap's design languageadoptedStyleSheetsTextField,TextareaField,CheckboxField,Badge,Card,Tabs,Alert,Spinner,ToggleSwitch,FormGroup— all emitting correct Bootstrap-aligned classesThe gap is smaller but not fully closed. This issue finishes the job.
Design system reference: https://forge.ourworld.tf/lhumina_code/hero_archipelagos/src/branch/development/docs/DESIGN_SYSTEM.md
The three-layer architecture:
styles.cssdefines all visual rules using CSS custom propertiestheme.rssets CSS variables at:root, enabling theme switchingTasks
1. BizTools Priority
_uiequivalents as the visual reference2. Form Quality — All Archipelagos Forms
_uiequivalent3. Object Linking
4. Reusable Markdown Editor (from lhumina_code/hero_os#22)
5. Reusable PDF Viewer (from lhumina_code/hero_os#22)
Branching Model
All repos use
developmentas the default branch.development: default, always deployabledevelopment_{name}: feature branches for fast-paced AI-assisted developmentmain: releases (when ready)One branch, one commit, one issue
AI-assisted development generates many commits fast. To keep history clean and traceable, we follow a strict rule:
development_{name}) is squashed into one commit before merging todevelopmenthttps://forge.ourworld.tf/lhumina_code/home/issues/9 — Form Quality Parity & Reusable Media ComponentsdevelopmentThis means every commit on
developmentrepresents a complete, reviewed piece of work and links directly to the issue that describes it.Workflow
development_{name}from latestdevelopmentdevelopment_{name}(as many commits as needed)developmentintodevelopment_{name}periodically (never rebase, always merge)development_{name}intodevelopmentRepos involved:
hero_osstyles.css,theme.rs)hero_archipelagoshero_osishero_servicesDockerfile.dev)Deployment
:devherodev.gent02.grid.tf:demoherodemo.gent02.grid.tf:prodRegistry:
forge.ourworld.tf/lhumina_code/hero_zeroVM: TFGrid Node 8, Mycelium
495:72fa:8ec3:9264:ff0f:c0a8:abad:234cDeploy Commands
DevOps Pipeline
:demoRules:
:demobefore human confirms remote build (step 8 -> step 9)Operational Lessons (from Issues #7 & #8)
--no-cacheis needed when cargo dependencies change or layers are cached from a different branch.docker stop + rmthe old container beforedocker run. Watch for leftover containers (e.g.hero_zero) holding ports.docker pushto registry →docker pullon VM →docker run. Don't build on the VM.:demoand redeploy herodemo after human confirms herodev works. Non-negotiable.--no-cachebuilds require--ssh defaultflag for git clone steps inside Docker.