Materializr
오픈소스 파라메트릭 3D CAD로 제약 스케치·솔리드 모델·나사·SVG·텍스트 조각·STL/STEP 내보내기를 지원합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기The Ankra mark as a thinking orb: dotted, depth-shaded, animated. React component + live demo.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The Ankra mark as a thinking orb: drawn in dots, depth-shaded, monochrome, alive.README 전문 보기 ↗
The Ankra mark as a thinking orb: drawn in dots, depth-shaded, monochrome, alive.
Live demo: https://misterharrow.github.io/ankra-orb/
import { AnkraOrb, ThinkingOrb } from '@/components/ankra-orb' // website
import { AnkraOrb } from '@/implementations/elements/ankra-orb' // portal
<AnkraOrb /> // idle, 64px, hover-reactive
<AnkraOrb state="working" size={20} color="white" /> // loader in a button
<AnkraOrb state="thinking" size={32} /> // agent / AI activity
<AnkraOrb state="from-searching" size={32} /> // stock globe → Ankra mark → globe
<AnkraOrb state="emoji-euro" size={64} /> // € eyes → Ankra mark → € eyes
<AnkraOrb size={220} intro /> // hero: orb settles into the mark
<ThinkingOrb state="searching" size={20} /> // the stock orbs ship alongside
| state | motion | use |
|---|---|---|
idle | breathes on a 10s cycle; the three pieces float on separate planes | logo, hero, brand moments |
working | the pieces turn a third around the centre and lock back in place | loaders, pending operations |
working-2 | breathes in to a single point, glows there, breathes back out to full size | loaders where turning feels busy |
thinking | the mark dissolves into a dotted orb, turns, and reforms | agent / AI reasoning |
searching | a scan band sweeps the mark, lifting the dots it passes | indexing, lookups, filtering |
emoji-<face> | a dotted emoji streams into the mark and back (see below) | reactions, feedback, playful moments |
from-<stock> | a real thinking-orbs state plays, its dots stream into the mark, hold, and stream back out | AI / agent activity with the brand in it |
| state | face |
|---|---|
emoji-happy | smile; bounces and the grin widens on each beat |
emoji-sad | inner brows raised, frown; a tear rolls down the cheek |
emoji-confused | one brow up, mismatched eyes, wavy mouth; the head wobbles |
emoji-wink | lopsided smile; one eye snaps shut, holds, reopens, head tilts |
emoji-euro | € eyes and an open grin; the € eyes pop on a ka-ching beat |
Same 7.2s hand-off as the stock states: face for 2s → streams into the mark → mark for 2s → streams back out. The faces are drawn in dots on a slightly domed disc, so they sway and depth-shade like the mark. Under reduced motion they show the still face.
from-working, from-searching, from-solving, from-listening, from-connecting, from-weaving, from-composing, from-breathing, from-shaping — one for every stock state.
The orb part is the library's own geometry at its own tuned speed (MODE_FRAMES + resolvePreset), not a lookalike. Every 7.2s: orb for 2s → its dots stream into the mark (1.3s) → mark for 2s → the mark streams back out (1.3s) → orb. Dots are paired by walking both shapes around the centre, so the hand-off reads as a sweep; when the counts differ, dots split or merge. Leaving the orb, every dot departs from exactly where the live orb was; returning, every dot lands exactly where the live orb resumes. Under reduced motion these states show the still mark.
| prop | default | |
|---|---|---|
state | 'idle' | any state above |
size | 64 | CSS px. Dot density is re-tuned per size: one dotted rail per stroke at 20–43px, a halftone at hero sizes |
theme | 'auto' | auto follows a .dark / data-theme ancestor, then the OS |
color | grayscale | any CSS color incl. currentColor; the depth ramp is kept on the tint |
speed | 1 | multiplier |
paused | false | |
interactive | size >= 40 | hover tilts toward the pointer, lifts the dots under it, lets the pieces drift apart; a tap sends a ripple |
intro | false | play the orb → mark settle once on mount |
startAt | shared clock | run on the instance's own clock, starting this many seconds into the state's cycle (e.g. 3.3 starts a hand-off state on the mark). The demo's showreel uses it |
All other <canvas> props pass through.
ankraFrame(state, size, t, input) implements thinking-orbs' ModeFrame contract: pure geometry in, a finished z-sorted dot list out. Up to 64px, <AnkraOrb> simply renders <ThinkingOrb frame={…}>, so the library owns painting, theme detection, tint, offscreen pausing and reduced-motion. Above 64px (the library's largest canvas) a small loop paints the same frames with the same ink ramp and the same lifecycle rules.
The mark is three congruent pieces at 120°. Piece A is traced from the master logo; B and C are exact rotations, which is what lets working loop seamlessly.
src/ here is the source. sh sync.sh copies it into:
ankra-website/src/components/ankra-orb/portal/src/implementations/elements/ankra-orb/Both apps depend on thinking-orbs@^0.3.2.
npm install
npm run dev # gallery of every state × size at http://localhost:5288
npm run typecheck
npm run deploy # build the gallery and publish it to GitHub Pages (gh-pages branch)
Orb rendering: thinking-orbs by Jakub Antalik (MIT).