From 11845a3bc37d3198861e7f09e1684908bef67fb2 Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Mon, 25 May 2015 18:53:04 -0700
Subject: [PATCH] assembler renamed to cam

---
 index.html                      |  2 +-
 js/cam/GCodeExporter.js         | 12 +++++------
 js/cam/Machine.js               | 38 ++++++++++++++++-----------------
 js/cam/MachineOneBit.js         | 12 +++++------
 js/cam/ShopbotExporter.js       | 10 ++++-----
 js/cam/TinyGExporter.js         | 10 ++++-----
 js/cam/{Assembler.js => cam.js} |  2 +-
 js/main.js                      |  2 +-
 js/menus/AnimationMenuView.js   | 24 ++++++++++-----------
 js/menus/AssemblerMenuView.js   |  8 +++----
 js/menus/CamMenuView.js         | 10 ++++-----
 js/menus/MenuWrapperView.js     | 18 ++++++++--------
 js/models/GlobalFileSaver.js    |  6 +++---
 js/threeViews/ThreeView.js      |  2 +-
 14 files changed, 78 insertions(+), 78 deletions(-)
 rename js/cam/{Assembler.js => cam.js} (99%)

diff --git a/index.html b/index.html
index b9567958..3af56a40 100644
--- a/index.html
+++ b/index.html
@@ -63,7 +63,7 @@
     <script src="js/models/AppState.js"></script>
     <script src="js/cam/Machine.js"></script>
     <script src="js/cam/MachineOneBit.js"></script>
-    <script src="js/cam/Assembler.js"></script>
+    <script src="js/cam/cam.js"></script>
     <script src="js/cam/ShopbotExporter.js"></script>
     <script src="js/cam/GCodeExporter.js"></script>
     <script src="js/cam/TinyGExporter.js"></script>
