ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toFrontend
์๋ฌธ ์ฝ๊ธฐ
Velt SDK์ CRDT ๊ธฐ๋ฐ์ ์ค์๊ฐ ํ์ ์บ๋ฒ์ค ์ํคํ ์ฒ ๊ตฌํ
Build a Real-Time Excalidraw-like Collaborative Canvas using Velt MCP and Antigravity๐
AI ์์ฝ
Context
๊ธฐ์กด Canvas ์ฑ์ ๋จ์ผ ์ฌ์ฉ์ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ก ์ธํ ์ค์๊ฐ ์ํ ๋๊ธฐํ ๋ฐ ์ถฉ๋ ํด๊ฒฐ์ ๋ณต์ก์ฑ ๋ฐ์. WebSocket ์ธํ๋ผ ๊ตฌ์ถ ๋ฐ ๋์์ฑ ์ ์ด ๋ก์ง ๊ตฌํ์ ๋ฐ๋ฅธ ๊ณผ๋ํ ์์ง๋์ด๋ง ๊ณต์ ํฌ์ ์ด ๋ณ๋ชฉ ์ง์ ์ผ๋ก ์์ฉ.
Technical Solution
- CRDT ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ์ ํตํ ๋ถ์ฐ ํ๊ฒฝ ๋ด Conflict-free ์ํ ์ ๋ฐ์ดํธ ๊ตฌํ
- Velt SDK ๋์ ์ ํตํ WebSocket ์๋ฒ ๋ฐ Sync Engine ๋ฑ ๋ฐฑ์๋ ์ธํ๋ผ ๊ด๋ฆฌ ๋น์ฉ ์ ๊ฑฐ
- MCP(Model Context Protocol) ๊ธฐ๋ฐ AI Agent๋ฅผ ํ์ฉํ ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค ๋ถ์ ๋ฐ ๋ง์ถคํ CRDT Store ์ค๊ณ
- VeltProvider ์ค์ฌ์ ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ๋ฅผ ํตํ Presence, Cursor, Comments ๊ธฐ๋ฅ์ ๋ชจ๋์ ํตํฉ
- ์ธ์ ๊ธฐ๋ฐ ์๋ณ์ ํ ๋น์ ํตํ ๋ค์ค ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ๊ณต์ ์ํ(Shared State) ๊ด๋ฆฌ
์ค์ฒ ํฌ์ธํธ
- ์ค์๊ฐ ํ์ ๊ธฐ๋ฅ ๊ตฌํ ์ ์ธํ๋ผ ์ง์ ๊ตฌ์ถ ๋์ CRDT ๊ธฐ๋ฐ SDK ๋์ ๊ฒํ - AI Agent์ ์ฝ๋ ๋ถ์ ๊ธฐ๋ฅ์ ํ์ฉํ ๋๋ฉ์ธ ํนํ ์ํ ๋๊ธฐํ ์ ๋ต ์๋ฆฝ - ์ฌ์ฉ์ Presence ๋ฐ Cursor ์ ๋ณด๋ฅผ ์ํ ํธ๋ฆฌ์ ๋ถ๋ฆฌํ์ฌ ๋ ๋๋ง ์ต์ ํ ์ํ