Right,
and we're starting.
So welcome to prime time.
Hello.
Uh,
let's go ahead and get the uh usual questions um done.
So Jay asks,
how are you doing?
I'm tired.
Um,
what's the dog turn,
uh,
dog is on the lap.
I had a bath yesterday.
So let's take a look at the other questions.
So we have how much wood could a woodchuck chuck if a woodchuck could chuck wood?
Ah,
that is,
uh,
an unanswerable,
it's like mean questions,
but because it requires a number,
7.
Lexus texter compression,
am I right?
Yeah,
fucking hell,
um.
And then
Easter says is slot order offset using some form of algorithm to sort the slots?
No,
it's um
it's like the update order of the slots
and the order that they're they're touched,
it does usually also affect the inspector of course,
but like it it's.
It's a little bit sorting,
but also a little bit sort of like
optimisation,
etc.
like you made a sorting algorithm though Easter.
The plus is on a scale from BC1 to BC7,
how comprecedented are you?
I'm quite like lack of compression right now.
I'm hungry.
I haven't eaten today,
so I've gotta get that sorted,
um,
Sleepy,
yeah.
I feel like after eating a uh large pizza all to yourself,
you'll be.
Um,
you'll be set up as a,
uh,
as a as a BC 7 if,
if,
if you eat a large pizza all to yourself.
You know that moment after you've eaten too much where you
kind of just like have to sit there and be like,
I am in pain,
but this is the good pain cos I ate too much.
Feder is too like a hot water bottle on my lap and it's like,
it's not like today,
but it's kind of warm.
We forward to the expression.
So Adobe Flash is on extra traffics engine was swapping too.
I don't,
I don't think you like,
of all the ones,
like I don't think we could actually do that one.
Like we could do all the other mean ones,
right?
We could render as aski,
we could render on Godot,
we could render on that,
we could do all of those,
but like on Adobe Flash,
I don't think we,
I don't think that has the stuff that we would need.
And with that,
we got through questions very quickly.
Hello,
more questions,
drop them in.
We'll get through the order.
They appear,
otherwise I'm gonna sit here and try not to fall asleep because,
uh,
Federer's on my lap and very,
you're gonna have to get off.
I'm gonna it's how much you would crash up from the compressing it if I go,
it's already happened,
man,
like,
um,
last night when I like fixed everything,
and I walked downtown just for a milkshake and then talk back cos I was just like,
I'm done.
I need to like leave.
I need to leave my my my my apartment.
So I,
uh,
yeah,
I walked all the way down there and like I kind of like zoned out
on a bench that's down there near the burger place that I got the milkshake from
and like
Feder was looking at me and he was like,
hey,
why don't you have a burger,
cos when I go there I usually have a burger and I give him like the minutest scrap.
Like I'm not like over feeding this dog,
we're talking like.
You know,
space between
thumb and uh index figure size,
it's like tiny,
tiny tiny amount of Ethan and bread,
he,
he's fine.
um,
but he didn't get any cos I didn't have any but I just had a milkshake.
And so he's like,
it's my burger,
burger,
where's my burger?
Uh,
so,
what does compressorator do?
Uh,
compressorator compressors,
I know this is like you're gonna be a stupid sentence,
just,
just let me,
let me,
let me.
Run through it,
OK.
Compressor data compresses images to various formats.
You can actually see those formats now.
I,
I keep thinking I need to record these.
I'll just do an,
a compressor nature explanation at the end of office hours,
and I will record it and shove it on YouTube.
There are a couple of people who are like,
I don't know,
tired of compressorator.
I can see it in,
in some of the,
the Discord reactions.
I don't,
I don't care that like Devlogs like our channel,
we get to post whatever the hell we want in there.
So you can get another.
Jesus.
I
I just like ate like just pushed the like go outside button about 4 times in a row.
It was,
it was like I really need to go out.
I'll take you out after this doc.
What's the time?
How hot is it outside as well,
cos like we might just go get another milkshake.
It takes like 40 minutes or so to,
to go get a milk.
It's not actually that bad.
It's like a,
a 1 mile walk one way,
so like 2 miles back,
uh,
and back.
I mean,
it's like 1.8 miles,
but come on,
man,
it's 2 miles.
Um,
takes about 40 minutes to do,
and when we get back,
Feder will nap.
Like they'll be asleep
for for quite a while.
Not that much though.
Uh,
Goldie says,
what's the next thing you're gonna work on?
I actually still have a bunch of reflection probe issues to fix.
We had to fix them being generated incorrectly first.
Uh,
once they're generated correctly,
there's like actually still a bunch of bugs to fix on them.
Um,
I'll start commenting on those ones.
Those ones should be easier.
Um,
one of them I'm going to be leaving.
Till after the split inning because
it relates to how they're rendered and and Fris just rewrote that.
Like I literally saw the commits come in yesterday,
it was like it's just rewritten and I'm like,
alright,
well,
that bug might not even occur after the split inning,
so we might as well just wait till that's over for that particular one.
but
generically after that,
I'm back to business unfortunately.
Uh,
we had a little bit of a gap,
uh,
at the start of the sort of summer period,
I guess you could call it,
where no contracts are being signed for whatever reason,
um,
but contracts are gonna start moving again,
so very soon,
trust me,
you'll hear about it.
Uh,
I'll be over in,
in Europe for like a week or two,
helping people out.
Uh,
it's next,
uh,
the question,
that's a question.
Uh,
OK,
question from Nuki.
How are packed variables like float 3 stored internally?
What are about the nullable ones?
How efficient are they?
Um,
remember when you ask how efficient someone is,
you're,
you,
you're asking like how long is a piece of string,
like you need to be more specific about your.
Like,
do you mean memory wise?
Do you mean allocation wise,
do you mean CPU wise?
They are
um
stored as struct.
um,
now structs are
like lightweight classes over in C and also other the C languages,
but they've got different rules depending on which C language you're using,
so don't quote me.
In fact,
just don't quote me at all,
just like go to Google,
type in the word struct,
C,
you'll you'll you'll find the information that you need,
um,
cause I,
I don't really know.
Um.
I have to look it up every time.
So structs are designed for
quick to be used,
frequently exchanged and sort of um
mangled and untouched data types.
They are more lightweight than classes,
and I can't remember,
but something along the lines of like their memory
is only allocated on the heap or stack,
not the stack or heap,
and I don't know which way around it is.
I don't know anything about C internals.
I have to look it up every single time.
I don't know how the nullable structs are handled,
but it's probably like a,
it's probably via the sync language that the nulls are.
Yeah,
they are.
I heard of pack nullable,
uh,
no,
we need unpack null.
Yeah,
they're just internally stored as like nullable,
and then the sync,
uh,
like
or like constructs go around it to sort of handle getting the value in and out.
Um.
Uh,
where are we?
What's next?
Um,
Joshua says you're welcome compressor to result in any other user
facing benefits than just the case of the free CPU picking.
Yes.
Uh,
I'll talk about it at the end.
We'll just do a whole,
like,
a whole fuck like a whole big compressor data review at the end.
But I'll be angry,
but we'll just do it,
and I'll record it and I'll put it on YouTube.
Um,
Alexis,
what do you think,
uh,
how lucky is?
To appear in the distant future,
will be able to content from P2B systems like Torrents.
No,
probably not.
Um,
we do want to like add additional ways to like send data between each other,
like,
uh,
different types of sockets,
you know,
we're always trying to sort of
experiment with steam game sockets,
but there's also like
some other socket thing which I can never remember the name,
but some like ET or something like that,
it's an up issue somewhere and.
And uh maybe that as well.
We've also got things like screen sharing and like voice calling coming up,
all sorts of stuff like that.
And when we do that,
we have to sort of evaluate the most
efficient protocol and it usually isn't BitTorrent.
I don't think it's logical.
Like,
we're not,
we're not a download manager,
we're for extension.
Eaton says,
how long have you been working on compressorator?
About 2 to 3 years now.
It is one of the some of those issues,
I don't like,
um,
particularly in in the context of like a a um office hours like this,
make sure your questions expand any um referential words.
So like,
you know,
sometimes when someone says like,
what do you think about this?
and you're like,
I don't remember what we were talking about,
just replace this with the topic again.
Oh,
the issues that I'm working on,
uh,
yeah,
let me see if I can get them.
Um,
I just did the right thing,
um,
in marking what like activities were blocked by.
Uh,
the reflection probe issues,
uh,
but it was a lot,
and that's one of the reasons why we're working on it.
Uh,
um,
that's probably in resonate dash issues.
Anyone just like endlessly open new tabs,
like the tabs to the left are never used.
The tabs to the right are used.
Uh,
tutorial.
All right,
I,
I'll,
I'll find it.
Uh,
uh,
go to the GitHub channel,
search for block.
Yeah,
found it.
All right,
so we're gonna open all these up in the tab,
and I'm gonna read each one.
Are you ready?
4102.
Real time reflection probes don't work when they're first
disabled and when the world starts and enabled later.
I might leave that one until after the,
uh,
splitting,
but I am assigned to it.
Moving onwards,
we got
3573.
SDR reflection probes baking correctly.
Reflection probes of the HDR checkbox disabled bake
with significantly darker colours than they should.
This is correct.
I will look at it at some point.
We got
3461,
asset variant system taking days to process BC6HQ maps lection probes,
which I closed as a duplicate of 1983.
1983 is the main compressor to one.
here is 1983.
In 1983 is the one that's fixed.
Um,
3461.
The one that was a duplicate,
uh,
1851,
reflection probes baking correctly when no HDR value is visible when baked.
That's also being fixed.
Uh,
I also take a look at 8:30,
but I don't think 8:30 is something that I can fix,
but I'm also looking at 8:30.
Q map created doesn't generate md maps,
causes mirror-like reflections.
Oh look at that one.
So all of those need fixing up.
I will go ahead and and and get you that list in just a second,
uh,
boop boop boop,
uh,
wrong discord,
holy embeds,
yeah,
I think it's best that they're embedded,
otherwise,
like,
you know,
it's like confusing,
it's just numbers otherwise they just deal with the embeds.
Um,
let me take a look,
uh,
OK,
so that's spreads question done.
If he wants to know how anchors work.
They just override
like your movement,
and they tell you that you're at an anchor,
and then we parrot you to the anchor.
Like internally there's like a bunch of systems
that come together to make anchors work,
but like it really is just like
you're parented to the anchor.
And your movement is,
uh,
your movement's redirected to all of the like anchor stuff.
Like the anchor is like an avatar system.
It's weird to think about it like that,
but it is like interfaces the avatar system a lot.
Uh,
Goldie says,
would you be able to
ask for
for
for this issue?
No,
um,
never.
My job,
um,
on the,
my job on the team.
Uh,
isn't
to collect the other issues and bother for exs about them.
That's,
it's not my job,
so I will never ever do.
Roy says,
did you manage to convince the client to
go for screen sharing instead of exam integration?
Ask me again in like October.
Oh,
that's how long these conversations take.
I think that's all the questions,
past all the links.
Yep,
yeah,
I think we're out of questions.
Uh,
do I have the codebase open?
Um,
yeah,
I do.
Let's go take a look at Avatar here.
Yeah,
the anchoring process is really,
really simple,
it's just like parent them,
set their position,
rotation and scale,
uh,
and then hook up the avatar pose philtres.
And on the way out we just do all that in reverse.
Uh,
just comment,
um,
so Red says that um we found a bunch of really
old issues that are still open but recently were resolved.
Just comment on them with like,
uh,
hey,
I think this is resolved,
could you have a look?
Don't tag anyone,
um,
it will just,
like it'll bump up to like the updated list and like we go through the updated list,
so just,
just do that.
And be nice about it,
don't,
don't just be like very clear.
Like,
hey,
I think this was dissolved.
Could someone have a look?
No thanks.
The reason I'm like so specific with those instructions
is that like
there are ways where you could do it where it's like,
I don't know,
not productive.
Like someone could go in there and comment and be like,
Yo,
what the fuck guy,
why they still open?
It's like,
OK,
yeah,
well we're never ever touching that issue
cos you came at it with like a bulldog mentality,
whereas like,
hey,
just checking.
This looks like it's resolved,
is it still open?
It's,
you're literally just stating facts,
right?
There's no way anyone could be angry at you.
Or if they should,
it's like their problem,
you know.
It is important as well.
There's another reason why,
and it's like,
it's not recorded anywhere because like uh all the
other like guidelines come together to make this happen.
But
the GitHub,
like,
because it's sort of like
formal,
almost clinical in a way,
it like removes a lot of emotion.
And like I know that we're all emotional beings,
but when it comes to processing um GitHub issues and bugs,
we need as little emotion as possible and we need like
facts.
um,
so just like if you're emotional about an issue,
step away from GitHub,
come back in like 5,
10 minutes and,
and,
and write it there,
uh,
and just remember that like.
Yeah,
it's a pain,
but
eventually
your reflection probes do get fixed.
Eventually,
you just,
you just have to be patient,
that's that's all it is.
Elements of quantity is a is a low priority system
to being reviewed.
I know a bunch of people have opened up a
bunch of PRs there that have not been reviewed,
and I do understand the like
mental bandwidth in both sort of like,
it's a to do list item for that person because
they opened the PR and they want it merged,
but also the mental bandwidth of like YDMS team,
why you know notice me,
but like we'll get there as soon as we can.
And I appreciate the reminders,
but like it's probably not gonna be today.
Maybe I'll give like Feder like a programming hat,
like,
you can review elements of quantity.
I got like a bunch of reviews to review on go.
resonate.com,
for example,
um,
the ad stuff,
and then there was one particular issue I wanted to fix
on go.resonate.com in the middle of the Relection probe stuff,
and I had to just sort of like write it down and be like,
hey,
uh,
I'll deal with that later.
Um,
jumping around,
uh,
red,
if it's a new issue,
if you're solving a new problem,
please make a new PR.
Again,
I know that sounds like hassle,
but you have to basically reduce the decision points and PRs.
So if your PR adds 40 features,
it's going to take longer to review than if your PR adds one feature.
So just keep it as small as possible.
I will constantly and accidentally break that.
Um,
with like
the way I work sometimes,
but like I,
I,
I mean good if people tell me,
hey,
you don't get wrong,
I'll I'll,
I'll fix it.
A good example is like baking reflection probes,
the,
the one we're about to talk to about it,
so I'll,
I'll skip it there.
But like,
the amount of things that we touched there
did make sense to be in one PR even though usually it'd probably split up.
Cos it was just like,
hey,
this is like a whole unit of work to fix.
Yeah,
it just,
it just does.
When I saw like
how many issues you needed to reflection pros for,
I'm like I'm gonna do my best.
I,
you can't see most of them cos they're internal,
but like basically every single world project
that the content team is sorry art team
is working on.
Um,
they of course need reflection pros for and they're unable to,
to make them work,
so it all makes sense and and we'll get in there.
Uh,
and OKki says I may be dating myself with this one,
but how do I shoot the hoop?
Yeah,
shoot the wop was like in the area of memes where memes felt
like
nerdy,
right?
It was the equivalent of like.
I don't know,
in the 90s,
you probably wouldn't in the 90s walk around
uh willingly admitting that you like Star Trek because that would have been sin
to be like a a nerdy thing back in the 90s.
Um,
I mean,
there were obviously like like like people that would have and.
I'm so glad that these days everyone does,
that's great cos Star Trek's phenomenal.
But like in the 90s particularly,
it was like you,
you,
you couldn't be seen as a nerd,
right?
But when like Shoop de whoop happened,
it was like,
you wouldn't like go to school and talk about memes with your friends.
It,
it was still like kind of like in the fringes of culture.
Now it's gone the other way where it's like some friend groups,
the only way they
Communicate is in memes.
If you're in one of these group chats,
like,
raise your hand,
it's like,
it's just memes,
just 24/7,
it's just like
crappy memes like various JPEG qualities,
like continually.
No one talks,
no one says anything English,
it's just memes over and over and over again for months.
Uh we've got another reflection probe thing and we are halfway through,
so what we're gonna do.
Uh,
and it's kind of weird.
I'm gonna cut the recording,
but I'm gonna start,
uh,
OBS recording.
Maybe I'll just like record,
um,
these to YouTube at some point.
I,
I don't know,
man.
It's difficult cause I keep having visual elements,
but like I feel like I'll cut the recording.
I'll start a visual element of the recording,
and then you don't have to watch both.
So I'll see you on the visual recording.
We're gonna go over compressing it top to bottom.