User:Q Linden/Office Hours/2007-10-15

From Second Life Wiki
Jump to navigation Jump to search
TimeSpeakerRemarks
[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 Lindendoesn'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 Belzebut
[7:45]Annelin Corrigible friend*
[7:45]Annelin Corrigible and collect Linden Bears
[7:45]Annelin Corrigibleaccepted 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!