Commit Graph

478 Commits

Author SHA1 Message Date
Sanster
ce0c7defe1 make undo stroke in manual mode 2022-04-23 20:22:05 +08:00
Sanster
f97e17a593 add manual run mode 2022-04-23 20:21:34 +08:00
Qing
d94cae491a
Update README.md
Add badges
2022-04-20 21:13:35 +08:00
Sanster
169252ebc2 setup.py 0.9.3 2022-04-19 21:36:28 +08:00
Sanster
1bfdec4acf yarn build 2022-04-19 21:35:52 +08:00
Sanster
6fb3d91082 fix tool panel bg
https://github.com/Sanster/lama-cleaner/issues/39
2022-04-19 21:32:04 +08:00
Sanster
2db38a20b4 fix bug in: https://github.com/Sanster/lama-cleaner/issues/40\#issue-1207371759 2022-04-19 17:24:40 +08:00
Sanster
69df1da095 0.9.2 2022-04-18 22:54:58 +08:00
Sanster
0b5494d1f8 use flask1, flask2 require python3.7 2022-04-18 22:54:34 +08:00
Sanster
30fdeadc46 update README 2022-04-18 22:40:23 +08:00
Qing
b43883a567
Merge pull request #38 from Sanster/0409_optimize
0409 optimize
2022-04-18 22:32:18 +08:00
Sanster
c1257c4e20 0.9.1 2022-04-18 22:29:17 +08:00
Sanster
b6a5650a96 fix --gui 2022-04-18 22:28:47 +08:00
Sanster
c283b05b8e yarn build 2022-04-18 22:19:33 +08:00
Sanster
2c213158db update 2022-04-18 22:18:48 +08:00
Sanster
0b5130420b initial settings atom from localStorage 2022-04-18 22:05:05 +08:00
Sanster
67befef3c7 disable flask warning 2022-04-18 21:30:49 +08:00
Sanster
71599e9c6d filter flaskwebgui log 2022-04-18 15:29:29 +08:00
Sanster
a219da27f7 add setup.py 2022-04-18 15:15:51 +08:00
Sanster
f7e1e073dc make model switch work with toast 2022-04-18 08:46:19 +08:00
Sanster
205286a414 big update 2022-04-16 21:29:18 +08:00
Sanster
2b031603ed save useInputImage with correct filename 2022-04-14 22:22:18 +08:00
Sanster
78d6b1cc3e wip: add setting page 2022-04-14 20:43:07 +08:00
Sanster
aa411c7524 WIP 2022-04-12 20:58:57 +08:00
Sanster
e570e85e64 fix jumpy image load 2022-04-09 22:45:48 +08:00
Sanster
5183c21ad3 add host arg 2022-04-09 21:01:30 +08:00
Sanster
ca65c95d22 bug fix: resize alpha channel when using non original image size 2022-04-09 12:31:48 +08:00
Sanster
1b1aade067 fix png alpha channel lose 2022-04-09 08:12:41 +08:00
Sanster
caed45b520 return correct file ext/mimetype 2022-04-09 07:23:33 +08:00
Qing
98fa52ba08
Merge pull request #33 from blessedcoolant/main
Fix Shortcuts Modal popping up on every click
2022-04-08 21:01:13 +08:00
blessedcoolant
e3e151716c new build 2022-04-08 17:05:58 +12:00
blessedcoolant
4d118698b4 Fix bug with Shortcuts Modal & added missing useEffect dependencies 2022-04-08 17:04:55 +12:00
Sanster
c3315a2d2b prevent ShortcutsModal bouncing offset 2022-04-07 21:38:10 +08:00
Sanster
1812928887 make editor-toolkit-panel background color change between theme more smooth 2022-04-07 21:25:52 +08:00
Sanster
2d53f3cade fix .editor-toolkit-panel display issue in safari 2022-04-07 21:22:19 +08:00
Qing
3fc0008f0a
Merge pull request #30 from Sanster/PR25
PR25 + style refine
2022-04-06 23:05:30 +08:00
Sanster
10b35a3f0a style refine 2022-04-06 23:01:18 +08:00
blessedcoolant
855fd1f006
Merge branch 'Sanster:main' into recoil-refactor 2022-03-31 06:09:49 +13:00
blessedcoolant
ca9e393989 Inpainted State Fix 2022-03-30 19:14:32 +13:00
Sanster
251df40fc8 Revert "add imghdr to requirements.txt"
This reverts commit 81efda9df1.

