User:Q Linden/Office Hours/2007-10-15
Jump to navigation
Jump to search
Time | Speaker | Remarks |
[7:35] | AC | Hello |
[7:35] | Q Linden | hey |
[7:36] | AC | How are you ? |
[7:36] | Q Linden | fine. Nice avi. |
[7:36] | AC | thanks |
[7:36] | Q Linden | I couldn't even find you for a sec! |
[7:36] | AC | I (ve many avies |
[7:36] | AC | I've* |
[7:36] | Q Linden | Anything in particular on your mind today? |
[7:37] | AC | no :) |
[7:37] | AC | 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] | AC | ok |
[7:38] | AC | 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] | AC | 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] | AC | I'm surprise because open-source does'nt have is own studio |
[7:40] | AC | (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] | AC | :) |
[7:41] | AC | where in france ? |
[7:42] | Q Linden | Vence (northwest of Nice) |
[7:42] | AC | nice |
[7:42] | Q Linden | yes, it was really wonderful |
[7:42] | AC | I also live in the south of france |
[7:42] | Q Linden | where? |
[7:42] | AC | Lyon |
[7:42] | Q Linden | I've been there once. |
[7:42] | AC | betwwen Nice and Paris |
[7:42] | AC | between* |
[7:42] | Q Linden | I went to a carnival there. |
[7:42] | AC | :) |
[7:43] | Q Linden | Do you ski? |
[7:43] | AC | sometimes |
[7:43] | AC | 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] | AC | it takes 1h30 in car to go skiing |
[7:44] | AC | 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] | AC | building |
[7:45] | AC | scripting |
[7:45] | AC | have fun with my friend Belzebut |
[7:45] | AC | and collect Linden Bears |
[7:45] | AC | accepted your inventory offer. |
[7:46] | AC | Thank you ! |
[7:46] | Q Linden | :-) |
[7:46] | AC | You're worjing in SL right now ? |
[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] | AC | building tools are easy to use |
[7:47] | AC | but we need larger prims than 10m |
[7:48] | AC | 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] | AC | yes |
[7:48] | Q Linden | What would you use bigger prims for? |
[7:49] | AC | we'll save prims with them |
[7:50] | AC | for the buildings |
[7:50] | AC | or houses |
[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] | AC | I don't ask 256x256m |
[7:50] | AC | but 50x50 would be great |
[7:51] | Q Linden | would you mind if it was 50x50x1? |
[7:51] | AC | if I can change, yes |
[7:51] | AC | 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] | AC | I know |
[7:52] | Q Linden | But I'll pass along opinions |
[7:53] | Q Linden | Have you used sculpties yet? |
[7:53] | AC | no, I really think that the tools are ok |
[7:53] | AC | sculpties, I did an heart |
[7:53] | AC | but I'm very bad |
[7:53] | AC | I tried on Maya |
[7:54] | Q Linden | oh, with a maya sculptie converter? |
[7:54] | AC | yes, the one Second Life gives |
[7:55] | AC | 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] | AC | 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] | AC | ok |
[7:57] | AC | Torley talked about particles system |
[7:58] | AC | now, the particle system in lsl is very hard |
[7:58] | Q Linden | Ah, I haven't tried to script particles |
[7:59] | AC | One sec, I try to find the jira ticket |
[8:03] | AC | <a href="https://jira.secondlife.com/browse/MISC-632">https://jira.secondlife.com/browse/MISC-632</a> |
[8:03] | AC | add a particles window in the building tools |
[8:03] | Q Linden | cool, looking |
[8:04] | AC | I think it could be very usefull |
[8:04] | Gigs Taggart | hi q |
[8:04] | Gigs Taggart | AC |
[8:04] | Q Linden | Hi, Gigs. |
[8:04] | AC | Hello :) |
[8:05] | Q Linden | AC, I'm wondering why that jira doesn't seem to have been imported into our internal tool. looking |
[8:05] | AC | ok |
[8:06] | AC | 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] | AC | 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] | AC | Residents can help for the internationalization |
[8:09] | AC | but they don't know how to help |
[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] | AC | ok |
[8:10] | Q Linden | Gigs, XUI reorganization is what I'm working on right now. |
[8:10] | Gigs Taggart | cool |
[8:10] | AC | what 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 AC, so they can be translated |
[8:10] | AC | 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] | AC | ^^ |
[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] | AC | How many lines of code has SL ? |
[8:27] | AC | 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 | AC, I haven't added up just the viewer, but over all of SL there are about 1 million lines of code. |
[8:29] | AC | 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] | AC | :) |
[8:35] | AC | that was a pleasure |
[8:35] | Gigs Taggart | alright |
[8:35] | Gigs Taggart | later! |
[8:35] | Q Linden | For me too. See you! |