<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guess-market/tools/package.sh, branch 2.0</title>
<subtitle>definitely not polymarket
</subtitle>
<id>https://git.sartin.in/guess-market/atom?h=2.0</id>
<link rel='self' href='https://git.sartin.in/guess-market/atom?h=2.0'/>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/'/>
<updated>2026-08-23T15:10:32Z</updated>
<entry>
<title>openjfx: ship native libraries so the desktop UI can launch on Windows</title>
<updated>2026-08-23T15:10:32Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-23T15:10:32Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=c0dde6531e831730c25230097fd85a8a38214101'/>
<id>urn:sha1:c0dde6531e831730c25230097fd85a8a38214101</id>
<content type='text'>
lib/openjfx held only the JavaFX API jars, with no Prism/Glass native
libraries backing them. At startup JavaFX tried the d3d then sw
rendering pipelines and both failed to load, since NativeLibLoader had
no native code to find, crashing before any window opened.

Bump the jars to 25.0.4 to match the target JDK and add the matching
native DLLs alongside them. Drop the web/media/swt/swing jars and
their natives (including the 92MB jfxwebkit.dll) since ui-desktop
never references those modules.

Update package.sh to also stage *.dll files when copying runtime libs
into build/dist, and point java.library.path at lib/openjfx in the
generated run-*.bat so the natives are found at launch.
</content>
</entry>
<entry>
<title>model: relocate market DTOs out of the flat api package</title>
<updated>2026-08-23T14:05:29Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-23T14:05:29Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=843820ea9f357220d69f3795f3289ee41eed355c'/>
<id>urn:sha1:843820ea9f357220d69f3795f3289ee41eed355c</id>
<content type='text'>
Move AccountDTO/MarketDTO/MarketStateDTO/PurchaseReceiptDTO/TradeRowDTO
out of the catch-all api package into model.market (and LedgerDTO into
model.ledger), matching the existing model.event convention so DTOs
live next to the domain they describe rather than in the interface
package. Relocate LedgerMapper from mapper.v2 to infrastructure.adapter
to match the module's established package layout, and update all call
sites and imports accordingly.

Also register the ui-desktop module in the build tooling: add it to
MODULES, add openjfx to the shipped runtime libs, and generalize
package.sh so each executable module (ui-console, ui-desktop) gets its
own Main-Class/Class-Path manifest and run script instead of
special-casing ui-console. Fold long Class-Path manifest lines at 72
bytes per the JAR spec, since adding ui-desktop's dependencies pushed
the line past the limit.
</content>
</entry>
<entry>
<title>Break down purchase receipts by cost/commission, harden XML validation and state I/O</title>
<updated>2026-08-18T15:19:50Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-18T15:19:50Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=755d2265054e5140e82d322681566c3034583c95'/>
<id>urn:sha1:755d2265054e5140e82d322681566c3034583c95</id>
<content type='text'>
Adds a full pre-load validation pass for GM XML seeds (ids, names,
options, commission, LMSR liquidity), replaces IO.print with
System.out, and surfaces detailed error messages across load/save
commands instead of generic failures.
</content>
</entry>
<entry>
<title>Add XML schema validation, split build scripts by module, rename BuyMenuCommand to PlaceOrderMenuCommand</title>
<updated>2026-08-18T06:52:47Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-18T06:52:47Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=d2688a197bd680580699f05e8194f9180e4832fa'/>
<id>urn:sha1:d2688a197bd680580699f05e8194f9180e4832fa</id>
<content type='text'>
Introduces XMLValidatorV1 and deserializer/adapter classes for events, ledgers,
markets, users, and trading mechanisms. Replaces the monolithic build.bat/run.sh
scripts with per-module tools (_util.sh, build.sh, package.sh, test.sh) that
compile in dependency order.
</content>
</entry>
</feed>
