update
This commit is contained in:
parent
24e95daac1
commit
36b0782933
@ -231,7 +231,7 @@ export function SettingsDialog() {
|
||||
Diffusion other
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
<ScrollArea className="h-[240px] w-full mt-2">
|
||||
<ScrollArea className="h-[240px] w-full mt-2 outline-none">
|
||||
<TabsContent value={MODEL_TYPE_INPAINT}>
|
||||
{renderModelList([MODEL_TYPE_INPAINT])}
|
||||
</TabsContent>
|
||||
|
@ -49,7 +49,7 @@ const SidePanel = () => {
|
||||
state.updateAppState,
|
||||
])
|
||||
const [exampleImage, isExampleImageLoaded] = useImage(paintByExampleFile)
|
||||
const [open, toggleOpen] = useToggle(false)
|
||||
const [open, toggleOpen] = useToggle(true)
|
||||
|
||||
useHotKey("c", () => {
|
||||
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 (
|
||||
<Sheet open={open} modal={false}>
|
||||
<SheetTrigger
|
||||
@ -381,7 +415,7 @@ const SidePanel = () => {
|
||||
</SheetTrigger>
|
||||
<SheetContent
|
||||
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()}
|
||||
onPointerDownOutside={(event) => event.preventDefault()}
|
||||
>
|
||||
@ -472,32 +506,7 @@ const SidePanel = () => {
|
||||
</div>
|
||||
|
||||
{renderP2PImageGuidanceScale()}
|
||||
|
||||
<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>
|
||||
{renderStrength()}
|
||||
|
||||
<RowContainer>
|
||||
<Label htmlFor="sampler">Sampler</Label>
|
||||
|
@ -16,7 +16,7 @@ const Slider = React.forwardRef<
|
||||
tabIndex={-1}
|
||||
{...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.Track>
|
||||
<SliderPrimitive.Thumb
|
||||
|
@ -44,7 +44,12 @@ export default async function inpaint(
|
||||
fd.append("sdSteps", settings.sdSteps.toString())
|
||||
fd.append("sdGuidanceScale", settings.sdGuidanceScale.toString())
|
||||
fd.append("sdSampler", settings.sdSampler.toString())
|
||||
if (settings.seedFixed) {
|
||||
fd.append("sdSeed", settings.seed.toString())
|
||||
} else {
|
||||
fd.append("sdSeed", "-1")
|
||||
}
|
||||
|
||||
fd.append("sdMatchHistograms", settings.sdMatchHistograms ? "true" : "false")
|
||||
fd.append("sdScale", (settings.sdScale / 100).toString())
|
||||
|
||||
@ -61,6 +66,7 @@ export default async function inpaint(
|
||||
fd.append("p2pImageGuidanceScale", settings.p2pImageGuidanceScale.toString())
|
||||
|
||||
// ControlNet
|
||||
fd.append("controlnet_enabled", settings.enableControlnet.toString())
|
||||
fd.append(
|
||||
"controlnet_conditioning_scale",
|
||||
settings.controlnetConditioningScale.toString()
|
||||
|
@ -247,6 +247,7 @@ const defaultValues: AppState = {
|
||||
path: "lama",
|
||||
model_type: "inpaint",
|
||||
support_controlnet: false,
|
||||
support_strength: false,
|
||||
controlnets: [],
|
||||
support_freeu: false,
|
||||
support_lcm_lora: false,
|
||||
@ -410,16 +411,6 @@ export const useStore = createWithEqualityFn<AppState & AppAction>()(
|
||||
}
|
||||
const newRender = new Image()
|
||||
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]
|
||||
get().updateEditorState({
|
||||
renders: newRenders,
|
||||
@ -427,7 +418,6 @@ export const useStore = createWithEqualityFn<AppState & AppAction>()(
|
||||
lastLineGroup: curLineGroup,
|
||||
curLineGroup: [],
|
||||
})
|
||||
}
|
||||
} catch (e: any) {
|
||||
toast({
|
||||
variant: "destructive",
|
||||
|
@ -8,6 +8,7 @@ export interface ModelInfo {
|
||||
| "diffusers_sd_inpaint"
|
||||
| "diffusers_sdxl_inpaint"
|
||||
| "diffusers_other"
|
||||
support_strength: boolean
|
||||
support_controlnet: boolean
|
||||
controlnets: string[]
|
||||
support_freeu: boolean
|
||||
|
Loading…
Reference in New Issue
Block a user