Quality is a goal, not a physics exemption
Every interpolation mixes neighboring pixels. A one-shot 400% stretch looks smeared because each new sample is a long-distance guess. This spoke is the quality-first recipe: start from the least-compressed master you still have (camera JPEG before the fifth re-export, PNG for graphics), convert HEIC first, scale in 2× Canvas steps, then apply a little sharpen. Contrast and brightness can restore punch that interpolation flattened. If the source is out of focus, sharpen will halo eyelashes and not restore the plane of focus — recapture. If the source is a 640 px web scrape, you will get a bigger blur, not a magazine cover. Stay under 10,000 px per side. After export, zoom to 100% on a calibrated screen; if you see ringing, back off sharpen. Compress last, and lightly — aggressive JPEG after a quality pass undoes the work. Crop first so you are not sharpening empty walls. This is not a 256-color GIF workflow; GIF makers posterize palettes, which is a different product. Here you stay in full-color rasters.