fix https://github.com/Sanster/lama-cleaner/issues/27
2022-03-30 10:21:35 +08:00
blessedcoolant
b282421c98 Complete GUI Refactor # Patch 1 2022-03-30 12:45:34 +13:00
blessedcoolant
eea85b834e Complete GUI Refactor
This patch brings in a massive number of changes to the frontend of the application. Please feel free to discuss the proposed changes with me at any time.

Implemented Recoil as a state management system.
Why Recoil? It is a robust library built by developers at Facebook for state management. It has an  extremely simple API for implementation that is in sync with React syntax compared to any other state management system out there and works amazingly well. While the official release status is beta as it becomes fully featured, the library is already used in various systems at Facebook and is very stable for the use cases of this application.

Why global state management? One of the major issues I saw with the current file structure is that there is minimal code splitting and it makes further development of the frontend a cumbersome task. I have broken down the frontend into various easy to access components isolating the GUI from the logic. To avoid prop drilling, we need global state management to handle the necessary tasks. This will also facilitate the addition of any new features greatly.

Code Splitting. Majority of the components that can be isolated in the application have now been done so.
All New Custom CSS & Removal of Tailwind
While Tailwind is a great way to deploy beautiful interfaces quickly, anyone trying to stylize the application further needs to be familiar with Tailwind which makes it harder for more people to work on it. Not to mention, I am not a particular fan of flooding JSX elements with inline CSS classes. That makes reading the code extremely hard and bloats up component code drastically.

As a replacement to Tailwind, I implemented a custom styling system using SCSS as a developer dependency.

In the new system, all the general and shared styles are in the styles folder and all the component styles are in the same folder as the component for easy access.The _index.scss file now acts as a central import for every other stylesheet that needs to be loaded.

What Changed?
The entire application looks and feels like the current implementation with minimal changes.
The green (#bdff01) highlight used in the application has now been changed to a bright yellow (rgb(255, 190, 0)) because I felt it better suited the new Dark Mode (see below).
The swipe bar for comparing before and after images has now been removed and instead the comparison is a smooth fade effect. I felt this was better to analyze image changes rather than a swiper. // Can add the swipe back if needed.

Dark Mode
A brand new Dark Mode has been added for the application. Users can enable and disable by tapping the button in the header or by using the Shift + D hotkey.

Other Misc New Features
When the editor image is now zoomed out to its default size, the image now also gets centered back.

TODO
The currently used react-zoom-pinch-pan module is not mobile friendly. It does not allow brush strokes. Need to figure out a way to fix this.
Further optimization of the frontend code with better code splitting and performance.
When using the LaMa model, the first stroke has a delayed response from the backend but the ones that follow are almost immediate. I believe this is happening because of the initialization of the model on the first stroke. I wonder if either of us can look at it and see if this can somehow be preloaded so the user experience is smooth from the first stroke.
Enable threading for the desktop application mode so flaskwebgui does not block the main applications Python console.
2022-03-28 17:52:05 +13:00
blessedcoolant
a40d92f23f
Merge branch 'Sanster:main' into recoil-refactor 2022-03-28 04:41:24 +13:00
Qing
1a8d407782
Merge pull request #24 from Sanster/PR22
PR22
2022-03-27 13:58:35 +08:00
Sanster
6913ad169b yarn build 2022-03-27 13:56:23 +08:00
Sanster
d945a156ca update README 2022-03-27 13:55:27 +08:00
Sanster
a6f29be662 disable cache for fetch inputimage 2022-03-27 13:50:41 +08:00
Sanster
705e12d02d check --input before start server 2022-03-27 13:37:26 +08:00
Sanster
0cc17ea322 remove redundant parentheses 2022-03-27 13:21:04 +08:00
Sanster
ad0c68164d Revert "Launch and monitor both Python and JS during development"
This reverts commit 481e956c3a.

We can start python server with --debug
2022-03-27 13:17:13 +08:00