diff --git a/js/cam/GCodeExporter.js b/js/cam/GCodeExporter.js
index 7b33f3cf..8ccc6761 100644
--- a/js/cam/GCodeExporter.js
+++ b/js/cam/GCodeExporter.js
@@ -49,13 +49,13 @@ GCodeExporter.prototype._setSpeed = function(speed){
 
 GCodeExporter.prototype.rapidXY = function(x, y){
     var data = "";
-    if (this.postSpeed != globals.assembler.get("rapidSpeeds").xy) data += this._setSpeed(globals.assembler.get("rapidSpeeds").xy);
+    if (this.postSpeed != globals.cam.get("rapidSpeeds").xy) data += this._setSpeed(globals.cam.get("rapidSpeeds").xy);
     return data + this._goXYZ(x, y, null);
 };
 
 GCodeExporter.prototype.rapidZ = function(z){
     var data = "";
-    if (this.postSpeed != globals.assembler.get("rapidSpeeds").z) data += this._setSpeed(globals.assembler.get("rapidSpeeds").z);
+    if (this.postSpeed != globals.cam.get("rapidSpeeds").z) data += this._setSpeed(globals.cam.get("rapidSpeeds").z);
     return data + this._goXYZ(null, null, z);
 };
 
@@ -68,19 +68,19 @@ GCodeExporter.prototype._goXYZ = function(x, y, z){
 
 GCodeExporter.prototype.moveXY = function(x, y){
     var data = "";
-    if (this.postSpeed != globals.assembler.get("feedRate").xy) data += this._setSpeed(globals.assembler.get("feedRate").xy);
+    if (this.postSpeed != globals.cam.get("feedRate").xy) data += this._setSpeed(globals.cam.get("feedRate").xy);
     return data + this._goXYZ(x, y, null);
 };
 
 GCodeExporter.prototype.moveZ = function(z){
     var data = "";
-    if (this.postSpeed != globals.assembler.get("feedRate").z) data += this._setSpeed(globals.assembler.get("feedRate").z);
+    if (this.postSpeed != globals.cam.get("feedRate").z) data += this._setSpeed(globals.cam.get("feedRate").z);
     return data + this._goXYZ(null, null, z);
 };
 
 GCodeExporter.prototype.goHome = function(){
-    var data = this._setSpeed(globals.assembler.get("rapidSpeeds").z);
-    return data + this._goXYZ(0,0,globals.assembler.get("rapidHeight"));
+    var data = this._setSpeed(globals.cam.get("rapidSpeeds").z);
+    return data + this._goXYZ(0,0,globals.cam.get("rapidHeight"));
 };
 
 GCodeExporter.prototype.makeFooter = function(){
diff --git a/js/cam/Machine.js b/js/cam/Machine.js
index 92b4b717..59f0596f 100644
--- a/js/cam/Machine.js
+++ b/js/cam/Machine.js
@@ -24,18 +24,18 @@ function Machine() {
 }
 
 Machine.prototype._setDefaults = function(){
-    globals.assembler.set("camProcess", "gcode");
-    globals.assembler.set("stockFixed", false);
-    globals.assembler.set("originPosition", {x:0,y:0,z:0});
+    globals.cam.set("camProcess", "gcode");
+    globals.cam.set("stockFixed", false);
+    globals.cam.set("originPosition", {x:0,y:0,z:0});
     var boundingBox = globals.lattice.calculateBoundingBox();
-    globals.assembler.set("rapidHeight", boundingBox.max.z + 2*globals.lattice.zScale());
-    globals.assembler.set("stockPosition", {x:0,y:0,z:0});
-    globals.assembler.set("stockSeparation", globals.lattice.xScale());
+    globals.cam.set("rapidHeight", boundingBox.max.z + 2*globals.lattice.zScale());
+    globals.cam.set("stockPosition", {x:0,y:0,z:0});
+    globals.cam.set("stockSeparation", globals.lattice.xScale());
 };
 
 Machine.prototype.setVisibility = function(visible){
     if (visible == null || visible === undefined) {
-        if (globals.assembler) visible = globals.assembler.isVisible();
+        if (globals.cam) visible = globals.cam.isVisible();
         else visible = false;
     }
     if (visible && this.hasStock) this.cell.draw();
@@ -146,7 +146,7 @@ Machine.prototype._normalizeSpeed = function(startingPos, x, y, speed){//xy move
 };
 
 Machine.prototype._animateObjects = function(objects, axis, speed, startingPos, target, callback){
-    var increment = speed/25*globals.assembler.get("simSpeed");
+    var increment = speed/25*globals.cam.get("simSpeed");
     if (increment == 0) {
         if (callback) callback();
         return;
@@ -184,18 +184,18 @@ Machine.prototype._setPosition = function(objects, nextPos, axis){
 
 Machine.prototype.postProcess = function(data, exporter){//override in subclasses
 
-    var rapidHeight = globals.assembler.get("rapidHeight");
-    var safeHeight = globals.assembler.get("safeHeight");
-    var wcs = globals.assembler.get("originPosition");
+    var rapidHeight = globals.cam.get("rapidHeight");
+    var safeHeight = globals.cam.get("safeHeight");
+    var wcs = globals.cam.get("originPosition");
 
-    var stockPosition = globals.assembler.get("stockPosition");
+    var stockPosition = globals.cam.get("stockPosition");
     var stockNum = 0;//position of stock in stock array
-    var multStockPositions = globals.assembler.get("multipleStockPositions");
-    var stockSeparation = globals.assembler.get("stockSeparation");
-    var stockArraySize = globals.assembler.get("stockArraySize");
+    var multStockPositions = globals.cam.get("multipleStockPositions");
+    var stockSeparation = globals.cam.get("stockSeparation");
+    var stockArraySize = globals.cam.get("stockArraySize");
     var self = this;
 
-    globals.lattice.rasterCells(globals.assembler._getOrder(globals.assembler.get("camStrategy")), function(cell){
+    globals.lattice.rasterCells(globals.cam._getOrder(globals.cam.get("camStrategy")), function(cell){
         if (!cell) return;
         var thisStockPosition = _.clone(stockPosition);
         if (multStockPositions) {
@@ -266,9 +266,9 @@ Shopbot.prototype = Object.create(Machine.prototype);
 
 Shopbot.prototype._setDefaults = function(){
     Machine.prototype._setDefaults.call(this);
-    globals.assembler.set("camProcess", "shopbot");
+    globals.cam.set("camProcess", "shopbot");
     var boundingBox = globals.lattice.calculateBoundingBox();
-    globals.assembler.set("stockPosition", {x:0,y:boundingBox.max.y + 3*globals.lattice.yScale(),z:0});
+    globals.cam.set("stockPosition", {x:0,y:boundingBox.max.y + 3*globals.lattice.yScale(),z:0});
 };
 
 Shopbot.prototype._buildMeshes = function(callback){
@@ -307,7 +307,7 @@ God.prototype = Object.create(Machine.prototype);
 God.prototype._setDefaults = function(){
     Machine.prototype._setDefaults.call(this);
     var boundingBox = globals.lattice.calculateBoundingBox();
-    globals.assembler.set("stockPosition", {x:0,y:0,z:boundingBox.max.z + 5*globals.lattice.zScale()});
+    globals.cam.set("stockPosition", {x:0,y:0,z:boundingBox.max.z + 5*globals.lattice.zScale()});
 };
 
 God.prototype._buildMeshes = function(callback){
diff --git a/js/cam/MachineOneBit.js b/js/cam/MachineOneBit.js
index 80cd6729..4b719592 100644
--- a/js/cam/MachineOneBit.js
+++ b/js/cam/MachineOneBit.js
@@ -9,20 +9,20 @@ OneBitBot.prototype = Object.create(Machine.prototype);
 
 OneBitBot.prototype._setDefaults = function(){
     Machine.prototype._setDefaults.call(this);
-    globals.assembler.set("stockFixed", true);
+    globals.cam.set("stockFixed", true);
     var scale = globals.lattice.get("scale");
-    globals.assembler.set("stockPosition", {x:1.11*scale,y:0,z:1.14*scale});
-    globals.assembler.set("rapidHeight", 2*scale);
+    globals.cam.set("stockPosition", {x:1.11*scale,y:0,z:1.14*scale});
+    globals.cam.set("rapidHeight", 2*scale);
 };
 
 OneBitBot.prototype.setMachinePosition = function(){
-    if (!globals.assembler) return;
-    this.position = globals.assembler.get("originPosition");
+    if (!globals.cam) return;
+    this.position = globals.cam.get("originPosition");
     var self = this;
     _.each(_.values(this.meshes), function(mesh){//todo add cell?
         mesh.position.set(self.position.x, self.position.y, self.position.z);
     });
-    var stockPosition = globals.assembler.get("stockPosition");
+    var stockPosition = globals.cam.get("stockPosition");
     this.cell.moveTo(stockPosition.x, "x");
     this.cell.moveTo(stockPosition.y, "y");
     this.cell.moveTo(stockPosition.z, "z");
diff --git a/js/cam/ShopbotExporter.js b/js/cam/ShopbotExporter.js
index 85de5cac..73f3c4a7 100644
--- a/js/cam/ShopbotExporter.js
+++ b/js/cam/ShopbotExporter.js
@@ -10,9 +10,9 @@ ShopbotExporter.prototype.makeHeader = function(){
     //data += this.addLine("FG", [], "single step mode");
     data += this.addLine("SA", [], "absolute distances");
     data += this.addLine("SM", [], "move/cut mode");
-    var rapidSpeeds = globals.assembler.get("rapidSpeeds");
+    var rapidSpeeds = globals.cam.get("rapidSpeeds");
     data += this.addLine("JS", [rapidSpeeds.xy, rapidSpeeds.z], "jog speed xy, z");
-    var feedRate = globals.assembler.get("feedRate");
+    var feedRate = globals.cam.get("feedRate");
     data += this.addLine("MS", [feedRate.xy, feedRate.z], "move speed xy, z");
     data += this.goHome();
     return data;
@@ -64,7 +64,7 @@ ShopbotExporter.prototype.moveZ = function(z){
 };
 
 ShopbotExporter.prototype.goHome = function(){
-    var data = this.rapidZ(globals.assembler.get("rapidHeight"));
+    var data = this.rapidZ(globals.cam.get("rapidHeight"));
     data += this.rapidXY(0,0);
     return data;
 };
@@ -100,9 +100,9 @@ ShopbotExporter.prototype.simulate = function(line, machine, wcs,  callback){
         return callback();
     }
     if (line[0] == "J"){
-        return this._simulateGetPosition(line, globals.assembler.get("rapidSpeeds"), machine, wcs, callback);
+        return this._simulateGetPosition(line, globals.cam.get("rapidSpeeds"), machine, wcs, callback);
     } else if (line[0] == "M"){
-        return this._simulateGetPosition(line, globals.assembler.get("feedRate"), machine, wcs, callback);
+        return this._simulateGetPosition(line, globals.cam.get("feedRate"), machine, wcs, callback);
     } else {
         console.warn("problem parsing sbp " + line);
         return callback();
diff --git a/js/cam/TinyGExporter.js b/js/cam/TinyGExporter.js
index 0f4d75a3..bc8bd341 100644
--- a/js/cam/TinyGExporter.js
+++ b/js/cam/TinyGExporter.js
@@ -48,13 +48,13 @@ TinyGExporter.prototype.engageZAxis = function(type, cellPosition, cell, wcs){
 };
 
 TinyGExporter.prototype.simulate = function(line, machine, wcs,  callback){
-    var rapidSpeed = globals.assembler.get("rapidSpeeds");
-    var rapidHeight = globals.assembler.get("rapidHeight");
+    var rapidSpeed = globals.cam.get("rapidSpeeds");
+    var rapidHeight = globals.cam.get("rapidHeight");
     if (line == "(home)"){
         return machine.moveTo("", "", rapidHeight, rapidSpeed, wcs, callback);
     } else if (line[0]=="M"){
         if (line == "M3 M5 M4 M5 M3 M5"){//get stock
-            var stockPosition = globals.assembler.get("stockPosition");
+            var stockPosition = globals.cam.get("stockPosition");
             return this.simulateZ(machine, rapidSpeed, wcs, rapidHeight, stockPosition.z-wcs.z, function(){
                 machine.pickUpStock();
             }, callback);
@@ -75,8 +75,8 @@ TinyGExporter.prototype.simulate = function(line, machine, wcs,  callback){
 };
 
 TinyGExporter.prototype.simulateZ = function(machine, rapidSpeed, wcs, rapidHeight, height, action, callback){
-    var feedRate = globals.assembler.get("feedRate");
-    var safeHeight = globals.assembler.get("safeHeight");
+    var feedRate = globals.cam.get("feedRate");
+    var safeHeight = globals.cam.get("safeHeight");
     return machine.moveTo("", "", height+safeHeight, rapidSpeed, wcs, function(){
         machine.moveTo("", "", height, feedRate, wcs, function(){
             action();
diff --git a/js/cam/Assembler.js b/js/cam/cam.js
similarity index 99%
rename from js/cam/Assembler.js
rename to js/cam/cam.js
index 9fb89cc7..397fa433 100644
--- a/js/cam/Assembler.js
+++ b/js/cam/cam.js
@@ -2,7 +2,7 @@
  * Created by aghassaei on 3/10/15.
  */
 
-Assembler = Backbone.Model.extend({
+Cam = Backbone.Model.extend({
 
     defaults: {
         camStrategy: "raster",
diff --git a/js/main.js b/js/main.js
index 68b781ba..1f2a48e7 100644
--- a/js/main.js
+++ b/js/main.js
@@ -17,7 +17,7 @@ $(function(){
     globals.appState = new AppState();
     globals.lattice = new Lattice();
     globals.lattice.delayedInit();//todo need this?
-    globals.assembler = new Assembler({appState: globals.appState, lattice:globals.lattice});
+    globals.cam = new Cam({appState: globals.appState, lattice:globals.lattice});
     globals.fileSaver = GlobalFilesaver();
 
     //ui
diff --git a/js/menus/AnimationMenuView.js b/js/menus/AnimationMenuView.js
index 35e20b6f..5ac81632 100644
--- a/js/menus/AnimationMenuView.js
+++ b/js/menus/AnimationMenuView.js
@@ -23,31 +23,31 @@ AnimationMenuView = Backbone.View.extend({
         //bind events
         this.listenTo(this.model, "change:stockSimulationPlaying", this.render);
         var self = this;
-        this.listenTo(globals.assembler, "change", function(){
+        this.listenTo(globals.cam, "change", function(){
             //ignore simLineNumber for render calls
-            if (_.isEqual(_.keys(globals.assembler.changedAttributes()), ["simLineNumber"])) return;
+            if (_.isEqual(_.keys(globals.cam.changedAttributes()), ["simLineNumber"])) return;
             self.render();
         });
-        this.listenTo(globals.assembler, "change:simLineNumber", this._drawGcodeHighlighter);
+        this.listenTo(globals.cam, "change:simLineNumber", this._drawGcodeHighlighter);
         $(document).bind('keyup', {state:false}, this._codeEdit);
         //this.$el.bind('resize', this._setEditorHeight);
     },
 
     _save: function(e){
         e.preventDefault();
-        globals.assembler.save();
+        globals.cam.save();
     },
 
     _postProcess: function(e){
         e.preventDefault();
-        globals.assembler.postProcess();
+        globals.cam.postProcess();
     },
 
     _codeEdit: function(e){
         var editor = $("#gcodeEditor");
         if (!editor.is(":focus")) return;
         e.preventDefault();
-        globals.assembler.makeProgramEdits(editor.text());
+        globals.cam.makeProgramEdits(editor.text());
     },
 
     _playStockSim: function(e){
@@ -62,19 +62,19 @@ AnimationMenuView = Backbone.View.extend({
 
     _resetStockSim: function(e){
         e.preventDefault();
-        globals.assembler.resetSimulation();
+        globals.cam.resetSimulation();
         this.render();
     },
 
     _changeSpeedSlider: function(e){
         e.preventDefault();
-        globals.assembler.set("simSpeed", Math.pow(2,$(e.target)[0].value));
+        globals.cam.set("simSpeed", Math.pow(2,$(e.target)[0].value));
     },
 
     _drawGcodeHighlighter: function(){
-        var lineNum = globals.assembler.get("simLineNumber");
+        var lineNum = globals.cam.get("simLineNumber");
         if (lineNum == 0) return;
-        var code = globals.assembler.get("dataOut").split("\n");
+        var code = globals.cam.get("dataOut").split("\n");
         code[lineNum] = "<span id='gcodeHighlighter'>" + code[lineNum] + " </span>";
         var newText = code.join("\n");
         var $editor = $('#gcodeEditor');
@@ -96,8 +96,8 @@ AnimationMenuView = Backbone.View.extend({
     render: function(){
         if (this.model.changedAttributes()["currentNav"]) return;
         if (this.model.get("currentTab") != "animate") return;
-        if (globals.assembler.get("needsPostProcessing") && !globals.assembler.get("editsMadeToProgram")) globals.assembler.postProcess();
-        this.$el.html(this.template(_.extend(this.model.toJSON(), globals.assembler.toJSON())));
+        if (globals.cam.get("needsPostProcessing") && !globals.cam.get("editsMadeToProgram")) globals.cam.postProcess();
+        this.$el.html(this.template(_.extend(this.model.toJSON(), globals.cam.toJSON())));
         this._setEditorHeight();
         this._drawGcodeHighlighter();//in case of code pause
 
diff --git a/js/menus/AssemblerMenuView.js b/js/menus/AssemblerMenuView.js
index bb7d038b..902f8a29 100644
--- a/js/menus/AssemblerMenuView.js
+++ b/js/menus/AssemblerMenuView.js
@@ -13,7 +13,7 @@ AssemblerMenuView = Backbone.View.extend({
     initialize: function(){
 
         _.bindAll(this, "render", "_onKeyup");
-        this.listenTo(globals.assembler, "change", this.render);
+        this.listenTo(globals.cam, "change", this.render);
         $(document).bind('keyup', {}, this._onKeyup);
     },
 
@@ -26,15 +26,15 @@ AssemblerMenuView = Backbone.View.extend({
         e.preventDefault();
         var newVal = $(e.target).val();
         if (newVal.length<3) return;//todo this isn't quite right
-        globals.assembler.set("placementOrder", newVal);
-//        globals.assembler.trigger("change:placementOrder");
+        globals.cam.set("placementOrder", newVal);
+//        globals.cam.trigger("change:placementOrder");
     },
 
     render: function(){
         if (this.model.changedAttributes()["currentNav"]) return;
         if (this.model.get("currentTab") != "assembler") return;
         if ($("input").is(":focus")) return;
-        this.$el.html(this.template(_.extend(this.model.toJSON(), globals.assembler.toJSON(), globals.lattice.toJSON(), globals.plist)));
+        this.$el.html(this.template(_.extend(this.model.toJSON(), globals.cam.toJSON(), globals.lattice.toJSON(), globals.plist)));
     },
 
     template: _.template('\
diff --git a/js/menus/CamMenuView.js b/js/menus/CamMenuView.js
index c5d1ccd2..2d3fe183 100644
--- a/js/menus/CamMenuView.js
+++ b/js/menus/CamMenuView.js
@@ -17,7 +17,7 @@ CamMenuView = Backbone.View.extend({
 
         _.bindAll(this, "render");
         //bind events
-        this.listenTo(globals.assembler, "change", this.render);
+        this.listenTo(globals.cam, "change", this.render);
         this.listenTo(this.model, "change", this.render);
         this.listenTo(globals.lattice, "change", this.render);
     },
@@ -29,7 +29,7 @@ CamMenuView = Backbone.View.extend({
 
     _save: function(e){
         e.preventDefault();
-        globals.assembler.save();
+        globals.cam.save();
     },
 
     render: function(){
@@ -37,15 +37,15 @@ CamMenuView = Backbone.View.extend({
         if (this.model.get("currentTab") != "cam") return;
         if ($("input").is(":focus")) return;
 
-        var data = _.extend(this.model.toJSON(), globals.assembler.toJSON(), globals.lattice.toJSON(), globals.plist);
-        if (globals.assembler.get("stockPositionRelative")){
+        var data = _.extend(this.model.toJSON(), globals.cam.toJSON(), globals.lattice.toJSON(), globals.plist);
+        if (globals.cam.get("stockPositionRelative")){
             var relStockPos = {};
             relStockPos.x = data.stockPosition.x - data.originPosition.x;
             relStockPos.y = data.stockPosition.y - data.originPosition.y;
             relStockPos.z = data.stockPosition.z - data.originPosition.z;
             data.stockPosition = relStockPos;
         }
-        if (!globals.assembler.get("rapidHeightRelative")){
+        if (!globals.cam.get("rapidHeightRelative")){
             data.rapidHeight = data.rapidHeight + data.originPosition.z;
         }
         this.$el.html(this.template(data));
diff --git a/js/menus/MenuWrapperView.js b/js/menus/MenuWrapperView.js
index 8333af1f..f580fe10 100644
--- a/js/menus/MenuWrapperView.js
+++ b/js/menus/MenuWrapperView.js
@@ -72,11 +72,11 @@ MenuWrapper = Backbone.View.extend({
         var key = $target.data("key");
 
         //some numbers are relative
-        if (property == "stockPosition" && globals.assembler.get(property + "Relative")){
-            if (key) newVal = parseFloat((newVal + globals.assembler.get("originPosition")[key]).toFixed(4));
+        if (property == "stockPosition" && globals.cam.get(property + "Relative")){
+            if (key) newVal = parseFloat((newVal + globals.cam.get("originPosition")[key]).toFixed(4));
             else console.warn("no key found for " + property);
-        } else if (property == "rapidHeight" && !globals.assembler.get(property + "Relative")){
-            newVal = parseFloat((newVal - globals.assembler.get("originPosition")["z"]).toFixed(4));
+        } else if (property == "rapidHeight" && !globals.cam.get(property + "Relative")){
+            newVal = parseFloat((newVal - globals.cam.get("originPosition")["z"]).toFixed(4));
         }
 
         if (key){
@@ -84,13 +84,13 @@ MenuWrapper = Backbone.View.extend({
                 globals.lattice.get(property)[key] = newVal;
                 globals.lattice.trigger("change:"+property);
             } else if ($target.hasClass("assembler")) {
-                globals.assembler.get(property)[key] = newVal;
-                globals.assembler.trigger("change:"+property);
+                globals.cam.get(property)[key] = newVal;
+                globals.cam.trigger("change:"+property);
             }
             return;
         }
         if ($target.hasClass("lattice")) globals.lattice.set(property, newVal);
-        else if ($target.hasClass("assembler")) globals.assembler.set(property, newVal);
+        else if ($target.hasClass("assembler")) globals.cam.set(property, newVal);
     },
 
     _makeDropdownSelection: function(e){
@@ -99,7 +99,7 @@ MenuWrapper = Backbone.View.extend({
         var value = $target.data("value");
         if (!property || !value) return;
         if ($target.hasClass("lattice")) globals.lattice.set(property, value);
-        else if ($target.hasClass("assembler")) globals.assembler.set(property, value);
+        else if ($target.hasClass("assembler")) globals.cam.set(property, value);
     },
 
     _clickCheckbox: function(e){
@@ -112,7 +112,7 @@ MenuWrapper = Backbone.View.extend({
             return;
         }
         if ($target.hasClass("lattice")) globals.lattice.set(property, !globals.lattice.get(property));
-        else if ($target.hasClass("assembler")) globals.assembler.set(property, !globals.assembler.get(property));
+        else if ($target.hasClass("assembler")) globals.cam.set(property, !globals.cam.get(property));
     },
 
     _clearCells: function(e){
diff --git a/js/models/GlobalFileSaver.js b/js/models/GlobalFileSaver.js
index 23ed5feb..683b5890 100644
--- a/js/models/GlobalFileSaver.js
+++ b/js/models/GlobalFileSaver.js
@@ -43,8 +43,8 @@ function GlobalFilesaver(){
     }
 
     function _getAssemblerDataToSave(){
-        var assemblerData = _.omit(globals.assembler.toJSON(), ["origin", "stock", "exporter", "appState", "lattice", "machine", "simLineNumber"]);
-        if (!globals.assembler.get("editsMadeToProgram")) assemblerData.dataOut = "";
+        var assemblerData = _.omit(globals.cam.toJSON(), ["origin", "stock", "exporter", "appState", "lattice", "machine", "simLineNumber"]);
+        if (!globals.cam.get("editsMadeToProgram")) assemblerData.dataOut = "";
         return assemblerData;
     }
 
@@ -68,7 +68,7 @@ function GlobalFilesaver(){
             globals.lattice.set(key, data.lattice[key], {silent:silent});
         });
         _.each(_.keys(data.assembler), function(key){
-            globals.assembler.set(key, data.assembler[key]);
+            globals.cam.set(key, data.assembler[key]);
         });
     }
 
diff --git a/js/threeViews/ThreeView.js b/js/threeViews/ThreeView.js
index 121aba55..779d9a69 100644
--- a/js/threeViews/ThreeView.js
+++ b/js/threeViews/ThreeView.js
@@ -65,7 +65,7 @@ ThreeView = Backbone.View.extend({
         if (globals.appState.get("currentTab") == "cam" && globals.appState.get("manualSelectOrigin")){
             var position = globals.highlighter.getHighlightedObjectPosition();
             if (position){
-                globals.assembler.set("originPosition", position);
+                globals.cam.set("originPosition", position);
                 globals.appState.set("manualSelectOrigin", false);
                 return;
             }
-- 
GitLab