Alright,
we're gonna be excited,
sorry for the delay,
a few things to take care of before we got started.
Uh,
let's go ahead and get started.
Um,
we've got a bunch of questions loading in,
so let's,
let's do it.
Uh,
what's the dog doing?
The dog is,
is currently in one of their,
their barking sprees where they just wanna to bark at everything.
If you give me like 2 seconds though.
Um,
hey Google,
turn on living lights,
and that's turning them off.
Good,
good job though.
Hey Google,
turn on living room lights.
Do you ever like speak to your home assistant like you're a robot,
and you realise this is like ironic.
I'm
speaking like a robot
to my robot because my robot doesn't understand English,
and you have to like do that.
Um,
so that's cool.
Alright,
so we've got lights now,
actually they're not maximum brightness,
one second.
Hey,
Google said leadingham lights to maximum brightness.
If you like break between the words and make it really obvious,
voice assistants will get you.
Beta come,
come.
And I got you.
Oh dear,
don't fool,
don't fool.
All right,
now my webcam's doing the thing where it doesn't
recognise that it exists.
Uh,
I need a new one,
right,
but
I don't use it for anything other than
like showing off my dog,
so I,
I don't.
Alright,
there we go.
You got dog chem now,
enjoy.
All right,
cool.
We can go ahead
and get started.
Oh look at that.
We can get started with questions.
This is what the dog's doing,
that's that question done.
Uh,
or how are you doing?
I'm,
I'm very tired,
like I,
I,
I might be coming down with something.
I don't wanna say like COVID or anything like that,
but I just like,
I felt horrible this morning and
um
was really struggling to not puke everywhere,
so that that was fun.
Um.
I'm just gonna be like chugging water,
probably taking it a little bit easier today.
That's what December's for anyway,
but like I,
I didn't make it to bed.
I did eventually,
but like I,
I sat on the couch cause I was like,
all right,
I'm gonna sit on the couch for just 5 minutes before
I go to bed because I'm feeling a bit woozy.
So I sat on the couch,
and then I woke up on the on the couch at like 7 a.m. and and went to my actual bed.
I'm sure I'm fine.
I just need to like take it easy but.
Um,
Lucas says any history,
any,
uh,
new interesting developments,
I mean,
other than curses yesterday,
I was so excited to see that like
partially broken for a little bit,
but hey,
I got it resolved.
Uh,
Lucas says,
what was the last interesting thing you did?
I extensively read the path of Excel patch notes for,
I don't even know the patch number,
it's like,
where are we?
0.1.0 E.
E
Um,
I excitingly read those,
uh,
to myself cos there's lots of changes there that I'm very excited about.
What is the next interesting thing that I'm working on?
So I've got to get joined by URL fixed up.
There's some,
a couple of issues I need to fix that were found in code review.
Um,
I also want to do,
uh,
like a,
a freshy,
freshy go at it,
um,
in VR.
What we want to make sure is that adding
that doesn't distract from or cause any issues with,
with VR in terms of sort of.
Extra prompts or warnings or anything like that.
Once I'm done with that,
um,
I don't know,
it's December,
right,
I,
I gotta like tidy up a bunch of stuff.
I did fix a cross site scripting vulnerability on go.
resonate.com last night,
that was also fun.
That was just a little one.
It's kind of difficult because um in resini,
we've got the RTF formatting that allows you to sort of colour
colour world names,
colour session names,
stuff like that.
But that isn't a standard,
like it's it's it's manually written and because it's manually written,
it's actually full of sort of quirks about it.
That are not HTML.
And so when the the session name comes into code.
resonate.com,
I need to
make it actually HTML and then I treat it as actually HTML.
And so if someone adds a script tag to their world name,
it was uh it was XSSing go to resonate.com.
But hey,
I fixed that.
Uh,
thank you for the security report,
um,
that was the security report that came through.
Uh,
and finally,
can I give a PSA about the Avatar station?
Unfortunately I cannot.
This is not a place to advertise that.
Uh,
Vennport would like the cursor law.
OK,
I've gotta do this one-handed cos you can see I'm now like if I move my arm,
he's gonna fall,
so we're gonna do this one-handed.
Uh,
I'm gonna go ahead and open up paint though.
I get my tools go.
Oh,
OK,
cool,
I don't know you could do that.
Right,
uh,
is audio OK?
I'm seeing some comments that like audio isn't OK,
let me know if it's,
it's problematic.
Let's go ahead and lock last week's thread as well.
Seems fine.
Alright,
cool.
I just wanted to double check,
I saw some complaints.
Yeah,
we're recording.
I don't know if I'm gonna remember to upload it,
but you know,
that's what,
that's what it is,
it is what it is.
It is,
it is,
it is what it is,
yes.
Uh,
share my screen,
paint.
Welcome to Paint.
Uh,
so
in resinite,
cursors are basically a rectangle,
and they've got your like cursor image on them,
which we'll just do as an X.
And the rectangle moves around,
um,
to basically follow the position of your laser,
which is fine,
but historically what we had done is we had sized this rectangle
based on the image size.
So,
uh,
you know,
you've got an image and it's,
it's X by Y.
And it meant that this rectangle here
was also X by Y.
But the problem is that when you like interact with stuff or grab with stuff,
like a different image,
like a bigger one or a smaller one,
or in some cases like a a rectangular one like I've drawn was being used.
And so there was a lot of code in place that basically said like,
ah,
for grab,
because the grab cursor is a different resolution,
make the grab cursor two times bigger or something like that.
And it was just a pain
to sort of
figure out.
Additionally,
added into that,
there's like a,
a complex hierarchy of slots going on when it comes to the cursor,
and each of those had like a,
a scaling operation going on for some reason,
going up to the top.
And so what I did was I collapsed all of these down.
And now everything is based on
a cursor image that is 128,
that's not an 8.
You know what I mean,
I'm drawing one-handed.
What do we expect?
But that's also 128.
This is an 8 apparently,
it looks like a shoe.
Um,
so they're both 128,
and what that means is every single cursor image is 128 by 128.
And we're able to,
uh,
then base everything on that sort of system as though that's a,
a grid or a unit.
So like that's one unit
and then
we can scale everything up and down.
Additionally,
I,
I changed up this hierarchy,
as I said on the on the on the left here,
such that each one is much clearer about what's going on.
So,
uh,
we use different parts of the hierarchy to
scale differently depending on what's going on,
uh,
and stuff like that.
Uh,
we're also using different quad sizes as well,
cos when you have an image,
what you actually have is like a,
a cursor which is a quad,
and then the quad has a material on it,
which is.
Image and sometimes those things can be smaller than others,
uh,
depending on which,
which one you use,
which material you use.
But I made the quad size one by one,
and then I put the image on it,
and then I shrink or grow the image.
Everything is based on like a standardised scale,
and everything is based on a 128 by 128 grid.
Uh,
and this includes the dash cursor as well as the in-world cursor,
because those two used different codebases,
they now use the same code base.
Uh,
which makes cursors just a lot more stable and consistent cos they're all based on
the same mathematics.
It's actually something I do a lot in resinite as well,
is I see like really complicated
cursor in paint is horrible.
I just can't see it.
Um,
I see like really complicated hierarchies,
you know,
you've got like
a bunch of slots and it's like,
this is scale 111.
And then this is scale 0.2,
31,
and then this is 111,
and then this is like
0.2,
and it's,
it's just a nightmare to figure out how big things are because you're going like,
up,
down,
up,
down,
up,
down,
up,
down,
up,
down with the mathematics,
trying to figure out like how big is this,
right?
But
with the new hierarchy,
it's very clear which ones are scaled and most of them are one by one by one,
which means that it's easy to basically say,
hey,
we want this to be,
Uh lower or or or smaller or bigger depending on what's going on.
It honestly was just like a,
a really
odd old piece of the code base.
So yeah,
that's the curse law at least.
He looks ridiculous.
Look at him.
He's so cute.
All right,
so we did the cursor law.
Uh,
let's see what's next.
Uh,
Home Assistant resonate well.
I've seen people do that.
Some people use voice attack to do it.
Voice attacking can,
uh,
can take,
uh,
voice commands and con and convert them to key presses.
So I've seen some people do that.
Uh,
Home Assistant itself though is like a server,
so it becomes weird unless you want to like tie that server to a particular user,
so it's a bit odd.
All right,
I don't see any other questions.
So this is Feder,
this is my dog,
right?
Say hi,
this is their pore.
The other port appears to be here.
Uh,
Spiegel says,
is there any roadmap in place in regards to framemate performance?
Yes,
please read the announcements channel.
Uh,
we have
a bunch of information there,
uh,
about what we're doing and,
and stuff.
Uh,
actually don't know when that is,
uh.
Yeah,
I need to do a better job of
like
providing on like a weak page or something for people to read about that.
But yeah,
we are currently working on performance,
it just doesn't look like a working
performance cos we're working on like random stuff
that is tangentially related to performance,
but is,
is not immediately obvious that it is performance.
But yes,
we are,
we are working on making the performance better.
We actually had an uh
performance benefit,
uh,
this recent update.
Uh we had a bug report from a user
that we were constantly registering setting handlers for feet
and uh we are,
we're doing that,
yeah.
We were doing that,
so uh we fixed that one up.
You're gonna fall asleep like this aren't you?
What
do you have to say to the world about um
fossil fuels,
Feder?
You want the mic?
I can get you the mic.
What
do you want to say to the world about fossil fuels?
There you go,
the mic's all yours.
You speak right into the mic there.
You don't want to comment on fossil fuels?
OK,
what about global warming,
Capitalism,
taxes,
the floor's yours.
Go on,
what do you wanna talk about?
He wants to talk about biscuit,
like kibble treats.
Yeah,
I'm not doing a switch screen.
I,
I would,
I would like
the,
the thing that I like about office hours,
um,
it's also like weird cos like everyone else that does office hours
calls them office hours even though they're like their own thing now.
Um,
they're sort of like their own
shows.
The way,
reason why I do it this way is because uh I don't
want there being any barriers in place for me doing it.
I just hit a button and then I'm suddenly talking to you all.
If it's a.
Twitch stream,
I have to like get OBS start it up,
probably get in VR
and then you have to look at,
like,
you know,
it's just,
it's like a different environment,
whereas here I'm just,
I'm talking to the void.
It's easier to set up and everything.
Hi Fedda.
Hi.
What you doing?
Ah,
question.
I just missed it.
Phoenix,
I'm fairly new to resonate,
but vaguely remember in the Neos era,
there was an experimental quest standalone build.
Uh,
that's NEOs,
we don't have one of those here.
Uh,
we want to eventually look at standalone support.
We just have to do it after all,
and I mean all of the performance work.
cos never forget
that standalone headsets are,
uh,
basically mobile phones,
like they're like some of them literally run Android,
some of,
some of them run other operating systems,
but
they're basically mobile phones that you strap to your face,
and that means that like their um
uh hardware specs are a lot less than any computer.
There's also the problem that like companies keep cancelling those as well.
So
I,
I think MetaQuest 3 is probably gonna stick around for a bit,
but MetaQuest Pro got cancelled.
Um,
who knows,
you know,
maybe they'll cancel MetaQuest 3 and come out with,
I don't know,
they'll probably call it some stupid like the Metauest 3X4.
And make it really confusing for people.
Hey,
if the next Xbox has X in it
as its name,
I'm gonna scream,
right?
The next Xbox has to be named something
completely different cos it's so confusing right now.
Call it like maybe
the
Xbox etta.
Uh,
so if I ever complain
about the fact that I don't have hands,
this is what I mean.
Like if I move either of my hands right now,
this dog is just gonna slide off my lap and fall on the floor.
I do like the,
like,
PlayStation's having a little bit of a weird time due to the PS5 Pro,
but,
and Sony making some weird games,
but
you know,
it's,
it's really easy to understand.
It's like,
hey,
I want the latest PlayStation console.
Oh,
you want the PS5 then?
So,
oh,
I heard there's a PS4,
is that better?
No,
clearly,
cos it's the PS4.
Oh we have a question here.
uh,
Mr.
Dabb says can Resonate run on consoles?
Nope.
It probably can in the future.
Um,
we just have to sort of figure it out.
That would require source.
Uh,
by the way,
once we have source and we have all the performance updates,
that doesn't mean that we can instantly get
standalone,
because,
uh,
when it comes to standalone,
standalone like it it isn't.
The same
architecture
as as Windows or any other operating system that's on an actual computer.
And so our performance benefits probably wouldn't work the same.
Um,
for example,
we talk a lot about multiprocess,
but is multi-process something we can even achieve on a standalone device?
I don't know.
Um,
if it's an Apple device or a meta device,
they'll probably like,
you can't run multiple processes,
go away.
Oh,
and pay us $400 million just to get the SDK.
That's what they'll probably do.
Uh,
Jack has asked,
what parts of the engine do you really want to look at work on the future.
Um,
I really want to fix up logging.
Um,
logging just,
it bothers me that it's,
it's so difficult to,
to read logs,
manage logs,
all sorts of stuff like that.
Uh,
I experimented with a virtue of other loggers.
For those who use C,
you'll know that there is the iLogger interface,
so I want to make sure that we go across to the iLogger interface,
uh,
probably first.
And what that allows me to do is replace the logging
interface at any time during the future without upsetting things,
that's the benefit of C interfaces.
Um,
it will just,
it just like,
it'll be a lot better once we have that
for logging.
I know it's a really silly thing to do,
but
we could do a lot of improvements there.
You know when like two different exceptions are logged to the log at the same time,
that wouldn't happen anymore.
And that would,
that would be really helpful with debugging,
because you're scrolling through an exception and
then you realise this is two exceptions.
They're just being printed to the log file at the same time.
Uh,
but beyond that,
I'm really interested in
one of the metrics that
we are looking at when it comes to performance,
but like one of the metrics I want to focus
on for a little bit when it comes to performance is
time to first meaningful interaction.
And what do I mean by that?
Um,
it actually,
it sort of comes from a,
from a speed runner sort of area,
but also from like UX studies,
etc.
But it's,
how long does it take
between you hitting go on on resinate via Steam or
whatever you launch it from and you being able to
meaningfully interact with the engine.
And in that case,
I don't mean like focusing into it or wiggling around or something like that.
What is the first meaningful interaction that you might do?
So it might be,
hey,
join a session,
open an avatar,
open a world,
speak to someone,
stuff like that.
How long does it take you to get from 0 to that?
Uh,
sorry.
And my,
my guess right now would be roughly sort of
between 1 and 3 minutes.
That's how it sort of roughly goes out,
I've timed it a few times.
What if that was 1 minute?
What if that was 30 seconds?
How fast could that be?
And,
and could that be something interesting?
Uh,
so I,
I kind of want to look into that a little bit.
I'm unsure like what benefit that would be,
um,
before we do the other performance works,
that's why I haven't been looking into it.
Um,
but
the one of the business clients is asking us to look into it,
and so I'll do a bit of research and,
and take a look and,
and figure it out.
That'll probably just be research,
right?
I'll take a look and see,
oh this.
This area is long and
takes a long time
and this area that's long that takes a long time will be fixed by this other item,
by this other item,
right?
Uh,
so there might not actually be any work associated with there,
it might just be like a research effort.
But it'd be good to know what we need to do anyway.
Once the,
the,
the time
till the first meaningful interaction is down,
we can then start focusing on the next one,
which is time till the intended interaction,
which is how long does it take before they can do what they intended to do.
Um,
and that's when we start looking at things like,
hey,
how fast is Avatar creation and stuff like that.
But yeah,
if.
Going to 0 to joining a world,
if that was 30 seconds rather than like 2 or 3 minutes,
uh,
I would love things.
But I don't know how we get there.
Daub says currently,
uh,
SRI Powell,
when
I tracking disconnects,
if I reboot SRE Powell,
only face tracking comes back.
Uh,
yeah,
report that as a bug.
we'll take a look at it when we can.
Uh,
a feather really likes putting their head in
like nooks and crannies,
you know,
like dark corners.
Um,
they like their eyes being covered when they're asleep,
which is something I've never seen with a dog,
right?
Usually dogs just sort of like lie on their bed and fall asleep.
This dog wants his eyes covered.
He wants to be like in a safe dark space.
So we'll often tuck his nose here where it is.
This is sort of,
you know,
the gap between my arm and my chest,
and he's just burying his nose in there.
And if I didn't say much cos I'm speaking here,
he won't fall asleep,
but
he'll fall asleep here.
Like sometimes I'll watch TV like this.
I have a TV you can sort of see the TV standing behind
me and I'll sit on the couch and watch TV a lot,
but
sometimes I can't be bothered to move from my
desk or I'm doing something in the background,
so we'll sit here and watch TV and he'll fall asleep,
it's it's cute.
Fetta even has some favourite TV shows.
I don't see any additional resonant questions.
And without my hands being here,
I'm kind of limited,
so keep the questions coming.
Oh,
that's a,
that's a deep and meaningful question.
Good,
good,
good conversation.
Uh,
Jack asks,
uh,
I have a pretty good idea of Fris's long term vision for Ressonate,
but I'm curious how you see it.
What do you want to see resonate becoming in the future?
I think it's more important to like break that up into stages.
So like financially and internally we've broken
that down into three stages of sort of
um survive,
live and thrive,
and we're currently in the survive phase and that means like,
you know,
things are scrappy and you see it all the time,
like the amount of times I say I'm sorry,
I'm busy,
that's the survivor phase,
right?
We are just like battling and it is a battle on most days to get stuff done
because there's so much to do.
Uh,
we can move on there and sort of the live phase,
and that's where we're comfortable,
right?
We don't have to worry about it.
We don't have to worry about
is this a successful business,
we can just be like,
yeah,
it's,
we're living here.
Uh,
so I'm very much looking forward to Liv.
Probably Liv would start sort of 2025 sometime.
Um,
it's
just,
there's a complete difference between like the
struggle that we're feeling right now and,
and being like a 100% stable company,
um,
that will occur between Survive and Live.
And then the last one there being thrive and
Thrive is where we can start doing good things.
Like over in Thrive it'll be
all right,
we have a good amount of employees,
and not only do we have those employees,
they're literally employed,
they're not contractors.
Right now anyone that's paid by Resina is a contractor.
We're doing it all legally,
we're not dodging taxes or anything,
like it's all above board,
etc.
but legally speaking.
The only employee of Resinite is,
is fruits,
right,
so we wanna fix that one up.
Because when we get actual employees in in the sort of live phase,
we get
things like benefits,
medical benefits,
uh,
things like protections and and policies and and stuff like that.
Uh,
we get structure that will help.
But that's like financially,
if you,
if we more product speaking,
um,
I want us to sort of get over the hump that
we're currently on with it when it comes to 300 users.
I want us to get up to.
Like 1000 active users is probably like a goal that I would want to see,
and I want to see it as early as possible into 2025 as possible.
Um,
but that's,
that's like
the next sort of milestone.
As for the sort of five year journey or,
or long term,
I don't think anyone knows.
And I could say a bunch of sort of
corpo planning,
marketing bullshit,
but like it's not,
it's not
true.
Like I know.
Technically,
what resonate's gonna be,
because I understand Frus's technical vision
when it comes to the company and the product and,
and people using it and the community.
I't have a clue.
Uh,
so Tig is asking about custom shaders.
Uh,
custom shaders will be coming once source is in,
but they won't be custom shaderss how you're probably,
um,
looking at them right now.
Um.
When people
think or talk about custom shaders a lot,
they think about how the way that Unity does it,
which is where you can just
drop in a shader language file.
It will compile that sadder and then you can use it in unity.
That's not going to happen.
You will not be able to write custom shadders in a shader language.
You might be able to in the future,
future,
but the,
the,
the first iteration of custom shaders is enabling you to write custom shaders in.
Protoflux,
uh,
protoflux is a very cool language,
it has a lot of features which aren't exposed to people right now.
Uh,
and so a good example of that is
different contexts that can be operated upon.
So right now,
a lot of the,
uh,
a lot of the Proflux nos operate on one of two contexts.
There is,
uh,
like numbers,
and the reason why I say that is a different context
is because those don't need to touch anything outside of Freaksension,
right?
Um,
protoflux can just do the mathematics internal to it.
But the other context it can operate in,
which is the one that you all use most of the time,
is the frus engine context.
The fruxen context is basically the way that Protofox communicates
with the frusen world that they are a part of.
Um,
but there can be other contexts,
and so there will be an audio context where
you can do dynamic signal processing on audio.
There will be an image,
uh,
context where you can do dynamic signal processing on image data,
and there will be a shader context where you can do protoflux with shaders.
Uh,
Jack,
um,
I'm gonna have to like skip that question with the user facing vision.
I'm just,
I'm not in the right headspace,
um,
to answer that one right now,
and it would just be a bunch of corporate mumbo jumbo that doesn't mean anything,
so I'm just gonna skip it.
Uh,
apologies for that.
It's rare that that happens,
but like I am a little bit sick and I'm,
I'm,
I don't have two hands right now.
I have one,
I have no hands.
I have a dog that's asleep.
Uh,
Red says any idea when the inspector updates will be?
Um.
This is a when question,
so I need to do the when um preamble disclaimer.
Uh,
so
when people ask when questions,
it's very difficult for us to answer because of our limited team size.
We cannot answer when questions accurately,
so we don't like answering them.
We
want to do the inspector update as soon as we can,
but there are lots of stuff that we need to do before that happens.
um and.
So just keep an eye out on announcements,
we don't have any sort of time.
Like if I were to tell you 2025
July,
that's when we're gonna do the inspector update,
it would be a lie.
It would be like a 100% a lie.
I've got no idea.
Like if I knew I'd tell you.
I mean,
like early 2020,
like basically like early 2025,
I wanna see us break our user record consistently.
And I don't want it to be like what we usually see,
which is like I don't know,
like a public event happens.
So,
I'm jumping down to Venport,
right,
who said 100,000 users in 2025 would be impressive.
It would be impressive if it's in the first couple of months.
Like if it's like December 2025 and we're able to keep 1000 users,
I would say that we are
not on track to to where we should be.
Um,
but definitely early 2025.
I just want to see that number break.
It's around 300,
so I just kind of call it 300.
You can argue pennies and dimes with me later if you want.
But we seem that we,
you know,
we,
we stay at 300 pretty solidly every day,
um,
from our graphs.
It would be great if that had a new ceiling.
And if that new ceiling was closer to 1000 early on in 2025,
that would be great.
Jumping back up to Phoenix's question,
is there a version of custom shaders that doesn't lose out too badly
to the current visual coherence of everything having the same PBR style?
I don't,
I don't know.
Like if we allow people to customise the rendering,
then they'll make hellscapes,
so we'll just have to
deal with that when we get there.
Uh,
Venport says when you're sick,
do you drink Tang,
eat soup,
or some other third thing?
Uh,
I aggressively pound orange juice,
and I'm talking litres.
It just seems to work
straight for the hiccups as well.
I ate something that disagreed with me.
Jesus,
um,
I'm not doing well today.
Um,
but yeah,
I,
I just chug orange juice for some reason it works.
I always drink orange juice on planes as well,
you know,
when they come round with their little cart and they're like,
uh,
would you like a drink?
I don't know why like Harry Potter flooded into my head cos that's not
what like a,
like a,
a,
you know,
an aeroplane person does.
Anything from the trolleys,
dude.
Yeah,
I'll take a
like keg of orange juice eggs.
I don't advise drinking alcohol on planes,
I know lots of people do that.
They're like,
I'm going on holiday,
I must have a glass of champagne in this
entirely like very cramped coffin full of other people.
No,
you're drinking water or orange juice.
Uh,
Red asks a second when question,
which is fantastic.
Um,
we can't answer when questions because of our limited engineering resources,
and so it's very important to try and avoid asking.
When
the,
the better way of doing it is like what is the priority of or how
can I increase the priority of or what would help you to solve this sooner,
stuff like that,
like move the conversation on from
July,
which would be the answer that I could give you.
It's not July by the way,
it's just like if,
if this was a regular software company,
we might be able to say
July,
right,
but we can't.
But like,
that doesn't answer your question.
What you wanna know is like.
You don't wanna know that when you,
you,
you're more interested in,
in,
in
like the,
the progression of it,
so ask about the priority of it,
ask about how to improve the priority of it.
Ask about
our prioritisation framework and roadmap and and all sorts of stuff like that.
Those are much healthier questions than me just going July.
Maybe that's what I'll do for when questions,
but I'll just invent a month that doesn't exist.
Yeah,
big update Marketplace,
it's gonna happen in
snozberry,
Flanary,
yes,
indeed,
Flannuary,
that's a good one.
I fitter.
He's,
uh,
slipping off my,
um,
he's slipping off my lap,
so I'm gonna have to reposition him.
Ain't no licking,
come on,
you're slipping.
There you go.
I got you,
I got you.
You wanna go that way?
OK,
there you go.
With this mic close I'm kind of reclining as he falls asleep.
Uh,
if I'm ever not responsive or you wonder what I'm doing,
you know,
it's like,
oh,
what does prime do in the rough time?
I watch YouTube with this dog on my lap exactly like this,
and he falls asleep.
Whoa,
someone posted C# into
into office hours.
It's great.
We get to talk about that now.
Oh yeah,
I'm really excited by performance.
I just worry that performance might be hiding
other issues that we haven't figured out.
Um,
so like we could say,
hey,
performance,
it's like the,
the golden pill,
but
it isn't the golden pill,
it's
one of the pills,
right?
And it's very important,
and we're gonna do it,
of course,
right?
It it it's fantastic that we're doing it.
I don't want to knock anyone that's that's working
on it and saying they're doing the wrong thing.
But I worry that it's hiding other issues.
So the other issue that I,
I,
I worry about is,
um,
like how long it takes someone to feel comfortable in the engine,
which is another metric that we need to kind of figure out how we can sort of improve.
Um,
comfort in a VR space is usually like
my avatar is in,
I know how to get it,
I know how to edit it,
I know where I can go,
I know how all the buttons work,
stuff like that,
like we need to improve that.
Like how quickly can we get someone comfortable?
This is like I do this for hours,
like literally
this dog in this exact pose for hours whilst I watch YouTube,
it is the most relaxing thing in the world
because this dog weighs,
well he weighs like 11 pounds,
right,
so there's pressure on you,
which is good,
look into uh
like pressure therapy if you're interested in that,
um,
something a dog can easily provide.
And he's just forcing me to do nothing,
right?
If I move,
he'll be like,
What are you doing?
He's forcing me to do nothing.
It's like great for health.
Um,
Climay,
can you set your Prometheus to keep data for longer than you thought 15 days?
I need to do a bunch of sort of architectural work on our server before I do that.
Um,
so the main server that's running all of.
stuff is running a lot of stuff and it's running out
of resources and so I need to like re-architect that before
I
think it's OK to give more stuff to Prometheus.
Moving forward to Climber's question,
oh no,
I answered that one.
Thenport's question,
what is your least,
least favourite coding practise?
Um.
Hi,
I'm a dog,
look at my leg.
OK,
where was the other question,
yeah.
Um,
favourite coding,
uh,
I don't,
I,
I'm just going to rephrase the question cos it'll be easier to answer,
like,
what don't you like when you when you see coding?
Something that I don't like,
particularly in C,
is where too much stuff goes into a file.
I get it sometimes,
right?
Sometimes you'll have a class and maybe an enum
that's associated with that class in the same file.
But like,
if you have two classes in a file,
I start raising my eyebrows,
I don't like that.
I get that it's a lot of effort to set up,
but once it's done once you kind of don't have to maintain it.
Uh,
what else don't I like?
Uh,
I don't like Python.
I don't really know why I just don't like Python.
Um,
I don't know,
it's,
it's difficult to,
to think about that one.
I could swap it around and be like,
what's my like good coding practises that I like,
and one of them would be
naming your variables something other than one letter,
right?
If I ever see a variable name that's one letter,
I,
I change it.
I I can't stand it.
Like,
ah,
it's faster to type,
it's like you're you're typing it,
but you just like type like the first couple of letters and push tab.
It's fine.
It could be like 100 characters long,
it doesn't matter.
Um,
other things that I don't like are,
um,
heavily nested code.
There's a,
a concept in sort of like clean code where you bail early,
so it's like,
if there's an error,
like bail when there's an error,
don't like keep the error estate,
and you'll see,
like,
keeping the error estate happening when people nest too much.
Um,
I'll link a video when the dog gets off my lap,
basically.
Actually,
I've got one hand back.
I have one hand.
I can do this.
I can't use my keyboard cos it's too far away.
But I can open onscreen keyboard.
How do I get to onscreen key?
Does anyone know
how I get to onscreen keyboard with one hand?
Oh here we go,
uh,
settings,
ease of access,
uh,
keyboard,
uh,
onscreen keyboard,
onscreen keyboard.
Where are you?
Oh,
whatever.
I'll get you the video when,
when the dog gets off my lap,
um,
yeah.
Next up,
uh,
then puts this Jona weighted blanket.
I do.
It's been on the top of my wardrobe for years.
Um,
one of the reasons behind not using it is
it's weighted.
I know that sounds stupid because that's kind of its point,
but I find it difficult to manoeuvre in bed,
so I would rather just not have it.
Uh,
Yosha,
how many sizes of your room does your bed touch?
One?
That's like a good way to like identify like how,
how big someone's apartment or house is,
right?
How many sides of your room does your bed touch?
So a lot of you probably answered 2,
and some of you answered 3
to that question,
right,
if you think about it.
But if you only say 1,
then you know that your bedroom is of reasonable size.
Tick says 0,
you got the bed in the middle of the room there?
I've considered doing that sometimes.
I don't actually need,
uh,
multiple blankets.
This guy
goes under the covers of the bed and he'll sleep next to me.
Like he's learned that he can,
like,
he's learned that like it's a double bed basically.
He's learned that
there's a lot of room and so I,
I'll frequently find him
like a couple of centimetres away from me but still in bed with me,
it's cool.
I'm still looking for Rod's Greek keyboard.
Oh,
I found it,
found it.
Hell yeah.
All right,
here it is.
I don't agree with everything that the user of this channel says,
um,
and do,
uh,
do take that with like a grain of salt,
but there's their never nesting video that talks about not nesting.
Um,
they have this other video
where they talk about
not writing comments which I just completely disagree with,
right?
Uh,
this one,
I don't agree with any of the contents of that video.
They're basically like,
don't write comments,
here's all the reasons you shouldn't write them,
and I don't agree with any of them.
I think you should write more comments.
But this isn't prime debate's comments,
this is,
uh,
I agree with never nesting,
I do not agree with comments.
Uh,
let me see,
let me just go,
go through the other guys' videos.
Uh,
I agree with every single video on their channel,
except the one about comments.
Uh,
I haven't watched the Nema Esing video in a while either,
so there might be stuff in there that I don't agree with,
uh,
but it does talk you through the,
the reason why you should do it.
Um,
Jack says that,
yeah,
Jack,
that's one of the problems that like he talks about.
He says that like people shouldn't write comments because comments get out of date,
and I'm like,
well you should bring that up in code with you then.
If there's a comment that says like,
hey,
we made this decision 5 years ago because of a business client
and then the PR is undoing that that decision,
you should delete the comment,
right,
if you're leaving the comment alone,
fail code review.
Like update the comments during your,
your,
your editing of a feature.
A really common example of a comment that does get updated is like a to do comment,
right?
You'll see like a comment that says to do and
it says like improve error handling in this area later.
And then you improve the error handling in that later.
You delete the to do comment,
but maybe you add more comments to explain how the error handling works.
It's,
it's great.
Anyway,
let's see if there's other questions.
Uh,
red,
should I make a new issue about scrolling?
No,
no,
we've already got an issue about scrolling,
that's all we need to do.
Don't worry about it.
If there's already an issue,
go for it.
One of the problems of modding,
red,
and I,
I give this speech because I,
it's unclear whether you've had it before,
is the way that mods operate is
they do stuff for hackpily.
Are you gonna get off or are you staying here?
Cos you're gonna get off,
we'll turn off the camera.
All right,
you're just,
you're just spinning.
He does this a lot as well,
he'll just like spin on my lap.
He's like,
what do you want?
What,
what do you want,
fella?
Hi feather.
Hey,
come here,
come here.
Oh.
Are you gonna lick my face now.
Uh,
this is Fed as butcam
live at you here.
I'll try and proceed with questions.
You're getting off?
Up to you.
Yep,
OK.
See you later.
Look,
he's down there.
Where's he going now?
Ha.
OK,
whatever.
Uh,
where were we?
Um,
yeah,
mods do things in like a hacky way,
so we can't just,
we can't take their code and copy and paste it.
It just,
it just won't work.
Uh,
Niki says,
what did the setups that business clients get look like?
Um,
anything really.
It depends how much money they want to pay.
Your imagination
is
no limit,
whatever you want to like do.
Do they have the same menus?
Uh,
in some cases,
yes,
in some cases no.
Do they get cloud times?
In some cases,
yes,
in some cases no.
Uh,
does someone make them bespoke words to meet in?
In some cases,
yes,
in some cases,
no.
Uh,
how often do they import stuff from the regular public services?
It depends.
What kind of special work do you typically do for them?
Uh,
cursor is a good example.
Joined by UL is a good example.
As for more specialised work,
there is gonna be probably starting 2025,
some work that
will eventually benefit the regular community but won't
on the offset,
which is we need to look into.
Um,
full compatibility with a model format called IFC.
IFC files are used for architectural visualisation
of buildings and stuff like that,
and it means that like,
not only is there geometry,
so let's just imagine like I don't know,
like a multi-story car park,
they're good cos they're kind of simple when it comes to architecture.
They're just like cubes,
right,
cos they don't have like walls or rooms,
right?
They're just like concrete floor,
concrete floor,
concrete floor with like ramps to go between them.
Let's say that's an architectural visualisation of that.
You would import that as a file
and you would get not only the visualisation of the building,
but you would also get the metadata that is contained within the IFC file.
Um,
so things that might be included would be
what variety of concrete.
is this concrete slab.
Or you might be able to look at like say an electrical conduit and it'll tell you
where that conduit goes or what that conduit does,
or what type of wire is inside of that conduit.
That's all available in IFC metadata
and they want that exposed somehow in um
in resonate so they can sort of like do like
analysis of it.
Like you know those like crime fighting games.
Where you're a detective and you're like,
you pick up something and you're like a robot,
uh,
Detroit maybe,
right?
Yeah.
Actually yeah,
Detroit.
Detroit where like he picks,
he goes to like this crime scene,
spoilers for Detroit become human here,
and like there's some blood on the floor and
in a really like quick series of motions,
the android like puts his hand in the blood and then eats it.
And that's because like that's how he analyses the blood.
But imagine instead of requiring the android to eat it,
this doesn't make any sense,
but we're just gonna go with it.
You look at the blood on the floor and then all of the IFC metadata is in there,
and then you don't need to eat it.
That doesn't make any sense.
Just look into it though.
IFC is a bunch of metadata and you can,
they want that exposed somehow isn't it?
So I've got,
I've gotta,
gotta figure out how to do that.
Um,
and then the other thing that might benefit,
and this is early 2025 again,
the other thing that might benefit
the resinak community
is,
um,
they want an easier way for avatar import,
but it's a different scale and a different
problem to the regular population of avatar importing.
Um,
what they want is so that each and every employee
that uses the platform
has a quick and easy way to get an avatar that looks like their physical presence.
Uh,
so this isn't,
you know,
like a,
a,
uh,
an,
a character avatar or a persona or anything like that.
They want avatars that look like the physical
person that they are cos it's a corporate,
you know,
it's a corporate thing.
So what they've been doing historically for that
is the company that we partner over with um
in
Austria.
Uh,
it does 3D scanning,
so sometimes they'll 3D scan,
um,
like an employee and they're able to make an avatar that way.
But we want to look into sort of maybe supporting
one of the avatar creators such as Ready Player Me,
Avanta,
stuff like that,
directly in Resinite,
so that you won't have to leave Resinite to use the UI for all of those.
It's very early days for that one,
and we're not sure which company that we want to look into
partnering with cos we have to go speak to that company and,
and be like,
hey,
let's,
you know.
Shake hands,
write paperwork,
stuff like that,
but we wanna look into making that easier.
Um,
and I want to do that in a way that it does
benefit regular users.
So the scenario will be you're a regular user,
you're brand new to resonate,
you don't have an avatar,
you can import an avatar or you can choose to create one using this avatar provider.
And again,
I want to do it in a way where we can add more,
cos I don't want there being like accidental favouritism there,
just in the sort of code.
It's OK if there's favouritism from a business sense in that like
this particular software products is paying us money to integrate,
so we're obviously gonna choose that one,
but
there should always be the opportunity for us to add more,
so I'll do it in a generic way that allows for that.
So it might be.
That if we implement more of those,
we'll be like,
Hey,
you want to make an avatar,
you've got a choice of Ready Player me,
Fetters Avatar Farm,
and Prime's Cheese Land to make an avatar in.
But that's cool.
Yoshi says,
Prime,
how are you get into the,
uh,
Christmas spirit?
My one and only Christmas decoration
is out and displayed.
I don't know where it is,
but I didn't put it away,
so therefore it must be out.
Uh,
Spier says,
does any documentation exists for the in-game tools,
uh,
wiki's your best bet right now.
Um.
Uh,
red,
you're still asking about,
wait,
OK.
Whenever you see something that looks or appears simple,
and that includes when there's a mod which appears to simply solve the problem,
it doesn't solve it simply,
and it isn't simple.
And we can't just add a toggle.
So,
um,
in answer to the question,
how much would I have to pay as a visitor to
get a new boolean toggle on the scroller to make the joystick
and the squirrel peed added,
the answer is a bajillion dollars because we wouldn't do it that way.
Feders are doing like 10% volume barks at me,
that usually means they want something.
But you know,
like a,
like a really hearty bark that a dog does,
usually when the dog thinks they're in danger,
maybe like,
you know,
another dog's coming at them or the doorbell's just gone.
That's a really hearty bark,
right,
it's like,
you know,
I'm putting a lot of energy into it.
Most of Feder's barks are like 10 to 1% volume and he just goes like.
Like under his breath at me like he wants something.
It's like a 10% mark,
it's really annoying.
Quite you.
Uh,
Nuki's excited about IFC support.
IFC is an international standard,
so you can actually go to their website and download some files.
There's even a viewer that.
I can provide a link to where you can open some of those up and take a look.
And you'll see things like,
um,
a wall,
for example,
is blue,
and then you click the wall in this IFC viewer and it says,
here is the paint code for the paint that you
need to buy to make that that wall that colour.
And that's great,
right?
Um,
so imagine the business scenario,
um,
an architectural firm
creates a IFC architectural diagram of a building.
We import it into resinite.
With all of that metadata and they walk around and they have questions,
we can just answer them in world or like maybe
like a a a in an inspector tool or something,
you know,
and it's like,
oh,
I really like this room.
Um,
what,
what's the name of the paint that'll be in this room?
And you just like click something or look at something and it goes like,
oh,
it's like
baby blue,
feather,
could we stop barking at the front door,
please?
Do you think you can find it in your heart to stop barking?
Thank you.
um.
Come here,
come here,
come here.
Enough barking,
no more.
Um,
because of,
you know,
resonant being resino,
at some point we might even be able to go further than that,
right?
We,
we take the person who is building,
you know,
commissioning the building through the architectural diagram.
And they're like,
hmm,
this room is blue right now,
but I would rather it be red.
And then we can go,
OK,
well,
we'll mark that in the architectural data that we need to change the paint colour,
and then resync or export the IFC file back into the architectural software and
vice versa,
and it'll be really good.
For anyone who's who's commenting that the wiki
is bare bones or doesn't have information.
Like,
just go look at the contributions page.
I feel guilty every time I see how much
the community are editing it,
because I'm,
I'm not editing it at any point at the moment,
because like I'm,
I'm so busy with other things,
but like there is so much information there,
but all I hear from people is,
there's not any information there.
Let's like focus on precision of language.
So instead of saying
there's no information there,
the information that I was looking for is not there,
cos it's a much healthier conversation.
We can go from,
like,
think about the conversation.
Is there any documentation available for resin?
Yeah,
you can check the wiki.
Well,
there's no information there,
full stop,
conversation ends,
compared to,
have you checked the wiki for documentation?
Yes,
I checked the wiki,
but there wasn't enough information about the cheese tool.
That's great feedback.
Thank you.
I will add an item to my to do list
to write information about the cheese tool into the wiki.
Think about the usefulness of your words.
Right,
you're still hung up on the scroll wreck,
right,
we will sort it out when we get to it.
I don't think there's an input system rework in progress.
There probably is cos it's,
it's free,
but like
the scrolling of inspectors will happen when the inspectors get a rework.
Let me make sure that we've got,
yeah,
I'm looking into Ready Player me,
so like,
Ready Player me has got
um a.
Uh,
it's got like an SDK.
You right?
Where the fuck's the dog?
He was whining.
Where are you?
I can't see you.
He's in his bed,
he's fine.
Um,
what was I talking about?
I don't remember what I was talking about.
Yeah,
so the inspector rework will,
um,
I guess like try another analogy,
it's
the inspectors at the same point that the,
the settings are at,
which is like touching it and editing it is very difficult.
So in in order to to make that better,
we have to basically bucket work into
is a is is easy to do before we rework inspectors and is
easy to do after rework inspectors.
And scrolling is one of those things that
is easier to do after inspectors are reworked,
as is uh tabulation,
and that's the sort of thing where when you push tab,
it goes between.
Fields.
Uh,
that's,
that's a good that's what we're we're doing there.
And I get that it's frustrating,
but you have to remember that like
every day that one of the engineering team wakes up,
myself included,
I have to like
wade through like a tidal wave of information and items that I could work on
and pick something out of that like sea and that tidal wave.
Of nonsense
and and do it.
And she's saying nonsense is probably like unfair.
I don't mean nonsense,
I apologise.
That tidal wave of very valid things that should be done.
Some of it is nonsense,
but like very valid things that need to happen.
Wade through it,
find out what I can spend my time on today,
pick it up and do it,
and then see it through.
It's exhausting.
Uh,
I believe that's it for questions.
If there are any additional questions like I've,
I might have missed,
please do let me know.
I don't see them.
I just realised we're at time as well.
Um,
Shotwell says,
have you been surprised by any of the ways that businesses have wanted to use resin?
Yes,
the,
uh,
university that's doing not
research was surprising.
Um,
so.
I think it,
I don't know if it's correct to sort of label the
the not
research as
um geometry,
but like it feels geometric,
um.
So geometry is a very like
weird thing that people study,
um,
but they do.
Uh
and it goes sort of like it's weird because like it's like,
it's beyond
what you're thinking of when I say geometry.
It's like,
uh,
how far can we push like the rules of geometry to like understand our world?
Um,
a good example is that like tiling tile thing.
Uh,
let me see if I can find it.
I remember like the,
the,
well there's Penrose tiles,
which never tile,
but
there's this like weird shape that someone made
that
uh like like mathematicians couldn't figure it out,
but then like a truck driver figured it out or something.
I don't,
I don't remember like what the Google term to like get,
get to that
that whole
spiel.
Yes,
yes,
there we go,
that one,
that's exactly the one,
thanks Ari.
That is the sort of like,
that was a humongous amount of geometrical research that I didn't.
I just didn't understand why someone would do it,
right?
It's like,
why is this important?
Um,
and
that's the sort of like weird stuff that's going on with that knot research.
So they're looking at like,
uh,
knotted rope or I think just knots in,
in general,
so it's like,
you know,
like.
When it comes into mathematics,
it sort of loses meaning in the physical world,
but they're looking into sort of how
stuff overlaps and interfaces with each other mathematically when it comes to
not in rope.
And
if you wonder why,
I don't really know why,
but you can go ask them about it.
If you still have questions,
go for it,
like the like if you've still got a question,
go for it,
but we'll we'll we'll stop questions after like the next little batch,
yeah.
How is this?
Well we also had,
um,
MMC we had the rose curved surface where someone took
um some pre-existing geometrical mathematical algorithms
that made some pretty shapes,
and then they expanded them into
um resonite and added some more mathematics to it,
and they made some really pretty shapes.
Uh,
Wenport says,
why do we have value tag as a component?
Do I have Visual Studio open?
I do.
I mean I can go find out why.
OK.
Uh,
sorry,
I giggled because like
it's not used anywhere.
We don't use this component.
So now I'm running a Git blame on it to see when it was added.
Unfortunately,
our Git blame isn't that useful because at a certain point,
it just says like,
added files,
because it was before we used Git.
All right,
apparently I touched Value tag in 2022.
I don't remember doing that.
Uh,
but yeah,
Valu tag was,
uh,
let me see.
Yeah,
Valu tag was just like the first time it
was touched was when we initialised the Git repository,
which is
not useful at all.
Uh,
it was touched in 2021.
As a part of,
like,
it's not used though,
it's basically another value field.
If I look at the,
the source code of it,
it
basically is just another value field,
which is,
is very strange.
Oh,
maybe it's used via interface actually.
Hold on.
Interesting.
Uh,
it also has,
uh,
XML comments,
so I can read those to you,
not that they help.
A component which holds an arbitrary value without any additional information.
Yeah,
that's a value,
that's a value field,
basically.
Uh,
red is actually we've got a bunch of questions here.
Value tag's done.
No more questions.
I said the next batch,
the next batch is done.
Um,
right,
is there any plans to pre-cash,
prepackage certain assets then the game downloads?
Yes.
Um,
that should be happening.
I don't know what we include in our pre-cash,
but I know that we do include something.
If you go to our installation folder,
um,
I'm going there right now because otherwise I'll
get this wrong.
um,
but if you go there and then you go inside,
where is it?
Yes,
uh,
so go to the installation folder,
go to runtime data and then pre-cash.
Uh,
it's empty cos I looked at the,
um,
downloaded version,
sorry,
my local build,
let's go manage,
browse local files on the Steam version.
Yeah,
uh,
runtime data pre-cache,
you'll see that there's a bunch of stuff in there.
That's all stuff that's downloaded with the game.
I don't know what's included in there,
but there's 537 megabytes of stuff.
I need to double check that that has everything.
Um,
I don't know when it was last done,
but like,
I,
I'm,
I'm certain that like fruits is keeping that out at the.
There is not a runtime,
there is a runtime data folder.
Uh,
where am I?
What am I doing?
All right,
so,
oh,
here's value tag,
by the way,
so you can see how simple it is.
Um,
Steam,
manage,
browse local files,
runtime data,
pre-cache,
and then look at all this stuff.
I don't know when that was last updated though,
so it might,
it might need updating.
And with that,
we're out of questions.
Um,
so I'm gonna go ahead and,
uh,
leave off here,
and I will speak to you guys soon.
You can do dash generate pre-cash,
and I,
I frequently do that with our business clients to add the business
specific stuff that they need on top of our regular pre-cash,
but I don't know the state of our regular pre-cash.
Like,
I don't know if it's,
it's,
it's
sorted or good or anything like that.
Um,
Jack,
please separate those out into separate files.
It just,
I,
I understand,
like at a certain point,
yeah,
I go through it,
but
like,
you know.
I will speak to you guys later.
If you've got any additional questions,
DM me,
posting questions and help,
and I'll speak to you later.
Um,
as is tradition,
I do the first half of uploading it whilst I'm still here,
so I'm gonna go ahead and stop the recording now and.