rewrite
Some checks failed
Deploy / build-deploy (push) Failing after 4m56s

This commit is contained in:
Jorijn van der Graaf 2026-08-05 04:18:37 +02:00
commit 934c94cb5c
50 changed files with 10464 additions and 758 deletions

View file

@ -0,0 +1,41 @@
/*
catcrafts.net
Copyright (C) 2026 Catcrafts
The source code of this website is made available for viewing purposes only.
No permission is granted to copy, modify, distribute, or create derivative works.
*/
// Catcrafts.Shared — the target-neutral half of the site.
//
// Everything here compiles for BOTH wasm32-wasip1 (the browser app) and the
// host triple (the server that will render the same pages for crawlers and
// no-JS clients). That is the entire point: one set of page renderers, not
// two that drift.
//
// THE RULE: this module imports `std` and its own partitions. Nothing else.
//
// Not a style preference — Crafter.Build's dependency scanner does not respect
// `#ifdef` around `import` statements (Crafter.Graphics/project.cpp:116-121
// documents the same constraint), so an `#ifdef`-guarded
// `import Crafter.Graphics;` in here would still force Crafter.Graphics onto
// the native build, where it cannot compile. There is no conditional-import
// escape hatch, so the boundary has to be absolute.
//
// Consequently Catcrafts.Shared is a pure function:
//
// (route, data) -> RenderedPage
//
// Each host does its own I/O — fetch/DOM on wasm, sockets/SQLite on native —
// and calls in with plain data.
export module Catcrafts.Shared;
export import :Html;
export import :Json;
export import :Form;
export import :Model;
export import :Content;
export import :Money;
export import :Route;
export import :Views;