Added Rail Adjust stops from overshooting up and down
Added Rail Adjust stops from overshooting up and down
Added face drag stops from overshooting up and down

--- a/source/lib/scripts/CabinetEditor/CabinetEditor.js
+++ b/source/lib/scripts/CabinetEditor/CabinetEditor.js
@@ -609,7 +609,16 @@
 		this.fv_buffer_ctx.save();

 

 		this.fv_buffer_ctx.scale(this.scale_fv, this.scale_fv);

+

+		// Draw floor line

+		this.fv_buffer_ctx.lineWidth = 0.25;

+		this.fv_buffer_ctx.beginPath();

+		this.fv_buffer_ctx.moveTo(0, this.schematic.ceiling_height+10);

+		this.fv_buffer_ctx.lineTo(this.fv_canvas.width / this.scale_fv, this.schematic.ceiling_height+10);

+		this.fv_buffer_ctx.stroke();

+

 		this.fv_buffer_ctx.translate(this.schematic.offset_x_fv, (this.schematic.ceiling_height+10.0));

+

 		it = this.schematic.objectIterator();

 		while(it.hasNext()){

 

@@ -644,7 +653,7 @@
 

 		// Tool Hud

 		this.active_tool.renderFrontView(this.fv_buffer_ctx);

-

+		

 		// Clear screen

 		this.fv_ctx.clearRect(0, 0, this.fv_canvas.width, this.fv_canvas.height);

 		this.fv_ctx.drawImage(this.fv_buffer_layer, 0, 0);


--- a/source/lib/scripts/CabinetEditor/Picks/Item/Detail/FaceDragPick.js
+++ b/source/lib/scripts/CabinetEditor/Picks/Item/Detail/FaceDragPick.js
@@ -59,19 +59,27 @@
 
 	FaceDragPick.prototype.pickAction = function(x, y, editor){
 
+		var d_y, nh1, nh2;
+
 		this.cur_y = y;
 
-		var d_y = editor.snapDistance(this.init_y - y);
+		d_y = editor.snapDistance(this.init_y - y);
 
-		if(this.above_height != null)
-			this.face.fronts[this.face_index-this.rs].setHeight(this.above_height-d_y);
-		else
-			this.object.d = this.init_d + d_y;
+		nh1 = this.above_height - d_y;
+		nh2 = this.below_height + d_y;
 
-		if(this.below_height != null)
-			this.face.fronts[this.face_index+this.rs].setHeight(this.below_height+d_y);
-		else
-			this.object.d = this.init_d - d_y;
+		if(nh1 < 1){
+			d_y -= 1 - nh1;
+		}
+		else if(nh2 < 1){
+			d_y += 1 - nh2;
+		}
+
+		nh1 = this.above_height - d_y;
+		nh2 = this.below_height + d_y;
+
+		this.face.fronts[this.face_index-this.rs].setHeight(nh1);
+		this.face.fronts[this.face_index+this.rs].setHeight(nh2);
 
 	};
 

--- a/source/lib/scripts/CabinetEditor/Picks/Item/Detail/RailLengthPick.js
+++ b/source/lib/scripts/CabinetEditor/Picks/Item/Detail/RailLengthPick.js
@@ -64,13 +64,36 @@
 
 	RailLengthPick.prototype.pickAction = function(x, y, editor){
 
+		var d_y, nh1, nh2;
+
 		this.cur_y = y;
 
-		var d_y = editor.snapDistance(this.init_y - y);
-		this.face.fronts[this.face_index].setHeight(this.init_h - d_y*this.dir);
+		d_y = editor.snapDistance(this.init_y - y);
+
+		nh1 = this.init_h - d_y*this.dir;
+		nh2 = this.adj_height + d_y*this.dir;
+
+		if(nh1 < 1){
+
+			d_y -= (1 - nh1) * this.dir;
+
+			nh1 = this.init_h - d_y*this.dir;
+			nh2 = this.adj_height + d_y*this.dir;
+
+		}
+		else if(nh2 < 1){
+
+			d_y += (1 - nh2) * this.dir;
+
+			nh1 = this.init_h - d_y*this.dir;
+			nh2 = this.adj_height + d_y*this.dir;
+
+		}
+
+		this.face.fronts[this.face_index].setHeight(nh1);
 
 		if(this.adj_height != null)
-			this.face.fronts[this.face_index+this.dir].setHeight(this.adj_height + d_y*this.dir);
+			this.face.fronts[this.face_index+this.dir].setHeight(nh2);
 
 	};
 

--- a/source/lib/scripts/CabinetEditor/Schematic/Other/WallInserts/BayWindow.js
+++ b/source/lib/scripts/CabinetEditor/Schematic/Other/WallInserts/BayWindow.js
@@ -164,7 +164,7 @@
 			ctx.lineTo(  this.centerWidth / 2,  this.d / 2);
 			ctx.stroke();
 
-			ctx.font = "3pt Arial"; // TODO This shouldent be like this figure it out and fix it
+			ctx.font = "3pt Arial"; // TODO This shouldn't be like this figure it out and fix it
 
 			txt = '▼'+Helper.nearestMultiple(this.z, 0.0625)+'"▼';	// TODO: global variable for number precision
 			txt_size = ctx.measureText(txt).width;