Uh,
hey,
for the benefit of the recording,
I forgot to record,
so you missed a couple of questions,
but that's fine.
Uh,
it's 1610,
so we'll just continue from here,
um.
Reve says,
how does resson stroke?
Why do EMS make money?
So we have
like two wings,
um,
we have B2B
money,
um,
which is business to business,
and we have B2C,
uh,
money,
sorry for that.
B2C money.
Um,
it's basically anything from Stripe or Patreon or like any other
way you want to support us like Twitch or whatever,
like stuff like that.
It's like you are a single person,
a customer,
and you are approaching us with money.
So that's one of our our revenue streams.
And then
B2B is the sort of client corporate work that that I do a lot of technically and.
Bob does like a tremendously amazing job at
um sort of
businessy.
Bob's the guy that sort of,
you know,
puts on a suit and then goes and talks to everyone for like weeks until they say yes,
um,
business,
and they pay like depending on like what's going on,
they pay licencing fees.
You can find out more about that on our website.
Um,
they sometimes pay
uh development fees,
which are like hourly.
I did 9 hours work yesterday on this damn terraform stuff,
so.
That's
9 times the hourly rate into um YDS's bottom line.
Important thing to remember,
hourly rates and stuff like that is that like I don't
get that money because usually when you talk about hourly rates,
you're talking about like an individual employer,
uh,
you know,
like I,
I worked 20 hours.
I was at the cafe last week,
that's I get this much money hourly,
this is how much money I get as income.
When we talk hourly at company,
it's how much money hourly does the company get.
And then of course there are overheads on top of that,
which then result in
in the agreed upon salary coming from IDMS.
Uh,
so that's quite good.
Uh,
we got a good deal for this terraform stuff.
Um,
we've got like a,
a nice,
a nice hourly rate,
so
every hour I spend like gawking at like terraform going like,
no,
is,
is good money.
Uh,
Alex rely says terraform
means uh terrain terraform.
Uh,
it's just like a,
you know,
it's just a like the same as like resinite,
right?
The name doesn't
implicitly mean.
Anything,
it only explicitly means something,
right?
It's only like the meaning you give to terraform is
only in the in the the sort of language,
the documentation,
the logo,
being,
using it,
etc.
um,
it,
it was a good name because it,
you know,
it it it it describes a process whereby we take a planet usually
or like an area and we change it and modify it so
that it suits our needs and that's kind of what terraform does.
It takes.
A,
um,
like bucket that you can put compute resources into.
It could be Azure,
it could be AWS,
could be Google Cloud platform.
I've never really looked into Google Cloud platform a lot,
but I kind of want to.
I know ADWS well because my,
um,
first job used them.
I know bare metal well because Beam used,
like,
mostly bare metal before we got acquired.
I know Azure well because Beam Mixer used Azure after we were acquired.
Um,
but I don't know Google Cloud platform.
I remember like Google Cloud platforms like Panel,
I always liked a little bit more,
but like I don't like remember it.
There is like an annoying thing as well,
like each product in each like cloud provider has
a different name and sometimes they're not logical.
Um,
so
Azure uses a concept called storage account,
or blob storage for blobs.
Um,
but
like
AWS would call that S3.
You'd need to be like,
oh yeah,
I'm gonna do blob storage.
Oh well you need S3,
right?
That's just the term for it,
S3.
Uh,
raid has,
um,
already been testing,
um,
and they saw
0.5 to 1,
and it's gonna decrease in CPU frame times.
Of course that's them sort of monkey patching in .NET 10,
so they did say that um it would be better when Frusing gets compiled against .net 10,
so that that'll be cool.
But yeah,
it's like,
it's incremental,
it's not like
um.
It's not like biblical biblical levels of performance increases like
uh 47 to 8 or 9,
we go 99 was
uh moving forwards,
uh,
Goldie says,
will casual players be able to use the terraform stuff?
Absolutely not.
It might not even be open source.
It probably could technically be open source,
but not right now.
Um,
and then Revi says for them from Hasy Corp,
yes,
Hay Corp terraform,
yes.
If the logo looks like a T made out of cubes,
similar to the GameCube logo,
you're in the right place.
But yeah,
it's,
it's completely not useful for you.
Most of what I'm doing
over in the uh the business obelisk in the sort of businessy area
doesn't
come back to you guys.
Sometimes it does,
like display names will eventually come back to you guys,
but we've got to do like moderation stuff to to bring that back to people.
Um,
some of this stuff will,
but like the the like vast majority of it won't,
and if it does,
it will come back in pieces,
it won't come back in like entirety.
Um,
like,
the community doesn't have like an LDAP instance for us to connect to.
For example,
the community doesn't have an echo 3D instance for us to connect to.
Uh,
fluffy.
It was recently brought to my attention by a team member that the laws in,
I don't know what CR means.
Is that a state?
The laws in CR are strict about unpaid labour
and actively prevent people volunteering to help YDS.
Is this true?
What can be done about it?
Uh,
Jan says CRS Czech Republic.
Uh,
no,
that isn't
the particular problem.
Um,
there are
technically legal laws against us taking volunteer help,
um,
but they're mostly American or like local regional laws.
Um,
so we have this problem with,
we have this problem with CIRO,
right?
So,
um.
We wanted to like bring CIRRO on,
um,
but we didn't really have the money at the time.
We're like,
well,
what can we do?
We kind of want to bring C SIRO on.
That's the way we were able to do that because we had to
align to American labour laws was we brought him on as an intern,
uh,
which meant that we couldn't pay him
for
it was like 6 months and,
uh,
we couldn't really tell him what to do for 6 months.
There's like laws around how an internship should work,
and they should be like self-directed.
So instead of being like,
Uh,
you know,
lock Cyro in a room and chain them to a desk and make them write Shakespeare.
It was like,
we'd like you to work on this initiative,
please go take a look at it and,
and learn how to to handle it.
Uh,
etc.
So that was cool.
But generically volunteer work kind of just gets like
problematic.
Um,
we have,
uh,
quite a few,
slightly less than last year I think.
We have quite a few volunteers still on the team and I'm very thankful for their work,
but
it's also very,
very
clear that we need additional full-time work,
um,
because it's work that we can count on
rather than work that we get,
uh,
sporadically.
Again,
nothing wrong with it,
it's just like a sort of business like,
you know.
Uh,
vehicle or ship out at sea trying to get to its destination.
Um,
the way that volunteer works it works is sometimes it's like,
hey,
we're here,
and then
sometimes we're not here,
right?
Uh,
and that's fine because our volunteers usually have their own day jobs,
right?
So sometimes it's like,
hey,
I can't,
I can't help so much this month because I'm,
I'm at my day job,
and it's like fine,
absolutely,
you're a volunteer.
But
with a full-time worker,
we can kind of plan out a little bit more and be
um
knowledgeable of the of their like work being there.
Like,
for example,
like next week on Monday,
I'm gonna be working on Ra night.
Next week on Monday,
maybe one of our volunteers has a large project at their day job,
so we can't count on that.
Oh,
good,
thank you freaks,
yeah.
Um.
Everyone is compensated in some way.
We,
we,
we don't do zero compensation anymore.
Uh,
so all of our volunteers have some form of equity.
The terminology is difficult,
as is the legal
mumbo jumbo,
um,
so
there you go.
This is where someone's like upload the recording.
Of this to like the um
I don't know the name of the work body.
I wanted to say IRS but that's tax.
They wouldn't care
um because we're not a uh
like taxable entity in the US.
They care about my personal taxes,
but
uh not why EMSs at all,
like the,
the labour board or whatever,
yeah,
uh.
Uh
We do paperwork for everyone that we bring
on um to make sure that everything's clear.
Thanks for the correction freaks.
Uh,
Ravi says,
what's the coolest thing resonant is being used for the role in the business world.
Do you mean currently or historically,
cos historically we were like saving lives from cancer,
right?
But like
right now,
I don't know.
We've got a lot of business products like in flight,
but none of them are like in the sort of
uh
like production
roll out.
Yeah,
they're just sort of like,
hey,
we're testing using resinite for this or we need this development for resinite.
So the big company needs all this stuff before they can actually use it,
for example.
Once all this stuff is green,
they'll be actually using it as a product,
uh,
rather than experimenting with it.
And they'll also be paying us more money per licence once at work works.
Uh,
Ray says,
I'm assuming 3D scanning an uh an office will trickle down,
yeah,
eventually.
That's why these are outside the business like thing,
it's because like
document sharing,
there's there's there's two ways to do it,
right?
So
you could share the document in a full,
like,
it'll be a rectangle.
Also like a canvas,
which is
fully interactable,
you know,
like Fruit Extension completely reimplements every single part of Excel
and then Fruit Extension just opens the Excel file and
handles all the interrupt between the file and the computer
locally.
Not gonna happen.
Never gonna happen,
right?
Maybe there's a library can do it and then it may happen,
hence why this is all dotted line,
dash,
crossed out,
etc.
But what's more likely
is that we do screen sharing.
So it's like,
OK,
you open Excel and then you share your Excel screen and then we can talk about it.
That's more likely.
Uh,
and that's why those two are linked,
but they're sort of wishy-washy linked because like
it depends which order they come out.
Uh,
Flofi,
what if someone wanted to contribute to IDMS but didn't care about money?
We,
we can't do it.
We,
we just can't do it.
We do have the like the open source stuff and and the help um available board,
but like,
trust me,
it becomes like a large problem
uh when we've got
that going when it comes to like legal stuff and um
also when it just comes to planning as well.
Um,
moving forwards,
Goldie,
do game updates only go through fruits can other team members push an update?
They absolutely can.
Um,
in fact,
to prove that
during,
um,
the splitning update,
Gley had to pull over
on the side of the road
to help us get an update out.
Uh,
I don't remember if that was Fris's computer blowing up or Fris's phone blowing up,
but it was one of those things was,
was blowing up.
Uh,
and so,
uh,
Gauley pushed a button for us from the side of the road.
So it would take me probably like an hour or two to figure out how to do it
because I've never actually done it.
But I know that I have all of the parts
that
I need to push an update should I need to,
should I absolutely need to.
So a good example would be,
let's say Frus um uh Fuchs is stranded on a desert island
and I can't reach them,
and there's a security issue.
I'm pretty sure
I can get that security issue deployed.
I just wouldn't,
if Freaks is available,
I just wouldn't.
There's no need for me to do it,
right?
We,
we've got
like policies and procedures to get a build out
and right now those all involve freaks taking a look at what we want to publish,
and that's absolutely fine.
But technically,
I can totally do it without them.
So it's more like a
like a respect policy procedure thing than a a technical capability thing.
Like if I wanted to right now I could just go delete all the cloud infrastructure.
I'm never going to do that,
but I could go do it right now.
That's also why we want to like automate it as well,
cos once it's automated,
like producing a build no longer requires a human at all.
The human part would be like promoting a build,
right?
So we would have like basically a sea of builds
and then we can test them or whatever,
and then we can take a little flag and we can put it on.
One of the builds,
and we can say
this is
steam mainline,
right?
This is the steam mainline.
And then everything will be orchestrated automatically
so that when you open up Steam,
Steam goes
that build.
That's the build I want,
that's the build I've got.
But there'll be other builds available.
Like there'll be like Prime's cheese build in the
corner where literally everything is replaced by cheese,
and you'll be able to like opt into that build and run that build should you want to.
And then maybe I'll work on some super cool feature called like
uh the cheese verse,
and you'll be able to try that build,
but it won't be on the main build,
right,
cos you move like the the release when you've got that stuff set up from
like
the build being like the
uh
only way of getting the application
to like,
hey,
you can get the application in as many ways as you want.
It's just like this one over here,
this version of the application.
This one's labelled main or
or like
the
main build,
you know,
that's molecule,
so go ahead and thumbs up molecule if you want that.
It's uh on our tech tree.
Uh every time it comes up,
I make it a little bit bigger.
There you go,
it's a little bit bigger now.
I
think that's all the questions we've got currently,
I'm gonna scroll through them.
Uh,
we did that one about cool stuff,
uh,
that one about the definition of terraform.
It's just grabbing a link to Terraform.
So there's the,
I think that's the terraform doc page.
But you can see here that
you can see here that it works on Azure,
you can click Azure here
and it'll say,
hey,
build infrastructure and it talks about like how to do
all of it and all sorts of stuff like that,
and then,
yeah,
whatever,
it it's,
it's there.
What I've actually been looking into is this,
which is called the CDK
and the reason is because terraform doesn't have the concept of a conditional.
It doesn't have conditionals.
So go back over to Excalija or I can use some text here to illustrate this.
So,
uh,
let's make sure that I'll just zoom in,
I guess.
Uh,
like what you do,
and I'm getting,
I'm gonna get this wrong because it's not actual terraform,
but usually it's like Azure RM,
let's say I wanted to do a cosmos,
right?
I'll do like cosmos.
I think it's like Cosmo's account,
right,
and then I do space and then I do it's name,
so cheese.
And then I,
I like it's,
it's kind of like
Jason,
so you do like this.
And then in the
uh
in the middle here you do like ah I'd like the cosmos thing to be called
cheese please.
Uh
and like I would like it to be
skew,
like maybe you'd put like the skew,
so it'd be expensive one.
Um,
but
let's say I wanted to do this only conditionally,
so like if,
uh,
variable do
make cheese.
Um,
and then you might like indent that,
right,
there you go.
So you wanted to do that,
right,
so if variable
make cheese,
then we make the,
uh,
the Azure Cosmos account cheese.
Doesn't exist,
not possible,
cannot do.
The way that you have to do it
is you have to say,
hey.
I would like
my
cheese Cosmos account.
But
I want
If variable.
make cheese is true,
I want one.
If variable.
H chooses false,
I want 0 of them.
And what this does is it makes 0 or 1 of the resource depending on this variable.
You can also do something like,
hey,
I want,
um,
I want 10,
and then that'll make 10 Cosmos DB accounts.
I don't know why you'd ever need to do that,
but you can.
Uh you can also do things like 4 each,
and then you'd put here like,
I don't know,
let's say you've got like a region that you need to do,
so you need like a
cosmos DB per region and you do it like that.
Anyway,
that is terraform for you,
it doesn't have if,
but
the CDK here,
what you can do
with the CDK is you can take,
uh,
you can take regular
uh C code.
And you can
make
terraform resources with it.
So this is C,
right?
And C has conditionals,
so I could like go hi guys,
if,
do this,
then do that.
Uh,
but we're still using the like raw,
um,
terraform code right now cos I don't know
if our
um
if the business partner supports the CDK.
So I'll look into like how this works,
if we could use it,
etc.
they're like a a more complicated example,
yeah.
Yeah,
look at this.
See,
this is doing like 4 loops.
We've got an innumerable list,
all sorts.
Uh,
you can also do that in other languages.
So if you're interested in Terraform but you don't like C,
there's Go,
Java,
Python,
and TypeScript.
Let's move forward to questions.
Uh,
Goldie,
is there anything you've looked into and you've found quick list?
No,
it's just,
it's been terraform for like a couple of weeks.
Uh,
Yosh says,
when you upload asset variants to the cloud,
when syncing an item,
does the cloud accept those variants as is?
Would I be able to upload custom variants of a particular format for an item?
Will the cloud repro?
Will the cloud reprocess variants for the item and thus override the uploaded ones?
This question is relevant for the what I want
to make placing compressor into a BC 7 Inc.
Yeah,
it does some validation,
and I too do not know the full details,
but it won't.
Like a lot of the variants can be generated like client side and they will
um
like happen sometimes before
the asset variant system,
but I don't know the rules behind those.
I don't know the rules behind if they're replaced.
I don't know any of that.
I don't think that we would do extra work that we don't need to do,
but I would,
I would have to go look at the actual like code to figure that one out.
Right,
so I'd imagine hashing is cheaper than asset variant generation,
it is here.
Uh,
there is a lot of like code there,
it's really,
really thick.
It's like,
it's really thick.
It's like,
um,
it's difficult sometimes to figure out like where
the actual entry point to it making an a variant is.
Um,
but there we go.
It's all open source.
It most of,
most of like the asset variant stuff is open source.
Well it's not open source,
it's,
uh,
open source,
sorry,
open source is a wrong word,
let me re-clarify,
it's delivered to you.
Uh,
we use the same code.
Um,
elements to assets is what we use in the vari variant generator to process variants.
The only difference
is that the variant generator's got like a bunch of sort of skeleton code around it
that does the like
orchestration of like which task to do.
But then when it comes to actually making the task and undoing those variants,
that's all in elements to assets which you have in the installation,
so just go ahead and decompile it.
Um,
the other part of that that you won't have is the API endpoints,
so.
When you finish generating a variant,
you'll like
tap an endpoint and be like I've I've done this,
can I upload it?
And then sometimes there that might fail validation,
but
that would uh give you some like logs and stuff,
probably.
I'll actually be looking into that a lot more um cos over here we've got.
Asset storage and retrieval from Azure blob.
I've done like the majority of this work,
but I haven't been able to test it
um because I want to test it in there.
Uh,
in their infrastructure first because that's where it's going and
we don't have,
we don't have like disposable income.
So like if I could just like,
if I could use their test infrastructure
to,
uh,
you know,
test this feature and make sure it works,
I'm absolutely going to do so,
cos like they're the ones paying for it
and they're the ones that have got free test infrastructure,
so we,
we'll use it.
I haven't opened the code today yet,
uh,
so I,
I mean I will at some point,
but I haven't done so yet.
Uh,
I remember that there is an error somewhere,
this is variant already computed that.
Yeah,
everything goes through like uh even the cloud-based assets that are generated,
they go through our API and they,
they tap it a few times and they say like,
hey,
you know,
is this variant I've generated OK,
where can I put it?
Like,
is there anything else I need to do to it,
all sorts of stuff like that.
Um,
and so if your computer is doing that generation and then putting the asset up there,
it means that they're,
they're both using the same code base even though you can't see half of it.
The um asset variant stuff is also backed by like
2 or 3 different data stores as well.
We've got like the asset blobs themselves,
which is where the files are,
um,
then there's metadata that goes with those files,
things like headers,
stuff like that.
Um,
then there is a,
uh,
Cosmos DB collection that talks about the variant,
uh,
I think it's assets or asset variants,
I can't remember which,
uh,
there's also like a Azure Que which determines the order in which we process them.
I believe there's a table as well,
but I think that's just for storing like
which ones we're currently doing or something like that.
I would,
I would have to read,
like I'm just talking at my arse at this point.
I'd have to go read it.
Uh,
Castro asks about uh workshop items,
uh,
well.
Marketplace Workshop,
support World's world templates and Home worlds,
yes,
everything.
I've got a bit of a like,
this is a bit like TMI but I've got a bit of cold going
and it's causing my nose to run,
and I'm paranoid that I've got a nosebleed,
so I'm just like,
hey,
is this blood or snot?
Yeah,
this is snot,
this is good,
we're good.
Uh,
that wasn't answered,
no.
Uh,
goalie says,
what's your thoughts on tech-based player flu?
I don't like it.
um.
Sorry,
uh,
I appreciate that it exists and I like that you guys can use it or etc.
but
our goals are to make it not needed.
Like our goals are WAM,
once you've got WASM,
uh,
you'll be able to write
like code in,
in whatever language that WASM supports,
and that means you won't have to learn a custom language.
Uh,
WASM somewhere,
yes,
here it is,
WASM.
So once we have WASM,
you'll be able to write,
I don't know exactly what languages WAM supports,
but I think it supports
Python
C and like
rust most likely.
So from like the perspective of like a user that is using Resin I,
I get why you guys like,
use,
create,
make,
all those sorts of things that exist.
Uh,
you should feel discouraged from doing them.
But as a,
as a like um as an engineer and member of the team,
I would be like
and like air quotes,
wasting time if I were to like look into or or
help make or or work with one of these systems,
when like all the work I'm doing in the day
is to try and get to WASM.
Um,
somehow,
right?
All of the stuff on this tech tree,
like myself and the rest of the team want to get to as soon as we can.
It's just like a,
a forcing function of like,
we've got so much to do,
we've got deadlines that we need,
we've only got a limited amount of resources,
you know.
I know I don't have everyone up here,
um,
but I do have like,
I need more up but like we do have like these are all the people that like
regularly write code
and
that's all we got.
Uh,
Rauvi is like mostly a member of the art team though,
so if there's artwork that takes precedence,
so I'm gonna put them up there.
Um,
and then
Gwy is a volunteer.
I mean,
I guess we need to go ahead and get J4 up here.
J4 is also a volunteer,
but,
uh,
J4 is more focused on sort of ops and CIC stuff like that.
So we,
we only really have,
we only really have 3
full-time engineers,
right?
It's likely that we'll have some form of restriction on WASM,
that means that like the running Linux inside WASM probably won't work inside of uh
inside of resume,
but
maybe we'll have to look.
I meant like resources,
maybe like size,
etc.
cos we wouldn't want it to take too much CPU that it starts
um
like affecting the actual render or the actual engine.
Oh yeah,
background threads.
Yeah,
alright.
All right,
making sure I haven't missed any questions.
Uh,
Goldie says,
should the jump buttons in the session menu reset player velocity?
Yes,
as should
when they,
uh,
when you fall,
um,
low through the floor,
and then you eventually teleport back to spawn,
that should also reset your velocity.
It
doesn't currently,
which can cause for some sort of like bounce,
um,
collision failures because like you,
you get teleported back to the spawn,
but you're still.
Falling because of the velocity,
so you sort of like
go through the ground again and then you fall.
Um,
that is on my,
my fun list to take a look at.
Uh,
so Sara's asking about the text based flux share.
It was linked to both,
um,
you're looking for flux dash SDK or protograph,
the thread here.
The other thing is that like,
and again,
like I don't,
I'm I'm not saying this to like discourage anyone,
etc.
continue doing it,
they're great,
but like this is the 3rd or 4th,
um,
like
language that makes protoflux that we've seen.
Um,
and so if this one
like list,
uh,
if this one exists and continues working,
um,
for a long time,
hooray,
um,
but this is like the,
the 3rd or 4th 1 I've seen.
Osi asks,
is there a plan to use some sort of continuous collision detection for locom lo
locomotion controllers in particular?
I know it is supported in Beppo and the possible overhead
of it for one collider I imagine wouldn't be too bad.
I don't know.
Um,
there are some physics updates planned um by Fris.
I saw Fris was um updating our fork of Beppo the other day,
which I'm happy about because there are some Beppo issues with our poison asset cue.
So it might fix some of those,
uh,
but yeah,
I don't know.
Uh,
Goy Runisis,
are there plans for soft body physics?
Not that we're on the tech tree right now,
rigid body physics,
yes.
Um,
I will,
for the,
for the benefit of the tech tree,
I will add a soft body physics,
but it's going to be hashed out,
cos like it is like it is a feature that we would have,
but I just,
I don't know if I don't know.
She can't go like down there.
I'm trying to,
uh,
OK,
how about we just uh
delete that line and try again.
OK,
you know what,
we're gonna delete that line as well.
It kind of actually isn't relevant.
What's it bouncing?
There we go.
Uh,
Kestre has a good question.
Uh,
Crestwell says,
I know render is an inconduction thing.
Have you guys given any thought to the next target?
We have,
we do have a lot of ideas.
We're not ready to announce them yet.
I did at the,
um,
at the previous,
uh,
ressonak team meeting,
I did point out
that it's about
67 weeks till the end of the year.
Uh,
I know it's like kind of scary.
It's at least 6-7 weeks until,
uh,
like Christmas.
Uh,
yeah,
I did that on purpose,
Goldie,
nice spot.
Um,
but,
and that means that we kind of need to,
when we're thinking about what we're doing,
we need to,
to think about,
hey,
what can we fit into this year?
Because right now what we're doing is we're,
we're like going like,
oh,
we could,
we could do this next and we could do this,
and we need to do this and we need.
To do that
and I'm just like,
OK,
but we're about to head into December and you know like
it's like December
1st to 10th usually OK,
but like past December 10th,
people's brains just stop working.
Like,
like everywhere,
people's brains are just like,
man,
it's Christmas,
it's Christmas.
And they,
they,
they might not do,
they might not not do anything,
right,
they might still be working,
but like we're,
we're certainly not doing our best work past December 10th,
certainly not.
So,
um,
that's why I mentioned it.
I was like,
hey,
you know,
we gotta like think about what we want to do for the rest of the year.
So we do have some items that are going to be continuing,
um,
for the rest of the year that I can speak to,
unfortunately those are the boring ones,
um,
so.
Uh,
we're gonna be continuing with the,
uh,
business obelisk work over here,
mostly because I have no sense of a work-life balance
and we'll just keep working on this until it works.
There we go.
Um,
we're also gonna be working on,
where are we?
The news facet,
we're gonna try and get that one out as well.
Uh,
we've got a bunch of sponsored stuff happening like Block Party 2,
maybe a couple of streams,
I don't know,
uh,
they're also gonna be happening.
Uh,
but beyond that,
we've still got to kind of decide and figure it out.
One of the things I suggested
was,
hey,
maybe we should,
um,
maybe we should do smaller things,
right?
So we say,
hey,
for the rest of the year we're not gonna be doing any of these other big projects,
we're gonna be doing small things.
Maybe we just do bugs or something,
that was one of my suggestions,
but we'll see,
we still haven't like,
we're not ready to sort of like do a big announcement about what's there,
but do keep in mind that,
um,
do keep in mind that,
you know,
we are heading towards that point of period where brains just stop working.
Uh,
Kuala says during pre-release,
some debugging info output shortcuts were added to
help isolate crashes and other issues like F3.
I haven't checked if it still works.
Do you know everything those still exists?
Some do,
some don't.
I know that we deleted some of them,
I know that we didn't delete some of the other ones.
I know that some of them can only be used by team members,
which is a really weird piece of code to vote.
I will have to open up Fruit's E.solution in
Visual Studio to to figure that out though,
so I'm gonna do that,
but I'll come back to you in like 5 minutes or so.
But yeah,
this Tetra is Excala Draw,
um,
Excala Draw is,
is like phenomenally good.
Uh,
cos it just,
it gets out of my way.
Um,
I used to use Adobe Fireworks for all of my image editing.
Like if Adobe Fireworks existed,
we'll be in it during the techtree right now.
But Adobe Fireworks doesn't exist anymore.
I don't like Photoshop,
I don't like GIMP,
I don't like Paint.net,
I don't like new paint,
I don't like
uh Illustrator.
I like Adobe Fireworks
and.
The reason why I like Xca Drawer is just because like it
has all the tools to sort of like throw around squares.
Yeah,
I haven't tried Creator.
I think I installed Creator,
but like whenever I need to do image work,
I just sort of begrudgingly open GIMP and then open a a browser tab and search like
GI resize image,
exporters ICO file,
that's what I usually do.
I'm gonna,
I'm gonna actually illustrate why I don't like
uh paint.net and also why I don't like some other image editors.
I see this a lot in image editors,
um.
Uh,
change stream,
paint.net.
Alright,
so here we are in paint.net.
And let me show you everything I have.
Great.
So I wanna do some text.
So I'm gonna make a new layer for it and I'm gonna do some text and I'm gonna type,
we'll just type cheese again,
right?
And we'll make it a bit larger just for the purposes of,
of demonstration here.
So this is cheese text,
right,
and right now,
um,
I can move it around,
so let's see I wanted it down here,
I can move,
you know,
I can,
I can move it around.
What I'm gonna do now is I'm gonna click off of
it and I'm gonna work on my uh other thing.
Maybe I need a shape.
So I've now got a square.
OK,
cool.
Uh,
but now I've decided,
you know,
maybe some design stuff came back through.
I need to move that square and I need to move the text cheese.
Can't do it.
Literally cannot do it.
This is all
together as one layer now.
I can move the layer,
but I can't move the individual objects,
and I just don't understand why.
I have no idea why Pa.net is set.
Like that.
But like a lot of like paint applications are set up like that.
Whereas,
uh,
things like a sally draw,
inkscape,
fireworks,
etc.
you can have layers,
but within the layers,
everything is its own element.
But look,
this,
this item here is its own element and
Fruux's picture is attached to it,
but if I like
get double click,
now I'm selecting Fruchs's logo and I can move that around.
Oh yeah,
I'm over and,
um,
over and picked on that,
one second.
So over the cali draw,
if I move over this one,
right,
I can move this one by itself,
but it's grouped and I can move
tris by himself.
Uh kestre says pen pot,
OK,
I'll take a look.
Oh,
this is like a figma
thing,
you know,
ew.
It says self-host.
It's like,
nope,
sorry.
I want an application
that I can install on my computer
that lets me edit stuff like Excala Draw that doesn't
require me to like get a Docker container out.
Yeah,
it's like,
hey,
uh,
Adobe Fireworks doesn't exist.
Could you make a Docker container or a Kubernetes thing?
No,
no,
I really can't.
Oh heck rancho,
I haven't had a rancher in forever.
Uh,
rancher's another sort of orchestration thing similar to
Kubernetes and stuff like that.
Um,
Guess what,
the self hosts requires a Docker container.
Like it's like an online system,
it's like a Google Docs,
right?
It's like,
hey,
like get a like Kubernetes cluster running so that you could do um
cubes.
Oh yeah,
I I I don't want to use like a web-based thing.
I know I'm using a web-based thing here,
but it's because like it's a,
you know,
it's a necessary evil
because I couldn't find an application.
I want a desktop one that works exactly like this.
Alright,
someone suggested Mirror,
we'll go take a look at mirror.
Oh yeah,
this is another
um figma compete.
Let me reject all the cookies cause I like being evil.
Their website don't work.
I know it does.
OK.
I want,
oh there's a desktop application?
OK,
now there's a desktop application,
maybe I could,
I could take a look.
Let me see what this is written in there.
Oh God,
JavaScript,
OK,
cool.
Package.
Jason,
what are you written using?
Electron,
woohoo,
Lucid and odd,
OK,
cool.
Yeah,
I don't remember,
I don't worry about the AI stuff,
right?
There is an alternative to Excala Draw called like TLD Draw
or TLDraw I think,
but that has like
AI in it as well.
But these,
these all have it,
like everything can say it's just gonna happen.
You can't discount a project just because like they add an AI button.
Um,
all right,
I'll look at Infinity Studio as well.
All right,
where are we?
Uh,
OK,
Oy asks,
when it comes to raw fruit extension crashes,
as in the fruit extension itself dies with cut-off logs,
how would you debug that?
I,
I don't know.
I've got my own sort of things I do when that happens,
but
like they don't sometimes work.
Like when it crashes like that and it can't run to logs,
like something's really bad,
usually the player log,
oh no,
no,
cos of the split inning,
damn it,
I always get confused.
You could do S Trace as well,
yeah,
um,
I don't know how that would work on Windows,
like there is probably a Windows equivalent,
but
if an application is crashing and you can't get logs out and you're a developer,
you could use
uh something like Strace or a um an analyzer to do it.
They'll usually tell you like in in terms of like raw memory,
what's going on,
like,
so if it's a crash,
maybe it'll be like an access violation.
Things like Strace will,
will pick up those quite easily.
Alright,
Fruen has has managed to open itself,
so what I can do now is I can search for
uh F3.
There's a uh a
variable inside our noise calculations that are called,
it's called F3,
which is
not helpful.
All right,
here's the F3 key.
Find references to F3.
Yeah,
so,
there's no need to do that.
OK,
let's see,
uh,
yeah,
so it's,
it's,
you can actually go read this stuff yourself as well.
It's in user space under on common update.
There's a bunch of shortcut keys for stuff.
So F3
will debug log the next frame,
F11 we'll do an IPC memory dump.
F9 will do a
uh background worker diagnostic.
Uh,
F10.
Uh,
we'll do a static asset report.
So you're looking in user space on common update.
There's a bunch of the sort of debug um
keyboard shortcuts there.
There might be others,
um.
I guess I could just search for.
And put your face key down
cos we like don't usually do,
yeah,
that's right,
there's there's not that many things there um.
Alright,
went over that one,
yep,
did that 1 F3,
F11,
F9,
F10,
those are done,
uh,
oh yeah,
F8 during the,
the swap between
uh
ER and desktop.
There's one commented out here that uh does debug locomotion.
Um,
it does like,
if you push
F10,
it will turn on the render debug visuals,
but that's uh ifde out.
Uh,
and there's a cometed out one
in uh Canvas,
which is UIX,
which talks about
uh debugging
canvas stuff.
like this one's really ancient.
Uh,
and if you're using the drone camera,
of course,
there's a lot of key stuff in the drone camera.
I don't know the drone camera still works.
Yeah,
most of it's in user space on common update,
you'll be able to read through it there.
Um,
sometimes we turn those off or we remove them or we add them.
They're,
they're debug tools that are primarily meant for us,
but sometimes they're meant for you guys as well.
Guest will say it's still probably the F13 to F24 someday.
Um,
it's like,
it's in my brain.
It's not like front of mind,
it's not like a high priority item,
but like it's,
it's in my brain and it's like,
it's in there.
Uh,
Qua says the other half of this,
are there any other,
uh,
command line options for turning up the ebocity?
Not currently,
but there probably will be in the future.
Uh,
there might be one.
I just,
like,
there's like 4 different places that command line stuff is handled.
Uh,
so there's launch options.
Ooh,
there is a property.
Does that get help?
Yes,
OK,
there is one I liked.
Cool.
Uh,
you can do,
uh,
dash verbose,
which should increase the verbosity of startup.
That's in launch,
uh,
I don't know what this does though,
let me,
let me like track it through.
OK,
so it passes verbose in it to the,
yeah,
verbose in it mostly covers the uh.
Like startup of the engine,
so you could do that and and see stuff.
Castro says,
can we have super verbos that prints out the state
of every single object in memory every single second?
I mean,
maybe at some point.
Um,
what I want to do is sort of adapt,
uh,
common logging strategies where we've got different log levels
and then allow filtering.
Filtering's difficult and problematic.
We have to address it properly.
Because if we allow you guys to philtre your logs,
you guys will turn off like everything and then you'll report a bug,
and the log file will just be like a
a blank document,
and that would be very useful.
Um,
so we'll have to sort of update the reporting guidelines and stuff like that,
but,
uh,
I want to get it to the point where you
can sort of turn on or off categories of voting and
adjust the verbosity of individual categories.
So you might be able to be like,
hey,
signal are logging,
I want that to be like hyper verbose.
And there may be like
login stroke session stuff.
I want that to be silent
and um
you'd be able to do that.
Initially,
only us as the like engineering team would be able to adjust that
configuration,
um,
and we then we might be able to sort of
adjust that depending on like what issues we're seeing.
And when
that hooks into molecule as well,
it'll be part of the molecule config.
So
maybe like uh a pre-release build because
it's on like the pre-release molecule configuration,
it'll by default have configuration that makes logging
more verbos in areas that we're testing.
So let's say we do next we do the IK.
Um,
the pre-release build of
resin for the IK would probably have a
logging configuration that makes IK related matters more verbose
so that we can um get feedback from them.
If you wanna know more about that,
you can look into
uh.
Uh,
yeah,
yeah.
It won't probably be like
exactly that,
but
I'll grab the,
the relevant section,
drop it in the text as well.
So in this what it says is,
hey,
if the,
the logging category is Microsoft,
then we want warning level.
If it's Microsoft.hosting.lifetime,
we want information.
Information is like a really high log level.
It gives you a lot of information.
Goy says,
are there any specific user IDs hard coded in Fruit extension?
Yes,
uh U Frucxus and U Probable Prime are hard coded for various reasons.
I think.
Uh,
I think other people are,
but
I am not at liberty to,
to tell you those ones.
The euphricies one is easy to tell you because,
uh,
it's,
it's done a lot in,
um,
like permission related stuff.
Although I did just fix that,
I've got a,
a PR open to sort of fix that.
Um,
the reason that that's an issue is because over here in,
um,
in the business obelisk,
um,
because they own the cloud,
the third party cloud,
only people that are working on that project should have that level of permission.
And
because that's a separate infrastructure
and it's designed to eventually run without
Yellow Dogman Studio's intervention.
It would be
problematic to have frixious overwriting all permissions by their user ID.
So I've,
I've configvad it so that in resonance infrastructure it is enabled,
and in Business obelisks infrastructure it is not enabled.
You see,
it's,
it's not,
it's not like good form for me to like label other people that are hard coded,
but yeah,
glitches as well.
And I said that because Glitch brought it up.
I guess we could just search the whole codebase for you dash and then I'll just,
I'll read any ones I feel I can and I'll skip any ones I feel I can't.
OK,
we don't need the test files as well,
cos there's lots there.
Yep,
I see um I see Glitch.
uh I see myself,
uh,
can't tell you about that one.
Let's take a look.
uh,
that's fruits,
that's fruits.
Those are
test
things.
Those are also tests.
You can tell if they're tests cos it's like you dash
cheese usually cos I write a lot of the tests.
Yeah,
let me dig it up,
um.
It was actually that super admin thing I posted,
um,
in Devlock cos it was just like this is like it probably wouldn't be a problem,
but like if they ever audit us it would be,
so I was just handling it then.
So we've got it here,
um,
it's the way I've done it.
And then
what we'll be doing
is we'll just be if deafing out those first two lines
for um business obelisk infrastructure.
And what that means is for the business infrastructure,
it won't even like those two lines won't be shipped.
So it'll be something like
uh.
Something like that,
and that means that when we're,
we're not running the resonate build,
we don't,
we don't ship those two lines.
Uh,
all right,
uh,
it is 17:15,
so we're going ahead and leave off here.
Uh,
I will double check for any questions I've missed,
and then we'll head off.
Uh,
guess what says,
prime,
do you want me to dip you in a cup of hot chocolate?
No thank you.
Don't do that.
But I will speak to you guys later.
Bye bye.