User:Q Linden/Office Hours/2007-10-15
Jump to navigation
Jump to search
Time | Speaker | Remarks |
[7:35] | Annelin Corrigible | Hello |
[7:35] | Q Linden | hey |
[7:36] | Annelin Corrigible | How are you ? |
[7:36] | Q Linden | fine. Nice avi. |
[7:36] | Annelin Corrigible | thanks |
[7:36] | Q Linden | I couldn't even find you for a sec! |
[7:36] | Annelin Corrigible | I (ve many avies |
[7:36] | Annelin Corrigible | I've* |
[7:36] | Q Linden | Anything in particular on your mind today? |
[7:37] | Annelin Corrigible | no :) |
[7:37] | Annelin Corrigible | but that's the way I like to play |
[7:37] | Q Linden | I'm about to change the board...my intention is to post this conversation unless someone specificallly requests otherwise |
[7:37] | Annelin Corrigible | ok |
[7:38] | Annelin Corrigible | So what is your job in LL ? |
[7:38] | Q Linden | I'm a developer |
[7:39] | Q Linden | I'm just moving over to a new group focusing on the client side of SL |
[7:39] | Annelin Corrigible | Studio Shiny ? |
[7:39] | Q Linden | In particular, rearchitecting it so that it's more easily extended/reused. |
[7:39] | Q Linden | yes, shiny |
[7:39] | Q Linden | I'm hoping to make it a better platform for open source development |
[7:40] | Annelin Corrigible | I'm surprise because open-source does'nt have is own studio |
[7:40] | Annelin Corrigible | (and sorry for the mistakes, I'm french) |
[7:40] | Q Linden | Yeah...there are a few of us spread around the org who are trying to promote open source |
[7:41] | Q Linden | ah, bon! I lived in france for a year...but we should probably talk in English because my French really isn't that good. |
[7:41] | Annelin Corrigible | :) |
[7:41] | Annelin Corrigible | where in france ? |
[7:42] | Q Linden | Vence (northwest of Nice) |
[7:42] | Annelin Corrigible | nice |
[7:42] | Q Linden | yes, it was really wonderful |
[7:42] | Annelin Corrigible | I also live in the south of france |
[7:42] | Q Linden | where? |
[7:42] | Annelin Corrigible | Lyon |
[7:42] | Q Linden | I've been there once. |
[7:42] | Annelin Corrigible | betwwen Nice and Paris |
[7:42] | Annelin Corrigible | between* |
[7:42] | Q Linden | I went to a carnival there. |
[7:42] | Annelin Corrigible | :) |
[7:43] | Q Linden | Do you ski? |
[7:43] | Annelin Corrigible | sometimes |
[7:43] | Annelin Corrigible | the Alpes are not far away |
[7:43] | Q Linden | Pretty close to Briancon, right? |
[7:43] | Q Linden | doesn't know how to type cedille |
[7:43] | Annelin Corrigible | it takes 1h30 in car to go skiing |
[7:44] | Annelin Corrigible | Briancon is in the south |
[7:44] | Q Linden | Ah, ok. |
[7:44] | Q Linden | What sorts of things do you like to do in SL? |
[7:45] | Annelin Corrigible | building |
[7:45] | Annelin Corrigible | scripting |
[7:45] | Annelin Corrigible | have fun with my frien Biouby |
[7:45] | Annelin Corrigible | friend* |
[7:45] | Annelin Corrigible | and collect Linden Bears |
[7:45] | Annelin Corrigible | accepted your inventory offer. |
[7:46] | Annelin Corrigible | Thank you ! |
[7:46] | Q Linden | :-) |
[7:46] | Annelin Corrigible | You(re worjing in SL right now ? |
[7:46] | Annelin Corrigible | you're working* |
[7:46] | Q Linden | What would you change about our building system? |
[7:47] | Q Linden | I am working on viewer architecture changes, yes |
[7:47] | Q Linden | first we want to get the viewer in shape to make bigger changes |
[7:47] | Annelin Corrigible | building tools are easy to use |
[7:47] | Annelin Corrigible | but we need larger prims than 10m |
[7:48] | Annelin Corrigible | I know that Havok4 will change that, I hope |
[7:48] | Q Linden | Did you see the discussion on the SL blog today? |
[7:48] | Q Linden | Or maybe yesterday |
[7:48] | Q Linden | About megaprims? |
[7:48] | Annelin Corrigible | yes |
[7:48] | Q Linden | What would you use bigger prims for? |
[7:49] | Annelin Corrigible | we'll save prims with them |
[7:50] | Annelin Corrigible | for the buildings |
[7:50] | Annelin Corrigible | ot houses |
[7:50] | Annelin Corrigible | or* |
[7:50] | Q Linden | (By the way, I agree with you -- I'd like to see larger prim limits, but maybe not in all 3 dimensions at once.) |
[7:50] | Annelin Corrigible | I don't ask 256x256m |
[7:50] | Annelin Corrigible | but 50x50 would be great |
[7:51] | Q Linden | would you mind if it was 50x50x1? |
[7:51] | Annelin Corrigible | if I can change, yes |
[7:51] | Annelin Corrigible | for example, 50x20x1 |
[7:51] | Q Linden | right...just talking about maximum size |
[7:52] | Q Linden | no promises, by the way! I won't be the one making this decision. |
[7:52] | Annelin Corrigible | I know |
[7:52] | Q Linden | But I'll pass along opinions |
[7:53] | Q Linden | Have you used sculpties yet? |
[7:53] | Annelin Corrigible | no, I really think that the tools are ok |
[7:53] | Annelin Corrigible | sculpties, I did an heart |
[7:53] | Annelin Corrigible | but I'mvery bad |
[7:53] | Annelin Corrigible | I tried on Maya |
[7:54] | Q Linden | oh, with a maya sculptie converter? |
[7:54] | Annelin Corrigible | yes, the one Second Life gives |
[7:55] | Annelin Corrigible | But I don't have enough skills to do big things |
[7:55] | Q Linden | Anyway, sculpties are one of the things I'd like to make easier |
[7:56] | Q Linden | I think we could have a sculptie system that lets people manipulate them in-world. |
[7:56] | Q Linden | Which could save a lot of prims. |
[7:56] | Annelin Corrigible | but it's harder than prims |
[7:57] | Q Linden | Yes....but it doesn't have to be as hard as it is now! |
[7:57] | Annelin Corrigible | ok |
[7:57] | Annelin Corrigible | Torley talked about particles system |
[7:58] | Annelin Corrigible | for scripting |
[7:58] | Q Linden | I don't understand? |
[7:58] | Annelin Corrigible | now, the particle system in lsl is very hard |
[7:58] | Q Linden | Ah, I haven't tried to script particles |
[7:59] | Annelin Corrigible | One sec, I try to find the jira ticket |
[8:03] | Annelin Corrigible | <a href="https://jira.secondlife.com/browse/MISC-632">https://jira.secondlife.com/browse/MISC-632</a> |
[8:03] | Annelin Corrigible | here |
[8:03] | Annelin Corrigible | add a particles window in the building tools |
[8:03] | Q Linden | cool, looking |
[8:04] | Annelin Corrigible | I think it could be very usefull |
[8:04] | Gigs Taggart | hi q |
[8:04] | Gigs Taggart | annelin |
[8:04] | Q Linden | Hi, Gigs. |
[8:04] | Annelin Corrigible | Hello :) |
[8:05] | Q Linden | annelin, I'm wondering why that jira doesn't seem to have been imported into our internal tool. looking |
[8:05] | Annelin Corrigible | ok |
[8:06] | Annelin Corrigible | By the way, I'm very sad because you don't translate the viewer in french, not entierly) |
[8:06] | Gigs Taggart | it's being worked on :) |
[8:06] | Annelin Corrigible | Lot of french people are lost in tools |
[8:06] | Q Linden | That's another area of interest -- we just had an internationalization meeting last week |
[8:07] | Q Linden | Gigs, were you there? I had to leave early. |
[8:07] | Gigs Taggart | No, but Steve's UI roadmap includes moving more of the strings to XUI |
[8:07] | Gigs Taggart | and a lot of the spots are already marked in the code |
[8:07] | Q Linden | Oh yeah. I was getting annoyed about one of them on Friday. |
[8:07] | Gigs Taggart | hehe |
[8:08] | Gigs Taggart | yeah there's still a good amount of stuff needing to be moved |
[8:09] | Annelin Corrigible | Residents can help for the internationalization |
[8:09] | Annelin Corrigible | but hey don't know how to help |
[8:09] | Annelin Corrigible | they* |
[8:09] | Gigs Taggart | that's true on the code side too, if we had more clear XUI guidelines we could easily move strings to XUI |
[8:09] | Q Linden | right now, it's hard even for us...but a number of us are now thinking about the problem. |
[8:09] | Annelin Corrigible | ok |
[8:10] | Q Linden | Gigs, XUI reorganization is what I'm working on right now. |
[8:10] | Gigs Taggart | cool |
[8:10] | Annelin Corrigible | whay is XUI ? |
[8:10] | Q Linden | But it's a goal for the quarter |
[8:10] | Gigs Taggart | XUI is a way to take the strings out of the code Annelin, so they can be translated |
[8:10] | Annelin Corrigible | ok |
[8:10] | Q Linden | XUI is the description of the user interface, which *should* (but doesn't) include all of the text strings |
[8:11] | Q Linden | We're part way toward easy translation, but there are still issues. |
[8:11] | Gigs Taggart | If I could change the topic, Q do you know much about 3D picking code? :) |
[8:11] | Gigs Taggart | I'm arm deep in that project right now hehe |
[8:12] | Gigs Taggart | the picking in the viewer is pretty messy and I'm trying to clean it up a lot |
[8:12] | Q Linden | I know about 3D picking in general, but haven't looked at it in the viewer yet. |
[8:12] | Q Linden | What's going on? |
[8:13] | Gigs Taggart | well, the picking right now is sorta a mess.. we've got one place to pick a UV coord off a face, another place to determine the picked offset from the object center, and yet another place to pick just the object |
[8:14] | Gigs Taggart | the UV picking uses a gradient rendered on the face, the offset picking uses a traced ray unprojected, and the object picking uses indexed colors |
[8:14] | Q Linden | All useful techniques. :-) |
[8:14] | Gigs Taggart | heh yeah, I'm just not sure all three are needed :) |
[8:14] | Q Linden | But I understand you'd like to be thinking about unifying them. |
[8:15] | Q Linden | Still, though, for performance reasons I'm not sure that it's efficient to eliminate any of them! |
[8:15] | Gigs Taggart | yeah, well this all started in that I wanted to fix the camera zooming on hollow prims, but it's grown from there |
[8:16] | Gigs Taggart | heh, well if all three were clean implementations we'd probably want to keep them, but what I've told you really doesn't express just how messy this part of the client code is :) |
[8:16] | Q Linden | /q wishes he had a "rolls eyes" gesture |
[8:16] | Gigs Taggart | it's all... 25 page long functions with these algorithms buried in them |
[8:16] | Gigs Taggart | not general use methods hehe |
[8:17] | Q Linden | sigh. how far along are you? |
[8:17] | Gigs Taggart | well, I've been able to eliminate about 1000 lines of code, there was a huge function to calculate camera focus minimum distance, which can be eliminated with better picking |
[8:18] | Gigs Taggart | it seems the picking code is ... almost obcessed with shifting the pick point toward the center of the picked object. |
[8:18] | Gigs Taggart | I can't figure out why you'd want to shift the point toward the center like that |
[8:18] | Gigs Taggart | I don't see any other place in the code that relies on the pick being within the object extents really |
[8:19] | Q Linden | That explains some behavior of camera motion I always thought was odd. |
[8:19] | Gigs Taggart | yeah |
[8:19] | Gigs Taggart | that kinda thing is what I'm trying to work out |
[8:19] | Gigs Taggart | also, there's entirely different picking code for avatars vs objects, I'm going to try to unify that some |
[8:20] | Q Linden | So as you know, we're not yet very good at accepting patches. Some of us are trying to improve that. |
[8:20] | Gigs Taggart | since really, even though the avatar doesn't hit the same as an object, I'm not sure it justifies completely separate code |
[8:20] | Q Linden | But the bigger your changes, the harder it is to accept them, especially right now. |
[8:20] | Gigs Taggart | hehe |
[8:20] | Gigs Taggart | well, this part of the client is so crufty, if my patch works, I suspect it will be an easy sell |
[8:21] | Gigs Taggart | it looks like no one has touched this stuff since 2003 |
[8:21] | Annelin Corrigible | ^^ |
[8:21] | Q Linden | Yes, but my worry is that it collides with something else we're trying to do internally, and then we could lose it. |
[8:21] | Gigs Taggart | is someone else messing with the picking? |
[8:22] | Q Linden | Esp. since we now have the viewer cleanup project going. I don't think so...although it's been something I was thinking about. |
[8:22] | Q Linden | I haven't touched it yet, and wouldn't be likely to for a couple of months. |
[8:22] | Q Linden | Is there a JIRA on this? |
[8:23] | Gigs Taggart | kinda, this was all started under a Jira to make zooming inside hollow prims not suck. |
[8:23] | Q Linden | ok...is that VWR-1286? |
[8:24] | Q Linden | <a href="https://jira.secondlife.com/browse/VWR-1286">https://jira.secondlife.com/browse/VWR-1286</a> |
[8:24] | Gigs Taggart | yeah |
[8:24] | Gigs Taggart | I had things almost working fine at one point, but one little nagging issue has uncovered a lot more breakage in the current code. |
[8:25] | Q Linden | This is, I imagine, a bit risky regarding changes to current behavior. |
[8:25] | Gigs Taggart | I can avoid refactoring everything. |
[8:25] | Q Linden | That will help! |
[8:25] | Gigs Taggart | There's really two main functions I'd probably need to touch. |
[8:26] | Gigs Taggart | Though I have to say, SL will never really move forward as an open source project if you can't take larger patches. :) |
[8:26] | Q Linden | Keep me posted on this, ok? I'll probably want to adopt it, as it's a point of pain for me. |
[8:27] | Gigs Taggart | k |
[8:27] | Q Linden | Yes, we know. We're thinking about it pretty hard. |
[8:27] | Gigs Taggart | There's only one regression I have planned right now, and it's a minor one |
[8:27] | Annelin Corrigible | How many lines of code has SL ? |
[8:27] | Annelin Corrigible | the viewer |
[8:27] | Q Linden | Trying to put systems in place that can let us do that, while not adding too much drag to our internal processes |
[8:27] | Gigs Taggart | right now if you "pan into" the selected prim the viewer will push your camera out of it. However it'll happily pan other prims through your near clip |
[8:28] | Gigs Taggart | I do plan to have a small change to that, in that you can pan the current selection through near clip. |
[8:28] | Gigs Taggart | this shouldn't be confusing since the viewer already lets you pan into other objects, just not the current one. |
[8:29] | Gigs Taggart | this has some benefits too |
[8:29] | Gigs Taggart | if you lose an attachment inside your avatar, this will make it easier to get out :) |
[8:29] | Q Linden | annelin, I haven't added up just the viewer, but over all of SL there are about 1 million lines of code. |
[8:29] | Annelin Corrigible | ok thank you |
[8:29] | Gigs Taggart | newview$ cat *.cpp | wc -l 276350 |
[8:30] | Gigs Taggart | there's just the main viewer |
[8:30] | Gigs Taggart | without counting llimage or common |
[8:30] | Q Linden | So that's about what you'd expect for a large graphics application. |
[8:31] | Q Linden | Large, but manageable. |
[8:31] | Gigs Taggart | I suspect we could drop about 20KLOC :) |
[8:31] | Gigs Taggart | with a good refactoring |
[8:31] | Q Linden | Gigs, it's a good day when I write negative lines of code. :-) |
[8:31] | Gigs Taggart | hehe |
[8:32] | Q Linden | Ok, so I'll keep an eye on this one. |
[8:32] | Gigs Taggart | cool, yeah I'll post the patch to SLDEV when I get the picking sorted in a way that really works 100% of the time |
[8:33] | Q Linden | Sounds great |
[8:33] | Gigs Taggart | I'm being extra picky (as it were) on this one because it's something people use all day every day |
[8:33] | Gigs Taggart | I really want to get the regressions down to 0 |
[8:33] | Q Linden | ;-) Please do -- everything you can do makes it easier to take internally. Also, consider writing test plans as part of the submission. |
[8:33] | Gigs Taggart | (Except that bounding box constraint) |
[8:34] | Gigs Taggart | sure, the camera has about a dozen or two test cases |
[8:34] | Gigs Taggart | hehe |
[8:34] | Gigs Taggart | it's not an easy part of the code to change |
[8:34] | Gigs Taggart | but I'm hoping in the end this will solve a lot of problems |
[8:35] | Gigs Taggart | many of the camera movement bugs filed |
[8:35] | Q Linden | Me too. |
[8:35] | Q Linden | Ok, sun's up and I should probably get moving. |
[8:35] | Q Linden | Thank you both for coming! |
[8:35] | Annelin Corrigible | :) |
[8:35] | Annelin Corrigible | that was a pleasure |
[8:35] | Gigs Taggart | alright |
[8:35] | Gigs Taggart | later! |
[8:35] | Q Linden | For me too. See you! |