patch curriculum..
This commit is contained in:
@@ -5,6 +5,26 @@ import type { VisualizationStack } from './WorkspaceVisualizationPanel'
|
||||
|
||||
export type Nav2VisualizationMode = 'slam' | 'navigation'
|
||||
|
||||
const DEFAULT_NAV2_VISUALIZATION_PROFILE: EnvironmentProfile = {
|
||||
id: 'default-nav2-visualization',
|
||||
week: 0,
|
||||
platformKey: 'futuredrive-local-pc',
|
||||
profileType: 'NAV2',
|
||||
name: 'NAV2',
|
||||
config: {
|
||||
type: 'NAV2',
|
||||
target: 'local',
|
||||
viewer: { stack: 'nav2' },
|
||||
bridge: {
|
||||
name: 'nav2-ros-bridge',
|
||||
port: 8765,
|
||||
image: 'slam-ros-bridge:latest',
|
||||
buildContext: 'resources/slam-ros-bridge',
|
||||
env: { ROBOT_STACK: 'nav2' }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function resolveVisualizationStack(profileType: string): VisualizationStack | null {
|
||||
const type = profileType.toLowerCase()
|
||||
if (type === 'real_slam') return 'slam'
|
||||
@@ -77,7 +97,11 @@ export function useWorkspaceVisualization({
|
||||
const [, setVisualizationStatusMessage] = useState('대기')
|
||||
const [visualizationBusy, setVisualizationBusy] = useState(false)
|
||||
|
||||
const runtimeProfiles = useMemo(() => selectRuntimeProfiles(profiles, remoteWorkspace), [profiles, remoteWorkspace])
|
||||
const runtimeProfiles = useMemo(() => {
|
||||
const candidates = selectRuntimeProfiles(profiles, remoteWorkspace)
|
||||
const nav2Profiles = candidates.filter((profile) => resolveVisualizationStack(profile.profileType) !== 'autoware')
|
||||
return nav2Profiles.length ? nav2Profiles : [DEFAULT_NAV2_VISUALIZATION_PROFILE]
|
||||
}, [profiles, remoteWorkspace])
|
||||
const visualizationStacks = useMemo(() => (
|
||||
runtimeProfiles
|
||||
.map((profile) => resolveVisualizationStack(profile.profileType))
|
||||
@@ -141,11 +165,6 @@ export function useWorkspaceVisualization({
|
||||
|
||||
const startVisualizationBridge = async (): Promise<void> => {
|
||||
if (visualizationBusy) return
|
||||
if (!activeEnvironmentProfile) {
|
||||
setVisualizationStatusMessage('지원 안함')
|
||||
onTitlebarNotice('해당 주차는 시각화를 지원하지 않습니다', 'warning')
|
||||
return
|
||||
}
|
||||
setVisualizationBusy(true)
|
||||
setVisualizationStatusMessage('시작 중')
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user