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

From Second Life Wiki
Jump to navigation Jump to search
TimeSpeakerRemarks
[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 Lindendoesn'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]ACaccepted 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!