统一 model3d 查看器状态类型命名:Model3DViewerStatus 改回 Model3dViewerStatus

- packages/model3d-viewer/src/status.ts:状态类型改名,与同文件的 Model3dViewerFailureReason / Model3dViewerStatusDetail 以及仓库既有 Model3d* 口径一致
- packages/model3d-viewer/src/Model3DViewer.tsx、packages/model3d-viewer/src/index.ts:跟随改名更新导入与引用
- src/components/image-editor/model3d-preview/Model3dViewerModal.tsx:跟随改名更新导入与状态类型引用

验证:npx tsc -p tsconfig.typecheck-guardrails.json --noEmit、npm run lint:eslint(改动文件)
This commit is contained in:
2026-09-22 13:16:05 +08:00
parent e7b067e977
commit 93002f1bd2
4 changed files with 8 additions and 8 deletions
@@ -17,7 +17,7 @@ import { createModel3dViewerScene, type Model3dViewerScene } from './scene';
import {
MODEL3D_VIEWER_LOADING_TEXT,
MODEL3D_VIEWER_STATUS_ATTRIBUTE,
type Model3DViewerStatus,
type Model3dViewerStatus,
type Model3dViewerStatusDetail,
resolveModel3dViewerErrorText,
} from './status';
@@ -34,7 +34,7 @@ export type Model3DViewerProps = {
/** 失败时那一行状态文案;不传用内置文案。 */
errorText?: string;
onStatusChange?: (
status: Model3DViewerStatus,
status: Model3dViewerStatus,
detail: Model3dViewerStatusDetail,
) => void;
className?: string;
@@ -58,14 +58,14 @@ export function Model3DViewer({
const sceneRef = useRef<Model3dViewerScene | null>(null);
const onStatusChangeRef = useRef(onStatusChange);
const autoRotateRef = useRef(autoRotate);
const [status, setStatus] = useState<Model3DViewerStatus>('idle');
const [status, setStatus] = useState<Model3dViewerStatus>('idle');
useEffect(() => {
onStatusChangeRef.current = onStatusChange;
}, [onStatusChange]);
const reportStatus = useCallback(
(next: Model3DViewerStatus, detail: Model3dViewerStatusDetail) => {
(next: Model3dViewerStatus, detail: Model3dViewerStatusDetail) => {
setStatus(next);
onStatusChangeRef.current?.(next, detail);
},
+1 -1
View File
@@ -13,7 +13,7 @@ export type { Model3DViewerHandle, Model3DViewerProps } from './Model3DViewer';
export { Model3DViewer } from './Model3DViewer';
export type {
Model3dViewerFailureReason,
Model3DViewerStatus,
Model3dViewerStatus,
Model3dViewerStatusDetail,
} from './status';
export {
+1 -1
View File
@@ -1,4 +1,4 @@
export type Model3DViewerStatus = 'idle' | 'loading' | 'ready' | 'failed';
export type Model3dViewerStatus = 'idle' | 'loading' | 'ready' | 'failed';
export type Model3dViewerFailureReason =
| 'unsupported-format'
@@ -2,7 +2,7 @@ import {
Model3DViewer,
type Model3DViewerHandle,
type Model3DViewerSource,
type Model3DViewerStatus,
type Model3dViewerStatus,
type Model3dViewerStatusDetail,
} from '@genarrative/model3d-viewer';
import { useRef, useState } from 'react';
@@ -86,7 +86,7 @@ export function Model3dViewerModal({
// 用 effect 在切换时重置不行 —— 它在挂载后运行,会盖掉查看器刚上报的 ready。
const [viewerStatus, setViewerStatus] = useState<{
identity: string;
status: Model3DViewerStatus;
status: Model3dViewerStatus;
detail: Model3dViewerStatusDetail | null;
} | null>(null);