{"id":31161300,"url":"https://github.com/dimchikkk/revel","last_synced_at":"2026-05-17T00:37:53.370Z","repository":{"id":313905558,"uuid":"1048632503","full_name":"Dimchikkk/revel","owner":"Dimchikkk","description":"Note taking brainstorming app","archived":false,"fork":false,"pushed_at":"2025-09-11T16:26:02.000Z","size":292,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-11T16:29:34.842Z","etag":null,"topics":["c","gtk4","sqllite3"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dimchikkk.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-01T19:04:00.000Z","updated_at":"2025-09-11T16:26:05.000Z","dependencies_parsed_at":"2025-09-11T16:29:36.522Z","dependency_job_id":null,"html_url":"https://github.com/Dimchikkk/revel","commit_stats":null,"previous_names":["dimchikkk/velo2","dimchikkk/revel"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Dimchikkk/revel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dimchikkk%2Frevel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dimchikkk%2Frevel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dimchikkk%2Frevel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dimchikkk%2Frevel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dimchikkk","download_url":"https://codeload.github.com/Dimchikkk/revel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dimchikkk%2Frevel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275872562,"owners_count":25543611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-19T02:00:09.700Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","gtk4","sqllite3"],"created_at":"2025-09-19T03:04:00.111Z","updated_at":"2026-05-17T00:37:53.365Z","avatar_url":"https://github.com/Dimchikkk.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Revel\n\nInfinite canvas for notes and visual thinking.\n\n![Revel Presentation](examples/revel_recording.gif)\n\n## What it does\n\nEverything lives in a single SQLite file. Search uses BM25 ranking. Canvas is infinite with nested spaces you can organize however you want.\n\n**Content:**\n- Text notes (plain or formatted)\n- Shapes (circles, rectangles, triangles, diamonds, bézier curves, graphs)\n- Stroke styles (solid/dashed/dotted), fill patterns (solid/hachure/cross-hatch)\n- Freehand drawing\n- Images, videos (MP4), audio (MP3)\n\n**Connections:**\n- Arrows between any elements (curved or straight)\n- 4-point attachment system\n\n**Working with stuff:**\n- New elements find empty space automatically (spiral search)\n- Clone things: fork for independent copies, or link by text/size/position/color\n- Layer ordering, rotation, colors\n- Add private notes to elements\n\n**Automation:**\n- DSL for scripting layouts\n- Animations: move, resize, color, fade\n- 8 interpolation curves (linear, bezier, ease-in/out, bounce, elastic, back)\n\n**UI:**\n- Right-click menus, keyboard shortcuts (`F1` for list)\n- Space tree sidebar\n- Undo/redo with action log\n\n## Performance\n\nHandles large datasets. Viewport culling means only visible stuff gets rendered. Tested with 1M elements.\n\n![10,000 elements](examples/media/10_000.jpg)\n\n## Building\n\n**Linux (Ubuntu/Debian):**\n```bash\nsudo apt install libgtk-4-dev libsqlite3-dev libjson-glib-dev \\\n    libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \\\n    gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-libav\n```\n\n**macOS (Homebrew):**\n```bash\nbrew install gtk4 gstreamer gstreamer-development pkgconf sqlite json-glib font-ubuntu-mono\n```\n\n**Build:**\n```bash\nmake -j$(nproc) \u0026\u0026 ./revel\n```\n\n*Note: Primary development is on Linux. macOS build uses Command (⌘) key for shortcuts.*\n\nTry the demo:\n```bash\nrm -f demo.db \u0026\u0026 ./revel --dsl examples/showcase.dsl demo.db\n```\n\n![Demo](examples/media/demo.jpg)\n\n## AI Integration\n\nToolbar has AI button. Calls external CLI tools (config in `config/ai_providers.json`) and sends current canvas as DSL context. Binaries need to be in `$PATH`. Settings in gear menu. History saved to database.\n\n## Layout\n\n```\nsrc/        C code\ntests/      Tests\nexamples/   DSL examples\nbuild/      Build output\n```\n\nFull DSL docs: [DSL.md](docs/DSL.md)\n\n## Desktop launcher\n\n```bash\ncp revel.desktop ~/.local/share/applications/\n# Edit Exec and Icon paths in the file\nupdate-desktop-database ~/.local/share/applications/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimchikkk%2Frevel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimchikkk%2Frevel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimchikkk%2Frevel/lists"}