Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

calcit.cirru -diff linguist-generated
yarn.lock -diff linguist-generated
Agents.md -diff linguist-generated
llms/*.md -diff linguist-generated
690 changes: 690 additions & 0 deletions Agents.md

Large diffs are not rendered by default.

522 changes: 262 additions & 260 deletions calcit.cirru

Large diffs are not rendered by default.

38 changes: 29 additions & 9 deletions compact.cirru
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

{} (:package |app)
{} (:about "|file is generated - never edit directly; learn cr edit/tree workflows before changing") (:package |app)
:configs $ {} (:init-fn |app.main/main!) (:reload-fn |app.main/reload!) (:version |0.0.1)
:modules $ [] |respo.calcit/ |lilac/ |memof/ |respo-ui.calcit/ |reel.calcit/
:entries $ {}
Expand All @@ -20,7 +20,7 @@
{} $ :class-name (str-spaced css/global)
div
{} $ :class-name (str-spaced style-title css/font-fancy)
<> "\"Wallpapers"
<> "|WebGPU Art"
list->
{}
:class-name $ str-spaced css/row style-list
Expand All @@ -30,6 +30,7 @@
[] idx $ comp-image-card info
=< nil 120
when dev? $ comp-reel (>> states :reel) reel ({})
:examples $ []
|comp-image-card $ %{} :CodeEntry (:doc |)
:code $ quote
defcomp comp-image-card (info)
Expand All @@ -51,22 +52,22 @@
:target "\"_blank"
:inner-text "\"Source"
:class-name css/link
:examples $ []
|load-cirru-data $ %{} :CodeEntry (:doc |)
:code $ quote
defmacro load-cirru-data () $ &data-to-code
parse-cirru-edn $ read-file "\"content/images.cirru"
:examples $ []
|style-image-card $ %{} :CodeEntry (:doc |)
:code $ quote
defstyle style-image-card $ {}
"\"&" $ let
w 480
h $ * 9 (/ w 16)
{} (:width w) (:background-position "\"center") (:background-size "\"480px") (:height h) (:position :relative) (:border-radius "\"8px") (:cursor :pointer) (:transition-duration "\"400ms")
:box-shadow $ str "\"0 0 4px " (hsl 0 0 100 0.4)
:max-width "\"calc(90vw - 40px)"
:justify-self :center
"\"&" $ {} (:width 480) (:background-position "\"center") (:background-size "\"480px") (:height 270) (:position :relative) (:border-radius "\"8px") (:cursor :pointer) (:transition-duration "\"400ms")
:box-shadow $ str "\"0 0 4px " (hsl 0 0 100 0.4)
:max-width "\"calc(90vw - 40px)"
:justify-self :center
"\"&:hover" $ {} (:background-size "\"520px")
:box-shadow $ str "\"0 0 4px " (hsl 0 0 100 0.8)
:examples $ []
|style-image-info $ %{} :CodeEntry (:doc |)
:code $ quote
defstyle style-image-info $ {}
Expand All @@ -80,10 +81,12 @@
:cursor :default
:transition-delay "\"0ms"
"\"&:hover" $ {} (:opacity 1) (; :height 80) (; :transition-delay "\"200ms")
:examples $ []
|style-list $ %{} :CodeEntry (:doc |)
:code $ quote
defstyle style-list $ {}
"\"&" $ {} (:display :grid) (:grid-template-columns "\"repeat(auto-fit, minmax(480px, 1fr))") (:gap "\"12px")
:examples $ []
|style-title $ %{} :CodeEntry (:doc |)
:code $ quote
defstyle style-title $ {}
Expand All @@ -94,6 +97,7 @@
:user-select :none
"\"& span:hover" $ {}
:text-shadow $ str "\"2px 2px 8px " (hsl 0 0 100 0.5)
:examples $ []
:ns $ %{} :CodeEntry (:doc |)
:code $ quote
ns app.comp.container $ :require (respo-ui.css :as css)
Expand All @@ -103,28 +107,34 @@
respo.comp.space :refer $ =<
reel.comp.reel :refer $ comp-reel
app.config :refer $ dev?
:examples $ []
|app.config $ %{} :FileEntry
:defs $ {}
|dev? $ %{} :CodeEntry (:doc |)
:code $ quote
def dev? $ = "\"dev" (get-env "\"mode" "\"release")
:examples $ []
|site $ %{} :CodeEntry (:doc |)
:code $ quote
def site $ {} (:storage-key "\"workflow")
:examples $ []
:ns $ %{} :CodeEntry (:doc |)
:code $ quote (ns app.config)
:examples $ []
|app.main $ %{} :FileEntry
:defs $ {}
|*reel $ %{} :CodeEntry (:doc |)
:code $ quote
defatom *reel $ -> reel-schema/reel (assoc :base schema/store) (assoc :store schema/store)
:examples $ []
|dispatch! $ %{} :CodeEntry (:doc |)
:code $ quote
defn dispatch! (op)
when
and config/dev? $ not= op :states
js/console.log "\"Dispatch:" op
reset! *reel $ reel-updater updater @*reel op
:examples $ []
|main! $ %{} :CodeEntry (:doc |)
:code $ quote
defn main! ()
Expand All @@ -142,15 +152,18 @@
when (some? raw)
dispatch! $ :: :hydrate-storage (parse-cirru-edn raw)
println "|App started."
:examples $ []
|mount-target $ %{} :CodeEntry (:doc |)
:code $ quote
def mount-target $ js/document.querySelector |.app
:examples $ []
|persist-storage! $ %{} :CodeEntry (:doc |)
:code $ quote
defn persist-storage! ()
println "\"Saved at" $ .!toISOString (new js/Date)
js/localStorage.setItem (:storage-key config/site)
format-cirru-edn $ :store @*reel
:examples $ []
|reload! $ %{} :CodeEntry (:doc |)
:code $ quote
defn reload! () $ if (nil? build-errors)
Expand All @@ -159,9 +172,11 @@
reset! *reel $ refresh-reel @*reel schema/store updater
hud! "\"ok~" "\"Ok"
hud! "\"error" build-errors
:examples $ []
|render-app! $ %{} :CodeEntry (:doc |)
:code $ quote
defn render-app! () $ render! mount-target (comp-container @*reel) dispatch!
:examples $ []
:ns $ %{} :CodeEntry (:doc |)
:code $ quote
ns app.main $ :require
Expand All @@ -175,15 +190,18 @@
app.config :as config
"\"./calcit.build-errors" :default build-errors
"\"bottom-tip" :default hud!
:examples $ []
|app.schema $ %{} :FileEntry
:defs $ {}
|store $ %{} :CodeEntry (:doc |)
:code $ quote
def store $ {}
:states $ {}
:cursor $ []
:examples $ []
:ns $ %{} :CodeEntry (:doc |)
:code $ quote (ns app.schema)
:examples $ []
|app.updater $ %{} :FileEntry
:defs $ {}
|updater $ %{} :CodeEntry (:doc |)
Expand All @@ -194,7 +212,9 @@
update-states store cursor s
(:hydrate-storage data) data
_ $ do (eprintln "\"unknown op:" op) store
:examples $ []
:ns $ %{} :CodeEntry (:doc |)
:code $ quote
ns app.updater $ :require
respo.cursor :refer $ update-states
:examples $ []
Loading