46 Commits

Author SHA1 Message Date
Alex Dunmow
ff71b93717 feat(lcars): reshoot with Antonio/Share Tech Mono bundled faces live (dark-first preview)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 20:01:55 +08:00
Alex Dunmow
e3747c2cd8 bump to 0.5.1 2026-07-06 19:57:15 +08:00
Alex Dunmow
73a139e032 fix(lcars): bundle Antonio + Share Tech Mono via @font-face (host bundled_fonts inert)
- host does not consume bundled_fonts; declare @font-face against served
  /templates/lcars/fonts/*.woff2 paths so --font-* resolve to real faces
- all 5 presets set typography.fontHeading/body/mono to template:lcars:<Family>

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:57:15 +08:00
Alex Dunmow
7c7f249fa4 bump to 0.5.0 2026-07-06 19:49:33 +08:00
Alex Dunmow
8419d717e3 feat(lcars): Wave B gallery reshoot (dark-first) — real hero art, styled empty-media fallback, longer log
Home/about/article x light+dark at 2880x1800. Dark home is the curated preview.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:49:33 +08:00
Alex Dunmow
4e54f71279 bump to 0.4.2 2026-07-06 19:47:39 +08:00
Alex Dunmow
8c1377d91b fix(lcars): paragraph rhythm in long-form text/prose bodies
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:47:39 +08:00
Alex Dunmow
f4cddccb3c bump to 0.4.1 2026-07-06 19:35:31 +08:00
Alex Dunmow
d2d27b8dd9 fix(lcars): seed hero+cover art, styled empty-media fallback, SVG geometry guard + shortcode sweep, longer episode log
- seed: wire 6 licensed cosmic images (hero split art, episode cover, episode-card + about slots); kills the empty grey hero/cover boxes with real art
- theme fix: rich-section + episode_console render a labeled LCARS console-art readout for unset image slots instead of a bare grey rectangle
- dead space: home hero -> split layout (image fills post-CTA void); lengthen first-contact episode log to ~11 paragraphs (starfleet-log voice), warp/terraforming to 5
- SVG geometry guard: explicit width/height on all <use> icon SVGs; full shortcode sweep (::pack:name:size:: -> sized <svg><use>) across every override

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:35:15 +08:00
Alex Dunmow
59bb1f453a bump to 0.4.0 2026-07-06 09:32:23 +08:00
Alex Dunmow
a5546afae5 feat: Wave B gallery screenshots (home/about/article × light+dark) 2026-07-06 09:32:07 +08:00
Alex Dunmow
ee48e06931 chore: rename dev host localdev.blockninjacms.com -> blockninja.dev 2026-07-05 20:50:30 +08:00
Alex Dunmow
d919a967cf fix(lcars): remediate hero blank, empty-media balloon, CTA void, band padding
Layout/whitespace remediation (no redesign; LCARS persona intact):
- hero: styled-text reads used `field.text|default:field`, which HARD-ERRORS
  in ninjatpl when the field is a bare string (resolveIdentifier errors on
  reflect.String, and nodeFilteredVariable returns before the default filter
  runs). The demo seed passes bare strings for eyebrow/headline/subheadline,
  so the hero aborted on its first {% set %} and rendered nothing — a dead
  band on the home page. Switch to `field|get:"text"|default:field` (the
  global jutsu `get` filter tolerates non-maps), which resolves both the
  {text,color} object and bare-string forms. Same defensive fix in navbar
  logoText.
- hero split: guard the empty media frame so an image-less split hero drops to
  a single column instead of leaving a blank muted panel.
- episode_console: empty cover rendered a full 1:1 square that ballooned to
  ~600px and, with align-items:stretch, stretched the text column to match,
  leaving a large void beside the copy. Switch to align-items:start and render
  a compact, capped, on-brand LCARS readout placeholder (.lcars-console-art)
  when no cover ships.
- cta: band variant left a large empty region right of the button; use
  justify-content:space-between and trim the oversized 4rem band padding to 3rem.
- manifest css: add .lcars-console-art (explicit CSS, semantic tokens) + cap
  .lcars-img-empty height.

Mobile responsiveness audited from CSS/templates: all grids/rails collapse via
explicit @media rules in manifest css.input_css_append (not Tailwind JIT-scanned
theme classes); no horizontal overflow at 375-390px. Content is never gated by
IntersectionObserver (canvas IO drives only the decorative hero background;
.lcars-reveal is a load-time CSS animation with a reduced-motion opacity:1
fallback), so no reveal-hidden dead bands.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:26:12 +08:00
Alex Dunmow
800c8904d6 fix(lcars): collapse multi-line ninjatpl comments to single-line (load-fatal lexer error) 2026-07-05 17:06:50 +08:00
Alex Dunmow
ba23c3c453 bump to 0.3.2 2026-07-05 16:51:02 +08:00
Alex Dunmow
40348809a8 bump to 0.3.1 2026-07-05 16:44:48 +08:00
Alex Dunmow
b4891b95cf docs: publishing README 2026-07-05 13:43:43 +08:00
Alex Dunmow
885dd372e7 feat(lcars): Wave A theme rebuild — sci-fi podcast persona (WO-TF-020)
Full LCARS library-computer interface for a sci-fi podcast/media outfit.
Codeless .bnp. Re-skins every mandatory builtin inside LCARS framing and
ships the full Wave A surface.

- 49 mandatory template overrides (chrome, marketing, primitives, commerce,
  blog family, auth, page-suggestions), field-faithful re-skins of the frozen
  builtin defaults; identity carried by the lcars-* class system.
- 8 page templates (default+sidebar rail, full-width, full-display, landing,
  article, blog-index, contact, auth) with elbow-frame chrome.
- 4 persona blocks: episode_console, crew_roster, stardate_log,
  transmission_status. Legacy lcars_header/sidebar/panel removed (now overrides
  + page chrome).
- 5 dual-mode presets (canonical black + daylight-ops cream), all 19 tokens.
- Bundled Antonio + Share Tech Mono (OFL); email-safe LCARS wrapper.
- Seed "Subspace Signal": home, about, 3 episodes+articles, contact
  (hail_signals table + row_inserted email-admins workflow), login.
- GO BIG motion: dependency-free canvas panel-sweep on the hero (lazy-init,
  reduced-motion static frame, no-JS fallback).

Build + check-safety green. Visual UNVERIFIED until Wave B. Known frozen-cms
limits (contract §11 auth/404 non-dispatch, §12 provider-backed empty lists)
authored faithfully.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 12:22:22 +08:00
Alex Dunmow
6dbd76f2e8 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:00:19 +08:00
Alex Dunmow
9fa99a8d40 chore: repo hygiene for the wasm era (WO-WZ-015 fix round)
Add the wasm/.bnp convention Makefile (build / verify / archive-check /
publish via ninja plugin build) for consistency with the theme fleet,
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:18 +08:00
Alex Dunmow
36a4b97bb7 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
abe0b25e9d bump to 0.2.9 2026-07-03 22:10:05 +08:00
Alex Dunmow
25ac7dbde0 chore: ignore local Playwright/MCP test artifacts
Keeps stray .playwright-mcp/ runs and one-off debug screenshots out of
the working tree so the repo stays clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 16:20:14 +08:00
Alex Dunmow
62e7e33b80 bump to 0.2.8 v0.2.8 2026-06-26 00:58:21 +08:00
Alex Dunmow
bfbe109e9f chore: showcase preview.png + align block/core to v0.14.1 2026-06-26 00:58:21 +08:00
Alex Dunmow
9172966702 chore: bump core to v0.14.0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 13:43:17 +08:00
Alex Dunmow
a63b8a06ad chore: bump core to v0.13.1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 22:30:57 +08:00
Alex Dunmow
0919d57e27 deps: bump block/core to v0.12.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-08 20:49:15 +08:00
Alex Dunmow
d3995d057d bump to 0.2.7 2026-06-07 16:17:35 +08:00
Alex Dunmow
528b3e2d65 bump to 0.2.7 2026-06-07 16:17:10 +08:00
Alex Dunmow
91e6735eb2 docs(plan): add LCARS card redesign implementation plan
Eight-task implementation plan covering: foundation CSS/palette/font
tokens, lcars_panel redesign (elbow + strip), lcars_rail compound
block, lcars_readout tile, outer page-frame refinement, sidebar code
field, plugin metadata + admin docs, and final verification with
version bump. Notes one spec deviation: LCARS palette ships as CSS
variables in style.css rather than presets.json entries (the CMS
ColorScheme struct is strict).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 20:35:41 +08:00
Alex Dunmow
563ba4a37c docs(spec): add LCARS card redesign brainstorming spec
Locks the geometry, schemas, and architecture decisions from the
brainstorming session: redesigned lcars_panel (elbow/strip frames),
new lcars_rail compound block, new lcars_readout tile, plus bundled
font-token + palette + outer-frame refinements.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 20:27:43 +08:00
Alex Dunmow
c75ec15554 bump to 0.2.6 2026-06-06 11:00:47 +08:00
Alex Dunmow
a5d668c788 bump to 0.2.5 2026-06-06 11:00:22 +08:00
Alex Dunmow
ad4a0b7489 bump to 0.2.4 2026-06-05 08:11:26 +08:00
Alex Dunmow
4ebf660ab1 bump to 0.2.3 2026-06-04 22:54:04 +08:00
Alex Dunmow
b668b87532 chore: bump core to v0.11.1 2026-06-04 20:18:57 +08:00
Alex Dunmow
33e32d6076 chore: bump core to v0.11.0 2026-06-04 08:51:41 +08:00
Alex Dunmow
18ff148f0c bump to 0.2.2 2026-06-04 01:31:55 +08:00
Alex Dunmow
4b9642c7ba chore: bump go directive to 1.26.4
Update go directive and core dependency for plugin ABI alignment — Go plugins require an exact host/plugin Go runtime match.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-04 01:01:14 +08:00
773a310208 bump 0.2.1 2026-06-03 11:40:31 +08:00
d6cb1bd62c docs: proper LCARS description 2026-06-03 11:40:16 +08:00
1195af9039 feat(plugin): add display_name, description, kind, categories 2026-06-03 11:35:25 +08:00
Alex Dunmow
9756043d88 plugin details 2026-06-03 00:22:59 +08:00
Alex Dunmow
18f35101a7 plugin details 2026-06-03 00:05:18 +08:00
Alex Dunmow
e992d8247d feat: LCARS theme plugin — Star Trek computer interface
First-class pongo2 theme with 4 color presets (Federation, Red Alert,
Sickbay, Engineering), 3 custom blocks (header, sidebar, panel),
2 page templates, heading/text overrides, email wrapper, bundled
Antonio font, and full LCARS CSS with elbow brackets, pill buttons,
and rounded bars.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 23:11:11 +08:00