20 Commits

Author SHA1 Message Date
Alex Dunmow
b77b3bffd2 bump to 0.3.0 2026-07-06 10:01:36 +08:00
Alex Dunmow
c6e6b60900 feat: Wave B gallery screenshots (home/about/article × light+dark) 2026-07-06 10:01:11 +08:00
Alex Dunmow
af5abf91de chore: rename dev host localdev.blockninjacms.com -> blockninja.dev 2026-07-05 20:50:30 +08:00
Alex Dunmow
2aa1b0f506 refactor: replace hand-rolled utility CSS with Tailwind classes (host build now scans theme templates)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 18:00:21 +08:00
Alex Dunmow
6af6950f23 fix(scifi-clean): repair blank hero + whitespace/layout + mobile responsiveness
Layout / whitespace:
- Root-cause blank hero: seed passed hero styled-text (eyebrow/headline/
  subheadline) as bare strings, but the hero template does field.text|default:field
  and the ninjatpl engine throws a hard error on attribute-access-on-string, so the
  whole hero (and the builtin fallback) errored and rendered as an empty ~160px band.
  Seed now passes {text:...} objects (the builtin-sample / admin-editor format).
- tech_spec table: value + unit were both right-aligned, leaving a cavernous mid-gap;
  label column now absorbs slack and value+unit group together on the right. Box
  narrowed (34rem) with tighter padding so the HUD corners frame a deliberate panel.
- Tightened section rhythm (sc-section 4->3.5rem, sc-section-tight 2.5->2.75rem) and
  hero bottom padding to remove oversized inter-section gaps.
- Defined sc-article-measure (was referenced but undefined -> unbounded line length).

Empty-media graceful state (seed ships no images):
- rich-section and hero (split) rendered an empty aspect-ratio muted box when media
  was absent; media frame is now guarded and the grid collapses to one column.

Mobile responsiveness (explicit sc-* classes + @media, not JIT-scanned Tailwind):
- sc-form-grid (global + contact-form scoped) collapses to 1 column <=640px.
- gallery dropped inline grid-template-columns that overrode its responsive classes,
  so 3/4-col galleries now collapse on small screens.
- nav toggle tap target bumped to 42x42px.

Motion robustness:
- Added a safety-net full-reveal timeout to the scroll-reveal script so below-fold
  [data-sc-reveal] content is guaranteed visible on no-scroll screenshot captures and
  IntersectionObserver edge cases. Reduced-motion / no-JS already render fully.

Semantic tokens only; check-safety 32 checks 19 ok 13 skip -> OK; codeless build OK.
No version bump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:27:27 +08:00
Alex Dunmow
2163eb669b bump to 0.2.1 2026-07-05 16:44:49 +08:00
Alex Dunmow
f7f1932352 docs: publishing README 2026-07-05 13:44:03 +08:00
Alex Dunmow
46c9177265 feat(scifi-clean): Wave A theme — 49 overrides, 7 templates, persona blocks, seed
WO-TF-024. Re-skin from frozen Wave-0 builtins into blueprint/HUD/mono chrome
(AI/robotics product persona), preserving every content field, provider field,
custom tag, and JS block; button/card legacy field reads reconciled per §4.

- 49 mandatory template_overrides + 7 page templates (default, full-width,
  landing, article, blog-index, contact, auth) with MID-tier motion
  (JS scroll-reveal + ticking counters + CSS line-draw; reduced-motion + no-JS
  static fallback).
- 4 persona blocks: tech_spec, benchmark_table, telemetry_grid,
  changelog_console. Deleted 5 builtin-duplicating theme blocks (now overrides).
- 4 dual-mode presets (19 tokens, light + dark tuned).
- Bundled OFL fonts (Space Grotesk / Inter / JetBrains Mono) + LICENSES.
- Email-safe wrapper retuned; master pages + seed demo site (Halcyon Robotics:
  home, about, blog x3, contact with data-table + row_inserted email workflow,
  login).
- required_icon_packs (lucide, simple-icons) + RECOMMENDED docs.

make build exit 0 (codeless .bnp); check-safety exit 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 12:43:47 +08:00
Alex Dunmow
dc4cc2d8b3 feat: convert to codeless .bnp — templates + manifest, Go/templ deleted (WO-WZ-021)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 15:24:40 +08:00
Alex Dunmow
b6d6f4b010 chore: repo hygiene for the wasm era (WO-WZ-015 fix round)
Replace the retired .so Makefile with the wasm/.bnp convention (build /
verify / archive-check / publish via ninja plugin build), gitignore *.so
and *.bnp artifacts, and refresh the stale [compatibility] block_core
constraint to the v0.15 era.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:15:46 +08:00
Alex Dunmow
da07b95286 wasm port (WO-WZ-015): reactor-mode wasip1 guest, core v0.15.2
Add wasmguest.Serve(Registration) boilerplate and bump block/core to v0.15.2
for the .so->wasm migration. Built + published as .bnp to the dev registry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 22:11:12 +08:00
Alex Dunmow
3fdc1738c2 bump to 0.1.2 2026-07-03 22:10:30 +08:00
Alex Dunmow
304b2d4662 chore: declare templates category (themes carry categories) v0.1.1 2026-06-26 21:47:02 +08:00
Alex Dunmow
ef6a60614e bump to 0.1.1 2026-06-26 01:09:50 +08:00
Alex Dunmow
78011277bc chore: showcase preview.png + align block/core to v0.14.1 2026-06-26 01:09:50 +08:00
Alex Dunmow
008d26bd72 Add plugin.mod 2026-06-25 15:10:56 +08:00
Alex Dunmow
1281918bca chore: bump core to v0.14.0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 13:43:52 +08:00
Alex Dunmow
584260a389 chore: bump core to v0.13.1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 22:31:02 +08:00
Alex Dunmow
e579fa9a56 deps: bump block/core to v0.12.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-08 20:49:04 +08:00
Alex Dunmow
96b87b3e81 initial: theme plugin scifi-clean
Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously
an unversioned directory inside ~/src/blockninja-themes/scifi-clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 14:11:43 +08:00