multiview 空白视图按未提供处理
to_sdk_params 新增 optional_view,将仅含空白的 left、back、right 归一化为未提供 空白视图不再以 Some(FileInput) 形式提交,与提交前“至少两个视图”的校验保持一致
This commit is contained in:
@@ -79,6 +79,13 @@ impl TripoProviderClient {
|
||||
Ok(TripoTaskHandle { task_id })
|
||||
}
|
||||
}
|
||||
/// 与提交前校验保持一致:空白视图按未提供处理。
|
||||
fn optional_view(value: &Option<String>) -> Option<FileInput> {
|
||||
value
|
||||
.as_deref()
|
||||
.filter(|value| !value.trim().is_empty())
|
||||
.map(FileInput::from)
|
||||
}
|
||||
|
||||
fn to_sdk_params(request: &Model3dMultiviewToModelRequest) -> MultiviewToModelParams {
|
||||
let mut params = match &request.inputs {
|
||||
@@ -89,9 +96,9 @@ fn to_sdk_params(request: &Model3dMultiviewToModelRequest) -> MultiviewToModelPa
|
||||
right,
|
||||
} => MultiviewToModelParams::from_views([
|
||||
Some(FileInput::from(front.as_str())),
|
||||
left.as_deref().map(FileInput::from),
|
||||
back.as_deref().map(FileInput::from),
|
||||
right.as_deref().map(FileInput::from),
|
||||
optional_view(left),
|
||||
optional_view(back),
|
||||
optional_view(right),
|
||||
]),
|
||||
Model3dMultiviewInputs::TaskId { task_id } => {
|
||||
MultiviewToModelParams::from_task_id(task_id.clone())
|
||||
|
||||
Reference in New Issue
Block a user