Commit Graph
381 Commits
Author SHA1 Message Date
BFlatandTanish Manku 9caaad5e0d Page video editor: Mount and make public (#1611)
Co-authored-by: Tanish Manku <tanish2k09.dev@gmail.com>
2026-06-08 13:01:51 -07:00
BFlat 3847a3d39c Revert "Page video editor: Mount and make public" (#1610)
Reverts storytold/artcraft#1606
2026-06-06 06:59:01 +07:00
Tanish Mankuandbflatastic d09d44b7e2 Page video editor: Mount and make public (#1606)
Co-authored-by: bflatastic <bombayapirat@gmail.com>
2026-06-05 22:21:55 +07:00
BFlat 2a49226479 mobile view update (#1601)
- Separate mobile generations page
- Bottom mobile navbar
2026-06-02 20:36:02 +07:00
BFlat c5dcf0e155 app styling updates (#1596)
darker tone
2026-06-01 18:17:14 +07:00
BFlat e39fe7c106 textToVideoSupported api field (#1593) 2026-06-01 01:30:24 +07:00
bflatastic c589f20110 popover updates for info tooltip 2026-05-30 00:42:55 +07:00
BFlat 58d4f4ff12 webapp: extra info for models (#1588) 2026-05-30 00:30:14 +07:00
BFlat ebe2129b4b webapp: UX, CTA improvements (#1574)
## Signup, credits, and pricing polish

A round of UX improvements around signing up, running out of credits,
and the pricing page.

**Signup**
- Refreshed the signup prompt copy and added a "Continue with Google"
option (same flow as the login/signup pages)
- Added a "Sign up to create" button on the image and video pages for
logged-out visitors

**Create pages**
- Punchier empty-state headlines ("Describe anything. See it in
seconds." for images, "Describe a scene. See it in motion." for video)
- Added a subtle background pattern behind the empty state

**Out of credits**
- New modal that appears when a generation is blocked by not enough
credits
- Subscribers see "Upgrade plan" (hidden if they're already on the top
plan) plus "Buy credits"
- People without a plan get a "Choose a plan" prompt instead

**Pricing page**
- Existing subscribers get a "Buy more credits" shortcut at the top of
the page
- "Contact Us" now opens a small menu to copy the email or open your
mail app

**Cleanup**
- Removed the "Seedance 2.0 is in Early Alpha" warning from the task
queue

**Buy credits modal**
- Restyled the buy credits modal to be more appealing
2026-05-26 16:08:50 +07:00
BFlatandClaude Opus 4.7 c204f05fdb webapp: improvements may 22 (#1548)
- remove small plan text on pricing page
- persist prompt/settings across reloads, add frontend lightbox
references media (audio/video)
- remove topbar for edit 3d page, reclaim vertical space and relocate
scene title rename/right topbar actions

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 14:05:19 +07:00
BFlat 934a30c9e1 web/webapp: pricing plan ui update (#1544) 2026-05-21 21:29:28 +07:00
bflatastic 87153de16d webapp: edit-3d page stack "See other demo scenes" and onboarding hint inside the promptbox
Add an `aboveStackSlot` prop to PromptBox3D rendered as the first
child of its `bottom-4 flex-col` stack, and thread a
`promptboxAboveStackSlot` prop through Stage3D / Stage3DBody. The lib
now owns the vertical math, so the webapp's button never overlaps the
prompt input regardless of textarea height — replaces the host-side
ResizeObserver/MutationObserver positioning that was unreliable in
production builds.
2026-05-19 01:27:06 +07:00
BFlat 83cf580a9a webapp: add "See other demo scenes" overlay; fix FOV stickiness acros… (#1536)
…s scenes

Adds an inline overlay above the promptbox in /edit-3d (visible only
when `?output=` is in the URL) for swapping to another curated example
scene. The grid reuses SceneSplashCard + EXAMPLE_SCENES and filters out
the current scene. Position tracks the promptbox stack via Resize- and
MutationObserver so the pill sits 12px above it at any height.

Also resets the lib's camera Zustand state (cameras, selectedCameraId,
focalLengthDragging) on every sceneToken change. save_manager.load-
FromJson only emits CamerasReplacedEvent when scene_json carries a
`cameras` field, so navigating from a scene whose JSON had cameras (e.g.
60mm) into one that omits them left the prior cameras array in the store
and the per-frame tick kept applying its FOV to the new viewport.

OnboardingHelper: nudge the WASD/Look chip up to bottom-72 and drop its
background tint so it stacks cleanly above the new pill.
2026-05-19 00:56:06 +07:00
BFlat fa4776bb21 webapp: image ref in promptbox click to preview (#1532)
feature: add high-res image preview modal to prompt box

- Added click-to-preview functionality for reference and end frame
images in `ImagePromptRow`.
- Updated `RefImage` interface to include `fullUrl` for fetching
high-resolution library images.
- Populated `fullUrl` for library selections in `create-image` and
`create-video` pages.
- Configured the preview modal to tightly wrap the image so the close
button anchors correctly to the corner.
- Updated the image uploading indicator to use the standardized
`spinner-third` icon.
2026-05-17 12:39:53 +07:00
Tanish Mankuandbflatastic d570aa396c Webapp: Add pagescene support (#1511)
Co-authored-by: bflatastic <bombayapirat@gmail.com>
2026-05-16 12:28:24 -07:00
Tanish Manku 4d4bfce3aa pagescene AssetMenu: fix featured Sets/Creatures never loading (#1508)
## Summary

- Regression from PR #1492. After the refactor, `useFeaturedObjects`
auto-fetch effect was racing the `EngineContext` editor instance: on
AssetModal's first mount `editor` is `null`, the effect synchronously
flipped `firstFetch.current` to `IN_PROGRESS` and then called
`fetchFeaturedObjects()` which immediately bailed at `if (!editor)
return`. When the editor became available the effect re-fired (editor is
in the `useCallback` deps), but the `IN_PROGRESS` guard then blocked it
— so **the network request never fired** for any featured category.
- Visible only on Sets and Creatures tabs because
Characters/Objects/Memes are merged with local demo arrays in
`assetTabs` and looked populated despite the same fetch breakage.
- Fix: gate the auto-fetch effect on `editor` (early-return when null,
add `editor` to deps) so `IN_PROGRESS` isn't burned on the no-op call.

## Test plan

- [ ] Open `/edit-3d` in artcraft-webapp with DevTools Network panel +
"Disable cache" on.
- [ ] Open the AssetModal — confirm exactly 5 GETs to
`/v1/media_files/list_featured` (one each for `character`, `object`,
`location`, `creature`, `image_plane`).
- [ ] Switch to Sets and Creatures tabs — items render.
- [ ] Drag a Set into the 3D scene — loads via `addObject` (LOCATION
maps to `AssetType.OBJECT` in `responseMapping`).
- [ ] Tauri smoke: open the 3D page in the desktop app, AssetModal
Sets/Creatures tabs populate.
- [ ] `nx typecheck @storyteller/ui-pagescene` (no new errors).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-12 18:30:47 -07:00
Brandon Thomas d2dbef249c tauri providers - fal api key support (#1502) 2026-05-12 00:02:41 -04:00
BFlat 89f6015e3f Fix aspect ratio picker losing label after model switch (#1499)
When the stored `commonAspectRatio` (e.g. `SquareHd`) isn't in the
newly-selected model's `aspectRatios`, `PopoverMenu` toggle mode found
no selected item and collapsed the trigger to icon-only.

Reset to `model.defaultAspectRatio` from inside `AspectRatioPicker` so
the fix applies to all three callers (image/edit/3D). Drops the
duplicate workaround from `PromptBox3D`.
2026-05-11 20:24:01 +07:00
Tanish Manku 2d18a07843 3D PageScene: Componentize and big refactor (#1492) 2026-05-09 14:26:42 -07:00
Tanish Manku 369c552096 PageDraw: Generate fixes and performance boost (#1494) 2026-05-09 13:51:25 -07:00
bflatastic f8be6ea4c9 website: hide resolution picker, progress timer 5 mins 2026-05-09 16:35:18 +07:00
Brandon Thomas d0e5a05253 frontend api stuff (#1491) 2026-05-08 22:01:21 -04:00
Brandon Thomas 7471259d28 fix frontend errors (missing vite config, type errors) (#1490) 2026-05-08 21:40:46 -04:00
BFlat b4da753346 video background change feature (#1480)
- both app and website
2026-05-09 02:31:54 +07:00
Brandon ThomasandTanish Manku 58b64b694c Big tauri refactor: new consolidated commands, deprecate and remove duplication (#1486)
Co-authored-by: Tanish Manku <tanish2k09.dev@gmail.com>
2026-05-08 09:29:25 -04:00
BFlat f666e68dcd app: ask location before download (#1483)
- toggle in settings to enable disable ask location on download button
pressed
2026-05-08 16:25:27 +07:00
BFlat 9b6b0175ea desktop app: unblock object generations, styling cleanup, model selector (#1478) 2026-05-06 22:51:39 +07:00
BFlat ac9a0c2172 show more media info on desktop app lightbox (#1474)
- Lightbox now shows full media metadata: Aspect Ratio, Resolution,
Size, Duration, Audio, and Created (with timestamp).
- Added Author header at the top so the close button no longer overlaps
the Prompt copy button.
- Extracted aspect ratio / resolution / duration formatters into
`@storyteller/common` so the website and desktop app share them.
2026-05-05 21:23:07 +07:00
BFlat 8f9607cc5d promptbox: default both Enter and Shift+Enter to newline (#1454)
Only the submit button triggers generation by default. The "Enter to
generate" toggle (available in both app and website settings top right
nav) still allows opting into Enter-to-submit.
2026-04-30 10:02:10 +07:00
BFlat 13f1fb4f63 bug fixes for character and video ref uploads on website, show error … (#1451)
…toasts
2026-04-30 01:16:41 +07:00
BFlat ae8fd30b4b shift enter to generate by default, toggleable via settings panel in app (#1440)
- Pressing **Enter** in any prompt box now adds a new line instead of
submitting - fixes complaints about accidental generations
- **Shift+Enter** is the new submit shortcut
- Desktop app gets an "Enter to generate" toggle in Settings → General
(off by default) for users who prefer the old behavior
- Applies to all prompt boxes in the Artcraft desktop app and the
website
2026-04-26 21:34:08 +07:00
bflatastic 5535d50ec3 website: image ref selection limit fixed, gallery item active focus outline blinking fixed 2026-04-24 13:25:17 +07:00
BFlat 9166148701 website error messages (#1431)
artcraft website now shows error messages on the failed cards and task
queue
2026-04-23 13:43:17 +07:00
Brandon Thomas 1f53b6a4cf tauri: seedance 2.0 fast, seedance 2.0 1080p (#1427) 2026-04-22 19:45:58 -04:00
Brandon Thomas 5eb2abf112 artcraft desktop gpt-image cost estimates + quality arg (#1425) 2026-04-22 19:17:07 -04:00
bflatastic 02676680b1 fixed quality field name 2026-04-23 01:56:45 +07:00
BFlat ba19e9ae40 gpt image 2 quality selector (#1422) 2026-04-23 01:37:50 +07:00
BFlat 128d3e43c5 reuse gallery modal for the artcraft website and app styling aligned (#1415)
- website to reuse shared app lib's gallery modal for image selection
- styling alignments with the desktop app
- new checkbox shared component
2026-04-22 18:38:02 +07:00
BFlat fc0f4b7f5c fix: prevent character mention from matching wrong character 2026-04-21 23:20:00 +07:00
BFlat 6542834336 fix: video promptbox layout bugs (#1403)
fixes:
- prompt box no longer overlaps bottom buttons or wastes space on big
screens
- long unbroken text wraps instead of escaping the box
- resizing the window updates the layout without needing to refocus
2026-04-20 07:36:47 +07:00
Tanish Manku 47383daba8 Experimental: Storyboard page (#1394) 2026-04-17 15:32:04 -07:00
Tanish Manku 9166985418 Experimental Menu: Hidden experimental settings menu via 7x version click (#1393) 2026-04-17 14:17:34 -07:00
Tanish Manku 94d9de09cc Fix video aspect ratio icon not updating on gallery recreate (#1384)
getCurrentAspectRatioIcon() was reading from aspectRatioList (useState),
which is only updated on manual picker clicks, not external store
writes. Reading aspectRatio from the store directly fixes the stale
icon.
2026-04-16 09:58:04 -07:00
BFlat 6d9401c1f1 website: promptbox resizable and expandable via chevron icon button (#1380) 2026-04-16 11:00:12 +07:00
BFlat d51c001835 video ref select video from library support (#1378)
## Video reference library picker

- Added "Pick from library" option to the Video Ref slot, with gallery
filtered to videos
- Added loading state to "Use selected" button in gallery modal
- Enforced seedance-2 limits (max 3 videos / 15s total) for both upload
and library flows, with a deduped video-ref-limit toast so users see a
warning on count overflow, duration overflow, or submitting when already
at max
2026-04-16 07:49:48 +07:00
BFlat f94fc5bf07 Fix @mention tagging in prompts with CJK characters (#1376)
Two bugs were preventing @image / @video / @character references from
being tagged in prompts written with Chinese, Japanese, or Korean text:

1. The mention-highlight regex was built with just the "g" flag, so a
user-typed "@image6" never matched the canonical label "@Image6" and the
reference was rendered as plain text. Make the regex case-insensitive
and do the colorMap lookup via a lowercase-keyed table so "@image6"
still finds the color for "@Image6".

2. detectMention required the character immediately before "@" to match
/\s/, which never matches CJK characters. Typing "@" right after a
Chinese character like "从" therefore never opened the autocomplete
dropdown, leaving users to type the mention by hand (which then hit bug
1). Replace the whitespace check with a "not an ASCII identifier char"
check so CJK, quotes, and punctuation all count as valid word boundaries
before an @mention.
2026-04-16 07:05:21 +07:00
bflatastic 73856fca85 loading spinner to wait for video thumbnail to return 2026-04-16 01:48:29 +07:00
bflatastic 3db8e66204 gallery to clear cache and reset after logout/login with new account 2026-04-14 23:35:52 +07:00
BFlat 99b831c3b0 duration slider for video gen website (#1367) 2026-04-14 21:31:45 +07:00
BFlat 4a1d1acddd Omni API UI updates, styling updates, mobile reponsiveness (website) (#1340)
- **Characters for Seedance 2.0** - Character creation/selection modal,
@-mention support with colored inline highlights via contentEditable
MentionTextarea, character tokens sent in video generation API requests
- **Mobile responsive navbar** - Hamburger menu with slide-down panel,
all nav items accessible, credits/library/sign out included
- **Mobile responsive PromptBox** - Tighter padding, stacked toolbar on
small screens, flex-wrap for option buttons
- **Mobile responsive library** - Proper sticky header offset, icon-only
filter tabs on mobile
- **Task queue overhaul** - Prompt text with marquee hover, copy button,
model creator icons, detailed failure reasons on all card types
(matching desktop app)
- **Gallery improvements** - 512px thumbnails (was 250px), 12px grid
gap, model + media type badges on hover, model icon + prompt on
in-progress cards
- **Quality selector** - QualityPicker for image models
(High/Medium/Low), wired to cost estimate and generation API
- **Video batch enqueue** - Multiple videos enqueue as separate jobs so
each completes independently
- **Form consistency** - All auth pages use shared `<Input>` component,
`<form onSubmit>` for Enter key, consistent styling
- **Bug fixes** - Lightbox type error, library carousel disabled,
popover icon alignment, end frame library picker, image ref max default
(1 → 6), task queue mobile overflow, clear session button removed
- **Mobile model selector** - Model picker now appears in the PromptBox
toolbar on mobile/tablet (`lg:hidden`), since the floating bottom-left
selector is desktop-only
- **Responsive image prompt row** - Start frame and end frame sections
stack vertically on mobile with a horizontal divider, instead of
side-by-side
- **Responsive lightbox** - Stacks vertically on mobile (media top, info
below), nav arrows always visible (not hover-only), sidebar goes
full-width, darker backdrop (`bg-black/80`)
- **Safari video inline playback** - Lightbox videos use
`disablePictureInPicture`, `controlsList` restrictions, and
vendor-prefixed attributes to prevent fullscreen/PiP pop-out on Safari
2026-04-14 20:51:06 +07:00