src/vs/workbench/contrib/terminal/browser/terminalInstance.ts/TerminalInstance/layout
class TerminalInstance:	layout(dimension: dom.Dimension): void {
		this._lastLayoutDimensions = dimension;
		if (this.disableLayout) {
			return;
		}

		// Don't layout if dimensions are invalid (eg. the container is not attached to the DOM or
		// if display: none
		if (dimension.width <= 0 || dimension.height <= 0) {
			return;
		}

		// Evaluate columns and rows, exclude the wrapper element's margin
		const terminalWidth = this._evaluateColsAndRows(dimension.width, dimension.height);
		if (!terminalWidth) {
			return;
		}

		this._resize();
		this.findWidget.rawValue?.layout(dimension.width);

		// Signal the container is ready
		this._containerReadyBarrier.open();
	}