mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
A plug-in's dialog (Effect › Plug-ins, Object › Plug-ins) lays out each parameter of its manifest as a row, and a manifest may declare up to 64. With many of them the dialog ran off the top and the bottom of the window, its heading and its OK and Cancel buttons off screen. A plug-in of 64 number parameters got a dialog 2,329 px tall, its top at y = -755 in a 900 px window. modal::scrolled_rows() puts rows in a vertical scroll area as tall as the screen less the rest of the modal window and its edge gaps. modal::show_at() measures that rest once it has drawn the window, for the next frame, and asks for that frame at once if the rest changed. The dialog then fits without waiting for input. schema_fields() puts the parameter grid in it, for filters and effects alike. A dialog of a few parameters is as tall as before. a_plug_in_dialog_of_many_settings_fits_the_window opens an effect's and a filter's dialog of 64 parameters in a 1280 × 900 window, and one of 4. Before the change it failed with "effect: the dialog is at [[457.0 -755.0] - [823.0 1574.0]] in the [1280.0 900.0] window". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HhvnnnD5fTFupK8WWq35un