* Add extensible building placement module for strategy/ETS games
Introduce eve.Building with data-driven definitions, grid occupancy worlds,
ghost previews, and pluggable validate/snap/change hooks. Includes design docs,
user module guide, unit tests, and a gitignore fix so build*/ no longer ignores
src/modules/building/.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* fix(building): preserve free-snap world pose on placeAtWorld
placeAtWorld now keeps the snap rule's worldX/worldY on the placed
instance instead of always rewriting to the cell origin, so free and
custom snap modes stay accurate for ETS-style soft placement.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* Add examples/building town placement sandbox demo
Interactive demo covering grid snap ghost preview, terrain (dock on water),
road adjacency (stall), L-mask barn, rotate/remove, and resource costs.
Also adds make building shortcut, docs links, and a unit test locking the
demo building definitions.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* fix(ci): vendor CesiumMan test assets to avoid flaky Linux SSL download
Linux CI failed linking unit_test when PRE_BUILD curl hit a self-signed
certificate fetching CesiumMan from api.github.com. Commit the ~464 KiB
glTF fixture, skip download when files are present, and add curl retries
with explicit CA bundle for refresh runs.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>