Загрузка видео...

Не удалось загрузить видео

На главную

Interactive "knob" component with different configs for each CSS filter. • sensible default value • pixel values based on user nudge preferences • ±10% shift nudge for percentage values, ±15° for degrees • round to nearest step when holding ⇧

11,586 просмотров • 1 месяц назад •via X (Twitter)

Комментарии: 14

Фото профиля jhey ʕ•ᴥ•ʔ
jhey ʕ•ᴥ•ʔ1 месяц назад

nice - i been messin' with a similar dial/knob opting for a dot, but with similar behavior like you have matching DevTools for the nudging 😎 these kinda controls are so satisfying to build 🤓

Фото профиля Hugo
Hugo1 месяц назад

Ohhh a dot instead of segment/tick would look great!

Фото профиля jhey ʕ•ᴥ•ʔ
jhey ʕ•ᴥ•ʔ1 месяц назад

i should def finish it – it's a '26 refresh lol i picked it up again after recently trying to curate lots of old demos and finally making it back to 2019 😄

Фото профиля standard deviation
standard deviation1 месяц назад

VST plugin vibes

Фото профиля Aaron
Aaron1 месяц назад

clean

Фото профиля Igor bedesqui
Igor bedesqui1 месяц назад

nice

Фото профиля Will King
Will King1 месяц назад

Oh this is so good

Фото профиля lefty.v0
lefty.v01 месяц назад

Would love to build this omg this looks so much fun

Фото профиля Katarina Stefanikova
Katarina Stefanikova1 месяц назад

🔥

Фото профиля Markiian
Markiian1 месяц назад

That’s a good one. How does it fill to roll it?

Фото профиля Hugo
Hugo1 месяц назад

Feels great! You actually get a horizontal scrubbing cursor that expands slightly on mouse press, and you cursor stays at that spot when scrubbing.

Фото профиля Markiian
Markiian1 месяц назад

yes, that's it man. Great stuffQ

Фото профиля Joe Lee
Joe Lee1 месяц назад

do you have data on whether users prefer to tune these with dragging vs typing? always been curious

Фото профиля Hugo
Hugo1 месяц назад

I don't have the data available! I imagine for things that aren't strictly "numerical" like spacing or border-radius for instance, typing makes more sense. But for filters and similar "graphic" properties, dragging can be nice!

Похожие видео

Grok 4 prompt to generate the video's generative art: You are an expert P5.js developer with expertise in generative art, mathematics (vector fields, Perlin noise), and aesthetic design. Create a visually stunning, interactive particle flow field sketch that mimics ethereal, fluid dynamics with glowing trails and cosmic vibes. Key Features to Implement Exactly: Use P5.js via CDN (version 1.4.0). 1500 particles with random positions and sizes (1-4 pixels). Flow field via multi-layered Perlin noise: base noise + 0.5 * octave at 2x scale, using 3D noise with zOff incrementing by 0.002 per frame; noiseScale = 0.005. Particle physics: Vectors for pos, vel, acc; maxSpeed = 3; force mult 0.15. Dynamic colors: 5-color palette in HSV, baseHue = (frameCount * 0.1) % 360, each hue offset by 72 (pentadic), saturation 80, value 100, alpha 8; update in draw(). Interactivity: Mouse press attracts particles with normalized vector force, strength 0.05 * (1 / (dist + 1)). Aesthetics: Additive blendMode(ADD); noStroke; background fade fill(0,5) rect over canvas; variable sizes for depth. Utilities: Edge wrapping in Particle class; windowResized to resize canvas and reset background. Comments: Explain enhancements (time-based colors, mouse interaction, layered noise, trails), math (vector attraction, multi-octave noise). Step-by-Step Reasoning for Your Response: Analyze: Dissect user intent for aesthetics (glowing, dynamic, interactive) and math (noise layers, forces). Plan Code: setup() for init (canvas full window, particles, placeholders); draw() for fade, color update, zOff++, particle loop; Particle class with constructor, update (noise angle, force, mouse attract, physics), display, edges. Implement: Write modular, readable code with exact values; ensure performance. Verify: Mentally run: Particles flow smoothly, colors cycle, mouse pulls inversely, no errors on resize/edges. Enhance Output: Rate aesthetics/correctness (target 9.5/10); suggest tweaks (e.g., numParticles for perf). Output Structure: Full HTML with for P5.js code. Explanation: Brief on visuals/math/customizations/running.

tetsuo

44,518 просмотров • 9 месяцев назад

HERMES AGENT WITHOUT THESE 3 FILES IS A CHATBOT. WITH THEM IT KNOWS WHO IT IS, WHO YOU ARE, AND WHAT IT LEARNED. SOUL.md — who the agent is. first thing in the system prompt. defines personality, voice, values, how it operates, what it can and can't do. structure yours like this: → identity (name, role, relationship to you) → values (what matters, what principles guide decisions) → voice (how it communicates, tone, style) → operations (autonomy level, ground rules) → restrictions (what it never does) → failure protocol (how to operate when things break) lives in ~/.hermes/SOUL.md. auto-seeded on first install. edit anytime. scanned for prompt injection on every load. keep it concise. SOUL.md injects into every turn. a 200-line soul burns tokens on every message. aim for 50-80 lines. one paragraph per section. MEMORY.md — what the agent remembers. persistent facts, insights, preferences. survives across sessions and restarts. capped at ~800 tokens by default: memory: memory_char_limit: 2200 the agent writes to this automatically as it learns about your work. USER.md — who you are. your profile, preferences, context. capped at ~500 tokens by default: memory: user_char_limit: 1375 injected every turn so the agent always knows who it's working for. bonus: AGENTS.md — project-specific instructions. drop one in any project folder. subdirectory AGENTS.md files load lazily during tool calls, not at startup. keeps your system prompt light. prompt stack order on every turn: SOUL.md → tool guidance → MEMORY.md + USER.md → skills index → AGENTS.md → platform hints skills come preloaded. 60+ built-in tools. the agent creates more skills from completed work. you focus on these 3 files. each profile gets its own copy: ~/.hermes/SOUL.md (default profile) ~/.hermes/profiles/researcher/SOUL.md ~/.hermes/profiles/ops/SOUL.md different agent, different soul, different memory, same machine. full breakdown of Hermes as a Personal AI OS in the article 👇

