Loading...
Loading...
Compare original and translation side by side
@cognite/duneQueryClientProvider@tanstack/react-queryCogniteVisualizable.object3DCogniteCADNode@cognite/dune@tanstack/react-queryQueryClientProviderCogniteVisualizable.object3DCogniteCADNodepackage.jsonvite.config.tssrc/main.tsxskills/reveal-3d/code/reveal/src/features/reveal-3d/@/*import { CacheProvider, RevealKeepAlive, RevealProvider } from '@/features/reveal-3d';main.tsxprocessutilassertthreeworker.format: 'es'DMInstanceRefCacheProviderRevealKeepAliveRevealProvidertsc --noEmitpnpm buildpackage.jsonvite.config.tssrc/main.tsxskills/reveal-3d/code/reveal/src/features/reveal-3d/@/*import { CacheProvider, RevealKeepAlive, RevealProvider } from '@/features/reveal-3d';main.tsxprocessutilassertthreeworker.format: 'es'DMInstanceRefCacheProviderRevealKeepAliveRevealProvidertsc --noEmitpnpm buildimport { useCallback, useMemo } from 'react';
import type { CogniteClient } from '@cognite/sdk';
import {
CacheProvider,
Reveal3DResources,
RevealCanvas,
RevealKeepAlive,
RevealProvider,
type AddCadResourceOptions,
} from '@/features/reveal-3d';
type SelectedModel = { modelId: number; revisionId: number };
function ViewerContent({ modelId, revisionId }: SelectedModel) {
const resources = useMemo<AddCadResourceOptions[]>(
() => [{ modelId, revisionId }],
[modelId, revisionId]
);
const onLoaded = useCallback(() => {}, []);
return (
<RevealCanvas>
<Reveal3DResources resources={resources} onModelsLoaded={onLoaded} />
</RevealCanvas>
);
}
export function ViewerPage({
sdk,
selected,
}: {
sdk: CogniteClient;
selected: SelectedModel | null;
}) {
const memoizedSdk = useMemo(() => sdk, [sdk.project]);
return (
<CacheProvider>
<RevealKeepAlive>
<div style={{ width: '100%', height: '70vh', position: 'relative' }}>
{selected && (
<RevealProvider sdk={memoizedSdk}>
<ViewerContent
modelId={selected.modelId}
revisionId={selected.revisionId}
/>
</RevealProvider>
)}
</div>
</RevealKeepAlive>
</CacheProvider>
);
}import { useCallback, useMemo } from 'react';
import type { CogniteClient } from '@cognite/sdk';
import {
CacheProvider,
Reveal3DResources,
RevealCanvas,
RevealKeepAlive,
RevealProvider,
type AddCadResourceOptions,
} from '@/features/reveal-3d';
type SelectedModel = { modelId: number; revisionId: number };
function ViewerContent({ modelId, revisionId }: SelectedModel) {
const resources = useMemo<AddCadResourceOptions[]>(
() => [{ modelId, revisionId }],
[modelId, revisionId]
);
const onLoaded = useCallback(() => {}, []);
return (
<RevealCanvas>
<Reveal3DResources resources={resources} onModelsLoaded={onLoaded} />
</RevealCanvas>
);
}
export function ViewerPage({
sdk,
selected,
}: {
sdk: CogniteClient;
selected: SelectedModel | null;
}) {
const memoizedSdk = useMemo(() => sdk, [sdk.project]);
return (
<CacheProvider>
<RevealKeepAlive>
<div style={{ width: '100%', height: '70vh', position: 'relative' }}>
{selected && (
<RevealProvider sdk={memoizedSdk}>
<ViewerContent
modelId={selected.modelId}
revisionId={selected.revisionId}
/>
</RevealProvider>
)}
</div>
</RevealKeepAlive>
</CacheProvider>
);
}| Package | Suggested version | Purpose |
|---|---|---|
| app version | UI framework |
| app version | Authenticated SDK via |
| | Reveal viewer runtime |
| | CDF API client |
| | Reveal/FDM data fetching hooks |
| | Three.js singleton used by Reveal |
| latest | Browser polyfills for Reveal dependencies |
| | Avoids older transitive AJV resolution in monorepos |
| latest dev dep | TypeScript types |
pnpm add @cognite/reveal @cognite/sdk @tanstack/react-query three process util assert ajv
pnpm add -D @types/three@cognite/revealthreethreevite-plugin-node-polyfills| 包 | 建议版本 | 用途 |
|---|---|---|
| 应用版本 | UI框架 |
| 应用版本 | 通过 |
| | Reveal查看器运行时 |
| | CDF API客户端 |
| | Reveal/FDM数据获取钩子 |
| | Reveal使用的Three.js单例 |
| 最新版本 | Reveal依赖的浏览器polyfill |
| | 避免单体仓库中旧版本的传递性AJV解析 |
| 最新开发依赖 | TypeScript类型定义 |
pnpm add @cognite/reveal @cognite/sdk @tanstack/react-query three process util assert ajv
pnpm add -D @types/three@cognite/revealthreethreevite-plugin-node-polyfillsViewerContentRevealCanvasReveal3DResourcesresourcesReveal3DResourcesuseMemoonModelsLoadedonSelectuseCallbackRevealProvideruseMemoclient.projectRevealCanvasReact.lazySuspenseViewerContentRevealCanvasReveal3DResourcesReveal3DResourcesresourcesuseMemoonModelsLoadedonSelectuseCallbackRevealProvideruseMemoclient.projectRevealCanvasReact.lazySuspensecode/README.mdreferences/implementation.mdreferences/vite-config.mdcode/README.mdreferences/implementation.mdreferences/vite-config.mdskills/reveal-3d/code/reveal/@/features/reveal-3dpackage.jsonmain.tsxprocessvite.config.tsthreeworker.format: 'es'CacheProviderRevealKeepAliveRevealProviderskills/reveal-3d/code/reveal/@/features/reveal-3dpackage.jsonmain.tsxvite.config.tsthreeworker.format: 'es'CacheProviderRevealKeepAliveRevealProvider