CC:Tweaked dofile loads files with _G as environment, but Opus
injects require into the program's sandbox _ENV. All dofile'd
modules (especially display.lua) could not see require.
Also add dropperController to apps.db.
- Add autorun/startup.lua for Opus package integration:
- Detects role from config files (.manager_config, .client_config, etc.)
- Registers reboot listener as kernel hook
- Launches program via shell.openForegroundTab()
- Client role also opens dropperController in separate tab
- Override grid eventHandler on actionable grids (itemGrid, smeltTab,
craftTab) to emit grid_select on single mouse_click, enabling
monitor touch to trigger actions immediately instead of requiring
double-click
- Implemented main dashboard UI with item display, status bar, and pagination.
- Added touch zones for item ordering, quantity selection, and search functionality.
- Created smelter dashboard with tabs for status, smelting, crafting, and missing recipes.
- Integrated keyboard input for search queries and item management.
- Enhanced drawing functions for better UI representation and interaction.
- Add _baseDir/_path() resolution using shell.getRunningProgram() in all
entry-point scripts (inventoryManager, inventoryClient, craftingTurtle,
inventoryWebBridge)
- Pass _path function through to manager/config.lua for data/ and config files
- Config files (.manager_config, .inventory_cache, etc.) now resolve relative
to the package directory rather than CWD
- Exclude startup/ auto-updater scripts from Opus .package manifest
- All dofile() calls now use _path() for portable path resolution
- Implemented main dashboard UI with item selection, search functionality, and pagination.
- Added smelter dashboard with furnace status, crafting options, and recipe management.
- Introduced touch handlers for user interactions including item ordering and keyboard input.
- Integrated drawing helpers for UI elements and status messages.
- Established state management for UI updates and interactions.