YanXbt

28,924 просмотров • 3 месяцев назад

The changes in the Algo and what Elon is truly trying to do - here is the full breakdown. A couple of Quick Points: - It all represents a really significant shift in what we’re about to see in our feed and the overall experience on X. - The shift from reply guy tactics to authenticity is where it’s all headed. - The value of a post will not be defined by engagement in its entirety but by the native value of the content. Current State: - Content visibility, including posts and replies, is currently unevenly prioritized, with manually written heuristics favoring recommendations to followers, benefitting large accounts but limiting the reach of smaller ones. - The "For You" algo heavily relies on these heuristics - impacting content reach and potentially hindering smaller accounts, regardless of content quality. Proposed Changes: - Algo defined value assignment to content will be driven by End-to-End Architecture based AI. - User-specific vectors, representing preferences, will guide content prioritization, providing a refreshed user experience within the feed that is inclusive and personalized. - The new approach will promote quality content across the entire user base, irrespective of account size. Additional Insights: - Elon emphasizes that AI will play a pivotal role in content importance assignment, suggesting a departure from the current manually-driven processes. - The algo will differentiate between content from accounts users follow (non-AI recommended) and those they don't (AI recommended), which should significantly improve the diversity of the content we’re exposed to. Implications: The proposed changes signify a fundamental transformation in how content is presented and recommended, with a move towards a more democratic and AI-driven system. Smaller accounts may benefit from increased visibility, creating a more level playing field based on content quality rather than follower count. Theories: - The mention of AI-differentiated recommendations for followed and non-followed content suggests a strategic effort to broaden user exposure to diverse content. - The shift towards an AI-powered recommendation system indicates a commitment to enhancing user experience by tailoring content suggestions based on individual preferences. What we’re looking at is a change that finally addresses the FOMO dynamic between accounts with reach and truly compelling content. It will be a major chance for new accounts, small accounts, and anyone really - to advance into the greater ecosphere they were left out of before. Goodbye, reply guy. Hello, value adding content. These conclusions are based on the recent interview of Elon Musk by Lex Fridman.

Adrian Dittmann

313,553 просмотров • 2 лет назад

CSS Tip! 🤯 You can create a CSS-only version of this balance slider using a scroll animation on the underlying input[type=range] 🚀 ::-webkit-slider-thumb { view-timeline: --thumb inline; } Scroll animation driven by the slider thumb animates a number between the "min" and "max" of the range 😅 @​property --value { inherits: true; initial-value: 0; syntax: ' '; } @​keyframes sync { to { --value: 100; }} Tie that up to the contain animation-range ⚡️ .control { animation: sync both linear reverse; animation-timeline: --thumb; animation-range: contain; } Hoist the view timeline so all the parts of the control can use it! .control { timeline-scope: --thumb; } Use that value in a counter which is used for the labels. Create a low and a high for each side 😇 .control__label { counter-reset: low var(--value) high calc(100 - var(--value)); } .control__label::before { content: "COFFEE " counter(low) "%"; } .control__label::after { content: counter(high) "% MILK"; } That's the magic of updating the label values ✨ For the big track, it's a fake track. You can make use of the same --value property and do some calc() to work out the width of each part. .control__track::before { width: calc(var(--value) * 1% - 0.5rem); background: var(--coffee); border-radius: 4px; transition: width 0.1s; } The width leaves a little gap for the indicator piece 🤙 The color calculation for --coffee isn't too wild but again you can use the same --value .control__track { --coffee: hsl(24 74% calc( 24% + (30% * ((100 - var(--value, 0)) / 100)) / 1 ) / 0.4); } Now for the last piece. Making the track change height. You could set up another custom property and animate its value using the --thumb timeline too 🔥 @​property --shift { initial-value: 0; inherits: true; syntax: ' '; } @​keyframes shift { 0%, 31%, 61%, 100% { --shift: 0; } 32%, 60% { --shift: 1; } } Then use that --shift to update the translation of the label and height of the track 🤓 .label { transform: translateY(calc(var(--shift) * 50%)); transition: transform var(--speed) var(--timing); } Cool part here is that you can use the control to work out the @​keyframes percentages 😅 Oh. And the timing for that little bounce? Use the linear() function 😎 :root { --timing: linear( 0, 0.5007 7.21%, 0.7803 12.29%, 0.8883 14.93%, 0.9724 17.63%, 1.0343 20.44%, 1.0754 23.44%, 1.0898 25.22%, 1.0984 27.11%, 1.1014 29.15%, 1.0989 31.4%, 1.0854 35.23%, 1.0196 48.86%, 1.0043 54.06%, 0.9956 59.6%, 0.9925 68.11%, 1 ); } Should probably do a video on this one. Lots of little custom property tricks for sure! 💯 It's not too far off the range slider with the tooltip that came up previously As always, any questions, let me know! Also, this one only works in Chrome currently ✅🥲 This one's a bit rocket science ha 🚀 CodePen.IO link below! 👇

jhey ʕ•ᴥ•ʔ

377,871 просмотров • 2 лет назад