diff --git a/.efrocachemap b/.efrocachemap index fcc6abb7..6db739f2 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4080,18 +4080,18 @@ "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/fb/46/34eada1e570cce2107cb55a033e8", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/1d/3e/be779b3740cda2a7d98418d4007a", "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/18/b7/4389f6000decbcde1044180b134a", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/a0/35/48a61b9ea9369bbe8e6bbb7a2d81", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/15/fa/f657184f4b7049dec6b9536a3cac", "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/01/b4/31635bc46cbda94cc73fc019d28c", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/8a/d9/0364942cd8fc9cebbb8b2e355455", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/07/65/ad3d172ccc9fa64c740654d0520c", "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d7/17/7f186bd856ea7bd18b2fc8d64639", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/fe/b8/9865abef73b150348a113fd2bcf0", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/f5/98/1a151f4155937cec4ac5a68157de", "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/19/ca/ae8153fb5fd0ea1045d386c31134", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/cb/54/ff08149cf2d0c2430e964ad0b9f3", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/fd/5b/aea65f345280262561c6ea046c5f", "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e2/8a/0ae529b92bcf4afe5d1c9c797e96", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/15/c2/f85086c32e40be84f46f26d90790", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/70/e5/266a0a37f2c7566624fdbc08f1bd", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/29/b2/723a9c0ac8c501cf0d313c7c98b0", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/ed/9a/a2611b9814196d2def42e363df94", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/7c/63/04f6b60329b003e8f6c7de88be64", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/27/4f/0ccc0d399b4e5d9152891cbe9899", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/b6/50/deb28410d237467f15756ddc3b4a", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/c8/49/976a5a3945513be88a7333f45ed0", "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d4/6a/dd303a200b98a56ba3b100277057", "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/fc/2c/2996c558fb408a548fdd37398c9a", "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ed/28/b7a72be7ae1bd2b58dda4b6902a0", @@ -4108,14 +4108,14 @@ "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/71/f6/691482915ad58ea1e953cc23d74c", "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b8/2b/6ec8c78980a62e3e0ee4b36ece04", "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4e/56/a95c987b2a371759896b037fea86", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/a7/b0/aae9f0f77bc4cf5b7367554e024f", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/81/6e/1cec831611669051695029bd1eeb", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/43/4e/0050d1d6d47cf785a498d9060d30", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/82/fb/c202aa3d4857dfa846afe049ed79", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/cd/27/e34e5ddcf8f5198adf6d896492c8", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/8e/e9/e4af2706ec10fb842743e9227b6a", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/37/b3/75a6d096d1b0801badc116e6b122", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/3b/c1/32817f574106264dfd67563d9ce1", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/24/fa/1099213d4278a9c07e7cc78422fe", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/98/2e/e9da72e9abcb19402f4f3f598124", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/51/46/b443a8e48e20a89bf7d5dfda08c1", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/fa/1a/a665cd357a0c47b5476ca0695b56", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/10/c5/6174658d59b884a77c5320a00b75", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/0f/e9/428ffa2a51f71dce52db4aa72a88", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/ab/77/7ae81a54808309eb040a8cf6d442", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/f7/0e/c267592aa4c5fe2a07f36a5aaa20", "src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa", "src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1", "src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/d5/4a/0e480a855ce83709bd7f6761107d", diff --git a/src/assets/ba_data/python/babase/_app.py b/src/assets/ba_data/python/babase/_app.py index 0d6a4871..44231679 100644 --- a/src/assets/ba_data/python/babase/_app.py +++ b/src/assets/ba_data/python/babase/_app.py @@ -34,7 +34,7 @@ if TYPE_CHECKING: from babase._appmode import AppMode # __FEATURESET_APP_SUBSYSTEM_IMPORTS_BEGIN__ - # This section autogenerated by project-update. + # This section generated by batools.appmodule; do not edit. from baclassic import ClassicSubsystem from baplus import PlusSubsystem @@ -320,7 +320,7 @@ class App: fut.add_done_callback(self._threadpool_no_wait_done) # __FEATURESET_APP_SUBSYSTEM_PROPERTIES_BEGIN__ - # This section autogenerated by project-update. + # This section generated by batools.appmodule; do not edit. @cached_property def classic(self) -> ClassicSubsystem | None: @@ -501,11 +501,24 @@ class App: assert _babase.in_logic_thread() class DefaultAppModeSelector(AppModeSelector): - """Decides which app modes to use to handle intents.""" + """Decides which app modes to use to handle intents. + + The behavior here is generated by the project updater based on + the set of feature-sets in the project. Spinoff projects can + also inject their own behavior by replacing the + __ADD_CUSTOM_SPINOFF_LOGIC_HERE__ comment with their own code. + + Note that it is also possible to modify mode selection behavior + by completely replacing the app.mode_selector with an instance + of a custom AppModeSelector subclass. This is probably the best + route for plugins wanting to do such things. + """ def app_mode_for_intent(self, intent: AppIntent) -> type[AppMode]: + # __ADD_CUSTOM_SPINOFF_LOGIC_HERE__ + # __DEFAULT_APP_MODE_SELECTION_BEGIN__ - # This section autogenerated by project-update. + # This section generated by batools.appmodule; do not edit. import bascenev1 diff --git a/tools/batools/appmodule.py b/tools/batools/appmodule.py index f8fd1551..437082d9 100755 --- a/tools/batools/appmodule.py +++ b/tools/batools/appmodule.py @@ -32,7 +32,7 @@ def generate_app_module( out = existing_data - info = '# This section autogenerated by project-update.' + info = f'# This section generated by {__name__}; do not edit.' indent = ' ' # Import modules we need for feature-set subsystems.