feat(v2-alpha): refactor binary simulator and introduce shared site layout

- Rewrite binary simulator with unified unsigned and two’s complement logic
- Support dynamic bit widths from 4 to 64 with LSB-preserving resizing
- Replace legacy unsigned-only scripts with a single maintainable implementation
- Extract binary styles into dedicated CSS and add global site styling
- Introduce shared header, footer, and base layout components
- Migrate Binary page to BaseLayout and modular assets

Signed-off-by: Alexander Lyall <alex@adcm.uk>
This commit is contained in:
2025-12-14 19:46:23 +00:00
parent 460126dccc
commit d4765b3788
12 changed files with 1102 additions and 823 deletions

View File

@@ -1,17 +1,26 @@
---
// src/layouts/BaseLayout.astro
import SiteHeader from "../components/SiteHeader.astro";
import SiteFooter from "../components/SiteFooter.astro";
const { title = "Computing:Box" } = Astro.props;
---
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{title}</title>
<link rel="stylesheet" href="/styles.css" />
<link rel="stylesheet" href="/fonts/DSEG7Classic-Regular.css">
</head>
<body>
<slot />
</body>
</html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>{title}</title>
<!-- Global site styles -->
<link rel="stylesheet" href="/styles/global.css" />
</head>
<body>
<SiteHeader />
<main class="site-main">
<slot />
</main>
<SiteFooter />
</body>
</html>