| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- export interface PlateFilament {
- slot_id: number;
- type: string;
- color: string;
- used_grams: number;
- used_meters: number;
- // True when this AMS slot is consumed by the picked plate. False
- // means the slot is configured project-wide but the picked plate
- // doesn't paint with it. Sliced 3MFs (.gcode.3mf) report only used
- // filaments — the field is true for every entry. Unsliced project
- // files report ALL project slots; SliceModal disables the unused
- // rows so the user only interacts with the dropdowns that matter,
- // while the backend still passes the complete list to the slicer
- // CLI to prevent silent fallback to embedded defaults.
- used_in_plate?: boolean;
- }
- export interface PlateMetadata {
- index: number;
- name: string | null;
- objects: string[];
- object_count?: number;
- has_thumbnail: boolean;
- thumbnail_url: string | null;
- print_time_seconds: number | null;
- filament_used_grams: number | null;
- filaments: PlateFilament[];
- // Per-plate build plate type so multi-plate prints can show the right
- // plate at scheduling time (#1281). Falls back to null for older 3MFs
- // that don't carry curr_bed_type in slice_info.config.
- bed_type?: string | null;
- }
- // Printer / process preset names the source 3MF was prepared with, read from
- // its project_settings.config. Used by the SliceModal to default its printer
- // and process dropdowns (#1325). Null / absent when the file carries no
- // embedded slicer config (STL, plain model 3MF, parse failure).
- interface EmbeddedPresets {
- embedded_printer?: string | null;
- embedded_process?: string | null;
- // Process settings the designer changed away from the stock preset, read
- // from the 3MF's own `different_settings_to_system` (#2622). Offered in the
- // SliceModal so a re-slice for another printer can carry them instead of
- // losing them to the picked process profile. Empty for STL, OrcaSlicer
- // files, and older exports that predate the field.
- design_overrides?: DesignOverride[];
- }
- // One process setting the designer deviated on. `printer_coupled` marks the
- // values that only make sense on the machine they were tuned for (speeds,
- // accelerations, prime-tower geometry) — offered, but never pre-selected.
- // `preset_defining` marks the ones that *are* the picked process preset —
- // layer height and first layer height — which must not be carried over an
- // explicit preset pick without the user asking. Also offered, never
- // pre-selected.
- export interface DesignOverride {
- key: string;
- value: unknown;
- printer_coupled: boolean;
- preset_defining: boolean;
- }
- export interface ArchivePlatesResponse extends EmbeddedPresets {
- archive_id: number;
- filename: string;
- plates: PlateMetadata[];
- is_multi_plate: boolean;
- has_gcode?: boolean;
- }
- export interface LibraryFilePlatesResponse extends EmbeddedPresets {
- file_id: number;
- filename: string;
- plates: PlateMetadata[];
- is_multi_plate: boolean;
- }
- export interface ViewerPlateSelectionState {
- selected_plate_id: number | null;
- }
- export interface PlateAssignment {
- object_id: string;
- plate_id: number | null;
- }
|