Spaces:
Running
Running
Face-lift: unified clean design, refreshed repository listings
Browse files- README.md +28 -7
- index.html +135 -131
- style.css +139 -17
README.md
CHANGED
|
@@ -1,23 +1,44 @@
|
|
| 1 |
---
|
| 2 |
-
license: agpl-3.0
|
| 3 |
title: Quantum Computing and Physics
|
| 4 |
emoji: 🔬
|
| 5 |
-
colorFrom:
|
| 6 |
-
colorTo:
|
| 7 |
sdk: static
|
| 8 |
pinned: false
|
|
|
|
|
|
|
| 9 |
tags:
|
| 10 |
- snapkitty
|
| 11 |
---
|
| 12 |
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
## License
|
| 16 |
|
| 17 |
-
Licensed under **AGPL-3.0**. Full text: [LICENSE](LICENSE).
|
| 18 |
|
| 19 |
### 💼 Commercial License
|
| 20 |
|
| 21 |
-
|
| 22 |
|
| 23 |
-
**[→ Get a commercial license](mailto:A.parr@belespritdaccord.uk?subject=
|
|
|
|
| 1 |
---
|
|
|
|
| 2 |
title: Quantum Computing and Physics
|
| 3 |
emoji: 🔬
|
| 4 |
+
colorFrom: purple
|
| 5 |
+
colorTo: indigo
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
short_description: Quantum walks, TLM/JXCL and physics engines
|
| 9 |
+
license: agpl-3.0
|
| 10 |
tags:
|
| 11 |
- snapkitty
|
| 12 |
---
|
| 13 |
|
| 14 |
+
# 🔬 Quantum Computing and Physics
|
| 15 |
+
|
| 16 |
+
Topological quantum computing, quantum walks, the TLM/JXCL stack and black-hole physics.
|
| 17 |
+
|
| 18 |
+
**13 repositories** · [Browse the interactive page](https://huggingface.co/spaces/Snapkitty/quantum-computing) · [SnapKitty home](https://huggingface.co/Snapkitty)
|
| 19 |
+
|
| 20 |
+
| Repository | What it is |
|
| 21 |
+
|---|---|
|
| 22 |
+
| [tlm-jxcl-forge](https://huggingface.co/Snapkitty/tlm-jxcl-forge) | TLM/JXCL twin: a 100+ crate Rust workspace with Alloy and Lean 4 verification forges. |
|
| 23 |
+
| [black-hole-engine](https://huggingface.co/Snapkitty/black-hole-engine) | Computational engine for black hole physics. Hawking temperature, ISCO, photon sphere proofs. |
|
| 24 |
+
| [black-hole-entropy-spiral](https://huggingface.co/Snapkitty/black-hole-entropy-spiral) | Logarithmic-spiral detection in synthetic black-hole entropy matrices. |
|
| 25 |
+
| [p3q-tsql](https://huggingface.co/Snapkitty/p3q-tsql) | P3Q-TLM: an F2^8 cryptographic pipeline with formal verification and reversible quantum-circuit simulation. |
|
| 26 |
+
| [quantum-kernel](https://huggingface.co/Snapkitty/quantum-kernel) | Quantum computational kernel. TDA-to-braid-to-lattice surgery pipeline for heavy-hex hardware. |
|
| 27 |
+
| [quantumap](https://huggingface.co/Snapkitty/quantumap) | Quantum-enhanced UMAP dimensionality reduction with topological data analysis. |
|
| 28 |
+
| [reverse-quantum-walk](https://huggingface.co/Snapkitty/reverse-quantum-walk) | Reverse quantum walk implementation for search and optimization on graph structures. |
|
| 29 |
+
| [snapkitty-resonance-bridge](https://huggingface.co/Snapkitty/snapkitty-resonance-bridge) | Executable bridge: GKN quartic invariant to SUBLEQ machine code via ResonanceWord encoding. |
|
| 30 |
+
| [sovereign-pirtm](https://huggingface.co/Snapkitty/sovereign-pirtm) | C++ compiler core with MLIR dialect, multiplicity functor, contractivity receipts, LLVM codegen. |
|
| 31 |
+
| [tlm-jxcl](https://huggingface.co/Snapkitty/tlm-jxcl) | JXCL: the 64-bit ISA for the TLM pipeline, with GF(2^8) arithmetic and logarithmic-spiral memory addressing. |
|
| 32 |
+
| [tlm-p3-gate](https://huggingface.co/datasets/Snapkitty/tlm-p3-gate) | TLM P3 gate-level dataset for the classical-quantum interface. |
|
| 33 |
+
| [tlm-quantum](https://huggingface.co/Snapkitty/tlm-quantum) | Recursive vacuum-fluctuation quantum-number pipeline producing deterministic 32-bit outputs over GF(2^8). |
|
| 34 |
+
| [topological-quantum-computer](https://huggingface.co/Snapkitty/topological-quantum-computer) | Fibonacci-anyon topological quantum computing. Lean 4 proofs, SHA-520 cryptanalysis resource estimation. |
|
| 35 |
|
| 36 |
## License
|
| 37 |
|
| 38 |
+
Licensed under **AGPL-3.0**. Full text: [LICENSE](LICENSE). Each listed repository carries its own license in its card.
|
| 39 |
|
| 40 |
### 💼 Commercial License
|
| 41 |
|
| 42 |
+
SnapKitty code is free and open under **AGPL-3.0** for open-source use. Building a commercial product or service? A **proprietary commercial license** from Snapkitty Collective LLC lets you ship SnapKitty code without the AGPL's source-sharing and network-use obligations.
|
| 43 |
|
| 44 |
+
**[→ Get a commercial license](mailto:A.parr@belespritdaccord.uk?subject=SnapKitty%20commercial%20license)** · A.parr@belespritdaccord.uk
|
index.html
CHANGED
|
@@ -1,131 +1,135 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html lang="en">
|
| 3 |
-
<head>
|
| 4 |
-
<meta charset="
|
| 5 |
-
<meta name="viewport" content="width=device-width, initial-scale=1
|
| 6 |
-
<title>Quantum Computing and Physics
|
| 7 |
-
<
|
| 8 |
-
:
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
.
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
.
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
.
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
.
|
| 50 |
-
|
| 51 |
-
.
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
</
|
| 73 |
-
<
|
| 74 |
-
<
|
| 75 |
-
<
|
| 76 |
-
<
|
| 77 |
-
<
|
| 78 |
-
|
| 79 |
-
<
|
| 80 |
-
<div class="
|
| 81 |
-
<
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
<
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
| 6 |
+
<title>Quantum Computing and Physics · SnapKitty</title>
|
| 7 |
+
<meta name="description" content="Topological quantum computing, quantum walks, the TLM/JXCL stack and black-hole physics.">
|
| 8 |
+
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet">
|
| 9 |
+
<link rel="stylesheet" href="style.css">
|
| 10 |
+
</head>
|
| 11 |
+
<body>
|
| 12 |
+
<header class="topbar"><a class="brand" href="https://huggingface.co/spaces/Snapkitty/README">🐈 SnapKitty</a><a class="back" href="https://huggingface.co/Snapkitty">All collections</a></header>
|
| 13 |
+
<main class="wrap">
|
| 14 |
+
<section class="hero">
|
| 15 |
+
<div class="eyebrow">🔬 Collection</div>
|
| 16 |
+
<h1>Quantum Computing and Physics</h1>
|
| 17 |
+
<p class="lede">Topological quantum computing, quantum walks, the TLM/JXCL stack and black-hole physics.</p>
|
| 18 |
+
</section>
|
| 19 |
+
<div class="toolbar">
|
| 20 |
+
<input id="q" type="search" placeholder="Search 13 repositories" aria-label="Search repositories">
|
| 21 |
+
<div class="chips"><button class="chip" data-mode="all" aria-pressed="true">All</button><button class="chip" data-mode="new" aria-pressed="false">New</button><button class="chip" data-mode="model" aria-pressed="false">Models</button><button class="chip" data-mode="dataset" aria-pressed="false">Datasets</button></div>
|
| 22 |
+
<span id="count" class="count"></span>
|
| 23 |
+
</div>
|
| 24 |
+
<section class="grid">
|
| 25 |
+
<article class="card" data-kind="model" data-new="true" data-search="tlm-jxcl-forge tlm/jxcl twin: a 100+ crate rust workspace with alloy and lean 4 verification forges. rust lean4 alloy model agpl-3.0">
|
| 26 |
+
<div class="card-top"><span class="badge new">New</span><span class="badge kind">model</span><span class="badge lic">AGPL-3.0</span></div>
|
| 27 |
+
<h3><a href="https://huggingface.co/Snapkitty/tlm-jxcl-forge">tlm-jxcl-forge</a></h3>
|
| 28 |
+
<p>TLM/JXCL twin: a 100+ crate Rust workspace with Alloy and Lean 4 verification forges.</p>
|
| 29 |
+
<div class="card-foot"><div class="tags"><span class="tag">rust</span><span class="tag">lean4</span><span class="tag">alloy</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/tlm-jxcl-forge">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYAGENT9NOVA/tlm-jxcl-forge">GitHub</a></div></div>
|
| 30 |
+
</article>
|
| 31 |
+
<article class="card" data-kind="model" data-new="false" data-search="black-hole-engine computational engine for black hole physics. hawking temperature, isco, photon sphere proofs. python lean4 model snapkitty">
|
| 32 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">SnapKitty</span></div>
|
| 33 |
+
<h3><a href="https://huggingface.co/Snapkitty/black-hole-engine">black-hole-engine</a></h3>
|
| 34 |
+
<p>Computational engine for black hole physics. Hawking temperature, ISCO, photon sphere proofs.</p>
|
| 35 |
+
<div class="card-foot"><div class="tags"><span class="tag">python</span><span class="tag">lean4</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/black-hole-engine">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/black-hole-engine">GitHub</a></div></div>
|
| 36 |
+
</article>
|
| 37 |
+
<article class="card" data-kind="model" data-new="false" data-search="black-hole-entropy-spiral logarithmic-spiral detection in synthetic black-hole entropy matrices. python model agpl-3.0">
|
| 38 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">AGPL-3.0</span></div>
|
| 39 |
+
<h3><a href="https://huggingface.co/Snapkitty/black-hole-entropy-spiral">black-hole-entropy-spiral</a></h3>
|
| 40 |
+
<p>Logarithmic-spiral detection in synthetic black-hole entropy matrices.</p>
|
| 41 |
+
<div class="card-foot"><div class="tags"><span class="tag">python</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/black-hole-entropy-spiral">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/black-hole-entropy-spiral">GitHub</a></div></div>
|
| 42 |
+
</article>
|
| 43 |
+
<article class="card" data-kind="model" data-new="false" data-search="p3q-tsql p3q-tlm: an f2^8 cryptographic pipeline with formal verification and reversible quantum-circuit simulation. t-sql lean4 model agpl-3.0">
|
| 44 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">AGPL-3.0</span></div>
|
| 45 |
+
<h3><a href="https://huggingface.co/Snapkitty/p3q-tsql">p3q-tsql</a></h3>
|
| 46 |
+
<p>P3Q-TLM: an F2^8 cryptographic pipeline with formal verification and reversible quantum-circuit simulation.</p>
|
| 47 |
+
<div class="card-foot"><div class="tags"><span class="tag">t-sql</span><span class="tag">lean4</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/p3q-tsql">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/p3q-tsql">GitHub</a></div></div>
|
| 48 |
+
</article>
|
| 49 |
+
<article class="card" data-kind="model" data-new="false" data-search="quantum-kernel quantum computational kernel. tda-to-braid-to-lattice surgery pipeline for heavy-hex hardware. python qiskit model tri-license">
|
| 50 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">Tri-License</span></div>
|
| 51 |
+
<h3><a href="https://huggingface.co/Snapkitty/quantum-kernel">quantum-kernel</a></h3>
|
| 52 |
+
<p>Quantum computational kernel. TDA-to-braid-to-lattice surgery pipeline for heavy-hex hardware.</p>
|
| 53 |
+
<div class="card-foot"><div class="tags"><span class="tag">python</span><span class="tag">qiskit</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/quantum-kernel">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/quantum-kernel">GitHub</a></div></div>
|
| 54 |
+
</article>
|
| 55 |
+
<article class="card" data-kind="model" data-new="false" data-search="quantumap quantum-enhanced umap dimensionality reduction with topological data analysis. python model tri-license">
|
| 56 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">Tri-License</span></div>
|
| 57 |
+
<h3><a href="https://huggingface.co/Snapkitty/quantumap">quantumap</a></h3>
|
| 58 |
+
<p>Quantum-enhanced UMAP dimensionality reduction with topological data analysis.</p>
|
| 59 |
+
<div class="card-foot"><div class="tags"><span class="tag">python</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/quantumap">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/quantumap">GitHub</a></div></div>
|
| 60 |
+
</article>
|
| 61 |
+
<article class="card" data-kind="model" data-new="false" data-search="reverse-quantum-walk reverse quantum walk implementation for search and optimization on graph structures. python model tri-license">
|
| 62 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">Tri-License</span></div>
|
| 63 |
+
<h3><a href="https://huggingface.co/Snapkitty/reverse-quantum-walk">reverse-quantum-walk</a></h3>
|
| 64 |
+
<p>Reverse quantum walk implementation for search and optimization on graph structures.</p>
|
| 65 |
+
<div class="card-foot"><div class="tags"><span class="tag">python</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/reverse-quantum-walk">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/reverse-quantum-walk">GitHub</a></div></div>
|
| 66 |
+
</article>
|
| 67 |
+
<article class="card" data-kind="model" data-new="false" data-search="snapkitty-resonance-bridge executable bridge: gkn quartic invariant to subleq machine code via resonanceword encoding. python asm model sovereign source">
|
| 68 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">Sovereign Source</span></div>
|
| 69 |
+
<h3><a href="https://huggingface.co/Snapkitty/snapkitty-resonance-bridge">snapkitty-resonance-bridge</a></h3>
|
| 70 |
+
<p>Executable bridge: GKN quartic invariant to SUBLEQ machine code via ResonanceWord encoding.</p>
|
| 71 |
+
<div class="card-foot"><div class="tags"><span class="tag">python</span><span class="tag">asm</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/snapkitty-resonance-bridge">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/snapkitty-resonance-bridge">GitHub</a></div></div>
|
| 72 |
+
</article>
|
| 73 |
+
<article class="card" data-kind="model" data-new="false" data-search="sovereign-pirtm c++ compiler core with mlir dialect, multiplicity functor, contractivity receipts, llvm codegen. c++ mlir model agpl-3.0">
|
| 74 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">AGPL-3.0</span></div>
|
| 75 |
+
<h3><a href="https://huggingface.co/Snapkitty/sovereign-pirtm">sovereign-pirtm</a></h3>
|
| 76 |
+
<p>C++ compiler core with MLIR dialect, multiplicity functor, contractivity receipts, LLVM codegen.</p>
|
| 77 |
+
<div class="card-foot"><div class="tags"><span class="tag">c++</span><span class="tag">mlir</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/sovereign-pirtm">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/sovereign-pirtm">GitHub</a></div></div>
|
| 78 |
+
</article>
|
| 79 |
+
<article class="card" data-kind="model" data-new="false" data-search="tlm-jxcl jxcl: the 64-bit isa for the tlm pipeline, with gf(2^8) arithmetic and logarithmic-spiral memory addressing. vhdl rust model tri-license">
|
| 80 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">Tri-License</span></div>
|
| 81 |
+
<h3><a href="https://huggingface.co/Snapkitty/tlm-jxcl">tlm-jxcl</a></h3>
|
| 82 |
+
<p>JXCL: the 64-bit ISA for the TLM pipeline, with GF(2^8) arithmetic and logarithmic-spiral memory addressing.</p>
|
| 83 |
+
<div class="card-foot"><div class="tags"><span class="tag">vhdl</span><span class="tag">rust</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/tlm-jxcl">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/tlm-jxcl">GitHub</a></div></div>
|
| 84 |
+
</article>
|
| 85 |
+
<article class="card" data-kind="dataset" data-new="false" data-search="tlm-p3-gate tlm p3 gate-level dataset for the classical-quantum interface. vhdl dataset mit">
|
| 86 |
+
<div class="card-top"><span class="badge kind">dataset</span><span class="badge lic">MIT</span></div>
|
| 87 |
+
<h3><a href="https://huggingface.co/datasets/Snapkitty/tlm-p3-gate">tlm-p3-gate</a></h3>
|
| 88 |
+
<p>TLM P3 gate-level dataset for the classical-quantum interface.</p>
|
| 89 |
+
<div class="card-foot"><div class="tags"><span class="tag">vhdl</span></div><div class="links"><a class="link" href="https://huggingface.co/datasets/Snapkitty/tlm-p3-gate">Hugging Face</a></div></div>
|
| 90 |
+
</article>
|
| 91 |
+
<article class="card" data-kind="model" data-new="false" data-search="tlm-quantum recursive vacuum-fluctuation quantum-number pipeline producing deterministic 32-bit outputs over gf(2^8). algol python model agpl-3.0">
|
| 92 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">AGPL-3.0</span></div>
|
| 93 |
+
<h3><a href="https://huggingface.co/Snapkitty/tlm-quantum">tlm-quantum</a></h3>
|
| 94 |
+
<p>Recursive vacuum-fluctuation quantum-number pipeline producing deterministic 32-bit outputs over GF(2^8).</p>
|
| 95 |
+
<div class="card-foot"><div class="tags"><span class="tag">algol</span><span class="tag">python</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/tlm-quantum">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/tlm-quantum">GitHub</a></div></div>
|
| 96 |
+
</article>
|
| 97 |
+
<article class="card" data-kind="model" data-new="false" data-search="topological-quantum-computer fibonacci-anyon topological quantum computing. lean 4 proofs, sha-520 cryptanalysis resource estimation. lean4 python model tri-license">
|
| 98 |
+
<div class="card-top"><span class="badge kind">model</span><span class="badge lic">Tri-License</span></div>
|
| 99 |
+
<h3><a href="https://huggingface.co/Snapkitty/topological-quantum-computer">topological-quantum-computer</a></h3>
|
| 100 |
+
<p>Fibonacci-anyon topological quantum computing. Lean 4 proofs, SHA-520 cryptanalysis resource estimation.</p>
|
| 101 |
+
<div class="card-foot"><div class="tags"><span class="tag">lean4</span><span class="tag">python</span></div><div class="links"><a class="link" href="https://huggingface.co/Snapkitty/topological-quantum-computer">Hugging Face</a><a class="link" href="https://github.com/SNAPKITTYWEST/topological-quantum-computer">GitHub</a></div></div>
|
| 102 |
+
</article>
|
| 103 |
+
</section>
|
| 104 |
+
<section class="commercial">
|
| 105 |
+
<div>
|
| 106 |
+
<h2>Commercial license</h2>
|
| 107 |
+
<p>SnapKitty code is free and open under AGPL-3.0 for open-source use. Building a commercial product or service? A proprietary commercial license from Snapkitty Collective LLC lets you ship SnapKitty code without the AGPL's source-sharing and network-use obligations.</p>
|
| 108 |
+
</div>
|
| 109 |
+
<a class="btn" href="mailto:A.parr@belespritdaccord.uk?subject=SnapKitty%20commercial%20license">Get a commercial license</a>
|
| 110 |
+
</section>
|
| 111 |
+
</main>
|
| 112 |
+
<footer class="footer">
|
| 113 |
+
<span>© 2026 Snapkitty Collective LLC</span>
|
| 114 |
+
<span><a href="https://huggingface.co/Snapkitty">huggingface.co/Snapkitty</a> · <a href="mailto:A.parr@belespritdaccord.uk">A.parr@belespritdaccord.uk</a></span>
|
| 115 |
+
</footer>
|
| 116 |
+
<script>
|
| 117 |
+
(() => {
|
| 118 |
+
const q = document.getElementById('q'), chips = [...document.querySelectorAll('.chip')], cards = [...document.querySelectorAll('.card')];
|
| 119 |
+
const count = document.getElementById('count'); let mode = 'all';
|
| 120 |
+
function apply() {
|
| 121 |
+
const term = (q.value || '').trim().toLowerCase(); let n = 0;
|
| 122 |
+
for (const c of cards) {
|
| 123 |
+
const okMode = mode === 'all' || (mode === 'new' ? c.dataset.new === 'true' : c.dataset.kind === mode);
|
| 124 |
+
const ok = okMode && (!term || c.dataset.search.includes(term));
|
| 125 |
+
c.hidden = !ok; if (ok) n++;
|
| 126 |
+
}
|
| 127 |
+
count.textContent = n + (n === 1 ? ' repository' : ' repositories');
|
| 128 |
+
}
|
| 129 |
+
q.addEventListener('input', apply);
|
| 130 |
+
chips.forEach(ch => ch.addEventListener('click', () => { chips.forEach(x => x.setAttribute('aria-pressed', 'false')); ch.setAttribute('aria-pressed', 'true'); mode = ch.dataset.mode; apply(); }));
|
| 131 |
+
apply();
|
| 132 |
+
})();
|
| 133 |
+
</script>
|
| 134 |
+
</body>
|
| 135 |
+
</html>
|
style.css
CHANGED
|
@@ -1,28 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
body {
|
| 2 |
-
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
}
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
|
|
|
|
|
|
| 9 |
}
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
}
|
|
|
|
|
|
|
| 17 |
|
|
|
|
| 18 |
.card {
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
}
|
|
|
|
|
|
|
| 25 |
|
| 26 |
-
|
| 27 |
-
|
|
|
|
|
|
|
| 28 |
}
|
|
|
|
| 1 |
+
:root {
|
| 2 |
+
--bg: #fafafa;
|
| 3 |
+
--surface: #ffffff;
|
| 4 |
+
--surface-2: #f4f4f5;
|
| 5 |
+
--border: #e4e4e7;
|
| 6 |
+
--text: #18181b;
|
| 7 |
+
--muted: #52525b;
|
| 8 |
+
--faint: #71717a;
|
| 9 |
+
--accent: #6d28d9;
|
| 10 |
+
--accent-soft: #ede9fe;
|
| 11 |
+
--new: #047857;
|
| 12 |
+
--new-soft: #d1fae5;
|
| 13 |
+
--shadow: 0 1px 2px rgba(24, 24, 27, .04), 0 4px 16px rgba(24, 24, 27, .04);
|
| 14 |
+
--radius: 14px;
|
| 15 |
+
color-scheme: light dark;
|
| 16 |
+
}
|
| 17 |
+
@media (prefers-color-scheme: dark) {
|
| 18 |
+
:root {
|
| 19 |
+
--bg: #0b0b0f;
|
| 20 |
+
--surface: #131318;
|
| 21 |
+
--surface-2: #1b1b22;
|
| 22 |
+
--border: #26262f;
|
| 23 |
+
--text: #f4f4f5;
|
| 24 |
+
--muted: #a1a1aa;
|
| 25 |
+
--faint: #8b8b95;
|
| 26 |
+
--accent: #a78bfa;
|
| 27 |
+
--accent-soft: rgba(167, 139, 250, .14);
|
| 28 |
+
--new: #34d399;
|
| 29 |
+
--new-soft: rgba(52, 211, 153, .14);
|
| 30 |
+
--shadow: none;
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
* { box-sizing: border-box; }
|
| 34 |
+
html { -webkit-text-size-adjust: 100%; }
|
| 35 |
body {
|
| 36 |
+
margin: 0;
|
| 37 |
+
background: var(--bg);
|
| 38 |
+
color: var(--text);
|
| 39 |
+
font: 15px/1.6 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
|
| 40 |
+
-webkit-font-smoothing: antialiased;
|
| 41 |
+
}
|
| 42 |
+
a { color: inherit; }
|
| 43 |
+
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px 56px; }
|
| 44 |
+
|
| 45 |
+
.topbar {
|
| 46 |
+
max-width: 1120px; margin: 0 auto; padding: 20px 24px;
|
| 47 |
+
display: flex; justify-content: space-between; align-items: center; gap: 16px;
|
| 48 |
}
|
| 49 |
+
.brand { font-weight: 700; text-decoration: none; letter-spacing: -.01em; }
|
| 50 |
+
.back { color: var(--muted); text-decoration: none; font-size: 14px; }
|
| 51 |
+
.back:hover { color: var(--text); }
|
| 52 |
|
| 53 |
+
.hero { padding: 40px 0 28px; }
|
| 54 |
+
.hero-hub { padding: 56px 0 40px; }
|
| 55 |
+
.eyebrow {
|
| 56 |
+
display: inline-block; font-size: 13px; font-weight: 600; color: var(--accent);
|
| 57 |
+
background: var(--accent-soft); padding: 4px 10px; border-radius: 999px;
|
| 58 |
}
|
| 59 |
+
h1 { font-size: clamp(30px, 5vw, 48px); line-height: 1.1; letter-spacing: -.03em; margin: 16px 0 12px; font-weight: 700; }
|
| 60 |
+
.lede { color: var(--muted); font-size: 17px; max-width: 680px; margin: 0; }
|
| 61 |
+
h2 { font-size: 20px; letter-spacing: -.01em; margin: 0; }
|
| 62 |
|
| 63 |
+
.stats { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
|
| 64 |
+
.stats div {
|
| 65 |
+
background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
|
| 66 |
+
padding: 12px 18px; min-width: 120px; box-shadow: var(--shadow);
|
| 67 |
+
}
|
| 68 |
+
.stats b { display: block; font-size: 24px; letter-spacing: -.02em; }
|
| 69 |
+
.stats span { color: var(--faint); font-size: 13px; }
|
| 70 |
+
|
| 71 |
+
.section-head { display: flex; justify-content: space-between; align-items: baseline; margin: 40px 0 16px; gap: 12px; }
|
| 72 |
+
|
| 73 |
+
.toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 20px; }
|
| 74 |
+
#q {
|
| 75 |
+
flex: 1 1 260px; min-width: 0; font: inherit; color: var(--text);
|
| 76 |
+
background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 10px 14px;
|
| 77 |
+
}
|
| 78 |
+
#q:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
|
| 79 |
+
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
|
| 80 |
+
.chip {
|
| 81 |
+
font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; color: var(--muted);
|
| 82 |
+
background: var(--surface); border: 1px solid var(--border); border-radius: 999px; padding: 6px 12px;
|
| 83 |
}
|
| 84 |
+
.chip[aria-pressed="true"] { color: var(--accent); background: var(--accent-soft); border-color: transparent; }
|
| 85 |
+
.count { color: var(--faint); font-size: 13px; margin-left: auto; }
|
| 86 |
|
| 87 |
+
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
|
| 88 |
.card {
|
| 89 |
+
display: flex; flex-direction: column; gap: 8px;
|
| 90 |
+
background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
|
| 91 |
+
padding: 18px 18px 16px; box-shadow: var(--shadow); transition: border-color .15s, transform .15s;
|
| 92 |
+
}
|
| 93 |
+
.card:hover { border-color: var(--accent); transform: translateY(-1px); }
|
| 94 |
+
.card[hidden] { display: none; }
|
| 95 |
+
.card h3 { margin: 0; font-size: 16px; letter-spacing: -.01em; word-break: break-word; }
|
| 96 |
+
.card h3 a { text-decoration: none; }
|
| 97 |
+
.card h3 a:hover { color: var(--accent); }
|
| 98 |
+
.card p { margin: 0; color: var(--muted); font-size: 14px; flex: 1; }
|
| 99 |
+
.card-top { display: flex; flex-wrap: wrap; gap: 6px; }
|
| 100 |
+
.badge {
|
| 101 |
+
font-size: 11px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase;
|
| 102 |
+
padding: 2px 8px; border-radius: 6px; background: var(--surface-2); color: var(--faint);
|
| 103 |
+
}
|
| 104 |
+
.badge.new { background: var(--new-soft); color: var(--new); }
|
| 105 |
+
.badge.lic { text-transform: none; }
|
| 106 |
+
.card-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
|
| 107 |
+
.tags { display: flex; flex-wrap: wrap; gap: 4px; }
|
| 108 |
+
.tag { font: 500 11px/1.6 "JetBrains Mono", ui-monospace, monospace; color: var(--faint); border: 1px solid var(--border); border-radius: 5px; padding: 0 6px; }
|
| 109 |
+
.links { display: flex; gap: 12px; }
|
| 110 |
+
.link { font-size: 13px; font-weight: 500; color: var(--accent); text-decoration: none; }
|
| 111 |
+
.link:hover { text-decoration: underline; }
|
| 112 |
+
|
| 113 |
+
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
|
| 114 |
+
.tile {
|
| 115 |
+
display: flex; flex-direction: column; gap: 4px; text-decoration: none;
|
| 116 |
+
background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
|
| 117 |
+
padding: 18px; box-shadow: var(--shadow); transition: border-color .15s, transform .15s;
|
| 118 |
+
}
|
| 119 |
+
.tile:hover { border-color: var(--accent); transform: translateY(-1px); }
|
| 120 |
+
.tile-emoji { font-size: 22px; }
|
| 121 |
+
.tile-title { font-weight: 600; letter-spacing: -.01em; }
|
| 122 |
+
.tile-sub { color: var(--muted); font-size: 14px; }
|
| 123 |
+
.tile-count { color: var(--faint); font-size: 12px; margin-top: 6px; }
|
| 124 |
+
|
| 125 |
+
.commercial {
|
| 126 |
+
display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;
|
| 127 |
+
margin-top: 48px; padding: 24px; border-radius: var(--radius);
|
| 128 |
+
background: var(--accent-soft); border: 1px solid var(--border);
|
| 129 |
+
}
|
| 130 |
+
.commercial > div { flex: 1 1 420px; }
|
| 131 |
+
.commercial p { color: var(--muted); margin: 8px 0 0; font-size: 14px; }
|
| 132 |
+
.btn {
|
| 133 |
+
display: inline-block; background: var(--accent); color: #fff; font-weight: 600; font-size: 14px;
|
| 134 |
+
text-decoration: none; padding: 11px 18px; border-radius: 10px; white-space: nowrap;
|
| 135 |
+
}
|
| 136 |
+
@media (prefers-color-scheme: dark) { .btn { color: #0b0b0f; } }
|
| 137 |
+
.btn:hover { filter: brightness(1.08); }
|
| 138 |
+
|
| 139 |
+
.footer {
|
| 140 |
+
max-width: 1120px; margin: 0 auto; padding: 24px; border-top: 1px solid var(--border);
|
| 141 |
+
display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: var(--faint); font-size: 13px;
|
| 142 |
}
|
| 143 |
+
.footer a { color: var(--muted); text-decoration: none; }
|
| 144 |
+
.footer a:hover { color: var(--text); }
|
| 145 |
|
| 146 |
+
@media (max-width: 640px) {
|
| 147 |
+
.wrap, .topbar, .footer { padding-left: 16px; padding-right: 16px; }
|
| 148 |
+
.grid, .tiles { grid-template-columns: 1fr; }
|
| 149 |
+
.count { margin-left: 0; width: 100%; }
|
| 150 |
}
|