Spaces:
Running
Running
Commit History
-
Demo polish: colorblind-safe §6 strand; §5 completion-fold; §1 helix occlusion; §7 score chip; logo SVG; §8 evals refresh
- §6 UMAP: strand palette switched from green/red to Okabe-Ito blue/vermillion so the +/- coloring survives deuteranopia and protanopia (the previous pair collapsed to two near-identical grays under both common CVD types). - §5 Folding: new completion-fold pipeline (75% CDS prompt → 25% predicted → fold the C-term tail with ESMFold); mrna-info row reads the prompt/predict ratio for completion-fold genes, falls back to the original genomic→mRNA→ORF chain for legacy fixtures. genes.json gains the fold_setup / fold_example fields and a sections[] tag to scope the showcase set per panel. - §1 Intro: helix occlusion now splits each strand at depth-zero PEAKS rather than centerline crossings, so the "behind" arcs alternate between upper and lower lobes and rungs occlude correctly under the front strand. Edge-touching arcs render solid (no ghosted 5'/3' label ties). - §7 Tree: agreement-score chip redesigned as a typographic stat block — percentage in Carbon green + raw …f5d37e0 -
Demo polish: Intro visuals, §3 + §6 charts readability, code-snippet UI
Intro tab (§1–§5) - §1 Atoms: bold green base letters, two-line label (mono A/C/G/T over full name). - §2 Helix: redesign à la 3D banner — letters sit *between* the two strands (helix–base–base–helix), rungs interrupted around them, faded at crossings instead of culled so there are no bald gaps; thinner strands, 5'/3' tags symmetric on both ends, tighter top spacing, more breathing room at the bottom of the card. New base-pair legend: A=T / G≡C in big green type with H-bond meta + caption. - §3 + §4 Gene strip: horizontally centred; track-labels now have a "LEGEND" prefix and §4 gets a duplicated legend. - §5 Translate / fold / 3D viewer: codon-AA grid + caption centred, fold-arrow margins trimmed, 3Dmol viewer 340 → 280 px, three-tier protein caption (sans-serif title 19px / italic desc / mono meta with clickable PDB link). Slow editorial spin (0.4 → 0.15), wheel events on the viewer container forwarded to window scroll so the page no longer traps when the curs…5da533e
-
Intro tab + central-dogma primer + em-dash sweep
- New Intro tab as default landing: release blurb, tab-nav guide (bullet list with banner-style links), and an optional "quick primer in genetics" §1-§5 walkthrough using the existing section--two-col + .demo primitives. - Primer visuals: skeletal-formula SVGs for the four bases, static DNA helix (~10 bp/turn), gene strip (promoter / exons / introns), splice diagram with transcribe arrows, 10-column codon to amino-acid table with peptide-bond chain, and a live 3Dmol.js viewer of human hemoglobin (PDB 1A3N) bundled in assets/data/ for fast first paint. - Lazy-init the 3D viewer via MutationObserver on the panel's .active class, so visitors who deep-link to #demo / #sandbox skip the fetch. - Tabs renamed: Demo to DNA Lab, Model to Carbon Recipe (display labels only; data-tab slugs and URL hashes stay 'demo' / 'model' for backwards-compat). - Banner: add Code placeholder link to banner-links; tab buttons use min-width + nowrap so "Carbon Recipe" stays on one line. - …5ea40ce -
Carry over §2 Variant rework + §1/§4 polish dropped by the -s ours merge
The previous merge (32c9c3a) used -s ours to keep the local tree intact while preserving Leandro's two upstream commits (57bce37 §2 Variant rework, 176caed banner wordmark) in the history for attribution. Most of those changes had already been adapted locally to the new modular CSS/JS split, but the actual content carry-over wasn't yet committed. This commit applies the remaining ports on top of the merge. §3 VEP (was §2 in Leandro's tree) — refonte complète - 4 kb scoring window: fetch_variants.py WINDOW 60 → 4002 (well below the 8 kb eval recipe but enough that all 3 pathogenic variants land on the correct side of zero). data/variants.json regenerated. - Two-row sequence display: original above, click-editable mutation below, with arrows on every base that differs from the original. Click cycles A → C → G → T, debounced 500 ms rescore against /score. - Per-row log-likelihood score on the right (green if more likely, red if less likely); mutation score blanks to '—' while a…1d3e72f -
Hero refresh + sticky tab nav + section polish
Banner / hero - Desaturate the DNA helix palette (banner.js TINT) so the canvas blends into the paper rather than punching through it. - Cursor caret trimmed from the top so it stops poking above the N's cap height while keeping its baseline aligned with the wordmark. Sticky tab nav - New strip (#tab-nav-sticky) slides in from the top once the in-banner #tab-nav scrolls out of view (IntersectionObserver in tabs.js toggling .is-tabs-stuck on <body>). - Styled as a slice of the banner: same paper backing, dotted grain + green vertical stripes, same bottom hairline. Tabs reuse the in-banner colour scheme with bumped #b8b5a6 borders, sharp corners, top liseré on the active tab, and a margin-bottom: -1px trick so the active card bleeds into the page paper underneath. - Promoted --paper / --ink / --green / --hairline / --muted to :root so the sticky nav (a sibling of .carbon-banner, not a descendant) can resolve them. Section layout - §1 tokenizer: 1-mer and 6-mer colum…1cc98cf
-
Split demo.html into modular CSS/JS assets
demo.html had grown to 6477 lines with a single inline <style> (1240 lines) and a single inline <script> (4358 lines) — every change meant hunting through one giant scrollback and risked breaking unrelated sections. Extracted into /assets/: styles/ 14 files, ~1280 lines: base, header, banner, layout (incl. new section--two-col), controls, sequence, section-{folding,umap,tree,vep,species}, recipe, sandbox, footer js/shared/ helpers.js (lerp, logprobRgb, renderSeq…) + config.js (fetchConfig, loadConfig, loadGenes) js/sections/ one IIFE per demo card: completion, vep, track, species, folding, tokenizer, loss, data, architecture, sandbox, umap, tree js/ banner.js (DNA helix Canvas 2D), tabs.js (hash routing + bootstrap loadConfig) Strategy: plain <script> tags, not ES modules. Each IIFE was extracted verbatim and globals stay global — minimum behavioural risk. Migrating …39a61da