PostScript can certainly handle resizable windows (or "responsive" rendering as the kids are calling it these days).
See the heavily commented PizzaTool source code, which renders a color preview of your pizza in a resizable pizza shaped window (which you can spin) as well as faxing a hires black and white picture of the pizza with your order:
The Story of Sun Microsystems PizzaTool:
How I accidentally ordered my first pizza over the internet.
https://donhopkins.medium.com/the-story-of-sun-microsystems-...
PizzaTool PostScript source code:
https://www.donhopkins.com/home/archive/NeWS/pizzatool.txt
PizzaTool demo:
https://www.youtube.com/watch?v=avJnpDKHxPY&ab_channel=DonHo...
(Hmm, the video is stuck on that one, but it used to work. Is youtube broken for me or for everyone?)
https://donhopkins.medium.com/designing-to-facilitate-browsi...
>Designing to Facilitate Browsing: A Look Back at the Hyperties Workstation Browser (1991)
>Abstract
>Since browsing hypertext can present a formidable cognitive challenge, user interface design plays a major role in determining acceptability. In the Unix workstation version of Hyperties, a research-oriented prototype, we focussed on design features that facilitate browsing. We first give a general overview of Hyperties and its markup language. Customizable documents can be generated by the conditional text feature that enables dynamic and selective display of text and graphics. In addition we present:
>an innovative solution to link identification: pop-out graphical buttons of arbitrary shape.
>application of pie menus to permit low cognitive load actions that reduce the distraction of common actions, such as page turning or window selection.
>multiple window selection strategies that reduce clutter and housekeeping effort. We preferred piles-of-tiles, in which standard-sized windows were arranged in a consistent pattern on the display and actions could be done rapidly, allowing users to concentrate on the contents.
>[... here's what the kids these days call "responsive layout", but implemented in the late 1980's for NeWS HyperTIES:]
>Figure 2 shows many HML features that allow authors to create visually appealing pages while maintaining a consistent database format. First, many commands (.style, .size, .para, etc.) control the formatting of text and its position on the screen. Second the HML is a full programming language, allowing the creation of nested blocks, with local variables and macros. Although variables created inside a block are usually local, it is possible to create and make changes to global variables. Blocks are very useful in creating structural formatting, e.g. section headings are tagged, rather than having explicit commands for larger font, boldface, and line spacing. In Figure 2 the macro .indent makes use of blocks to obtain the desired formatting. Blocks together with macros are very useful to create style files, a set of macro definitions that can be used in any article in the database. In Figure 2, chap_name, sec_title and indent could have been defined in a style file. The use of any of them in any article would then guarantee consistency throughout the database.
>Style files guarantee consistency, thereby reducing the burden for authors and browsers. Also thoughtful use of style files could give further cues to lessen disorientation, e.g. major articles would be in larger fonts, while secondary articles might be in smaller fonts.
>[...]
>Each selection of a highlighted link can set a variable. Predicates on these variables can be tested to decide on whether one string or another is displayed. This permits optional text to be suppressed, selection of national languages, Ted Nelson’s “stretch text”, an outliner, and other features. Figure 3 gives an example of conditional text for a software installation manual (in our example, “Magic Paint”). This software package can be installed either on a Macintosh or an IBM PC. It provides for different configurations on each machine, different floppy disk sizes, one or two floppies, and hard disk options. When this storyboard is interpreted, users should already have indicated what configuration they possess, thereby setting the proper variables. Suppose the user has a Macintosh with two floppy drives, then the variables .macintosh and .dual_floppy would be set to true while the other variables would be set to false. This will cause the storyboard interpreter to generate a screen with information relevant to this user’s task.