pf_app/ui
Paul Trowbridge 770e22d865 Make a named price hold, and keep the three scale boxes footing
A price target on its own was a no-op on price. The panel greys the plug
out when a price is named and does not send it, so the server read it as
its 'volume' default and scaled qty by the dollar change too, putting price
straight back where it started. The price branch also read only a qty
target, so a qty change or % sized the dollars on the old qty; took the
fixed qty off a qty target but not the fixed dollars off the value; and let
a dollar figure outrank the price outright. Now the named price holds and
the other named measure decides the rest -- qty holds, or lands as named,
or falls out of the dollars -- on the basis the panel measures against.
All three at once is refused.

The panel's boxes foot: at most two are inputs and the third is derived.
Typing a third drops one -- the plug decides when dollars came last, else
the older of the other two -- and the request is built from the same
resolver, so what is posted is what is shown. The plug control is now
"Moves": it lights whatever the edit moves, both if both do, and takes a
click only while it is the one deciding.

Known rough edge: with all three typed and dollars last, the choice is
really which earlier number to keep, and "Volume" there moves price too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 22:24:00 -04:00
..
public Scaffold React/Vite/Tailwind UI with 3-step Setup → Baseline → Forecast flow 2026-04-25 16:28:45 -04:00
src Make a named price hold, and keep the three scale boxes footing 2026-09-28 22:24:00 -04:00
vendor Let a blank tree label take the click as well as draw the caret 2026-09-22 00:19:15 -04:00
.gitignore Scaffold React/Vite/Tailwind UI with 3-step Setup → Baseline → Forecast flow 2026-04-25 16:28:45 -04:00
eslint.config.js Scaffold React/Vite/Tailwind UI with 3-step Setup → Baseline → Forecast flow 2026-04-25 16:28:45 -04:00
index.html Load Perspective from bundle, not CDN; pin all packages at 5.2.0 2026-08-17 21:30:19 -04:00
package-lock.json Let a blank tree label take the click as well as draw the caret 2026-09-22 00:19:15 -04:00
package.json Vendor a Perspective build that applies depth on a config update 2026-09-17 10:47:09 -04:00
README.md Scaffold React/Vite/Tailwind UI with 3-step Setup → Baseline → Forecast flow 2026-04-25 16:28:45 -04:00
vite.config.js Scaffold React/Vite/Tailwind UI with 3-step Setup → Baseline → Forecast flow 2026-04-25 16:28:45 -04:00

React + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.