Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ Before refactoring platform integration, verify which runtime path is actually u
- Review `AppStore.ts` before changing selection, duplication, undo/redo, or workspaces.
- A new block type needs three things: its component in `src/components/Blocks/`, an entry in `src/lib/blocks/registry.tsx` (label, icon, component) and one in `src/lib/blocks/catalog.ts` (its properties and sizes). The toolbar, the canvas and Agent follow from those.
- For UI work, use the design tokens in `src/input.css` (`bg-background`, `bg-sidebar`, `border-border`, `text-muted-foreground`, …) and the `rounded-control` / `rounded-surface` radii. Do not change the generic radius scale or `font-block`: canvas blocks use them and exported images would change.
- Brand: the logo is `KarbonizedLogoFlat` (`src/components/Icons/Icons.tsx`, one `currentColor` path) and `logo.svg` with its copies in `public/`, `resources/` and `src/assets/`; the app icons (PWA, Electron, Tauri) are rendered from it on a `#1C1B1B` tile. The app name uses `font-brand` (Fredoka); keep it to the name, running UI text stays in Figtree.
- Monaco themes mirror the tokens in `src/lib/theme/editor-theme.ts`; keep both in sync.
- Shortcuts and command palette entries are registered with `useCommands()` from `src/lib/commands/registry.ts`. Do not add `window.addEventListener('keydown')` handlers; a single handler dispatches every shortcut and skips inputs, Monaco and open overlays unless `allowInInput` is set.
- Restored block properties go through `initialProperties` (consumed by `useControlState` on mount), not `ControlProperties`.
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### 🚀 Features

