refactor(map): split foundry workspace and cesium runtime
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import type { MapDataProductBinding, MapSubjectState } from "./mapPageContract.js";
|
||||
import type { MapPresentationFilters, MapPresentationProfile } from "./mapPresentationProfile.js";
|
||||
import type { GridSectorSelection } from "./mapRendererContract.js";
|
||||
import type { SectorGridLodProfile } from "./mapSectorWorkspace.js";
|
||||
import type { MapRuntimeBinding, MapRuntimeFact } from "./useMapDataProductRuntime.js";
|
||||
|
||||
export type MapSelectableEntity = {
|
||||
id: string;
|
||||
title: string;
|
||||
kind: string;
|
||||
status: string;
|
||||
bindingId: string;
|
||||
dataProductId: string;
|
||||
fact: MapRuntimeFact;
|
||||
};
|
||||
|
||||
export type MapSectorScope = {
|
||||
excludedBindingIds: string[];
|
||||
excludedProviders: string[];
|
||||
excludedObjectKinds: string[];
|
||||
};
|
||||
|
||||
export type MapPresentationSummary = {
|
||||
bindingId: string;
|
||||
displayName: string;
|
||||
profile: MapPresentationProfile;
|
||||
total: number;
|
||||
counts: Record<string, Record<string, number>>;
|
||||
};
|
||||
|
||||
export type MapFilteredTarget = {
|
||||
bindingId: string;
|
||||
entityId: string;
|
||||
title: string;
|
||||
status: string;
|
||||
renderable: boolean;
|
||||
};
|
||||
|
||||
export function mapProfileHasSubjectWindowControls(profile: MapPresentationProfile): boolean;
|
||||
export function primaryMapBindingConfigs(bindingConfigs: MapDataProductBinding[]): MapDataProductBinding[];
|
||||
export function primaryMapRuntimeBindings(runtimeBindings: MapRuntimeBinding[], bindingConfigs: MapDataProductBinding[]): MapRuntimeBinding[];
|
||||
export function buildMapPresentationFilters(subjectStates: Record<string, MapSubjectState>, bindingConfigs: MapDataProductBinding[], profiles: MapPresentationProfile[]): MapPresentationFilters;
|
||||
export function buildSelectableMapEntities(runtimeBindings: MapRuntimeBinding[], bindingConfigs: MapDataProductBinding[], profiles: MapPresentationProfile[]): MapSelectableEntity[];
|
||||
export function buildSectorSpatialEntities(selectable: MapSelectableEntity[], selection: GridSectorSelection | null, profiles: SectorGridLodProfile[], origin: { latitude: number; longitude: number }): MapSelectableEntity[];
|
||||
export function buildSectorBindingOptions(bindingConfigs: MapDataProductBinding[], sectorEntities: MapSelectableEntity[]): Array<{ value: string; label: string; count: number }>;
|
||||
export function bindingProjectsField(bindingConfigs: MapDataProductBinding[], field: string): boolean;
|
||||
export function buildSectorScopeOptions(sectorEntities: MapSelectableEntity[], field: string, enabled?: boolean): Array<{ value: string; label: string; count: number }>;
|
||||
export function sectorEntityIsExcluded(entity: MapSelectableEntity, scope: MapSectorScope): boolean;
|
||||
export function buildSectorVisibleEntities(input: { sectorEntities: MapSelectableEntity[]; bindingConfigs: MapDataProductBinding[]; presentationProfiles: MapPresentationProfile[]; presentationFilters: MapPresentationFilters; scope: MapSectorScope }): MapSelectableEntity[];
|
||||
export function scopeMapRuntimeBindings(input: { runtimeBindings: MapRuntimeBinding[]; selection: GridSectorSelection | null; gridProfiles: SectorGridLodProfile[]; origin: { latitude: number; longitude: number }; hideOutsideSector: boolean; scope: MapSectorScope }): MapRuntimeBinding[];
|
||||
export function buildMapPresentationSummaries(bindingConfigs: MapDataProductBinding[], runtimeBindings: MapRuntimeBinding[], profiles: MapPresentationProfile[]): MapPresentationSummary[];
|
||||
export function buildFilteredMapTargets(runtimeBindings: MapRuntimeBinding[], bindingConfigs: MapDataProductBinding[], profiles: MapPresentationProfile[], filters: MapPresentationFilters): MapFilteredTarget[];
|
||||
export function planMapSubjectReveal(input: { entity: MapSelectableEntity; subjectState: MapSubjectState; profile: MapPresentationProfile | undefined; selectedSector: GridSectorSelection | null; gridProfiles: SectorGridLodProfile[]; origin: { latitude: number; longitude: number }; hideOutsideSector: boolean; scope: MapSectorScope }): { subjectState: MapSubjectState; hideOutsideSector: boolean; scope: MapSectorScope };
|
||||
Reference in New Issue
Block a user