Initial commit: Happa Mission Plan v0.1.0
Task planning and path generation software for automated data collection equipment (hyperspectral cameras, DSLR, depth cameras). - Generate mission plans (JSON) with subtasks per device - Generate scan path binary files (.RecordLine3) - Multi-rectangle area planning with reference map support - Device-specific FOV defaults (Pika L 17.6°, Pika NIR 21.7°, etc.) - Timeline scheduling with constraint validation - Tauri 2.x + Vue 3 + Naive UI + Pinia
This commit is contained in:
28
src/stores/validation.ts
Normal file
28
src/stores/validation.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import { defineStore } from 'pinia';
|
||||
import { ref, computed } from 'vue';
|
||||
import type { ValidationIssue } from '../types/validation';
|
||||
|
||||
export const useValidationStore = defineStore('validation', () => {
|
||||
const issues = ref<ValidationIssue[]>([]);
|
||||
|
||||
const errorCount = computed(() => issues.value.filter(i => i.severity === 'Error').length);
|
||||
const warningCount = computed(() => issues.value.filter(i => i.severity === 'Warning').length);
|
||||
const hasIssues = computed(() => issues.value.length > 0);
|
||||
|
||||
function setIssues(newIssues: ValidationIssue[]) {
|
||||
issues.value = newIssues;
|
||||
}
|
||||
|
||||
function clear() {
|
||||
issues.value = [];
|
||||
}
|
||||
|
||||
return {
|
||||
issues,
|
||||
errorCount,
|
||||
warningCount,
|
||||
hasIssues,
|
||||
setIssues,
|
||||
clear,
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user