Merge worktree-typed: increment 2 — rings 2-4
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -64,6 +64,9 @@
|
||||
(when (> (get stats "render-count") 0)
|
||||
(span :class "bg-sky-100 text-sky-700 px-2 py-0.5 rounded"
|
||||
(str (get stats "render-count") " render")))
|
||||
(when (> (get stats "test-total") 0)
|
||||
(span :class "bg-violet-100 text-violet-700 px-2 py-0.5 rounded"
|
||||
(str (get stats "test-total") " tests")))
|
||||
(span :class "bg-stone-100 text-stone-500 px-2 py-0.5 rounded"
|
||||
(str (get stats "lines") " lines"))))
|
||||
|
||||
@@ -85,7 +88,7 @@
|
||||
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Define card — one function/constant
|
||||
;; Define card — one function/constant with all five rings
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defcomp ~spec-explorer-define (&key d)
|
||||
@@ -105,10 +108,22 @@
|
||||
(when (not (empty? (get d "params")))
|
||||
(~spec-param-list :params (get d "params")))
|
||||
|
||||
;; Translation panels
|
||||
;; Ring 2: Translation panels (SX + Python + JavaScript + Z3)
|
||||
(~spec-ring-translations
|
||||
:source (get d "source")
|
||||
:python (get d "python"))))
|
||||
:python (get d "python")
|
||||
:javascript (get d "javascript")
|
||||
:z3 (get d "z3"))
|
||||
|
||||
;; Ring 3: Cross-references
|
||||
(when (not (empty? (get d "refs")))
|
||||
(~spec-ring-bridge :refs (get d "refs")))
|
||||
|
||||
;; Ring 4: Tests
|
||||
(when (> (get d "test-count") 0)
|
||||
(~spec-ring-runtime
|
||||
:tests (get d "tests")
|
||||
:test-count (get d "test-count")))))
|
||||
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
@@ -146,29 +161,76 @@
|
||||
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Translation panels (Ring 2)
|
||||
;; Ring 2: Translation panels (nucleus + bootstrapper)
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defcomp ~spec-ring-translations (&key source python)
|
||||
(defcomp ~spec-ring-translations (&key source python javascript z3)
|
||||
(when (not (= source ""))
|
||||
(div :class "mt-3 border border-stone-200 rounded-lg overflow-hidden"
|
||||
;; SX source — always open
|
||||
;; SX source — Ring 1: the nucleus (always open)
|
||||
(details :open "true"
|
||||
(summary :class "px-3 py-1.5 bg-stone-50 text-xs font-medium text-stone-600 cursor-pointer"
|
||||
"SX")
|
||||
(pre :class "text-xs p-3 overflow-x-auto bg-white"
|
||||
(code (highlight source "sx"))))
|
||||
;; Python
|
||||
;; Python — Ring 2: bootstrapper
|
||||
(when python
|
||||
(details
|
||||
(summary :class "px-3 py-1.5 bg-stone-50 text-xs font-medium text-stone-600 cursor-pointer border-t border-stone-200"
|
||||
"Python")
|
||||
(pre :class "text-xs p-3 overflow-x-auto bg-white"
|
||||
(code (highlight python "python"))))))))
|
||||
(code (highlight python "python")))))
|
||||
;; JavaScript — Ring 2: bootstrapper
|
||||
(when javascript
|
||||
(details
|
||||
(summary :class "px-3 py-1.5 bg-stone-50 text-xs font-medium text-stone-600 cursor-pointer border-t border-stone-200"
|
||||
"JavaScript")
|
||||
(pre :class "text-xs p-3 overflow-x-auto bg-white"
|
||||
(code (highlight javascript "javascript")))))
|
||||
;; Z3 / SMT-LIB — Ring 2: formal translation
|
||||
(when z3
|
||||
(details
|
||||
(summary :class "px-3 py-1.5 bg-stone-50 text-xs font-medium text-stone-600 cursor-pointer border-t border-stone-200"
|
||||
"Z3 / SMT-LIB")
|
||||
(pre :class "text-xs p-3 overflow-x-auto bg-white"
|
||||
(code (highlight z3 "lisp"))))))))
|
||||
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Platform interface table (Ring 3)
|
||||
;; Ring 3: Cross-references (bridge)
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defcomp ~spec-ring-bridge (&key refs)
|
||||
(div :class "mt-2"
|
||||
(span :class "text-xs font-medium text-stone-500" "References")
|
||||
(div :class "flex flex-wrap gap-1 mt-1"
|
||||
(map (fn (ref)
|
||||
(a :href (str "#fn-" ref)
|
||||
:class "text-xs px-1.5 py-0.5 rounded bg-stone-100 text-stone-600 font-mono hover:bg-stone-200"
|
||||
ref))
|
||||
refs))))
|
||||
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Ring 4: Tests (runtime)
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defcomp ~spec-ring-runtime (&key tests test-count)
|
||||
(div :class "mt-2"
|
||||
(div :class "flex items-center gap-1"
|
||||
(span :class "text-xs font-medium text-stone-500" "Tests")
|
||||
(span :class "text-xs px-1.5 py-0.5 rounded bg-violet-100 text-violet-700"
|
||||
(str test-count)))
|
||||
(ul :class "mt-1 text-xs text-stone-500 list-none"
|
||||
(map (fn (t)
|
||||
(li :class "flex items-center gap-1"
|
||||
(span :class "text-green-500 text-xs" "●")
|
||||
(get t "name")))
|
||||
tests))))
|
||||
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Platform interface table (Ring 3 overview)
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defcomp ~spec-platform-interface (&key items)
|
||||
|
||||
Reference in New Issue
Block a user