comparison · c_35dc6601c89d (tommy-mor) vs c_254ba025ef2e (tommy-mor)
Side B is a focused, coherent UI fix: it pins vote controls into a bottom HUD, updates CSS/JS accordingly, and adds/updates tests (mod.rs, integration_ui.rs) to verify the new markup and behavior. Side A is a raw dump of a full 929-line mod.rs file with no diff context (appears to be a whole-file add rather than an incremental change), making it hard to assess as a genuine, reviewable commit, and it lacks any test coverage tied to the change itself.
A introduces lasting infrastructure: a reusable JsBuilder/JsQueryBuilder for server-driven morph/redirect scripts plus core layout, theming, linkify, and embed rendering with tests. B is a focused, polished vote-compare HUD (fixed bar, CSS/JS slider state, tests) but only rearranges existing controls and does not match that foundational scope.
Side A introduces a substantial HTML/UI infrastructure module with reusable functionality: a `JsBuilder` abstraction for generating UI responses, theme handling and cookie persistence, static asset serving, shared layout functions, linkification with garden-aware routing, rich media embedding, breadcrumb utilities, and accompanying tests. Side B is a focused UX improvement that reorganizes vote controls into a fixed bottom HUD, updates CSS/JS for the slider, and adds regression tests, but it builds on existing infrastructure rather than creating broadly reusable project capabilities.
comparison · c_254ba025ef2e (tommy-mor) vs c_9c6e7864a657 (tommy-mor)
Side A introduces the actual feature (a fixed compact bottom HUD with slider, ratio, and actions), restructuring vote.rs and CSS to enable a real UX improvement, plus adds tests verifying the new structure. Side B is a smaller polish/bugfix pass on top of A's HUD (fixed column widths to prevent reflow, winner-colored slider track), which is useful but incremental and entirely dependent on A's groundwork.
A introduces the pinned vote HUD itself: new markup (vote_hud_form), page structure, fixed bottom bar CSS, removal of repeated item titles, and the --vote-slider-pct hook—core lasting UX design. B only polishes that HUD with fixed column widths to stop reflow and data-winner track coloring, which is useful but incremental on top of A.
Side A introduces the core vote HUD architecture by extracting a new fixed bottom control form, restructuring the compare page, updating JavaScript to drive the slider state and accessibility, and adding substantial CSS plus integration/tests to support the new always-visible workflow. Side B is a refinement on top of that foundation, improving layout stability with fixed column widths and making the slider track visually indicate the leading side via a new data attribute, but it is primarily a UX polish rather than a fundamental capability.