iDither feature

FEATURESnap Back Compat

On by defaultStock Snapmaker Orca V2.3.6Export-only switch Stock Snapmaker Orca V2.3.6-native transport for iDither’s exact recipes.

Snap Back Compat keeps iDither’s advanced color recipe and cadence engine, but exports its exact physical-layer sequence through Snapmaker Orca V2.3.6’s native MixedFilament manual-pattern format, allowing stock Snapmaker execution without relying on iDither/CustomOrca-only transport metadata.

What it is

Snap Back Compat is a transport/execution compatibility switch, not a different color-solving engine.

iDither still decides the recipe and the exact layer cadence. Snap Back Compat only changes how that decision is encoded into the 3MF so stock Snapmaker Orca V2.3.6 understands and executes it natively.

When ON: native Snapmaker execution

Suppose iDither decides a virtual color should use this native 40-unit recipe:

F1 = 11
F2 = 9
F3 = 10
F4 = 10
Total = 40

and the cadence optimizer chooses an exact 40-layer sequence such as:

1 2 3 4 1 2 3 4 … (40 entries total)

Snap Back Compat does not ask Snapmaker to regenerate that sequence from percentages. Instead it converts iDither’s result into the native V2.3.6 MixedFilament representation, ending in a real V2.3.6 manual pattern:

component_a = 1
component_b = 2
enabled     = 1
custom      = 1

g1234
w28/22/25/25
m0
z0
xa0
xb0
d0
o0
u<stable id>
cm1

12341234… (exact 40-step pattern)

V2.3.6’s resolver gives the manual pattern priority, so each layer position maps directly to a physical tool: 1 → F1, 2 → F2, 3 → F3, 4 → F4.

iDither recipe solver
        ↓
iDither cadence optimizer
        ↓
exact 40-step cadence
        ↓
Snapmaker native manual_pattern
        ↓
Snapmaker’s normal V2.3.6 resolver
        ↓
physical tool

The separation is the point: iDither owns the intelligence; Snapmaker owns the transport and execution machinery.

What g… and w… mean when ON

They are still included because they are normal Snapmaker metadata. For [11, 9, 10, 10], iDither writes normalized 100-point metadata such as g1234 / w28/22/25/25 — but that is not the authoritative execution recipe when the manual pattern exists. Execution stays exact: native recipe 11 + 9 + 10 + 10 = 40 with exactly 40 cadence entries.

The A/B percentage shown by V2.3.6 is rounded from the actual manual pattern. For example, 9 F2 layers out of 40 displays as 23%, which keeps load/save round trips stable while preserving exact execution.

Why m0 and cm1

Snap Back Compat writes m0 (LayerCycle) with cm1 (Cycle) because it hands Snapmaker an explicit cycle. It deliberately avoids m2 (Simple) — the reason older g/w-only representations did not execute as intended — and avoids cm2 (Match), because iDither has already done the match.

It also leaves CustomOrca-only extensions (y2, cm4, v2/…, q1/…) out of the virtual filament row. ON means stock Snapmaker-compatible transport with an iDither-generated cadence.

When OFF: CustomOrca transport

OFF preserves the richer CustomOrca / iDither format (TexturePalette-style v2/100 + q1/40 rows with m2 / y2 / cm4). It validates against the same native 40-unit recipes — only the serialization differs.

                 iDither recipe/cadence
                          │
                 native 40-unit lattice
                          │
              exact optimized physical cadence
                          │
          ┌───────────────┴───────────────┐
          │                               │
 Snap Back Compat ON             Snap Back Compat OFF
          │                               │
 V2.3.6 native transport            CustomOrca transport
          │                               │
 manual_pattern                     v2/100 + q1/40
 m0 / cm1                           m2 / y2 / cm4
 no v2/q1 extensions                full TexturePalette data
          │                               │
 Stock Snapmaker Orca              CustomOrca/iDither-aware path

Defaults and caching

How to use it

Leave it On for stock Snapmaker Orca. Turn it Off only when you explicitly want the CustomOrca / iDither-aware path. No other settings need to change.

← Back to V6.12 release notes