diff --git a/src/dev/graph/layout.rs b/src/dev/graph/layout.rs index 53136699..3422be47 100644 --- a/src/dev/graph/layout.rs +++ b/src/dev/graph/layout.rs @@ -97,13 +97,13 @@ impl CircuitLayout { // Figure out what order to render the columns in. // TODO: For now, just render them in the order they were configured. - let total_columns = cs.num_advice_columns + cs.num_instance_columns + cs.num_fixed_columns; + let total_columns = cs.num_instance_columns + cs.num_advice_columns + cs.num_fixed_columns; let column_index = |column: &Column| { column.index() + match column.column_type() { - Any::Advice => 0, - Any::Instance => cs.num_advice_columns, - Any::Fixed => cs.num_advice_columns + cs.num_instance_columns, + Any::Instance => 0, + Any::Advice => cs.num_instance_columns, + Any::Fixed => cs.num_instance_columns + cs.num_advice_columns, } }; @@ -124,12 +124,15 @@ impl CircuitLayout { ShapeStyle::from(&WHITE).filled(), ))?; root.draw(&Rectangle::new( - [(0, 0), (cs.num_advice_columns, view_bottom)], + [ + (cs.num_instance_columns, 0), + (cs.num_instance_columns + cs.num_advice_columns, view_bottom), + ], ShapeStyle::from(&RED.mix(0.2)).filled(), ))?; root.draw(&Rectangle::new( [ - (cs.num_advice_columns + cs.num_instance_columns, 0), + (cs.num_instance_columns + cs.num_advice_columns, 0), (total_columns, view_bottom), ], ShapeStyle::from(&BLUE.mix(0.2)).filled(), @@ -138,9 +141,9 @@ impl CircuitLayout { let index = selector.index(); root.draw(&Rectangle::new( [ - (cs.num_advice_columns + cs.num_instance_columns + index, 0), + (cs.num_instance_columns + cs.num_advice_columns + index, 0), ( - cs.num_advice_columns + cs.num_instance_columns + index + 1, + cs.num_instance_columns + cs.num_advice_columns + index + 1, view_bottom, ), ], diff --git a/src/plonk/circuit.rs b/src/plonk/circuit.rs index 95d51174..dc426f27 100644 --- a/src/plonk/circuit.rs +++ b/src/plonk/circuit.rs @@ -47,13 +47,13 @@ impl Ord for Column { (Any::Advice, Any::Advice) | (Any::Instance, Any::Instance) | (Any::Fixed, Any::Fixed) => self.index.cmp(&other.index), - // Across column types, sort Advice < Instance < Fixed. - (Any::Advice, Any::Instance) + // Across column types, sort Instance < Advice < Fixed. + (Any::Instance, Any::Advice) | (Any::Advice, Any::Fixed) | (Any::Instance, Any::Fixed) => std::cmp::Ordering::Less, (Any::Fixed, Any::Instance) | (Any::Fixed, Any::Advice) - | (Any::Instance, Any::Advice) => std::cmp::Ordering::Greater, + | (Any::Advice, Any::Instance) => std::cmp::Ordering::Greater, } } }