setValueAt(index, value) {
		this.data[index] = value;
		// If the index is within the rendered range, update the display
		if (index >= this.startIndex && index < this.startIndex + this.visibleByteCount) {
			const hexSpan = this.hexview.querySelector(`span[data-byte-index="${index}"]`);
			const textSpan = this.textview.querySelector(`span[data-byte-index="${index}"]`);
			if (hexSpan) hexSpan.textContent = value.toString(16).padStart(2, '0');
			if (textSpan) {
				let text = _byteToChar(value);
				if (text === " ") text = "\u00A0";
				else if (text === "-") text = "\u2011";
				textSpan.textContent = text;
				if (text === _NON_PRINTABLE_CHAR) {
					textSpan.classList.add("non-printable");
				} else {
					textSpan.classList.remove("non-printable");
				}
			}
		}
	}
Sets the value at a specific index in the data and updates the view if necessary.

@param {number} index - The byte index to set.
@param {number} value - The value to set.