mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-03 12:17:03 +00:00
* feat(catalog): shelve 3D objects and cursors in their own catalog sections Carries the generator grouping rules from #4310 and #4308. * feat(registry): add a starfield ambient overlay From #4313. * feat(registry): add a falling snow ambient overlay From #4331. * feat(registry): add a torn-paper-rip transition From #4321. * feat(registry): add a paper-collage-reveal transition From #4322. * feat(registry): add a curtain-reveal transition From #4323. * feat(registry): add 3D objects: product turntable, glass hero, exploded stack, extruded logo From #4310. * feat(registry): add eight cursor animations and the dart cursor From #4308. * fix(catalog): find items by everyday editor words and accept a bare search word From #4311. * chore(registry): remove the simulated-cursor component The Cursors section's new pointer animations replace it (from #4308). * fix(registry): take cursor-zoom-follow's screenshot from runtime variables only The declared default is empty, so page markup never becomes an image URL. Clears the code-scanning alert raised on #4308. * docs(cli): show a catalog search example that finds items "smoke" matches nothing in the catalog; "crossfade" finds fade-through. * chore(ci): allow the simulated-cursor removal in the deletion guard * fix(ci): skip tracked files missing from disk in the player CDN pin check Catalog regeneration removes a deleted item's pages before the publish PR untracks them, so the check crashed on every catalog deletion PR. * chore(cli): drop comments that narrate catalog search history * fix(registry): drag-drop keeps the family arrow and shows the drop slot only while hovering * fix(registry): agent cursor labels its steps in an accent tag, no glow or sparkles, in 4.8 s * fix(registry): annotate cursor draws a tapered marker stroke and clears the circled value * fix(registry): show real file thumbnails and end the context menu demo sooner * fix(registry): give marquee select real photos, a Finder-blue marquee and a tighter loop * fix(registry): centre the text-select toolbar on the selection and tighten its timing * fix(registry): selection cursors default to the macOS system blue * style(registry): format the agent and annotate cursor sources * fix(registry): dart-cursor stops covering the choice it makes and shows the export finishing * fix(registry): frame the product turntable fully and light it with two studio softboxes * fix(registry): touch-indicator taps like a real phone and the post it taps gets liked * fix(registry): press-ripple confirms with a check and small click rings at the cursor * fix(registry): exploded stack separates at once and marks each layer in blue as it is labelled * fix(registry): extruded logo settles facing the camera, set in Geist Bold with a neutral rim * fix(registry): magnetic cursor docks its toolbar on the selection and ends after the press * style(registry): format the exploded stack source * fix(registry): glyph trail becomes a tutorial cursor path with numbered steps on a settings screen * fix(registry): make glass-hero a clear lens that shows the headline through it * fix(registry): snow reads as real snowfall with bokeh flakes over a winter title card * fix(registry): oversized cursor is a 3.5x arrow that clicks a real editor toggle on * fix(registry): starfield reads as a drifting night sky over a real title card * style(registry): format the glass hero source * fix(registry): make the paper tear show a white fibrous edge and lift the torn sheet away * fix(registry): curtain reveal draws velvet folds that gather onto a title card * fix(registry): make every zoom-follow click change the screen and read at zoom * fix(registry): paper collage pieces stay opaque, tear with deckled grain and lift away on an arc * refactor(registry): drop dead code and correct stale comments in reworked items * fix(registry): agent cursor scrubs cleanly, docs match press-ripple, fictional demo names * docs(registry): catalog notes say oversized-cursor exits and how it differs from press-ripple * docs(registry): plain lowercase comments in oversized-cursor and touch-indicator * docs(registry): oversized-cursor names CLICK_AT as the click cue
177 lines
5.1 KiB
HTML
Vendored
177 lines
5.1 KiB
HTML
Vendored
<!doctype html>
|
|
<!--
|
|
Annotate Cursor, standalone demo: a signups chart whose launch-week spike gets
|
|
circled. It mounts cursor-annotate.html full-frame over the card, starting at 0.35s.
|
|
-->
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=1920, height=1080" />
|
|
<title>Annotate Cursor, Demo</title>
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
|
|
<style>
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
box-sizing: border-box;
|
|
}
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
#root {
|
|
position: relative;
|
|
width: 1920px;
|
|
height: 1080px;
|
|
overflow: hidden;
|
|
background: #f4f4f5;
|
|
font-family: Inter, system-ui, sans-serif;
|
|
}
|
|
.card {
|
|
position: absolute;
|
|
left: 410px;
|
|
top: 200px;
|
|
width: 1100px;
|
|
height: 640px;
|
|
border-radius: 28px;
|
|
background: #ffffff;
|
|
box-shadow:
|
|
0 0 0 1px rgba(0, 0, 0, 0.05),
|
|
0 2px 4px rgba(0, 0, 0, 0.04),
|
|
0 24px 64px rgba(0, 0, 0, 0.08);
|
|
}
|
|
.eyebrow {
|
|
position: absolute;
|
|
left: 56px;
|
|
top: 48px;
|
|
font-size: 20px;
|
|
font-weight: 600;
|
|
color: #71717a;
|
|
}
|
|
.headline {
|
|
position: absolute;
|
|
left: 56px;
|
|
top: 80px;
|
|
font-size: 48px;
|
|
font-weight: 750;
|
|
letter-spacing: -0.02em;
|
|
color: #18181b;
|
|
}
|
|
.delta {
|
|
position: absolute;
|
|
right: 56px;
|
|
top: 56px;
|
|
padding: 10px 18px;
|
|
border-radius: 999px;
|
|
background: #f4f4f5;
|
|
color: #3f3f46;
|
|
font-size: 20px;
|
|
font-weight: 700;
|
|
}
|
|
.grid {
|
|
position: absolute;
|
|
left: 56px;
|
|
right: 56px;
|
|
height: 1px;
|
|
background: #f0f0f2;
|
|
}
|
|
.bar {
|
|
position: absolute;
|
|
bottom: 80px;
|
|
width: 70px;
|
|
border-radius: 12px 12px 4px 4px;
|
|
background: #d4d4d8;
|
|
transform-origin: 50% 100%;
|
|
}
|
|
.bar.spike {
|
|
background: #52525b;
|
|
}
|
|
.week {
|
|
position: absolute;
|
|
bottom: 36px;
|
|
width: 70px;
|
|
text-align: center;
|
|
font-size: 17px;
|
|
font-weight: 600;
|
|
color: #a1a1aa;
|
|
}
|
|
.spike-label {
|
|
position: absolute;
|
|
left: 550px;
|
|
top: 108px;
|
|
width: 150px;
|
|
text-align: center;
|
|
font-size: 26px;
|
|
font-weight: 750;
|
|
color: #18181b;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div
|
|
id="root"
|
|
data-composition-id="cursor-annotate-demo"
|
|
data-start="0"
|
|
data-width="1920"
|
|
data-height="1080"
|
|
data-duration="3.3"
|
|
>
|
|
<div class="card clip" id="card" data-start="0" data-duration="3.3" data-track-index="0">
|
|
<div class="eyebrow">Weekly signups</div>
|
|
<div class="headline">12,480</div>
|
|
<div class="delta">+38% this quarter</div>
|
|
<div class="grid" style="top: 300px"></div>
|
|
<div class="grid" style="top: 420px"></div>
|
|
<div class="grid" style="top: 560px"></div>
|
|
<div class="bar" style="left: 80px; height: 150px"></div>
|
|
<div class="bar" style="left: 202px; height: 172px"></div>
|
|
<div class="bar" style="left: 324px; height: 160px"></div>
|
|
<div class="bar" style="left: 446px; height: 196px"></div>
|
|
<div class="bar spike" style="left: 590px; height: 400px"></div>
|
|
<div class="bar" style="left: 712px; height: 236px"></div>
|
|
<div class="bar" style="left: 834px; height: 214px"></div>
|
|
<div class="bar" style="left: 956px; height: 248px"></div>
|
|
<div class="spike-label">+184%</div>
|
|
<div class="week" style="left: 80px">W1</div>
|
|
<div class="week" style="left: 202px">W2</div>
|
|
<div class="week" style="left: 324px">W3</div>
|
|
<div class="week" style="left: 446px">W4</div>
|
|
<div class="week" style="left: 590px; color: #18181b">Launch</div>
|
|
<div class="week" style="left: 712px">W6</div>
|
|
<div class="week" style="left: 834px">W7</div>
|
|
<div class="week" style="left: 956px">W8</div>
|
|
</div>
|
|
|
|
<div
|
|
class="clip"
|
|
id="cursor-annotate"
|
|
data-composition-id="cursor-annotate"
|
|
data-composition-src="./cursor-annotate.html"
|
|
data-variable-values='{"shape":"circle","color":"#f43f5e","target_x":50.2,"target_y":28.5,"target_w":7.8,"target_h":11.5}'
|
|
data-start="0.35"
|
|
data-duration="2.95"
|
|
data-track-index="1"
|
|
data-width="1920"
|
|
data-height="1080"
|
|
style="position: absolute; inset: 0; width: 1920px; height: 1080px"
|
|
></div>
|
|
</div>
|
|
|
|
<script>
|
|
window.__timelines = window.__timelines || {};
|
|
var tl = gsap.timeline({ paused: true });
|
|
// The chart settles before the pen enters at 0.35s.
|
|
tl.fromTo(
|
|
".bar",
|
|
{ scaleY: 0.2 },
|
|
{ scaleY: 1, duration: 0.28, ease: "power3.out", stagger: 0.01 },
|
|
0,
|
|
);
|
|
window.__timelines["cursor-annotate-demo"] = tl;
|
|
</script>
|
|
</body>
|
|
</html>
|