Reverts scroll-section/pull/is-stuck experiments that broke cover behavior. Each card: sticky + stepped top + z-index; next card slides over previous. Co-authored-by: Cursor <cursoragent@cursor.com>
51 lines
2.9 KiB
HTML
51 lines
2.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Levkin — Stack Trace</title>
|
|
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
|
|
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
<link rel="stylesheet" href="./trace.css" />
|
|
</head>
|
|
<body>
|
|
<nav class="nav"><a href="/">← options</a><a href="/stack/">cards</a><a href="/stack-folder/">folder</a><a href="/stack-rack/">rack</a><span id="depth">#0</span></nav>
|
|
<main class="mount">
|
|
<article class="frame f0" data-layer="0">
|
|
<button type="button" class="frame-line" data-goto="0">at Levkin.foundation (levkin.ca:0)</button>
|
|
<div class="frame-body"><strong>Levkin</strong><p>Canadian software practice · 15+ yrs · remote</p></div>
|
|
</article>
|
|
<article class="frame f1" data-layer="1">
|
|
<button type="button" class="frame-line" data-goto="1">at Levkin.application (levkin.ca:1)</button>
|
|
<div class="frame-body"><strong>custom_software()</strong><p>TS · Python · .NET · APIs</p></div>
|
|
</article>
|
|
<article class="frame f2" data-layer="2">
|
|
<button type="button" class="frame-line" data-goto="2">at Levkin.automation (auto.levkin.ca:2)</button>
|
|
<div class="frame-body"><strong>automation_pipeline()</strong><p>n8n · CI/CD · LLMs</p></div>
|
|
</article>
|
|
<article class="frame f3" data-layer="3">
|
|
<button type="button" class="frame-line" data-goto="3">at Levkin.caseware (caseware.levkin.ca:3)</button>
|
|
<div class="frame-body"><strong>enterprise_module()</strong><p>CaseWare · MNP · JazzIt</p></div>
|
|
</article>
|
|
<article class="frame f4" data-layer="4">
|
|
<button type="button" class="frame-line" data-goto="4">at Levkin.quality (iliadobkin.com:4)</button>
|
|
<div class="frame-body"><strong>sdet_suite()</strong><p><a href="https://iliadobkin.com">iliadobkin.com</a> — traces · Playwright</p></div>
|
|
</article>
|
|
<article class="frame f5" data-layer="5">
|
|
<button type="button" class="frame-line" data-goto="5">at Levkin.operations (jobs.levkin.ca:5)</button>
|
|
<div class="frame-body"><strong>job_ops()</strong><p>internal · auth required</p></div>
|
|
</article>
|
|
<article class="frame f6" data-layer="6">
|
|
<button type="button" class="frame-line" data-goto="6">at Levkin.engage (interface:6)</button>
|
|
<div class="frame-body"><strong>main()</strong><p><a href="https://cal.levkin.ca/ilia/consult">book_consult()</a> · <a href="mailto:hello@levkine.ca">send_mail()</a></p></div>
|
|
</article>
|
|
<div class="stop"></div>
|
|
</main>
|
|
<footer class="foot"><span>// end of stack</span><a href="https://git.levkin.ca">git.levkin.ca</a></footer>
|
|
<script type="module">
|
|
import { initStackScroll } from '../shared/stack-scroll.js';
|
|
initStackScroll({ depthPrefix: '#' });
|
|
</script>
|
|
</body>
|
|
</html>
|