update
This commit is contained in:
parent
24e95daac1
commit
36b0782933
@ -231,7 +231,7 @@ export function SettingsDialog() {
|
|||||||
Diffusion other
|
Diffusion other
|
||||||
</TabsTrigger>
|
</TabsTrigger>
|
||||||
</TabsList>
|
</TabsList>
|
||||||
<ScrollArea className="h-[240px] w-full mt-2">
|
<ScrollArea className="h-[240px] w-full mt-2 outline-none">
|
||||||
<TabsContent value={MODEL_TYPE_INPAINT}>
|
<TabsContent value={MODEL_TYPE_INPAINT}>
|
||||||
{renderModelList([MODEL_TYPE_INPAINT])}
|
{renderModelList([MODEL_TYPE_INPAINT])}
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
@ -49,7 +49,7 @@ const SidePanel = () => {
|
|||||||
state.updateAppState,
|
state.updateAppState,
|
||||||
])
|
])
|
||||||
const [exampleImage, isExampleImageLoaded] = useImage(paintByExampleFile)
|
const [exampleImage, isExampleImageLoaded] = useImage(paintByExampleFile)
|
||||||
const [open, toggleOpen] = useToggle(false)
|
const [open, toggleOpen] = useToggle(true)
|
||||||
|
|
||||||
useHotKey("c", () => {
|
useHotKey("c", () => {
|
||||||
toggleOpen()
|
toggleOpen()
|
||||||
@ -363,6 +363,40 @@ const SidePanel = () => {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const renderStrength = () => {
|
||||||
|
if (!settings.model.support_strength) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="flex flex-col gap-1">
|
||||||
|
<Label htmlFor="strength">Strength</Label>
|
||||||
|
<RowContainer>
|
||||||
|
<Slider
|
||||||
|
className="w-[180px]"
|
||||||
|
defaultValue={[100]}
|
||||||
|
min={10}
|
||||||
|
max={100}
|
||||||
|
step={1}
|
||||||
|
value={[Math.floor(settings.sdStrength * 100)]}
|
||||||
|
onValueChange={(vals) =>
|
||||||
|
updateSettings({ sdStrength: vals[0] / 100 })
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
<NumberInput
|
||||||
|
id="strength"
|
||||||
|
className="w-[60px] rounded-full"
|
||||||
|
numberValue={settings.sdStrength}
|
||||||
|
allowFloat
|
||||||
|
onNumberValueChange={(val) => {
|
||||||
|
updateSettings({ sdStrength: val })
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</RowContainer>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Sheet open={open} modal={false}>
|
<Sheet open={open} modal={false}>
|
||||||
<SheetTrigger
|
<SheetTrigger
|
||||||
@ -381,7 +415,7 @@ const SidePanel = () => {
|
|||||||
</SheetTrigger>
|
</SheetTrigger>
|
||||||
<SheetContent
|
<SheetContent
|
||||||
side="right"
|
side="right"
|
||||||
className="w-[300px] mt-[60px] outline-none pl-4 pr-1 backdrop-filter backdrop-blur-md bg-background/70"
|
className="w-[300px] mt-[60px] outline-none pl-4 pr-1"
|
||||||
onOpenAutoFocus={(event) => event.preventDefault()}
|
onOpenAutoFocus={(event) => event.preventDefault()}
|
||||||
onPointerDownOutside={(event) => event.preventDefault()}
|
onPointerDownOutside={(event) => event.preventDefault()}
|
||||||
>
|
>
|
||||||
@ -472,32 +506,7 @@ const SidePanel = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{renderP2PImageGuidanceScale()}
|
{renderP2PImageGuidanceScale()}
|
||||||
|
{renderStrength()}
|
||||||
<div className="flex flex-col gap-1">
|
|
||||||
<Label htmlFor="strength">Strength</Label>
|
|
||||||
<RowContainer>
|
|
||||||
<Slider
|
|
||||||
className="w-[180px]"
|
|
||||||
defaultValue={[100]}
|
|
||||||
min={10}
|
|
||||||
max={100}
|
|
||||||
step={1}
|
|
||||||
value={[Math.floor(settings.sdStrength * 100)]}
|
|
||||||
onValueChange={(vals) =>
|
|
||||||
updateSettings({ sdStrength: vals[0] / 100 })
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
<NumberInput
|
|
||||||
id="strength"
|
|
||||||
className="w-[60px] rounded-full"
|
|
||||||
numberValue={settings.sdStrength}
|
|
||||||
allowFloat
|
|
||||||
onNumberValueChange={(val) => {
|
|
||||||
updateSettings({ sdStrength: val })
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</RowContainer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<RowContainer>
|
<RowContainer>
|
||||||
<Label htmlFor="sampler">Sampler</Label>
|
<Label htmlFor="sampler">Sampler</Label>
|
||||||
|
@ -16,7 +16,7 @@ const Slider = React.forwardRef<
|
|||||||
tabIndex={-1}
|
tabIndex={-1}
|
||||||
{...props}
|
{...props}
|
||||||
>
|
>
|
||||||
<SliderPrimitive.Track className="relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20 data-[disabled]:cursor-not-allowed">
|
<SliderPrimitive.Track className="relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20 data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50">
|
||||||
<SliderPrimitive.Range className="absolute h-full bg-primary data-[disabled]:cursor-not-allowed " />
|
<SliderPrimitive.Range className="absolute h-full bg-primary data-[disabled]:cursor-not-allowed " />
|
||||||
</SliderPrimitive.Track>
|
</SliderPrimitive.Track>
|
||||||
<SliderPrimitive.Thumb
|
<SliderPrimitive.Thumb
|
||||||
|
@ -44,7 +44,12 @@ export default async function inpaint(
|
|||||||
fd.append("sdSteps", settings.sdSteps.toString())
|
fd.append("sdSteps", settings.sdSteps.toString())
|
||||||
fd.append("sdGuidanceScale", settings.sdGuidanceScale.toString())
|
fd.append("sdGuidanceScale", settings.sdGuidanceScale.toString())
|
||||||
fd.append("sdSampler", settings.sdSampler.toString())
|
fd.append("sdSampler", settings.sdSampler.toString())
|
||||||
|
if (settings.seedFixed) {
|
||||||
fd.append("sdSeed", settings.seed.toString())
|
fd.append("sdSeed", settings.seed.toString())
|
||||||
|
} else {
|
||||||
|
fd.append("sdSeed", "-1")
|
||||||
|
}
|
||||||
|
|
||||||
fd.append("sdMatchHistograms", settings.sdMatchHistograms ? "true" : "false")
|
fd.append("sdMatchHistograms", settings.sdMatchHistograms ? "true" : "false")
|
||||||
fd.append("sdScale", (settings.sdScale / 100).toString())
|
fd.append("sdScale", (settings.sdScale / 100).toString())
|
||||||
|
|
||||||
@ -61,6 +66,7 @@ export default async function inpaint(
|
|||||||
fd.append("p2pImageGuidanceScale", settings.p2pImageGuidanceScale.toString())
|
fd.append("p2pImageGuidanceScale", settings.p2pImageGuidanceScale.toString())
|
||||||
|
|
||||||
// ControlNet
|
// ControlNet
|
||||||
|
fd.append("controlnet_enabled", settings.enableControlnet.toString())
|
||||||
fd.append(
|
fd.append(
|
||||||
"controlnet_conditioning_scale",
|
"controlnet_conditioning_scale",
|
||||||
settings.controlnetConditioningScale.toString()
|
settings.controlnetConditioningScale.toString()
|
||||||
|
@ -247,6 +247,7 @@ const defaultValues: AppState = {
|
|||||||
path: "lama",
|
path: "lama",
|
||||||
model_type: "inpaint",
|
model_type: "inpaint",
|
||||||
support_controlnet: false,
|
support_controlnet: false,
|
||||||
|
support_strength: false,
|
||||||
controlnets: [],
|
controlnets: [],
|
||||||
support_freeu: false,
|
support_freeu: false,
|
||||||
support_lcm_lora: false,
|
support_lcm_lora: false,
|
||||||
@ -410,16 +411,6 @@ export const useStore = createWithEqualityFn<AppState & AppAction>()(
|
|||||||
}
|
}
|
||||||
const newRender = new Image()
|
const newRender = new Image()
|
||||||
await loadImage(newRender, blob)
|
await loadImage(newRender, blob)
|
||||||
if (useLastLineGroup === true) {
|
|
||||||
const prevRenders = renders.slice(0, -1)
|
|
||||||
const newRenders = [...prevRenders, newRender]
|
|
||||||
get().updateEditorState({
|
|
||||||
renders: newRenders,
|
|
||||||
lineGroups: newLineGroups,
|
|
||||||
lastLineGroup: curLineGroup,
|
|
||||||
curLineGroup: [],
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
const newRenders = [...renders, newRender]
|
const newRenders = [...renders, newRender]
|
||||||
get().updateEditorState({
|
get().updateEditorState({
|
||||||
renders: newRenders,
|
renders: newRenders,
|
||||||
@ -427,7 +418,6 @@ export const useStore = createWithEqualityFn<AppState & AppAction>()(
|
|||||||
lastLineGroup: curLineGroup,
|
lastLineGroup: curLineGroup,
|
||||||
curLineGroup: [],
|
curLineGroup: [],
|
||||||
})
|
})
|
||||||
}
|
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
toast({
|
toast({
|
||||||
variant: "destructive",
|
variant: "destructive",
|
||||||
|
@ -8,6 +8,7 @@ export interface ModelInfo {
|
|||||||
| "diffusers_sd_inpaint"
|
| "diffusers_sd_inpaint"
|
||||||
| "diffusers_sdxl_inpaint"
|
| "diffusers_sdxl_inpaint"
|
||||||
| "diffusers_other"
|
| "diffusers_other"
|
||||||
|
support_strength: boolean
|
||||||
support_controlnet: boolean
|
support_controlnet: boolean
|
||||||
controlnets: string[]
|
controlnets: string[]
|
||||||
support_freeu: boolean
|
support_freeu: boolean
|
||||||
|
Loading…
Reference in New Issue
Block a user