src/vs/workbench/browser/layout.ts/Layout/isVisible
class Layout:	isVisible(part: Parts): boolean {
		switch (part) {
			case Parts.TITLEBAR_PART:
				// Using the native title bar, don't ever show the custom one
				if (getTitleBarStyle(this.configurationService) === 'native') {
					return false;
				}

				// macOS desktop does not need a title bar when full screen
				if (isMacintosh && isNative) {
					return !this.state.fullscreen;
				}

				// non-fullscreen native must show the title bar
				if (isNative && !this.state.fullscreen) {
					return true;
				}

				// remaining behavior is based on menubar visibility
				switch (this.state.menuBar.visibility) {
					case 'classic':
						return !this.state.fullscreen || this.state.menuBar.toggled;
					case 'compact':
					case 'hidden':
						return false;
					case 'toggle':
						return this.state.menuBar.toggled;
					case 'visible':
						return true;
					default:
						return isWeb ? false : !this.state.fullscreen || this.state.menuBar.toggled;
				}
			case Parts.SIDEBAR_PART:
				return !this.state.sideBar.hidden;
			case Parts.PANEL_PART:
				return !this.state.panel.hidden;
			case Parts.STATUSBAR_PART:
				return !this.state.statusBar.hidden;
			case Parts.ACTIVITYBAR_PART:
				return !this.state.activityBar.hidden;
			case Parts.EDITOR_PART:
				return !this.state.editor.hidden;
			default:
				return true; // any other part cannot be hidden
		}
	}