Commit Graph

52 Commits

Author SHA1 Message Date
Salad Dais
ccfb641cc2 Add pixel artist example addon 2021-06-12 15:44:26 +00:00
Salad Dais
235bc8e09e Change TextureEntry type signatures to play nicer with type checker 2021-06-12 15:15:03 +00:00
Salad Dais
41fd67577a Add ability to wait on object-related events 2021-06-12 10:43:16 +00:00
Salad Dais
8347b341f5 Give default values for TextureEntry fields 2021-06-12 10:26:52 +00:00
Salad Dais
9d5599939e Add MCode enum definition 2021-06-12 08:54:34 +00:00
Salad Dais
003f37c3d3 Auto-request unknown objects when an avatar sits on them
We need to know about an avatar's parent to get their exact position
due to the Object.Position field always being relative to the parent.
2021-06-08 23:44:08 +00:00
Salad Dais
d64a07c04c Better guard to prevent accidental lazy serializable hydration 2021-06-08 18:57:57 +00:00
Salad Dais
5618bcbac1 Add new persistent (Proxy)Settings object, use to pass down settings 2021-06-08 16:55:19 +00:00
Salad Dais
24abc36df2 Correct AgentState enum definition 2021-06-07 12:56:39 +00:00
Salad Dais
9ceea8324a Fix templates.py reloading by importing importlib 2021-06-07 12:56:21 +00:00
Salad Dais
135ce06452 Rewrite ObjectManager to have WorldObjectManager own objects
This simplifies a lot of the interdependencies between the
WorldObjectManagers and region ObjectManagers.
2021-06-07 05:31:54 +00:00
Salad Dais
9ab5c8a907 Update VFS impl type hints 2021-06-05 14:20:26 +00:00
Salad Dais
49f7ba960f Move tons more things to lib.base and lib.client
Put an abstract session and region implementation in client so things
that could be logically shared between client/proxy can be.

ObjectManager moved to client with proxy-specific details in
ProxyObjectManager.
2021-06-04 09:31:54 +00:00
Salad Dais
9df0224fbf Split CapsClient into proxy and non-proxy version 2021-06-03 08:02:11 +00:00
Salad Dais
59493e021c Move XferManager and TransferManager to base 2021-06-03 07:04:06 +00:00
Salad Dais
7b98c0b261 Split out human str formatting for Messages 2021-06-03 07:03:54 +00:00
Salad Dais
a39d025a04 Move Circuit and Message to lib.base
Fairly invasive, but will help make lib.base useful again. No
more Message / ProxiedMessage split!
2021-06-03 07:00:32 +00:00
Salad Dais
abf730cea5 serializer -> serialize 2021-06-02 12:07:58 +00:00
Salad Dais
69dd1ca9ce Unpack fixed point coords in particles as vectors 2021-06-01 01:39:42 +00:00
Salad Dais
2c914b43b0 Add better type hints to Object 2021-06-01 01:39:14 +00:00
Salad Dais
626e59f22c Fix TextureEntry serialization 2021-05-31 13:33:16 +00:00
Salad Dais
ebc02f9a22 Make object handling happen at the world level, fix region handoffs
The previous model didn't really map to how Indra handles objects:
In Indra Local IDs are only really used to look up the FullID, and
that's used to look at a global object list.

This moves to a model where the world (Session) owns the object, and
objects can be freely moved between regions without killing the world's
reference to it.

The two ID design for objects was a mistake in my opinion, but whatever.
2021-05-30 14:24:39 +00:00
Salad Dais
3aa5215587 Don't trigger a message parse when invalidating caches 2021-05-29 06:18:49 +00:00
Salad Dais
ccb29f8eeb Simplify Object definition 2021-05-29 05:29:53 +00:00
Salad Dais
9dbb719d52 Add fast path for ObjectUpdateCompressed decoding
Speeds up ObjectUpdateCompressed handling by 25%

Resolves #9
2021-05-28 02:19:51 +00:00
Salad Dais
2608a02d5c Use viewer's object cache to better handle ObjectUpdateCached hits
Without this we end up in weird cases where the viewer gets a cache
hit and never request the object data, creating link heirarchies where
the viewer knows about all the prims but Hippolyzer only knows some
of them and orphans them.

Since we don't know what viewer the user is using, we scan around
the disk for object caches and try to use those. 99% of the time the
connection will be coming from localhost so this is fine.

Fixes #11
2021-05-28 02:18:20 +00:00
Salad Dais
eb2c5b7494 Allow getting coarse location for seated orphaned avatars 2021-05-25 20:29:37 +00:00
Salad Dais
2485831c47 Make Turbo Xfer example more reliable 2021-05-25 02:32:37 +00:00
Salad Dais
c58d24bd16 Revert "Make it less annoying to pickle messages"
This reverts commit 8af87befbd.

It was breaking take()n messages sometimes.
2021-05-25 01:13:53 +00:00
Salad Dais
2570269e29 Reorder subscribe_async call signature 2021-05-24 04:59:02 +00:00
Salad Dais
935e3ccc40 Add linden character files to repo, parse visual params 2021-05-24 03:28:39 +00:00
Salad Dais
237a409ee0 Move serialization templates and VFS code to lib.base
Not being able to use common enums in code in lib.base was
getting to be really annoying. It always should have been in
base anyways.
2021-05-23 10:44:18 +00:00
Salad Dais
c9138b4649 Add wearable asset serialization support 2021-05-23 05:01:37 +00:00
Salad Dais
0caba9da68 Add serialization support for task inventory schema 2021-05-23 04:30:55 +00:00
Salad Dais
4eeac738dc Clean up linter warnings 2021-05-21 19:00:06 +00:00
Salad Dais
58932e585e Add better ObjectUpdate change detection 2021-05-20 20:42:17 +00:00
Salad Dais
517888b1fa Fix missing import for byte escaping 2021-05-19 01:07:37 +00:00
Salad Dais
07fbec47e1 Fix autocompletion for enums used in subfields 2021-05-17 02:12:37 +00:00
Salad Dais
21b18b7a52 Make new base classes for enum and flag with pretty repr() 2021-05-16 17:35:23 +00:00
Salad Dais
46dbacd475 Fix order of arg-only, kwarg-only specifiers 2021-05-14 04:04:35 +00:00
Salad Dais
5eae956750 Add support for asset upload via xfer
Still needed for shapes.
2021-05-14 04:01:33 +00:00
Salad Dais
28f57a8836 More mesh documentation 2021-05-07 20:09:05 +00:00
Salad Dais
8af87befbd Make it less annoying to pickle messages 2021-05-06 02:41:12 +00:00
Salad Dais
a217a30133 Log message after addon hooks have run
This used to be the behaviour, but switching from queueing to
immediately adding messages to the log removed the implicit delay
2021-05-04 03:01:18 +00:00
Salad Dais
eb2b6ee870 Package a zip for Windows when a release is made 2021-05-03 23:20:40 +00:00
Salad Dais
dda3759028 Speed up Object tracking
Fixes #4
2021-05-03 02:59:50 +00:00
Salad Dais
d4e1a7a070 Fix queue consumption under 3.9 2021-05-03 02:07:03 +00:00
Salad Dais
1e4060f49c Faster message logging, improved queue usage 2021-05-03 01:14:54 +00:00
Salad Dais
8fb36892cf Split Qt-specific parts out of message logger impl 2021-05-02 18:13:16 +00:00
Salad Dais
75e9d03d70 Move tests out of the package
This will help us get better coverage info, and prevent packaging
test data with the sdist.
2021-05-01 00:34:46 +00:00