- **New look**: a new logo, the Figtree typeface across the interface and the rose accent of v1 back on primary controls, focus rings, the canvas selection and snapping guides. Canvas blocks keep their typefaces, so exported images do not change
- **New look**: a new logo (a solid rounded diamond with the flame cut out of it, the same shape as Agent's mark), the app name set in Fredoka, the Figtree typeface across the interface and the rose accent of v1 back on primary controls, focus rings, the canvas selection and snapping guides. Canvas blocks keep their typefaces, so exported images do not change
- **Agent, the design assistant** (`Ctrl+L`): a panel docked on the left that edits the canvas from a description, with streaming answers, visible tool calls, stop, retry and chat history. It lives in the **AI** menu
- Agent works with Anthropic, OpenAI, Google Gemini, OpenRouter, Ollama, LM Studio and any OpenAI-compatible server; providers, models and keys are set in **Agent settings**
- API keys stay on the device: encrypted with the system keychain on desktop (and only sent to the base URL they were saved for), stored in the browser on the web
Expand Down
Binary file modified electron/assets/appIcon.ico
Binary file not shown.
Binary file modified electron/assets/appIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 15 additions & 11 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,38 @@
name="google-site-verification"
content="usO7aDob2iRcx6oh_ieg90MgEO2GkFzZD241c4TXUnE"
/>
<title>Karbonized | Image Generator</title>
<title>Karbonized | The programmable image editor</title>

<!-- Primary Meta Tags -->
<meta name="title" content="Karbonized | Image Generator" />
<meta name="title" content="Karbonized | The programmable image editor" />
<meta
name="description"
content="Image Generator for Code Snippets and Mockups. Offline Support. Available for Windows, Linux and Mac"
content="Design code shots, mockups and social images with blocks, with code or with your AI agent. Free, open source and offline, on the web, Windows, Linux and macOS."
/>

<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://karbonized.onrender.com/" />
<meta property="og:title" content="Karbonized" />
<meta property="og:url" content="https://karbonized.yoss.pro/" />
<meta property="og:title" content="Karbonized: the programmable image editor" />
<meta
property="og:description"
content="Image Generator for Code Snippets and Mockups. Offline Support. Available for Windows, Linux and Mac"
content="Design code shots, mockups and social images with blocks, with code or with your AI agent. Free, open source and offline, on the web, Windows, Linux and macOS."
/>
<meta property="og:image" content="/image.png" />
<meta property="og:image" content="https://karbonized.yoss.pro/og-image.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Karbonized, the programmable image editor: an HTML block and the post it becomes" />

<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content="https://karbonized.onrender.com/" />
<meta property="twitter:title" content="Karbonized" />
<meta property="twitter:url" content="https://karbonized.yoss.pro/" />
<meta property="twitter:title" content="Karbonized: the programmable image editor" />
<meta
property="twitter:description"
content="Image Generator for Code Snippets and Mockups. Offline Support. Available for Windows, Linux and Mac"
content="Design code shots, mockups and social images with blocks, with code or with your AI agent. Free, open source and offline, on the web, Windows, Linux and macOS."
/>
<meta property="twitter:image" content="/image.png" />
<meta property="twitter:image" content="https://karbonized.yoss.pro/og-image.png" />
<meta property="twitter:image:alt" content="Karbonized, the programmable image editor: an HTML block and the post it becomes" />

<!-- Cloudflare Web Analytics -->
<script
Expand Down
2 changes: 1 addition & 1 deletion logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"email": "yossthedev@gmail.com",
"url": "http://yoss.pro/"
},
"description": "Image Editing Made Easy",
"description": "The programmable image editor",
"engines": {
"node": ">=18.0.0"
},
Expand Down Expand Up @@ -46,6 +46,7 @@
"@capacitor/toast": "^5.0.6",
"@floating-ui/react-dom": "^1.0.1",
"@fontsource-variable/figtree": "^5.3.0",
"@fontsource-variable/fredoka": "^5.3.0",
"@fontsource-variable/geist": "^5.2.8",
"@fontsource-variable/geist-mono": "^5.3.0",
"@fontsource-variable/noto-sans": "^5.2.10",
Expand Down
Binary file modified public/assets/icons/icon-128.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-128x128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-144x144.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-152x152.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-192.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-192x192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-256.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-384x384.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-48.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-48x48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-512.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-512x512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-72.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-72x72.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-96.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/icons/icon-96x96.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/image.png
Binary file not shown.
2 changes: 1 addition & 1 deletion public/karbonized.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion public/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/logo.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/og-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion resources/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-electron/assets/icon.icns
Binary file not shown.
Binary file modified src-electron/assets/icon.ico
Binary file not shown.
Binary file modified src-electron/assets/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/128x128.png
Binary file modified src-tauri/icons/128x128@2x.png
Binary file modified src-tauri/icons/32x32.png
Binary file modified src-tauri/icons/Square107x107Logo.png
Binary file modified src-tauri/icons/Square142x142Logo.png
Binary file modified src-tauri/icons/Square150x150Logo.png
Binary file modified src-tauri/icons/Square284x284Logo.png
Binary file modified src-tauri/icons/Square30x30Logo.png
Binary file modified src-tauri/icons/Square310x310Logo.png
Binary file modified src-tauri/icons/Square44x44Logo.png
Binary file modified src-tauri/icons/Square71x71Logo.png
Binary file modified src-tauri/icons/Square89x89Logo.png
Binary file modified src-tauri/icons/StoreLogo.png
Binary file modified src-tauri/icons/icon.icns
Binary file not shown.
Binary file modified src-tauri/icons/icon.ico
Binary file not shown.
Binary file modified src-tauri/icons/icon.png
4 changes: 2 additions & 2 deletions src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
"icons/icon.ico"
],
"identifier": "com.yossthedev.karbonized",
"longDescription": "Awesome Image Generator for Code Snippets and Screenshots",
"longDescription": "The programmable image editor: design code shots, mockups and social images with blocks, with code or with your AI agent",
"macOS": {
"entitlements": null,
"exceptionDomain": "",
Expand All @@ -62,7 +62,7 @@
"signingIdentity": null
},
"resources": [],
"shortDescription": "Awesome Image Generator",
"shortDescription": "The programmable image editor",
"targets": "all",
"windows": {
"certificateThumbprint": null,
Expand Down
2 changes: 1 addition & 1 deletion src/assets/karbonized.svg
2 changes: 1 addition & 1 deletion src/assets/karbonized2.svg
2 changes: 1 addition & 1 deletion src/assets/karbonized_white.svg
Loading
Loading