```ts
/** Lay a straight eastward conveyor run across a factory floor plan. */
export function layConveyor(floor: string[], row: number, col: number, length: number): string[] {
  if (row < 0 || row >= floor.length) {
    throw new Error("the run starts off the plan");
  }
  const cells = floor[row].split("");
  
  // Check for invalid positions or overlapping runs
  if (col + length > cells.length) {
    throw new Error("the run would pass beyond the last column");
  }

  for (let i = col; i < col + length; i++) {
    if (cells[i] !== ".") {
      throw new Error("a conveyor cell cannot be on a machine");
    }
  }

  // Lay the conveyor
  cells.slice(col, col + length).forEach((_, index) => {
    cells[col + index] = "=";
  });

  return floor.map((r, rIndex) => (rIndex === row ? cells.join("") : r));
}
```