- updated so all the hooks for managing media item can filter media
types (iow, filter by the media's file extension such as .glb, .zip,
etc)
- some other typo and code clean up
- search feature now waits for a key delay before firing a fetch for
search, so it doesn't fire on every key-stroke
---------
Co-authored-by: wil <wil@storyteller.ai>
**Big code changes:**
The states, usecallback-functions, and auto-reload-useeffects for
user-objects, featured-objects, user-objects-search-results, &
featured-objects-search-results are consolidated into their own hooks
and share among all tabs so all tabs uses the same logic. this includes:
- Film Sets Tab (aka object-sets)
- Creatures Tab (aka object-creatures)
- Anime & Cartoon's Character, Animation and Expression Tabs
- Props & Objects Tab (aka object)
- Image & Video Panels Tabs
**Minor Changes**
Updated Tab Names and Icons as requested, most importantly, subtabs
component can now take icons, in which, it is implemented in the Anime &
Cartoons Tab's sub tabs, iow, their Character, Animation, & Expression
sub tabs now have icons.
---------
Co-authored-by: wil <wil@storyteller.ai>
@Quicksticks-oss has finished the loading of skyboxes
@wilwong has made the tab for it, and did some re-organization of demo
files cos the list is growing larger and larger now
---------
Co-authored-by: Quicksticks-oss <chongobongotoday@gmail.com>
Co-authored-by: wil <wil@storyteller.ai>
Tabs/ Anime and Cartoons
- merge original character and animation into 1 tab
- duplicate the Character + Animation combo tab because
- we have anime & cartoon, 2 different types of character&animation
combos
---------
Co-authored-by: wil <wil@storyteller.ai>
- Rebased to take the filter object from bombay
- New Object Upload Tab available in Film Set Tab and Object Tab
- Character Tab now uses the generic uploader because previewing and
taking a snapshot of a character is too much of a code challenge atm.
- added the dev-only feature tag, expressions uploads is now dev-only
- went over acceptable file types and took out refreshed all the upload
tabs
- realign the code so all upload tabs uses the exact same logic,
interfaces, and code structure, for better legibility
this PR eliminates:
https://github.com/storytold/GottaGoFast/pull/600https://github.com/storytold/GottaGoFast/pull/598
---------
Co-authored-by: wil <wil@storyteller.ai>
Tabs Improvements:
- refactor tabs so no more race condition revolving unneccessary signals
- clean up signals
- refactor upload modal movement to be non-signaled and generalized for
more files types
- better naming for files and components, better error handling, eslint
type any fix
- upload file screen can use less state rerenders and better error
messages
Object Uploader
- adapt the old object upload modal with 3d object preview into the
updated best version of upload modal
- preview loader code improvements, better flow and organization
Sets Tab:
- create a set tab, it currently show objects
- hide it behind a FeatureFlag
---------
Co-authored-by: wil <wil@storyteller.ai>
- add functions in API manager to use the search API
- adds search field to object tab, it searches through featured/mine objects depending on which tab you are on
- this feature is hid behind a feature flag until we have a proper design and solution to handling assets
---------
Co-authored-by: wil <wil@storyteller.ai>
- save scenes with generation details
- when load scenes, the UI pickup the variables and propagate through
signals.
---------
Co-authored-by: wil <wil@storyteller.ai>
- Add rename media file
- add delete media file
- Add many load functions
- add user bookmarks (no tests yet)
- user bookmarks - fixes and unit tests
- user rating
- Add analytics
- add beta keys endpoints
- add comments endpoints
- Add conversion endpoint
- Add featured items endpoints
- Add to Jobs enpoints
- Add moderation endpoint
- Initial weights endpoints
- All weight enpoints, no unit tests
- unit tests for weights
extra fixes from wil:
- turn off proxy settings for node_env === development
- audit packages
---------
Co-authored-by: Christopher Oliphant <christopheroliphant@christophersmbp.home>
Co-authored-by: wil <wil@storyteller.ai>
- Raised these signals for background loaded media to the app level
- Raised the enums and types for these signals to the app level
- Delete the old useInferenceManager that only specifically handles
audio inferences
- Use the new signal and its implementation pattern to handle audio
inferences
- Clean up and simplify the implementation pattern to this new signal
- Variable polling frequencies depending what kind of active jobs exist
in the list
---------
Co-authored-by: wil <wil@storyteller.ai>
- separating the signals and disabled the code that introduced the bug
- setup job signals properly to manage completed and active jobs
- setup myMovies signals properly to load user's list of videos
- make new hook to manage polling for job signals
- make new hook to manage background polling for user videos
- finished the logic for toggling and repeating jobs polling
- finished the logic for triggering a background poll of user movies
Co-authored-by: wil <wil@storyteller.ai>
supress error for process env, added vscode setting to gitignore
segrgate enums (#369)
Co-authored-by: Christopher Oliphant
<RALifeCoach@users.noreply.github.com>
Refactor storybook (#370)
Co-authored-by: Christopher Oliphant
<RALifeCoach@users.noreply.github.com>
button dropdown docs (#372)
storybook doc for button dropdown component
refactor side panel tabs (#371)
Co-authored-by: Christopher Oliphant
<RALifeCoach@users.noreply.github.com>
fix enums (#373)
Co-authored-by: Christopher Oliphant
<RALifeCoach@users.noreply.github.com>
Refactoring Auth Context to Signals (#374)
- file restructure, store -> signals
- rewrite AuthContext to signals, and get rid of AuthContext
- modify all files that need to use AuthContext to use the
authentication Signal
- the complex login persistency logic is now just a persistLogin
function ran at root!
- fetchers uses the auth signal directly to get the sessionToken
- components no longer useSignals for these fetchers, hence decoupled
from the auth signals
!! components and fetchers that are definitely subjected to refactor
does not receive the useSignal decoupling treatment
Co-authored-by: wil <wil@storyteller.ai>
Refactoring Toaster Context to a Toaster Component + Signal (#378)
- Created the Toaster Component
- Created the Toasts Signal
- Now no useContext is needed for Toast Poping, nor passing AddToast
around
- Simply import addToast from the Signals and you can pop a toast from
anywhere in the codebase
Co-authored-by: wil <wil@storyteller.ai>
Refactoring AppUi Context (partial: delete unused, editorLoader becomes
signal) (#379)
- dialogueTTS is unused, hence deleted
- view side-by-side mode is unused, hence deleted
- timeline height in this context was already made into signal, hence
deleted
- editorLoader in this context is now made into a page level signal,
hence deleted
- components and dispatcher of the editorLoader are modified to use
signal instead
- app level reducer is no longer used, tugged into context folder to
avoid confusion, will be deleted when all attributes in AppUi context is
refactored into signals
Co-authored-by: wil <wil@storyteller.ai>
Refactor control panel (#391)
- control panel - simplified and improved
- Please also test it. It operates slightly differently. For example, if
the user types an invalid character, the character is ignored.
---------
Co-authored-by: Christopher Oliphant
<RALifeCoach@users.noreply.github.com>
Refactoring App Level Components
- Components that are in the /app/component folder are split into
reusable and signaled
- reusable are in theory signal independent
- signaled are dependent on signals (and maybe a use-once component)
- some app level components has page level enums or signals, those are
bumped to app level now
- all components in the module directory are moved into the component
directories depending on whether it's reusable or signaled
- code changes in are mostly just import changes to get re-target to get
the correct files
- discovered a small bug in FilterButtons and is fixed
- whether a component need more work, it is commented on the index file
that import them into the grand collection of components
Refactor - Signals Part 2
- store is renamed to signals in PageEditor for clarity
- ObjectControlPanel now uses a Signal instead of the AppUiContext
- Moved EditorContext to Page Level, all context are page level only now
- editor is modified to read and use signals directly (for now), this
includes: -- the ObjectPanel signal
-- the Scene signal
-- the Authentication signal
- and hence, editor now has a constructor doesn't require any arguments
- editor also has a simple initialization
- AppUiContext is retired completely and deleted
---------
Co-authored-by: wil <wil@storyteller.ai>
Co-authored-by: Christopher Oliphant <RALifeCoach@users.noreply.github.com>