diff --git a/src/kiri/core/codec.js b/src/kiri/core/codec.js index 1ad844ac..ec0da847 100644 --- a/src/kiri/core/codec.js +++ b/src/kiri/core/codec.js @@ -261,6 +261,7 @@ Slice.prototype.encode = function(state) { index: this.index, layers: encode(this.layers, state) }; + if (this.angle !== undefined) rv.angle = this.angle; // aggressively free memory if (freeMem) this.layers = undefined; return rv; @@ -269,6 +270,7 @@ Slice.prototype.encode = function(state) { registerDecoder(TYPE.SLICE, function(v, state) { let slice = newSlice(v.z, state.mesh ? state.mesh.newGroup() : null); + if (v.angle !== undefined) slice.angle = v.angle; slice.index = v.index; slice.layers = decode(v.layers, state) diff --git a/src/kiri/mode/cam/slice.js b/src/kiri/mode/cam/slice.js index ddc9a8d2..768ff0bf 100644 --- a/src/kiri/mode/cam/slice.js +++ b/src/kiri/mode/cam/slice.js @@ -294,6 +294,9 @@ export async function cam_slice(settings, widget, onupdate, ondone) { } sliceAll.appendAll(slices); if (addIndexing && axisIndex !== undefined) { + for (let slice of slices) { + slice.angle = axisIndex; + } // update slice cam lines to add axis indexing for (let slice of slices.filter(s => s.camLines)) { addPolyIndexing(slice.camLines, -axisIndex);