How lenseps/silica works
Silica is a work-in-progress desktop planner whose stated goal is a scalable timeline for tasks and events. The README describes creating, editing, removing, navigating, and scaling timeline entries, but the sampled UI is still the default Tauri/React greeting demo; those planning capabilities are not demonstrated as implemented. The Rust backend defines task/event request-response types and record models, plus a generic JSON-file CRUD store. The sampled sources do not show the schemas wired to commands or the UI. Edges below reflect visible imports and calls; unsampled wiring is omitted.
Main entry points: record.rs Shared record model · crud.rs Generic CRUD store · task.rs Task records · event.rs Event records
Components 14
Desktop frontend
- React app
src/App.tsx
Tauri runtime
- Tauri host
src-tauri/src/lib.rs - Command modules
src-tauri/src/commands/task.rs
Planning domain
- Task API types
src-tauri/src/schemas/api_v1/tasks.rs - Event API types
src-tauri/src/schemas/api_v1/events.rs - Style API types
src-tauri/src/schemas/api_v1/styles.rs - Tag API types
src-tauri/src/schemas/api_v1/tags.rs - Task records
src-tauri/src/models/records/task.rs - Event records
src-tauri/src/models/records/event.rs - Shared record model
src-tauri/src/models/records/record.rs - Task styles
src-tauri/src/models/styles.rs - Tags
src-tauri/src/models/tags.rs
Persistence
- Generic CRUD store
src-tauri/src/service/crud.rs
Other components
- Desktop user
Connections 16
- Desktop user → React app: uses
src/App.tsx - React app → Tauri host: invokes greet
src/App.tsx - Task API types → Task records: serializes
src-tauri/src/schemas/api_v1/tasks.rs - Task API types → Shared record model: uses ID
src-tauri/src/schemas/api_v1/tasks.rs - Event API types → Event records: serializes
src-tauri/src/schemas/api_v1/events.rs - Event API types → Shared record model: uses ID
src-tauri/src/schemas/api_v1/events.rs - Style API types → Task styles: uses model
src-tauri/src/schemas/api_v1/styles.rs - Tag API types → Tags: uses model
src-tauri/src/schemas/api_v1/tags.rs - Task records → Shared record model: embeds
src-tauri/src/models/records/task.rs - Event records → Shared record model: embeds
src-tauri/src/models/records/event.rs - Shared record model → Task styles: references ID
src-tauri/src/models/records/record.rs - Shared record model → Tags: references IDs
src-tauri/src/models/records/record.rs - Task records → Generic CRUD store: implements persistence
src-tauri/src/models/records/task.rs - Event records → Generic CRUD store: implements persistence
src-tauri/src/models/records/event.rs - Task styles → Generic CRUD store: implements persistence
src-tauri/src/models/styles.rs - Tags → Generic CRUD store: implements persistence
src-tauri/src/models/tags.rs