Extract authenticated coulomb.social design language via designlang
Session probe lands on /vw_pages (Research). Use main designlang extract with --cookie-file — pack ignores auth. 39 artifacts under docs/design-extract; tolerate designlang late summary crash when cores exist.
This commit is contained in:
parent
319dd00465
commit
6fe263444a
71 changed files with 4939 additions and 797 deletions
70
docs/design-extract/coulomb-social-motion.framer.js
Normal file
70
docs/design-extract/coulomb-social-motion.framer.js
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
// Framer Motion presets — generated by designlang (motionlang)
|
||||
// Source: https://coulomb.social
|
||||
// 2026-08-08T23:30:22.009Z
|
||||
//
|
||||
// import { transitions, variants } from './coulomb.social-motion.framer';
|
||||
// <motion.div variants={variants.slideUp} initial="hidden" animate="show"
|
||||
// transition={transitions.base} />
|
||||
|
||||
/** Easing curves extracted from the live page, as Framer cubic-bezier arrays. */
|
||||
export const easings = {
|
||||
standard: [0.25, 1, 0.5, 1],
|
||||
};
|
||||
|
||||
/** Duration presets (seconds), extracted from the live page. */
|
||||
export const durations = {
|
||||
sm: 0.25,
|
||||
};
|
||||
|
||||
/** Spring presets — pass to a Framer Motion `transition` prop. */
|
||||
export const springs = {
|
||||
soft: { type: 'spring', stiffness: 320, damping: 30, mass: 1 },
|
||||
};
|
||||
|
||||
/** Ready-to-spread Framer Motion transition objects. */
|
||||
export const transitions = {
|
||||
base: { duration: 0.25, ease: easings.standard },
|
||||
fast: { duration: 0.125, ease: easings.standard },
|
||||
slow: { duration: 0.450, ease: easings.standard },
|
||||
spring: springs.soft,
|
||||
};
|
||||
|
||||
/** Common variants wired to the extracted timing. */
|
||||
export const variants = {
|
||||
fade: {
|
||||
hidden: { opacity: 0 },
|
||||
show: { opacity: 1, transition: transitions.base },
|
||||
},
|
||||
slideUp: {
|
||||
hidden: { opacity: 0, y: 16 },
|
||||
show: { opacity: 1, y: 0, transition: transitions.base },
|
||||
},
|
||||
scaleIn: {
|
||||
hidden: { opacity: 0, scale: 0.96 },
|
||||
show: { opacity: 1, scale: 1, transition: transitions.base },
|
||||
},
|
||||
pop: {
|
||||
hidden: { opacity: 0, scale: 0.9 },
|
||||
show: { opacity: 1, scale: 1, transition: springs.soft },
|
||||
},
|
||||
stagger: {
|
||||
hidden: {},
|
||||
show: { transition: { staggerChildren: 0.063 } },
|
||||
},
|
||||
};
|
||||
|
||||
/** Site uses scroll- or view-timeline. Drop-in `whileInView` props. */
|
||||
export const inView = {
|
||||
fadeIn: {
|
||||
initial: variants.fade.hidden,
|
||||
whileInView: variants.fade.show,
|
||||
viewport: { once: true, amount: 0.3 },
|
||||
},
|
||||
riseIn: {
|
||||
initial: variants.slideUp.hidden,
|
||||
whileInView: variants.slideUp.show,
|
||||
viewport: { once: true, amount: 0.3 },
|
||||
},
|
||||
};
|
||||
|
||||
export default { easings, durations, springs, transitions, variants, inView };
|
||||
Loading…
Add table
Add a link
Reference in a new issue