Commit Graph

293 Commits

Author SHA1 Message Date
Cohee 256f0a58db
Merge pull request #2542 from SillyTavern/wi-slash-commands-performance-improvements
World Info: slash commands performance improvements
2024-07-22 22:51:53 +03:00
Cohee 1e2293713d Clone WI cache only on get 2024-07-22 22:34:53 +03:00
Cohee 8777526f8a Unasync getWorldEntry 2024-07-22 15:21:07 +00:00
Wolfsblvt d57e43df54 Remove not needed await on global context 2024-07-22 09:22:02 +02:00
Wolfsblvt 7cbaa15aad Fix double cloning and unnecessary await 2024-07-22 09:11:37 +02:00
Wolfsblvt 4acf68cc30 Explicitly use async for saveWorldInfo 2024-07-22 04:23:05 +02:00
Wolfsblvt 0975843f1d WI entry update slash commands use debounced
- WI entry updates utilize debounced save
- Trade-off between consistency of possible data loss and performance issues in STscript loops that update multiple things in a WI file are not worth it.
2024-07-22 03:22:20 +02:00
Wolfsblvt 731d2864de Proper caching for loaded WI
- Implement StructurecCloneMap, which is a map that provides structured clones on both get and set
- Don't delete WI cache on save, but update the cache
- Ensure that cache is updated immediately, so any future get will load the new saved data already
- Still be consistent with clones, so requested cache data that wasn't saved isn't taken into account
2024-07-22 03:17:06 +02:00
Wolfsblvt 41c709e291 WI slash only reload world if it was selected 2024-07-22 02:11:11 +02:00
Wolfsblvt 5ef6315b25 Allow values below entry count, just warn 2024-07-22 01:42:54 +02:00
Wolfsblvt 8e3f3e9331 WI update "Order" from custom sorting button
- Adds a button that automatically updates the "Order" values of entries based on the custom sorting order ("displayIndex")
- Shows popup to choose starting value, because it's descending (default: 100)
- shows warnings/errors if any issues appear with the value
- warning inside popup if more than 100 entries exist, and a higher value has to be chosen
- Implements #2533
2024-07-22 01:30:08 +02:00
Cohee 3c059d19ef #2529 Prioritize disabled for UI entry state 2024-07-19 01:54:49 +03:00
Cohee 42bc8af6f4 Add decorators to typedef 2024-07-14 23:13:19 +03:00
Cohee 2c1720d4f7 Merge staging 2024-07-14 23:04:54 +03:00
Cohee d2ca90bb2c Merge branch 'staging' into wi-processing-refactoring 2024-07-14 22:50:04 +03:00
Cohee 3fb83e47ec Run eslint 2024-07-14 14:07:23 +03:00
Cohee c90a25e0cd Fix import syntax 2024-07-12 01:19:34 +03:00
kwaroran 3b0e07d093 move decorators effect right before constant 2024-07-12 06:43:19 +09:00
kwaroran 33347f1c7c make decorator only parse once 2024-07-12 06:42:06 +09:00
kwaroran 2d0ad688f1 fix world info decorator fallback 2024-07-12 06:30:35 +09:00
Wolfsblvt f2089ed994 Linting in world-info.js 2024-07-11 23:23:26 +02:00
kwaroran c3185d34c7 Add v3 writing and decorators 2024-07-11 15:11:35 +09:00
Wolfsblvt 03a8b14a93 Change min activation scan to full increased range 2024-07-06 20:00:27 +02:00
Cohee 6dbbf89d65 #2482 Fix embedded content confirmation 2024-07-06 16:55:57 +03:00
Cohee c6e612f15a Add WI prefix to timed effect logs 2024-07-06 15:26:45 +03:00
Cohee 9327ee4b8e Log which entries actually end in the prompt 2024-07-06 15:07:02 +03:00
Cohee 34d6cdfbcc Merge branch 'staging' into wi-processing-refactoring 2024-07-06 14:58:48 +03:00
Wolfsblvt ff23808d3b Add WI toggle to include/exclude names in scanning 2024-07-06 03:23:02 +02:00
Wolfsblvt 5e89dc35e3 Fix min activations not checking recursion 2024-07-06 02:44:26 +02:00
Wolfsblvt 02989a9a78 Reduce nesting and simply WI check loop 2024-07-06 02:35:41 +02:00
Wolfsblvt 0b9431cd9a Remove double-loop nesting of WI key processing 2024-07-06 01:53:26 +02:00
Cohee b5f77a2164 Fix ESLint squigglies 2024-07-06 00:42:49 +03:00
Wolfsblvt e7382e184d Reduce log amount 2024-07-05 22:50:20 +02:00
Wolfsblvt 831773216a Refactor probability checking conditions
- This changes the flow and checking of the conditions on probability roles. Bit "bigger" refactoring
2024-07-05 21:59:31 +02:00
Wolfsblvt f7abd3f5d9 Break out on result of secondary key checks 2024-07-05 21:16:43 +02:00
Wolfsblvt 6da36c630e No need to get scan text for each key 2024-07-05 20:52:24 +02:00
Wolfsblvt 56c6955f23 WI entries with world name obj format
- Changed format of WI entry objects for debugging purposes. Moved the world name right after uid, so it looks better in debugger
2024-07-05 20:50:30 +02:00
Wolfsblvt dfa2236fba Refactor WI log messages
- This should only be changes to logging messages, and splitting some if into multiple blocks. No actual code/flow changes
2024-07-05 20:49:17 +02:00
Cohee be8eb19139 Fix enum value
I wasted @Wolfsblvt half an hour
2024-07-05 01:01:55 +03:00
Cohee 35b7fc3186 Ignore recurse buffer for min activation steps 2024-07-04 00:28:34 +03:00
Cohee 47b679202f Introduce a proper initial state 2024-07-04 00:18:46 +03:00
Cohee df67a7cdc4 #2467 Fix min activations for non-recursable entries 2024-07-03 23:42:27 +03:00
Cohee 79b8dc98eb Fix performance of WI editor when adding a new entry 2024-06-27 10:04:49 +00:00
Cohee 886b6fee64 Add WI entry delay 2024-06-26 22:43:30 +03:00
Wolfsblvt cd9013cf73 Update some WI confirm/input popups to new popup 2024-06-26 05:29:08 +02:00
Cohee 4b58a822db Fix off-by-one in timed effects. Add protected status 2024-06-24 11:51:04 +00:00
Cohee b89afe6d13 Ignore advancement requirement for immediately set cooldown 2024-06-24 03:13:27 +03:00
Cohee 8b9afff30d Generalize onEnded callbacks 2024-06-24 02:33:51 +03:00
Cohee 893f4f3ed6 Use raw metadata for set effect command 2024-06-24 01:28:37 +03:00
Cohee 14879af678 Add format variable to get timed effect command 2024-06-24 01:20:39 +03:00