4 Commits
Author SHA1 Message Date
IllusionandClaude Opus 5 5776c4924d fix: don't start the app from main() on android; use the real inset retry
main() must not run real_main on android. The library's DT_INIT points at Odin's
_odin_entry_point, which the loader runs the moment NativeActivity dlopens
libmain.so -- before the glue calls android_main, so context.user_ptr is nil and
backend_init faults writing app.onAppCmd. The proc still has to exist: package
main requires it and it is the desktop entry point.

The insets retry now uses request_render_at. A plain request_render made before
the build is consumed by the frame it is running in, so it schedules nothing and
the loop parks with insets unresolved; it only appeared to work because the
first frames redraw anyway while the tree settles.

Guards the JNI-only paths (show_toast, refresh_insets) behind the android
subtarget so the shared real_main is usable on desktop. refresh_insets returns
true there rather than false: zero insets are correct where there are no system
bars, and returning false would retry every frame forever.

Also declares appCategory=game, and enables the engine's frame timings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 20:30:45 +02:00
Illusion 3cdbf90de1 fix: only render on changes 2026-09-04 16:07:32 +02:00
Illusion 0419237433 Material3 components 2026-09-04 14:26:42 +02:00
Illusion 891fadca85 initial commit 2026-09-03 10:44:30 +02:00