any2orca API reference
    Preparing search index...

    Interface ConvertReport

    interface ConvertReport {
        filamentComplianceFallback?: string[];
        filamentComplianceUnchanged?: string[];
        filamentSlots: number;
        log: string[];
        objects: number;
        plates: number;
        preset?: { base: string; changes: PresetChange[]; notes: string[] };
        profile: ProfileSummary;
        profileMatch?: {
            exact: boolean;
            matchedByTierName: boolean;
            matchSource:
                | "auto-tier-name"
                | "auto-exact"
                | "auto-nearest"
                | "default-fallback";
            nozzleDiameter: string;
            profileId: string;
        };
        retiredProfile?: RetiredProfile;
        shifts: Shifts;
        stamp: | {
            generator: "any2orca";
            options: {
                aboveStock?: { keep: string[]; stock: string[] };
                filamentComplianceMode: "generic" | "snapmaker" | null;
                hardenedNozzles: boolean;
                highFlowHotends: boolean | boolean[];
                preset?: { base: string; keys: string[]; sha256: string };
            };
            profileId: string;
            profiles: { tracks: string; version: string };
            stamp: 1;
            version: string;
        }
        | null;
        warnings: string[];
        whatChanged: WhatChanged;
    }
    Index
    filamentComplianceFallback?: string[]

    Product lines that use Generic under filamentComplianceMode: "snapmaker", because Snapmaker makes no preset for them at this nozzle size.

    filamentComplianceUnchanged?: string[]

    Product lines (or materials) whose names stayed as the creator had them under filamentComplianceMode, because no Snapmaker or Generic preset fits.

    filamentSlots: number
    log: string[]

    Every note the conversion produced, including routine ones, for logs and bug reports.

    objects: number
    plates: number
    preset?: { base: string; changes: PresetChange[]; notes: string[] }

    Set when a preset was used: the settings it set (with values above stock marked) and anything it left out.

    The profile the file was converted with.

    profileMatch?: {
        exact: boolean;
        matchedByTierName: boolean;
        matchSource:
            | "auto-tier-name"
            | "auto-exact"
            | "auto-nearest"
            | "default-fallback";
        nozzleDiameter: string;
        profileId: string;
    }

    How the profile was matched; absent when profileId was given.

    Type Declaration

    • exact: boolean
    • matchedByTierName: boolean

      The pick came from the source file's own tier name (e.g. "Extra Fine"), not nearest layer height.

    • matchSource: "auto-tier-name" | "auto-exact" | "auto-nearest" | "default-fallback"

      "auto-tier-name"/"auto-exact" are confident; "auto-nearest" is the closest available layer height; "default-fallback" means no match at all, so the profile is just the catalog default.

    • nozzleDiameter: string
    • profileId: string
    retiredProfile?: RetiredProfile

    Set when profileId named a retired profile and its successor was used.

    shifts: Shifts

    How far each object was moved, by object id.

    stamp:
        | {
            generator: "any2orca";
            options: {
                aboveStock?: { keep: string[]; stock: string[] };
                filamentComplianceMode: "generic" | "snapmaker" | null;
                hardenedNozzles: boolean;
                highFlowHotends: boolean | boolean[];
                preset?: { base: string; keys: string[]; sha256: string };
            };
            profileId: string;
            profiles: { tracks: string; version: string };
            stamp: 1;
            version: string;
        }
        | null

    The stamp written into the output, or null if stamp: false.

    Type Declaration

    • {
          generator: "any2orca";
          options: {
              aboveStock?: { keep: string[]; stock: string[] };
              filamentComplianceMode: "generic" | "snapmaker" | null;
              hardenedNozzles: boolean;
              highFlowHotends: boolean | boolean[];
              preset?: { base: string; keys: string[]; sha256: string };
          };
          profileId: string;
          profiles: { tracks: string; version: string };
          stamp: 1;
          version: string;
      }
      • generator: "any2orca"
      • options: {
            aboveStock?: { keep: string[]; stock: string[] };
            filamentComplianceMode: "generic" | "snapmaker" | null;
            hardenedNozzles: boolean;
            highFlowHotends: boolean | boolean[];
            preset?: { base: string; keys: string[]; sha256: string };
        }
        • OptionalaboveStock?: { keep: string[]; stock: string[] }

          Present when the user chose differently for values above stock: settings kept at the creator's value, and set to stock.

        • filamentComplianceMode: "generic" | "snapmaker" | null
        • hardenedNozzles: boolean
        • highFlowHotends: boolean | boolean[]
        • Optionalpreset?: { base: string; keys: string[]; sha256: string }

          Present when the file was converted with a preset: its base, the settings it set, and a fingerprint of their values. Never its name.

      • profileId: string
      • profiles: { tracks: string; version: string }
        • tracks: string

          The upstream slicer release the catalog tracks, e.g. "Snapmaker Orca 2.4.0".

        • version: string

          The profile catalog's version (any2orca-profiles for the bundled one).

      • stamp: 1
      • version: string

        The any2orca package version that converted the file.

    • null
    warnings: string[]

    Notes worth showing the user, cleaned up for display.

    whatChanged: WhatChanged

    What the conversion changed, grouped by why.