Commit Graph

299 Commits

Author SHA1 Message Date
Anders Haglund
86797ca419 Change cropper movement from accept/reject to clamping. 2022-11-08 14:44:30 -08:00
Qing
084f70c712 yarn build 2022-11-08 08:36:33 +08:00
Qing
1769916589 remove Strength from SidePanel
strength arg is for img2img pipeline
2022-11-06 09:09:46 +08:00
Qing
eaef8d143c update test 2022-11-04 15:52:22 +08:00
Qing
b3cb11f804 remvoe sd amp.autocast 2022-11-04 15:33:59 +08:00
Qing
dc69276a7d update test 2022-11-04 15:33:44 +08:00
Qing
34d0327ff0 sd1.5: fix a bug when run --device=cpu on a host has gpu 2022-11-04 14:02:17 +08:00
Qing
265f4c90dc yarn build 2022-10-27 22:51:43 +08:00
Qing
f92bc5847b fix coffee btn 2022-10-27 22:47:17 +08:00
Qing
6921a13a83 add by me coffee 2022-10-26 22:07:06 +08:00
Qing
e971f6090b change lama default strategy to CROP
it's more user friendly for first time user, especially for users who use cpu
2022-10-26 21:10:12 +08:00
Qing
476159bbe5 ignore UserWarning; ignore flaskwebgui log 2022-10-24 18:29:33 +08:00
Qing
d4bd37682a update test 2022-10-21 10:36:55 +08:00
Qing
e2e2f5f853 fix sd1.5: pass height/width to pipeline 2022-10-21 10:28:17 +08:00
Qing
53b5d29db3 yarn build 2022-10-20 22:42:58 +08:00
Qing
126cc25dd8 change default sampler to pndm, klms seems can't get good result 2022-10-20 22:42:28 +08:00
Qing
67076c3636 yarn build 2022-10-20 22:25:56 +08:00
Qing
b63429483d frontend: clear localstorage 2022-10-20 22:23:03 +08:00
Qing
9acc0f8079 remove sd1.4 2022-10-20 22:22:35 +08:00
Qing
88a3e16ca5 frontend: sd1.4->sd1.5 2022-10-20 21:31:56 +08:00
Qing
9daeca7693 fix redo button on safari 2022-10-20 21:27:58 +08:00
Qing
7e39169654 change mouse resize 2022-10-20 21:13:13 +08:00
Qing
c6268d52b2 use dark theme by default 2022-10-20 21:06:53 +08:00
Qing
6ccb6cd291 add sd1.5 2022-10-20 21:01:14 +08:00
Qing
d892d9166f frontend: add k_lms sampler 2022-10-15 23:11:17 +08:00
Qing
8939e086ef frontend: fix alt+tab 2022-10-15 23:03:01 +08:00
Qing
3c87b050d9 update sd inpainting pipeline 2022-10-15 22:34:53 +08:00
Qing
84208c00a5 yarn build 2022-10-09 21:38:17 +08:00
Qing
f4fcece180 fix cv2 params 2022-10-09 21:32:13 +08:00
Qing
521a1e2858 press Alt + mouse move, change brush size 2022-10-09 13:01:41 +08:00
Qing
75162712c3 0.22.0 2022-10-08 22:27:09 +08:00
Qing
da40221ed0 change editor minScale 2022-10-08 22:26:31 +08:00
Qing
33d2fd887f optimize show original transition 2022-10-08 22:03:46 +08:00
Qing
3c5781c947 allow ctrl+v to paste image to editor 2022-10-08 21:41:54 +08:00
Qing
4980675730 remove lading page 2022-10-08 13:30:35 +08:00
Qing
dba7b01da7 enable text_encoder cpu 2022-09-30 22:44:03 +08:00
Qing
db1d7d5c48 add sd run local test 2022-09-29 21:56:33 +08:00
Qing
4d6cec0ca2 add run-sd-local arg 2022-09-29 13:13:09 +08:00
Qing
ec7b2d8e2d add sd-cpu-textencoder args 2022-09-29 12:20:55 +08:00
Qing
0d57e552cf add sd-disable-nsfw arg 2022-09-29 09:42:19 +08:00
Qing
36b078123c fix sd pad_mod to 64
diffusers bug: https://github.com/huggingface/diffusers/pull/505
2022-09-27 22:37:42 +08:00
Qing
093401818b 0.20.0 2022-09-25 22:33:09 +08:00
Qing
0ed0d820f6 add ctrl+c to copy render result
&& fix shift+r tigger manual inpainting
2022-09-25 22:30:54 +08:00
Qing
c97f32bd13 0.19.0 2022-09-25 21:58:00 +08:00
Qing
2300d59a49 add full page drag and drop 2022-09-25 21:56:35 +08:00
Qing
35cbbd653c Add OpenCV2 model 2022-09-25 21:27:12 +08:00
Qing
bc98ea256a fix input ctrl+z 2022-09-25 21:08:46 +08:00
Qing
2a94150f59 0.18.0 2022-09-22 22:59:30 +08:00
Qing
f947e2aa94 TODO: fix prompt input undo redo 2022-09-22 22:47:13 +08:00
Qing
5bdc5c1526 fix model init 2022-09-22 22:45:24 +08:00
Qing
8d65195e8a only show sidepanel when useing sd 2022-09-22 22:39:29 +08:00
Qing
5429bf2e87 fix prompt input ctrl + z 2022-09-22 22:38:11 +08:00
Qing
5be91edf9d fix random seed 2022-09-22 21:55:12 +08:00
Qing
26d938839c make mask blur work 2022-09-22 21:50:41 +08:00
Qing
19f1f07c95 SD: remove dice button 2022-09-22 21:40:36 +08:00
Qing
491e62fdf1 sd add blur mask test 2022-09-22 13:29:06 +08:00
Qing
e1fb0030d1 sd make change sampler work 2022-09-22 12:38:32 +08:00
Qing
047474ab84 make random dice work 2022-09-21 23:00:44 +08:00
Qing
d39bf73fac always use graduallyInpainting 2022-09-21 21:58:29 +08:00
Qing
d8ed4d2a58 add input click away blur 2022-09-21 21:56:51 +08:00
Qing
b1cebb614a make croper work 2022-09-21 21:20:55 +08:00
Qing
3e4021ec0d return seed 2022-09-20 22:43:20 +08:00
Qing
32854d40da wip 2022-09-19 22:37:42 +08:00
Qing
3ac6ee7f44 0.17.0 2022-09-05 20:48:05 +08:00
Qing
23943b0ebd update test 2022-09-05 13:08:50 +08:00
Qing
3cc9521221 update README 2022-09-04 21:23:58 +08:00
Qing
2119a5f905 FcF use unique resize strategy 2022-09-04 16:00:42 +08:00
Qing
c5d7baec79 add fcf to args 2022-09-04 15:20:07 +08:00
Qing
9ccc577be2 fix resize mask bug 2022-09-02 11:13:15 +08:00
Qing
38c8837af7 Add FcF 2022-09-02 10:37:30 +08:00
Qing
80366ebb55 0.16.0 2022-08-24 21:43:16 +08:00
Qing
6d2b24ed6b add MAT model 2022-08-24 21:30:20 +08:00
Qing
a5e840765e make crop mode use more context 2022-08-22 23:23:48 +08:00
Qing
9b95376a79 fix https://github.com/Sanster/lama-cleaner/issues/56 2022-07-26 09:22:40 +08:00
Qing
47596b0a60 yarn build 2022-07-24 10:30:52 +08:00
Qing
4f6fbc57b7 frontend: change slider background color 2022-07-22 21:54:18 +08:00
Qing
f22d0ec9a4 frontend: use github icon 2022-07-22 21:54:03 +08:00
Qing
8c1162a9e3 test add non square test 2022-07-21 22:09:10 +08:00
Qing
6e164c4915 HDSetting less words 2022-07-19 22:35:26 +08:00
Qing
adf8d4c0ec optimize frontend style 2022-07-19 22:29:41 +08:00
Qing
dd288f33e4 fix ctrl+shift+z redo 2022-07-19 21:51:22 +08:00
Qing
cfcaf82a21 zits use structure_upsample_model 2022-07-19 21:47:21 +08:00
Qing
b0c5d22a5a each model has its own hdsettings 2022-07-18 22:43:55 +08:00
Qing
8b1f7a672e optimize settings 2022-07-18 21:32:36 +08:00
Qing
4534d9275e tool tip add shadow 2022-07-18 20:39:04 +08:00
Qing
e11aed0b1e add github model url; fix cpu tensor 2022-07-18 20:35:55 +08:00
Qing
01c7f3b77d fix zits 2022-07-15 17:51:27 +08:00
Qing
eee91e7b82 frontend: add ZITS config 2022-07-14 17:01:39 +08:00
Qing
1f8fb29594 add Download mask settings 2022-07-14 17:00:14 +08:00
Qing
a94f7e4ffe add ZITS 2022-07-14 16:49:03 +08:00
Qing
9acfbed0a0 yarn build 2022-06-29 21:56:39 +08:00
Qing
15dcb43f69 change workspace key generate method
if use useCallback, Workspace will reload when switch theme
2022-06-29 21:47:27 +08:00
Qing
54289ea66d fix graduallyInpainting: alway draw newest lines on mask
this can prevent previous result change
2022-06-29 21:33:37 +08:00
Qing
dc950ed3fe fix localStorage restore 2022-06-28 22:58:50 +08:00
Qing
0daa27e11a use key props to reload workspace when upload new file 2022-06-28 22:34:01 +08:00
Qing
689d61968c add redo 2022-06-25 22:01:42 +08:00
Qing
19e7e816af start new -> upload new 2022-06-14 21:39:55 +08:00
Qing
335685d581 add gradually inpainting mode 2022-06-14 15:03:03 +08:00
Qing
9a9e1fe2b7 yarn build 2022-06-12 22:13:33 +08:00
Qing
35b92ba9de ldm add plms sampler 2022-06-12 21:21:04 +08:00
Qing
55197f2209 frontend: better error handling 2022-06-12 13:13:51 +08:00
Qing
7826bda89c yarn build 2022-05-30 10:51:34 +08:00
Qing
544da231f6 fix sizeLimit reset after inpainting 2022-05-30 10:51:34 +08:00
Qing
e4a6c91f4a enable fp16 for ldm by default 2022-05-30 10:51:34 +08:00
Qing
1d9b9d05e1 yarn build 2022-05-23 21:16:59 +08:00
Qing
45d1cc3f35 optimize shortcuts style 2022-05-22 13:32:19 +08:00
Qing
b7c3f3e327 update radix-ui dialog select version 2022-05-21 15:13:09 +08:00
Qing
ad62ef492e tooltip add delay 2022-05-21 13:37:38 +08:00
Sanster
22834a8243 button tooltip from b90e32886a 2022-05-21 13:04:35 +08:00
blessedcoolant
92900933e5 minor patch
- Added hotkey for manual inpaint: Shift +  R (Updated the hotkey list to display this)
- Moved Settings icon in the header to the end which is consistent with how most programs do it.
- Fixed some missing useEffect dependencies.
- Made the formatting of the Shorcut description text consistent.
- Removed the borders around the bottom toolkit buttons. The 1px border was choppy and the entire region was looking boxed and cluttered. Now I feel it looks cleaner and is consistent with the button in the header.
2022-05-21 12:59:33 +08:00
Sanster
a297a6d3d0 radix select 2022-05-02 13:58:40 +08:00
Sanster
bf1e990f00 support panning using wheel 2022-04-27 17:30:28 +08:00
Sanster
390933f0eb prevent right click on canvas work 2022-04-27 17:23:01 +08:00
Sanster
3580d4281f show brush while change slide 2022-04-27 17:19:44 +08:00
Sanster
00381ceaa2 yarn build 2022-04-24 22:40:34 +08:00
Sanster
bbacb99e9d fix resize drawRender issue 2022-04-24 21:52:41 +08:00
Sanster
bbeefba7c5 fix Escape clear drawing 2022-04-24 21:41:04 +08:00
Sanster
dad1276ea7 header add background-color 2022-04-24 21:22:42 +08:00
Sanster
1bc3f06190 enable resetZoom after panning 2022-04-23 20:26:45 +08:00
Sanster
2797d2aca7 tool bar add shadow 2022-04-23 20:23:57 +08:00
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
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
0b5494d1f8 use flask1, flask2 require python3.7 2022-04-18 22:54:34 +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
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
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
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
Sanster
10b35a3f0a style refine 2022-04-06 23:01:18 +08:00
blessedcoolant
ca9e393989 Inpainted State Fix 2022-03-30 19:14:32 +13: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
Sanster
6913ad169b yarn build 2022-03-27 13:56:23 +08:00