How ahonn/grkit works
GRKit is an SD-card camera add-on plus a browser-based installer and package builder. The user configures a camera, modules, and effects on the web page, then writes the package to an SD card or downloads a ZIP; the camera loads the runtime and exposes its features through the GRK menu. The repository also contains firmware-targeted build tooling, effect/LUT fitting and import, module implementations, and optional fast-boot firmware support. Runtime source was not sampled, so camera-side relationships are limited to documented capabilities rather than inferred call chains.
Main entry points: menu.c GRK menu · App.tsx Installer UI · main.rs Build CLI · main.tsx Page entry
Components 28
Web installer
- Page entry
web/src/main.tsx - Installer UI
web/src/App.tsx - Effect catalog
web/src/catalog.ts - Look imports
web/src/import/store.ts - Look preview
web/src/preview/render.ts - SD card access
web/src/card.ts - Package builder
web/src/package.ts
Build and effect tooling
- Build CLI
crates/grkit-cli/src/main.rs - Firmware target build
crates/grkit-build/src/target.rs - Runtime components
crates/grkit-build/src/components.rs - Module builder
crates/grkit-build/src/module.rs - Ports and relocation
crates/grkit-build/src/port.rs - LUT fitting
crates/grkit-core/src/fit/mod.rs - Fit sectors
crates/grkit-core/src/fit/sectors.rs - Package core
crates/grkit-core/src/packaging.rs
Camera runtime
- Camera runtime
runtime - GRK menu
runtime/menu.c - Film looks
runtime/tone.h - Framing and crops
modules/framing/framing.c - Date imprint
modules/date/stamp.c - Glow effect
modules/glow/glow.c - Composition guides
modules/guides/guides.c
Fast boot
- Fast-start page
web/src/components/FastbootPage.tsx - Firmware updater
crates/grkit-firmware/src/update.rs - Fastboot backend
runtime/fastboot/backend.c
Other components
- Camera owner
- SD card
- GRKit ZIP
Connections 26
- Camera owner → Page entry: opens site
web/src/main.tsx - Page entry → Installer UI: renders installer
web/src/main.tsx - Installer UI → Effect catalog: loads catalog
web/src/App.tsx - Installer UI → SD card access: accesses card
web/src/App.tsx - Installer UI → Package builder: builds package
web/src/App.tsx - Installer UI → Look imports: uses imported looks
web/src/App.tsx - Look imports → Look preview: stores previews
web/src/import/store.ts - SD card access → SD card: writes package
README.md - Package builder → GRKit ZIP: creates download
README.md - Camera owner → Build CLI: builds packages
README.md - Build CLI → Firmware target build: builds runtime
- Firmware target build → Runtime components: assembles components
crates/grkit-build/src/components.rs - Build CLI → Module builder: builds modules
- Runtime components → Ports and relocation: uses relocation data
crates/grkit-build/src/components.rs - LUT fitting → Fit sectors: uses fit sectors
crates/grkit-core/src/fit/mod.rs - Build CLI → Package core: packages artifacts
crates/grkit-cli/src/main.rs - SD card → Camera runtime: loads from SD
README.md - Camera runtime → GRK menu: provides GRK menu
README.md - GRK menu → Film looks: offers film looks
README.md - GRK menu → Framing and crops: offers framing and crops
README.md - GRK menu → Date imprint: offers date imprint
README.md - GRK menu → Glow effect: offers glow
README.md - GRK menu → Composition guides: offers guides
README.md - Camera owner → Fast-start page: creates fast-start firmware
README.md - Fast-start page → Firmware updater: prepares firmware update
README.md - Firmware updater → Fastboot backend: enables fast boot
README.md