SnapOtter
72b0077a57
feat(videos): add OneCommand hero composition with terminal-to-app morph
2026-05-08 16:38:28 +08:00
SnapOtter
818348beac
feat(videos): add AppMockup simplified UI component
2026-05-08 16:38:23 +08:00
SnapOtter
c0e769c1fa
feat(videos): add TerminalWindow component with macOS chrome
2026-05-08 16:38:18 +08:00
SnapOtter
41a3b9a97b
feat(videos): add RotatingTaglines and GradientMesh components
2026-05-08 16:38:03 +08:00
SnapOtter
1702492ef3
feat(videos): add FeaturePill, ProgressBar, NumberPunch components
2026-05-08 16:37:41 +08:00
SnapOtter
e3187f1740
feat(videos): add Terminal component with typing + output animation
2026-05-08 16:37:16 +08:00
SnapOtter
e8e5cfde39
feat(videos): add AppWindow component with macOS traffic light chrome
2026-05-08 16:37:00 +08:00
SnapOtter
ac33e4ac3c
feat(videos): add BackgroundMusic component with fade-in/fade-out
2026-05-08 16:35:31 +08:00
SnapOtter
89eec108fe
feat(videos): add PrivacyPromise hero loop with shield draw animation
2026-05-08 16:34:30 +08:00
SnapOtter
07003b7ba3
feat(videos): add ShieldIcon SVG component with evolvePath draw animation
2026-05-08 16:34:26 +08:00
SnapOtter
3d9324b82a
chore: update tool count to 50 across all references
2026-05-08 16:33:12 +08:00
SnapOtter
466ef1efb1
docs(beautify): add API docs, OpenAPI spec, LLM docs, update README
...
Add beautify tool endpoint to OpenAPI spec with full parameter
documentation. Add tool to REST API docs Layout & Composition table.
Update tool count from 49 to 50 across README, docs homepage,
architecture docs, VitePress config, OpenAPI spec, and LLM docs
generator.
2026-05-08 16:31:43 +08:00
SnapOtter
ac67b8471d
feat(videos): add AiMagicReel before/after transformation composition
2026-05-08 16:30:31 +08:00
SnapOtter
53b717243b
fix(meme-generator): add opentype.js types, fix no-dropzone registry test
2026-05-08 16:29:44 +08:00
SnapOtter
664605ff7f
docs: add Remotion promo videos implementation plan
...
16 tasks covering audio infrastructure, 10 new shared components,
3 compositions (X Launch 7 scenes, Product Demo 8 scenes, Promo Teaser
5 scenes + vertical variant), render script, and verification.
2026-05-08 16:28:51 +08:00
SnapOtter
0deea29c37
test(beautify): add Playwright E2E tests
2026-05-08 16:28:12 +08:00
SnapOtter
9497e0b7fc
feat(beautify): add frontend settings component with presets and live preview
2026-05-08 16:26:09 +08:00
SnapOtter
54a73e1791
feat(videos): add PipelineFlow composition with batch mode
2026-05-08 16:24:28 +08:00
SnapOtter
136a4a0752
Merge branch 'feat/format-support-expansion'
...
# Conflicts:
# README.md
# apps/web/src/components/layout/app-layout.tsx
2026-05-08 16:21:11 +08:00
SnapOtter
7650844c8f
test(beautify): add comprehensive integration tests
2026-05-08 16:20:44 +08:00
SnapOtter
b5c75610eb
feat(meme-generator): add frontend component with gallery, editor, and result phases
2026-05-08 16:19:06 +08:00
SnapOtter
a90ba372df
feat(beautify): add HTTP route, process pipeline, and pipeline registration
2026-05-08 16:17:17 +08:00
SnapOtter
6ec3a51fa4
feat(meme-generator): add meme generation API route with template and custom image modes
...
Custom route handler supporting template mode (JSON body with templateId)
and custom image mode (multipart upload). Registers process function for
pipeline compatibility. Includes 18 integration tests.
2026-05-08 16:13:34 +08:00
SnapOtter
69e107fbab
feat(beautify): add device frame assets and PNG frame compositing
2026-05-08 16:12:46 +08:00
SnapOtter
447ef3a07e
feat(videos): add shared animation components (grain, clip reveal, tool pill, counter, etc.)
2026-05-08 16:12:05 +08:00
SnapOtter
dfeb358bb8
feat(videos): add motion design system, colors, fonts, and tools data
2026-05-08 16:11:57 +08:00
SnapOtter
3d60c13a4a
docs: add Remotion promotional videos design spec
...
Three standalone promo videos for SnapOtter: X launch announcement
(dark, 1080x1080, 35s), product demo walkthrough (light, 1920x1080,
75s), and Apple-keynote-style teaser (dark, 1080x1080 + 1080x1920,
20s). Shares design system with landing page videos spec.
2026-05-08 16:10:54 +08:00
SnapOtter
d8c1fdf5c2
feat(beautify): add SVG frame generators (macOS, Windows, browser)
2026-05-08 16:09:31 +08:00
SnapOtter
ddcead66fb
feat(videos): scaffold Remotion workspace with React 18 and Tailwind v3
2026-05-08 16:06:46 +08:00
SnapOtter
39358524cd
feat(beautify): add shadow rendering (extracted from border.ts pattern)
2026-05-08 16:06:37 +08:00
SnapOtter
b0cb17ff55
feat(meme-generator): add template listing and static serving endpoints
2026-05-08 16:05:17 +08:00
SnapOtter
b13df56273
feat(beautify): add background generation (solid, gradient, image, transparent)
2026-05-08 16:04:34 +08:00
SnapOtter
3d103d5092
test(meme-generator): add template manifest validation tests
2026-05-08 16:03:21 +08:00
SnapOtter
2eef1f45f9
feat(beautify): add Zod schema, shadow presets, social dimensions
2026-05-08 16:01:55 +08:00
SnapOtter
9dff59c400
feat(meme-generator): add text renderer with opentype.js SVG path generation
2026-05-08 16:01:46 +08:00
SnapOtter
8f10b62898
feat(beautify): add tool definition and i18n strings
2026-05-08 15:58:10 +08:00
SnapOtter
086a386d53
feat(meme-generator): add 100 meme templates with manifest and asset pipeline
...
Includes full-size images, WebP thumbnails, curated text box positions for
18 popular templates, and default top/bottom layout for the rest.
2026-05-08 15:57:36 +08:00
SnapOtter
3a2b1ee105
fix: wire 8 unwired tools, fix selection type sync, fix selection preview
...
Root cause analysis of the magic wand bug revealed the same dispatch
pattern affected 13 other tools:
- 8 tools (eyedropper, clone stamp, dodge, burn, sponge, blur brush,
sharpen brush, smudge) had hook implementations but were never
imported or wired into the canvas toolMap -- clicking did nothing
- Selection type (rect/ellipse/lasso) was never synced from the global
activeTool to the selection hook's internal state, so marquee-ellipse
and lasso tools always produced rectangular selections
- Selection drag preview was hardcoded to Rect instead of using the
existing ActiveSelectionPreview component
- Zoom tool click did nothing (now zooms in on click, out on alt+click)
- Magic wand dispatched to generic selection drag instead of flood fill
2026-05-08 15:45:49 +08:00
SnapOtter
fc9e951e96
chore: bundle OFL/Apache-licensed fonts for meme generator
2026-05-08 15:42:02 +08:00
SnapOtter
755bbd83bf
Merge feat/color-blindness: add Color Blindness Simulation tool ( #49 )
2026-05-08 15:40:54 +08:00
SnapOtter
cb8684d796
test: remove JP2 and DDS from E2E exotic upload tests (Chromium rejects these extensions)
2026-05-08 15:40:23 +08:00
SnapOtter
180ec6edfb
chore: add opentype.js dependency for meme text rendering
2026-05-08 15:39:34 +08:00
SnapOtter
2be001161b
feat(meme-generator): add tool definition and i18n strings
2026-05-08 15:38:31 +08:00
SnapOtter
bcdc4bdf82
docs: add color-blindness tool to API docs and update tool counts
2026-05-08 15:23:22 +08:00
SnapOtter
98b2e5a269
test: add Playwright e2e spec for color-blindness tool
2026-05-08 15:21:39 +08:00
SnapOtter
5aeafdfe60
feat: add color-blindness frontend settings component and registry entry
2026-05-08 15:20:12 +08:00
SnapOtter
eedc2443d6
feat: add color-blindness API route and integration tests
2026-05-08 15:18:38 +08:00
SnapOtter
5deb25c9e3
test: expand format decoder and detection unit tests for all new formats
2026-05-08 15:18:04 +08:00
SnapOtter
9720e6409e
test: expand new-formats integration tests with output matrix, resize, and preview tests
2026-05-08 15:17:18 +08:00
SnapOtter
93a246ce23
test: add QOI codec unit tests and E2E GUI format support tests
...
- QOI codec: 16 tests covering encode/decode round-trips, error handling, fixture validation
- E2E: 28 tests for format upload/resize, convert new outputs, dropdown verification,
HEIC-to-JPG flow, and exotic format upload acceptance
2026-05-08 15:16:06 +08:00