►
From YouTube: Silk.NET Coffee & Code Catchups
Description
Join the Silk.NET team for a quick catchup. This is a more informal stream wherein we'll be discussing what we've been doing on the Silk.NET project, what we've been doing outside of Silk.NET, bouncing ideas off each-other, and (most importantly!) provides us an opportunity to answer any questions the community may have.
These streams are impromptu and the VOD will be unlisted as a result.
GitHub: https://github.com/dotnet/Silk.NET
Discord: https://discord.gg/DTHHXRt
Background music by HOME.
A
A
A
A
A
A
A
C
C
Cool
all
right,
hello,
everyone
welcome
to
a
to
another
catch
up,
it's
been
a
while,
since
we
passed
them
done.
One
of
these.
C
A
B
E
B
E
C
I'm
doing
all
right,
I
mean
I'm
on
holiday
at
the
moment,
but
not
actually
on
holiday,
so
just
trying
to
think
fine
things
to
do
with
my
time
really
because
I
don't
want
to
spend
too
much
time
around
code,
but
at
the
same
time,
what
else
am
I
gonna
do
yeah.
C
A
B
Yeah
I
mean
river,
we
have
a
new
member,
which
is
very
good.
You
know,
that's
that's
always
good.
I.
A
B
I
I
don't
remember
what
everything
was
like
in
april.
C
C
I
show
a
vlog
april
18th.
A
B
C
There's
a
there
seems
to
be
a
lot
of
good
energy
around
three
point:
release,
judging
by
the
community
lots
of
people
sort
of
wanting
to
help
out,
but
just
waiting
until
there's
a
bit
of
a
foundation.
There.
D
B
Then
come
back
when
I've
unlocked
other
people
because
it's
it's,
you
know
it's
like
for
me,
a
typical
thing
that
I
work
in
something
and
then
you
know
I
notice
something
else.
That's
like
not
quite
right
and
then
I
want
to
fix
that
and-
and
I
then
I
usually
end
up
with
these,
like
2
000
line
commits
that
do
like
50
things,
and
none
of
those
things
are
really
relevant
right
now
and
yeah.
C
Yeah
I
mean
I
mean
the
thing
is
with
the
with
the
new
generator
infrastructure.
Well
or
at
least
hopefully
it
will
be
a
bit
more
modular
than
what
we
have
in
two
point.
Actually.
B
Yeah,
that's
also
it's
it's
turning
at
least
out
to
be
very
modern
in
terms
of
what's
the
c-sharp
and
the
like,
the
the
project
structure
and
stuff
like
that
is
looking
at,
I
mean
we
kind
of
needed
new
for
2.0,
which
we
didn't
really
want
to.
I
think
it
wasn't
never
really
in
it,
but
you
kind
of
ended
up
with
it
because
you
know
stick
is
complicated
and
it
kind
of
seems
like
at
least
so
far.
Everything
like
a.net
pack
just
does
everything.
C
B
Yeah
I
mean
crying
sharp,
to
be
honest,
I'm
not
very
fond
of
it.
I
mean
I
think
clang
is
a
very
amazing
project
and
I
like
that.
I
can
use
that
from
seashell
to
be
honest,
but
it's
kind
of
weird
you
know
like
shuffling
around
temporary
files
and
all
of
that
kind
of
eh,
but
it
works
very
well
so
far,
I'm
not
not
too.
I
want
to
complain
too
much
at.
C
B
I'm
just
running
it
in
the
same
process.
I
think
at
least,
but
the
thing
is
just
it
only
takes
fights
like
it.
A
C
C
B
Yeah
I
mean
if
everything
else
would
go
wrong
and
I
really
wanted
to.
I
could
always
just
rip
out
all
of
the
new
lines
of
the
sea.
I
would
and
just
put
it
in
as
like
a
a
pre-processor
directive,
because
you
can
give
those
as
strings
and
then
it
would
just
be
all
in
this
one
huge
directive
which
isn't
like
nice,
but
that
would
work
in
theory,
but
creating
a
temporary
fight.
E
C
I
mean
yeah,
there's
always
going
to
be
pain
points,
but
I
mean
the
beauty
of
of
clan
shelf
is
that
we
can
change
it.
If
we
want,
we
can
submit
a
portfolio.
B
B
It's
really
nice,
I
mean
I've.
I
I've
also
also
seen
that
it
has
like
a
bunch
of
nice
features.
I
think
and
like
like
that's
like
the
fault
remappings,
and
so
I
think
you
can
get
pretty
far
by
just
using
it
and
throwing
your
head.
I
found
it.
B
C
And
the
thing
is
with
the
xml
backend
as
well,
I
mean,
while
it's
not
necessarily
in
the
nicest
data
structure
in
the
world,
it's
better
than
having
to
run
clang
sharp
and
then
pass
the
c
sharp.
Do
the
modifications
to
c
sharp
and
then
output,
the
c
sharp
again.
B
Yeah-
and
it
seems
it
seems,
like
quite
nice
structure,
to
be
honest,
I'm
I
mean
at
first
I
was
kind
of
concerned
and
also
about
like
the
performance
application
of
like
having
to
like,
create
the
xml
and
then
get
the
xml
back
and
and
pause
it.
But
it
is
really
not
that
problematic,
like
most
of
the
like
unit
tests
and
stuff
running
like
under
15
seconds,
so
it
seems
pretty
fast
comparison,
at
least
to
the
curve.
C
B
And
I
mean
I
think
in
a
witness,
if
they're
possible,
but
I
think
on
linux
very
default
like
the
temp
file
directory
thing,
I
think
that's
even
so
there
I
always
get
this
yeah
so
yeah.
That
was,
I
think,
it's
that
that's.
Why,
on
the
test,
drummers
from
github,
it's
running
even
faster.
B
C
Oh
boy
right,
my
dog
is
asking
to
be
fed,
so
I
should
be
back
in
five
minutes
but
in
the
meantime
feel
free
to
catch
up
yeah.
I
suppose
bailey,
you
probably
have
a
lot
to
talk
about
being
on
the
team.
Now.
B
Just
give
me
a
second
here:
I'm
I'm
I'm
trying
to
find
the
way
to
make
this
goddess
push
to
talk,
because
I'm
hearing
that
cars
are
constantly
passing
by
that's
probably
quite
annoying.
So
give
me
just
one
second.
B
Oh
yeah,
it's
kind
of
the
problem
with
this
with
this
keyboard,
because
I
I
only
have
like
the
necessary
business
right
now,
it's
kind
of
kind
of
normal
yeah.
So
what
what?
What
are
your
plans?
I'm
giving
you?
I've
interviewed
you
now?
What
are
your
plans?
What
are
you,
what
are
you
doing.
E
Well
currently
at
least
anything
that
I'm
going
to
be
working
on
for
silk
is
refactoring
all
of
the.
I
am
gooey
stuff
all
time-
food
controller
stuff,
because
it's
a
mess
currently
there's
a
lot
of
like
really
weird
issues
and
some
odd
naming
practices
that
the
original
person
who
ported
c
sharp
did.
So
I'm.
B
B
G
E
B
Basically,
everyone
everyone
knows
that
maybe
we
can
even
like
at
some
point,
get
some
of
the
ngoi
like
the
most
most
popular
extension
things,
but
because
I
don't
think
you
can
reference
those
from
c-sharp
right
now.
E
E
B
Oh
right,
but
I
mean
like
like
if
we
ever
like,
get
to
a
really
good
mgi
controller.
We
could
probably
make
make
like
portals.
B
Though,
to
be
honest,
I've
been
I've
been
thinking
about
the
new
windowing,
also
just
just
like
having
that
as
a
topic
right
now
and
actually
with
like
at
least
eventually
the
new
windowing
we
should
be
able
to
just
like
use
like
wind
forms
or
whatever
that
nice
c-sharp
ui
flavor.
I
guess
right
now
or
like
ellonia,
I
don't
know
which
one
people
like
these
days,
but.
E
Yeah
in
a
lot
of
cases,
it
can
be
like
avalonia,
the
documentation
isn't
very
descriptive.
Edo
has
a
very
fixed
function
pipeline
like
api
maui,
doesn't
work
on
linux,
winforms,
maui.
E
E
B
Yeah,
I
I
I
I
don't
know
I
I
mean:
does
it
taste
either?
I
don't
know
it's
like
they
have
like
a
custom
like
so
I'm
assuming
they,
the
like
samsung's
wanna,
sponsor
that
I
would
ever
think,
and
I
highly
doubt
that
it
actually
like
properly
works
everywhere
because,
like
tison
has
like
wearable
stuff
and
like
I,
I
doubt
that
they
made.
E
That,
like
oh
yeah,
what
I'm
reading
they
did
add
distant
support
to
maui.
But.
B
E
B
B
Just
I
mean
I
would
prefer
to
just
defer
all
of
the
configuration
of
like
the
window
itself
to
just
some
window
framework,
because
then
I
can
I
mean
the
main
thing
with
like
new
windowing
will
be
the
I
don't
know
if
you've
heard
about
this,
but
I
will
be
like
the
service
interface
which
you
can
just
draw
on
and
and
that
works
perfectly
with
like
just
a
component-
that's
embedded
somewhere.
So
I
quite
like
that.
B
I
mean
big
part
of
it
is
certainly
to
just
allow
users
to
just
embed
linux
and
embed
silk
somewhere,
because
I
always
feel
like,
of
course,
it's
nice
when,
like
engines
have
their
own
like
custom
editor
with,
like
that,
like
custom,
build
ui
or
whatever,
but
that
seems
like
a
lot
of
work
and
for
many
like
smaller
engine
devs
that
is
like
water
throws
something
together.
I
want
to
like
try
out
some
rendering
technique.
It
seems
like
a
lot
of
a
lot
to
ask
to
like.
E
C
Yeah,
I
think,
with
the
windowing
as
well.
I
suppose
a
new
design
allows
us
to
embed
it
a
lot
more,
as
you
said,
and
the
the
prospect
of
supporting
maui
with
windowing
is
really
exciting.
I
mean,
obviously
it's
not
going
to
be
as
cl
it's
not
going
to
be
native
performance
as
if
you
were
to
run
it
through,
like
glfw
or
sdl,
probably
because
well,
you've
got
all
this
splitting
going
on
like
different.
C
I
don't
know
what
graphics
back
end,
what
graphics
back
ends
maui
uses,
but
I
can
pretty
much
guarantee
that
it's
not
opengl.
It
is
probably
it's
probably
directx
on
windows
and
whatever,
whatever
else
xamarin
used
elsewhere,.
B
I
don't
think
I've,
I
don't
remember
what,
but
I
know
that
I've
been
tracking
an
issue
and
got
like
a
notification
about
it
recently.
That's
some.
I
think
it's
probably
a
loner
that,
like
thought
about
adding
a
vulcan
component
because
they
have
it
like
as
a
bacon.
B
I
think
I
remember
following
that
issue,
because
I
worked
on
apollonia
a
little
bit.
B
Also
someone
just
killed
it,
so
I
I
think
I
followed
that
I
think
they
add
like
a
vulcan
thing
and
then
I
can.
We
can
just
build
that
on
top
of
on
top
of
them.
Their
components
so
like,
for
example,
volonia
would
be
very
easy
to
support.
Yes,.
E
You
know
how
it
embeds
graphical
stuff
is,
you
can
literally
just
have
it
be
a
component
and
it'll
just
draw
because
he
uses
like
raw
gtk
and
wrong?
Can.
A
E
Etl,
oh
okay.
Oh.
B
E
B
E
Yeah
this
is
this
example.
There's
an
example
project
for
embedding
we're
actually
embedding
veldrid
into
it.
Yeah.
B
There's
also
there's
also
one
package
for
embedding
opentk.
So
then
I'm
assuming
we
can
embed
everything
easily
I
mean
I,
I
don't
know
whether
they
have
like
vulcan
and
all
of
that,
but
yeah
I
mean
in
the
end.
I
can
always
I've.
I've
still
not
quite
figured
that
out,
and
that
was
what
I'm
really
excited
about
to
work
on,
and
it's
like
the
translation
surface
apis
so
like
I
wouldn't
eventually
and
that
stuff
I've
been
thinking
and
writing
a
little
bit
of
code.
B
About
too
I
want
to
have
a
flag
eventually
that
you
can
like
set.
Maybe
you
can
answer
not
sure
what
the
fault
should
be
that
allows
you
to,
for
example,
ask
for
a
vulcan
surface
to
draw
on,
and
then
you
get
like,
you
know
like
a
swap
chain
handle,
I
guess,
and
then
instead
like
when
the
window
manager
doesn't
really
support,
vulcan
or
like
the
implementation,
then
you
can
just
import
a
dx
swap
chain,
for
example
vulcan,
which
is,
I
think,
really
really
nice.
B
You
can
you
can
okay,
absolutely
not
necessarily
necessarily
the
swatching
directory,
but
you
can
just
export
or
import
the
frame
to
write
to,
and
then
you
just
write
to
the
dx
image
and
then
it
presents
it
and
that
actually
works
very
well
for
some
implementations.
B
It's
not
necessarily
wide
as
performance,
sometimes
as
doing
it
natively.
But
it's.
B
Worse
so
yeah
after
looking
at
that
quite
a
bit,
because
I
think
that's
really
cool.
For
example,
you
could
then
make
the
volca
app
run
inside
winforce,
which
isn't
usually
possible.
That
would
be
really
cool.
C
I
think
one
of
the
things
I
would
want
to
say
is
that,
but
it's
it
the
the
design
that
we've
got
for
the
new
windowing
it.
It
greatly
reduces
the
amount
of
work.
That's
new
back
ends,
especially
if
we
move
out
the
opengl
and
vulcan
support
goes
into
it
to
be
sort
of
back
in
that
agnostic
and
operate
just
on
the
native
handles,
rather
than
relying
on
the
baked
in
support,
opens
a
lot
of
opportunities
and
that
we
can
finally
move
away
from
these
abstractions
that
we
have
no
control
over.
B
Yeah,
I
mean
part
of
the
the
the
consideration
we
made
that
from
me
at
least
was
how
can
we
make
it
so
this
can
be
implemented
on
a
js
canvas
right
and
that's
like
the
most
minimal
overlap.
I
can
think
of
with
like
a
wind
pumps.
Phone
right
like
these
are
completely
different
approaches
and
conditions
to
work
in,
and
so
the
base
interface
should
work
on
both.
Of
course,
the
capabilities
will
be
widely
different
because
you
can't
run
directx
on
a
js
canvas,
that's
impossible.
E
B
Well,
maybe,
but
I
think,
that's
quite
quite
quite
a
bad
idea
to
be
honest,
but
like
it,
the
base
interface
works
in
both
of
those.
So
if
you
can
like
the
idea
would
be
if
you
can
get
like
a
window
open
on
like
whatever
device
you
have,
if
it's
just
a
window,
nothing
rendered
to
it.
No
title
set
no,
nothing
that
should
qualify
as
like
the
base
specific
and
then
so.
It
will
create
that
window
and
then
tell
the
running
app.
Well,
there's
nothing!
You
can
do
with
this
window,
but
you
know
it
works.
B
But
yeah
I
was,
I
don't
know
if
if
you
listened
in
the
earlier,
but
I
was
talking
about
how
you
don't
really
want
your
w
in
the
fall
moving
forward
because
it
kind
of
limits
what
you
can
do
with
the
window
but
yeah,
I
think
I
think
the
first
like
the
thing
I
want
to
get
done
in
like
the
next
two
three
weeks.
B
I
hope
desperately
hope
is
just
your
glsw
generated
because
it's
like
the
simplest
of
all
of
the
bindings
I
can
think
of
because
that's
all
static,
simple
dna
resolving
and
like
that,
like
it's
really
basically
and
then
I
can
als
already
start
with
windowing
or
someone
else
can.
If
anyone
else
wants
to
and
then
yeah,
then
that
kind
of
everything
we
want
for
3.0
is
kind
of
started
right.
C
B
G
C
B
I
mean
ideally
with
with
the
new
api.
That's
why
I
kind
of
like
jfw
as
a
candidate,
but
I
don't
really
like
it.
You
like
using
production.
I
guess.
B
Its
api
should
be
like
perfect
for,
like
all
of
us,
if
you
just
played
for
300
right
because,
like
all
of
the
main
like
big
methods,
are
made
static
and
then
like
the,
for
example,
when
you
create
a
window,
you
get
a
handle
with
ufw,
I
remember
correctly,
and
that
should
be
recognized
by
the
generator.
Eventually,
then,
you
should
get
like
a
window
class
automatically
generated
which
has
done
all
the
options
on
it.
B
So
I
think
that's
like
kind
of
why
your
authority
is
kind
of
the
optimal
first
test
bed
for
all
the
generic
features.
Yeah.
E
B
E
With
me,
okay
sd
would
also
be
a
really
good
test
for
the
generator
because
of
the
renderer
and
the
window
stuff,
there's
a
ton
of
compartmentalized
stuff,
which
would
be
good
for
testing.
B
To
fix
my
microphone
because
my
camera
falls
down,
yeah
yeah,
it
still
is
probably
also
quite
a
good
candidate,
but
it's
is
it
all
static.
I.
C
C
They've
been
doing
a
bunch
of
they
they've
been
doing
a
bunch
of
stuff
on
loading
recently
like
there's
now
an
official
opencl
loader,
whereas
before
it
was
sort
of
like
well,
it
was
anyone.
Anyone
could
do
it.
However,
they
wanted
really
and
code
was
just
expected
to
deal
with
it.
B
I
I
really
dislike
honestly
this
move
that,
like
a
bunch
of
newer
libraries,
have
it,
because
how
like
do
authors
of
like
that
see
libraries
not
like
static
link
anymore.
I
thought
it
was
like
the
main
argument
for
like
like
there
isn't,
isn't
that
the
whole
point
to
like
statically
link
things.
I
like
static
linking
yeah
yeah,
because
that's
like
not
possible
with
like
that
parameters
right
or
do
you
like
c
compilers
to
anything
smart.
E
B
B
B
Great
and
it's
also
not
something
that's
like
done
in
c
sharp,
I
guess,
but
I
just
don't
see
too
many
people
like
in
practice,
change
like
only
the
sdl
version
and
then
re-release
a
new
version
right.
You
still
change
something
else,
so
I
don't
really
get
get
that
and
like
again,
like
things
like,
ios
only
supports
it.
Okay,
so
you
can't
use
sdl
on
ios
anymore.
I
guess
it's
kind.
D
C
I
mean
sdr
was
a
massive
pain
to
get
working
on
on
ios,
because
we
essentially
have
to
build
it
ourselves,
because
the
way
they
do
it
is
that
there's
a
magical,
sdl
main
function
that
you
have
to
define
and
then
that
that
gets
mixed.
It
because
sdl
defines
the
main
function
itself,
and
then
it
uses
this.
It
expects
it
has
a
reference
to
the
sdl
main
function
and
expects
the
linker
to
resolve
that
reference.
C
E
C
And
that,
obviously,
obviously
that
doesn't
work
well
in
c
sharp
land
so
essentially
had
to.
We
had
to
introduce
a
whole
funk
system
whereby
you
define
a
silt.net,
implements
the
sdl
main
function
and
calls
out
to
a
function
pointer.
That
c
sharpland
gives
it.
B
B
Like
an
ideal
solution,
where
you
would
make
like
a
huge
repo
right
and
then
like
take
the
net
and
like
that.net
and
the
like,
jt
and
whatever
tags
put
them
all
in,
like
one
thing
put
stl
next
to
it,
tell
sdl
to
call
the
the
runtime
main
and
then
compile
all
of
that
together.
And
then
you
basically
have
like
one
big
chunk
which
is
net
inside
seo.
But
that's
just.
D
C
Yeah,
I've
turned
it
down,
it's
pretty
quiet
now,
so
hopefully
I
I
mean
your
mic
for
me
is
quite
it's
quite
quiet.
Oh.
B
I'm
thinking
about
yeah,
I
just
realized
when
you
said
the
that
we
built
sl
ourselves.
I
was
thinking
about
how
the
how
this
should
work
earlier
today
with
f3.0,
because
I
I
wrote
a
couple
of
work
items
I
probably
haven't
seen
and
then
like.
How
do
we
handle
platform
differences
and
like
64
versus
32-bit
and
basically
the
way
I
thought
about
doing
this?
Was
we
defined
like
a
set
of
macros
and
macros
whatever?
What
are
they
called
pre-processor
directors
right?
B
That's
what
they
call
it
in
in
c,
plus
plus
and
for
like
each
platform,
sort
of
like
linux
x86
for
linux,
x64
windows,
you
know
like
for
all
of
them
and
then
we
just
re-run
the
the
ceiling
stage
several
times
which
will
generate.
You
know
different
symbols,
and
then
we
can
just
lift
them
and
see
which
are
new
and
which
are
old
and
then
like
annotate
them.
But
I
realized
the
same
way.
B
C
So
I
think,
from
my
perspective,
I
really
really
do
not
want
to
use
use
a
abstraction
on.
Well,
I'm
just
going
to
call
them
special
platforms
such
as
mobile,
like
android
and
ios,
have
some
really
really
clunky
application
lifetime
management
rules
that
the
typical
abstraction
don't
really
fit
into.
So
if
for
ios
and
android
specifically,
I
was
thinking
well,
let's
just
write
it
ourselves.
It's
not!
It's
they're,
not
hard
apis.
B
Well,
I
was
thinking
more
like
android
and
ios
kind
of
secondary
to
me
anyways.
I
was
thinking
just
leave
it
to
maui
right,
like.
B
I
mean
I'm
pretty
sure
to
write
the
ios
backend
ourselves.
We
need
to.
We
need
like
access
to
like
apple
internal
apis,
right
like
that,
that
are
that
belong
to
apple
and
they're
like
proprietary,
and
I
think
you
need
apple
license
for
that,
and
I.
B
We
would
need
to
bind
to
them
and
I'm
not
sure
how
licensing
works
with
binding
to
apple
licenses.
So.
B
I
guess
I'm
done
that
can
work
for
us
too,
but
yeah,
I'm
just
kind
of
kind
of
icky
about
that,
because
you
have
to
like
get
the
apple
device
and
you
have
to
like
get
a
license
and
whatever
to
like
make
it
run
on
the
device.
I
mean.
If
someone
wants
to
contribute
that
I'm
I'm
all
for
it,
but
personally
I'll
just
set
up
a
generic
maui
binding
for
like
windowing
to
maui
stuff
and
then
that's
my
solution.
If
someone
wants
to
contribute
like
apple
specific
support,
I'm
not
going
to
stop
anyone.
B
C
I
mean
yeah,
it's
an
easy,
it's
an
easy
route
to
mobile
and
we
can
advertise
it.
I
just
don't
think
we
should
make
it
necessarily
the
mainstay
yeah.
C
B
I
mean
at
this
point
I've
even
like
read
about
some
people
like
running
the
I
like
visual
tasks
on
android,
so
you
can
like
set
up
a
like
an
android
thing
over
like
a
debug
over
like
a
usb
and
then
like
give
commands
to
android
to
like
run
like
a
bit
of
code
right
and
then
get
back
the
screen.
You
can
basically
take
a
screenshot
and
then
you
can
like
do
visual
like
visual
inspection
and
do
like
automated
testing.
B
That
way-
and
that's
definitely
something
I'd
then
set
up
if
I
ever
build
like
customized
android
support,
because
that's
kind
of
important
to
me
now
that
we
have
like
automated
testing
of
everything,
but
it's
just
not
something
you
can
do
with
ios.
So
for
me
it
would
always
be.
You
can
try
this
custom
ios
code
if
it
broke
on
latest
ios,
update
bad
luck,
right,
go
for
the
maui
thing
or
whatever
not
much
like.
We
can
do
that.
We
can't
really
ensure
things
always
work
correctly
and
yeah.
This
feels.
B
C
Yeah,
I
sort
of
agree,
there's
not
really
way
and
there's
I
mean
I'm
sure
there
are
ways
but
they're
all
going
to
be
very
painful.
Aren't
they
to
automate
the
sort
of
well
acceptance.
Testing
of
the
of
the
the
custom
back
ends.
B
Yeah,
I
think
it
would
be
quite
good.
I
think,
in
general
acceptance
setting
seems
like
a
great
option
for
students
like.
B
Basically,
all
of
our
wooden
bindings
by
just
porting
some
of
the
chronos
samples
right.
Then
we
also
have
samples,
and
we
can
just
say.
Oh,
please,
give
me
a
screenshot
of
this.
Is
it
the
same
as
last
time
and
if
not
something
probably
broke
with
with
our
code,
so
I
think
that's
also
quite
a
good
option
for
us.
C
Yeah
yeah,
I
mean
yeah,
it
sort
of
makes
sense
to
to
go
for
the
maui
centric
stuff
for
those
platforms.
Definitely
I
mean
the
the
way
I
see
it
is
that
we'll
have
two
really
great
options
on
the
cross-platform
stuff.
You've
got
the
silk
entry
point
stuff,
that's
defined
in
the
current
windowing
proposal,
which
will
well
in
theory
get
you
to
all
of
the
platforms
I
mean.
Obviously,
ios
android
isn't
going
to
be
our
main
focus
on
that
one
because
of
the
nature
of
those
platforms.
C
But
then
you
also
have
maui
as
well
that
you
can
use
to
target
those
platforms
with
like
a
single
silk
component.
So
either
way
you
have
one
either
way
you
have
a
point
of
entry
that
works
on
all
of
the
platforms.
I.
B
C
C
Yeah
but
yeah
windowing's
really
exciting.
I
think
we've
got
a
really
great
design.
To
be
honest,
I
mean
yeah.
C
We've
already
thought
of
stuff
that
could
be
improved
in
it
like
we
could
like
moving
out
the
opengl
and
pumpkin
stuff
into
sort
of
a
generic
support
package
and
reducing
those
abstractions
that
we
need
across
the
packages.
B
I've
also
thought
about
ar
in
the
last
little
bit,
because.
A
G
C
B
But
yeah
I
I
definitely
think
that
you
could
like
that
you
could
get
like
for
like
what
is
it
called
for
holodens?
I
think.
For
example,
you
could
definitely
implement
something.
B
Yeah,
but
they
have
like
they
have
like
windows
right
like
they
have
like
custom
extensions
for
openings,
that
place
like
windows
in
space
and
in
fact
that
seems
like
a
fun
thing
to
also
have
for
for
windowing,
eventually
like.
This
is
basically
like
in
terms
of
the
app
there's
no
downside
to
being
there.
But
it's
just
kind
of
a
fun
thing:
that's
not
really
useful,
but
but
fun
right.
D
C
Yeah
so
well,
I
guess
at
this
point
is
the
big
question
based
on
what
you
know
now.
What
would
you
change
about
the
current
windowing
3.0
design.
B
B
I
think
I
think
there's
a
couple
of
problems
in
terms
of
like
what's
in
scope
and
what's
not
so
I
think
we'll
have
to
revise
some
of
like
the
interfaces
that
we
added,
that
they
kind
of
have
to
go,
and
maybe
we'll
add
some,
but
it's
like
so
modular
that
I
think
it
works
well
every
time
but
yeah-
and
I
think
I
talked
about
this
in
in
team
talk
yesterday-
that
I
think
like
it
would
be
nice
to
have
windowing,
be
like
really
a
base
for
engine
development,
but
also
I
don't
want
to
like
scope
creep
there
right.
B
Should
you
get
just
like
a
vulcan
handle
right
like
that's
just
fine,
you
could
just
get
a
vulcan
instance
and
and
then
you
have
to
do
everything
yourself
or
because
really
you
have
some,
you
have
some.
C
Mute
them
for
a
little
bit.
B
Yeah,
so
I
think
with
the
services
I
think
right
now,
it's
back
to
just
gives
you
swap
chain.
I
think,
and
that's
fine
right.
You
get
like
a
swap
chain.
You
can
yeah
but,
like
I
think
the
services
are
employed
but
implemented
to
give
you
a
swap
chain
handle
right
now.
So
the
vk
service
will
give
you
a
working
swap
chain
handle
which
you
can
render
to,
but
that's
not
like
ideal,
because
it
does
stick.
It
chooses
things
for
you
like
what
presentation
mode
to
choose.
B
B
You
know
just
like
a
simple
rgb
color
space,
full
resolution,
basic
like
letterbox
style
presentation,
but
there's
pretty
good
reasons
for,
for
example,
low
latency
scenarios
to
use
shared
image,
rendering
right
where
you
share
the
image
with
the
with
the
driver
and
you
write
to
it,
and
it
just
reads
on
it
and
reads
from
it
on
like
refresh
or
there's
pretty
good
reasons
to
ask
the
update
when
you
have
full
screen
control
right,
there's
pretty
good
reasons
to
ask
the
monitor
what
color
space
it
likes
and
then
just
do
your
rendering
to
that
color
space,
because
that's
pretty
possible
in
vulcan
and
has
you
know
pretty
amazing
gains
in
terms
of
like
color
presentation
and
that's
not
really
something
that
we
can
like
do
or
that
we
can
like
choose.
B
What's
important
this
latency?
What
this
you
know,
color
correction
is
important
and
that's
kind
of
difficult
and
but
but
you
could
also
make
the
services
do
more
and
like
so
it's
I
think
it's
quite
difficult
there
to
like
choose.
What
do
we
do
and
what
do
we
leave
to
the
to
the
developer?.
C
C
I
because
not
only
will
it
make
the
actual
like
abs,
windowing
abstraction,
a
lot
nicer
in
that
you
don't
have
the
all
these
horrible
intermediate
types
it.
It
also
just
reduces
the
scope
of
the
the
surface
creation
functions
massively
and
that
it
is
literally
just
an
abstraction
over
khr
win32,
surface
khr
x11
service
is
surface
and
and
so
on
and
at
the
same
time
it
also
opens
it
up
for
more
complex
stuff
as
well.
B
There's
a
lot
of
possibility,
I
think
eventually,
I
want
to
build
some
kind
of
you
know
better
abstraction
over
over
that
because
I
think
there's
a
lot
of
like
very
common
code.
That's
like
hard
to
get
right,
but
it's
like
very
common
like,
for
example,
that's
what
I
mean
like
with
watching
creation
like
it's,
I'm
pretty
confident,
there's
like
an
optimal
solution
for
like
most
applications,
with,
like
only
very
few
exceptions.
Right
like,
of
course,
software.
B
That's
like
made
for
like
detecting
how
well
your
eyes,
work,
isn't
gonna
use
this
configuration
but,
like
most
applications
will
be
fine
with
like
one
specific
configuration
and
you'll
just
have
to
write
a
bunch
of
code
to
figure
that
out
and
like
most
people
won't
do
that.
I
will
just
go
with
like
the
always
supported
colors
based,
always
supported
layout.
C
I
guess
yeah,
I
I
think
I
think
at
least
for
now
focusing
on
sort
of
getting
what
what
silk
currently
has,
but
with
the
new
designs
and
then
figuring
out
where
to
go
from
there.
Definitely
definitely
where
to
go.
I've
just
seen
this
on
the
on
the
this
is
the
github
tracker.
This
is
bothersome,
but
verifying
everything
works
on
all
the
dot-net
platforms.
Yes,
I
mean
all
of
them.
No,
not
all
the.
B
Yeah
we
talked
over
like
discord,
and
I
think
belly
mentioned
that
previously,
I
don't
remember
the
details,
but
there
was
like
something
about
how
it
like
loads
libraries
that
was
okay.
E
Completely
so
on
freebsd
the
libdl
load,
dynamic
library
function
doesn't
technically
exist.
It's
inserted
when
you
first
when
you
first
import
the
the
lipsy
it's
just
kind
of
inserted
in
there.
I
don't
know
how,
but
then,
when
you
libdle
lib
c,
what
happens?
Is
the
function
no
longer
exists
when
you
would
use
dll
import,
the
runtime
would
deal
import
libsy
to
load
lib
c.
E
So
then,
when
you,
then,
when
you
tried
to
dll
import
dl
open,
you
would
just
get
a
function
which
does
absolutely
nothing,
and
so
it
would
break
everything
yeah
and
it's
like.
B
E
And
I
think,
like
I
think
I
think
I
think
deal
opening
lib
c
to
get
dl
open
is
a
bit
of
a
niche
use
case.
I.
B
F
Fair
one
thing
I
do
want
to
note
freebsd,
if
I
remember
right,
is
a
is
a
dis,
is
a
distribution
of
berkeley
unix
and
is
not,
and
it's
not
tied,
it's
not
linux,
so
there
that
that
is
something
to
keep
in
mind.
It
is
it.
It
has
no
direct
lineage
with
linux,
yeah.
E
Generally,
grouped
with
it
is
still
odd
and.
E
B
B
So
it's
like
fine
to
support
yeah,
but
it's
like
yeah
and
I'm
like
confident
that,
like,
for
example,
I'd
really
like
to
have
still
work
in
something
like
lp
analytics
right
or
in
like
like
a
firecracker
vm
right,
because
there's
like
good
high
high
performance
computing
reasons
to
have
that
and
I'm
guaranteeing
you
that
there's
like
a
million
things
that
break
when
you
do
that,
because
the
os
just
isn't
made
to
handle
this
weirdness
still
currently
does
to
get
the
all
of
the
function.
Point
is
loaded
and
so
yeah.
B
I
I
really
just
want
to
try
all
of
the
use
cases
I
can
come
up
with
and
got
that
and
then
so
three
two
yeah
make
sure
it
works
everywhere.
B
F
B
The
worst
case
for
me
is
releasing
final
version
and
then
the
next
day
someone
comes
and
says,
but
there's
this
very
good
use
case
and
it
doesn't
work
and
you
have
to
make
a
breaking
change
for
it
to
work
but
yeah
and
then
you're
locked
in
and
you're
like.
C
I
am
not
that
afraid
of
breaking
breaking
releases
after
3.0.
The
only
reason
why
I'm
not
doing
a
break
and
release
until
why
I
don't
want
a
breaking
release
until
3.0
is
because
we're
rewriting
the
whole
library
and
that's
a
gigantic
break
in
and
of
itself.
Once
we
have
a
co-pace
that
we're
actually
happy
with,
then
we
can
break
all
we
want
and
just
release
a
bunch
of
breaking
changes.
I
mean,
obviously
it's
not
the
best
user
experience,
but
I
don't
think
we
should
be
afraid
of
major
releases.
After
that
point,.
E
B
Pretty
confident
that
the
apis
that
we've
planned
that
are
like
you
know
that
we're
going
to
make
happen
are
like
pretty
optimal
and
there's
not
much
to
say
against
them,
and
so
I
I
don't
see
us
like.
A
B
B
C
A
C
E
C
B
B
I
mean
the
yeah,
it's
the
that's
the
thing
like
with
walker,
I'm
happy
that
it
just
says:
yeah
our
api
is
kind
of
weird
you'll
have
to
use
like
this
instance
and,
like
encapsulate
all
of
the
loading
into
into
like
a
state
you
have
to
keep
around
while
dx
is
just
like
yeah,
that's
date,
but
you
can't
look
at
it.
Good
luck.
B
B
E
E
C
E
E
E
B
I've
several
like
commented
out
integration
tests
for
silk
touch
that
are
complete,
like
that
will
never
happen
like
if,
if
we
bind
to
a
library
that
does
this,
we
should
seriously
reconsider
doing
that.
But
it's
it's
an
integration
test
right.
It
can
that's
kind
of
what
it
does.
F
F
E
E
I
mean
we
we're
planning
on
supporting
as
low
as
directx
8
and
we
already
support
opengl
2
and
I
have
a
windows
98vm,
which
supports
opengl
2.0.
B
So
actually,
it's
kind
of
this
kind
of
topic,
but
it's
it's
kind
of
interesting
to
me
that
you
started
supporting
like
the
x9.
I
think
it
was
because
it's
the
x
yeah
these
eight,
oh
god,
okay
with
silk,
so
like
kind
of
the
interesting
bit
about
that
is,
is
that?
E
B
E
C
E
E
B
E
B
But
I
couldn't,
I
seriously
considered
the
like
possibility
that
silk
touch
just
was
running
really
slow,
so
that
that
tells
you
a
lot.
C
Suppose
one
benefit
we
have
with
blank
shelf
is
that
it
is
proven
to
be
able
to
generate
bindings
for
the
vast
majority
of
the
windows.
Sdk
I
mean
look
at
terror
effects
and
I
think
we've
made.
D
C
Clear,
at
least
before
3.0
started
that
so
we
we
could
probably
reuse
what
terrafx
has
in
terms
of
generation
scripts
without
like
sort
of
stepping
on
their
turf.
A
bit
I
mean
that
terafx
and
silt.net
are
two
very
distinctly
different
bindings
with
distinctly
different
ideologies,
and
I
think
tana
agrees
with
this-
is
that
there
is
a
place
for
both
of
them
like
because
well,
terror
effects.
It's
like
it's
supposed
to
be
the
closest
thing
you
can
as
c
code.
D
E
B
E
B
C
I
the
the
way,
I
feel
is
that
I
don't
think
in
fact
it
would
be
an
amazing.
It
may
be
an
amazing
nurse
integration
test
for
saltage,
but
I
I
I
don't
see
a
problem
between
going
through
the
terrafx
generations
grips
headed
by
header
and
just
seeing
if
it
worked,
because
in
theory,
once
we've
made
it
work,
we
sold
it
like
from
a
from
a
configuration
point
of
view.
It
should
just
run
and-
and
all
of
our
like
fancy
overload
stuff
should
be
generic
enough,
that
it
will
pick
up.
C
I
I
don't
see
a
problem
with
having
just
full
windows,
sdk,
bindings
and
yeah
sure
we
could
probably
pick
up.
We
can
probably
pick
up
the
stuff
like
the
supported
os
platform,
attributes
from
the
documentation.
B
That's
a
big
thing
for
me.
I
really
want
to
like
fully
use
and
to
be
used
up
platform
supported
attribute,
because
I
think
it's
such
a
great
tool
for
circus,
like
I'm,
also
seriously,
considering
not
only
making
vulcan
or
opengl
interfaces
for
each
version,
but
also
annotating
the
methods
to
say
this
is
supported
by
vulcan.
B
You
know
3.1
and
up
and
then
like
you
can
decide.
Oh,
I
want
to
turn
off
this
morning
or
oh.
I
want
to
just
specify
in
my
project,
project
file,
use
anything
that's
like
vulcan,
1.2
and
below,
and
then
you
get
warnings
for
like
things
that
are
working
1.3.
C
Well,
yeah.
That
was
something
that
we
were
meant
to
do
I
mean
with
I
mean
with
the
interface
and
stuff
I
mean
it's,
it's
it's
strongly
typed
and
it's
better,
but
I
mean
with
2.0
like
the
idea
was
that
we
were
going
to
have
that
analysis.
Sure
it
was
going
to
be
resharper
first,
because
while
they
were,
they
were
paying
us,
but
yeah.
B
Yeah
and
it's
it's
also
just
it's
a
new
thing
to
build,
which
is
expected
to
break
several
times
before
it
works
consistently,
and
then
it's
also
just
so
difficult.
I
feel
like
it's,
it's
yeah
that
they
can
also
about
analyzers,
hey,
I
haven't
started
yet,
but
soon,
probably
soon
in
subtitles,
but
soon,
probably
at
like
the
final.
B
I
want
to
build
like
the
first
overloader-
and
I
think
I
mentioned
this,
like
probably
a
year
ago
when
we
first
started
planning
3.0,
but
the
plan
right
now
fully
is
to
have
always
three
components
to
each
overloader.
The
old
itself
that
modifies
or
like,
creates
new
symbols
from
our
like
custom-made,
symbol,
layer,
I'm
working
on
right
now,
one
part:
that's
a
rosaline
equalizer
that
looks
for
basically
the
symbol
structure
that
the
actual
generator
also
looks
for
in,
like
c
sharp
source
code,
and
then
tells
you
oh
hey.
B
You
can
use
old
word
instead,
it
suggests
so
you
use
all
that
instead
and
then
exactly
the
same
thing
again,
but
for
resharper
analysis
analysis
for
the
api.
D
B
Pretty
possible
for
all
of
the
generators
like.
Ideally,
we
can
see
something
like
you
have
like
a
method
where
you
like,
create
vulcan,
and
then
you
like,
create
an
instance
and
call
like
I
don't
know,
get
instance
version
from
vulcan
and
then
ideally,
the
analyzer.
A
B
Just
use
the
object,
syntax
right
where
you
get
an
instance
class
and
you
call
the
instance
method
from
that
class.
I
mean,
of
course
you
could
just
say:
oh,
please
don't
suggest
this
again.
You
know
disable
the
analysis.
C
One
thing
I
really
want
in
in
3.0
is:
is
for
user
codes
that
just
look
so
good,
so
unbelievably
good,
we
sort
of
forgotten
who
we
are
a
bit
like
with
opengl
like
yeah
the
bindings.
You
know,
look
really
nice
like
they.
They
know
there
are
rough
patches
here
and
there,
but
the
bindings
are
really
nice
and
then
with
2.0.
We
sort
of
forgot
who
we
are
a
bit
and
didn't
it
wasn't.
C
With
the
the
overloads
and
that
some
of
our
some
of
our
wines
are
still
a
bit
of
a
pain
to
use,
whereas
I
think
we
can
sort
of
go,
we
should
really
think
we
should
actually
pay
attention
to
the
bindings
we're
creating,
rather
than
just
right,
here's
a
here's,
a
header
we've
generated.
It
looks
good
to
me
ship.
It.
B
Yeah
but
but
I
mean,
I
still
think
that
our
current
bindings
are
still
some
of
the
best
you
can
get.
I
I'm
still
always
by
upgrading
bindings,
even
even
against
things
like
vulcan
shot
right
or
whatever
they
call
whatever
that's
called,
which
other
people
also
use
which
nothing's
wrong
with.
But
I
still
think
oh,
I
need
something
better
right,
but
they
could
be
so
much
better,
even
still
so
yeah
exactly.
C
C
There's
a
question
for
you
in
the
chat:
is
it
plans
that
there
will
be
safe,
overloads
in
3.9?
Oh.
B
Yeah
absolutely
lots
hopefully
like
I'm,
I'm
like
seriously
planning
for
that
to
be
classes
generated
automatically
like
you
have
in
in,
like
basically
all
the
bindings.
You
have
some
kind
of
like
handles
that
you
constantly
need
to
pass
around
and
work
in
this
like
instances
in
like
gl,
you
have
like
buffers,
for
example,
and
hopefully
the
generator
can
just
automatically
detect
those
say.
Oh,
this
looks
like
it's
a
class.
B
C
Yeah,
I
suppose,
on
top
of
that,
will
we
still
have
like
the
sort
of
raw
stuff
as
well
or
are
we
just
going
to
follow
you
into.
A
B
I
mean
I'm
very
against
having
these.
B
I'm
fully
against
having
these
like
kind
of
mixed
style
overloads.
I
get
that
sometimes
it's
a
little
bit
useful,
but
I
think
usually
usually,
and
it
it
very
much
clutters
up
the
intelligence.
B
So
I
think,
for
example,
it
makes
no
sense
to
generate
methods
that
have
three
unsafe
parameters
like
three
pointer
parameters
and
then
one
parameter.
There's
an
array
like
if
you're
gonna
go
there
and
use
the
three
pointer
parameters
just
make
the
last
array
appointed
also
like
then,
you've
already
gone
through
all
this
trouble
that
I
think
asking
you
to
do
this.
One
extra
thing
isn't
that
bad
and
then
I'm
I'm
more
concerned
with
having
different.
B
Different
levels
of
power
safety
you
wanted,
like,
I
completely
see
the
point
in
having
you
know
four
race
or
like
a
string
and
three
arrays
like
I
think.
That's
that's
reasonable
right.
Having
string
versus
fighter
ray
doesn't
have
quite
a
bit
of
work
you
have,
but
these
like
generated
like
50
permutations.
A
B
There
will
probably
be
worse
kind
of,
but
I
think
that's
that's
not
worse,
for
the
loser.
C
I
think
we
found
in
in
the
last
stream,
even
though
there's
a
single
function
in
asim
that
has
like
200
overloads.
B
F
B
C
Wait
yeah
it's
just
having
his
being
the
next
person
to
have
a
shot
telling
that
going
that
far
back
such
a
bad
idea.
E
C
B
Yeah
I
mean
if
someone
rolls
around
in
this
code
and
says:
oh
my
vulcan
1.3
code
doesn't
run
on
windows,
98,
yeah,
obviously
you're
on
your
own
good
luck
with
you
yeah,
but.
B
That
I
I
think,
while
it's
kind
of
odd,
I
think
10
is
obviously
right-
that
going
out
of
our
way
to
support
like
windows.
7
is
stupid
silly,
but
having
the
version
annotations,
there
actually
may
have
some
benefit,
and
I
think
it
additionally
helps
a
lot
in
migration.
E
Argument,
I
guess
I'll
go
first,
then
you
can
go
also
for
silk
is
also
usable
in
non
game.
Situations
like
tanner
mentioned
that
windows
7
is
only
two
percent,
the
user
base
and
yeah.
That
makes
sense
like
if,
if
silk
was
specifically
targeting
only
gaming,
then
windows
7
wouldn't
make
too
much
sense,
but
silk
also
works
in
other
situations
like
embedded
systems.
E
If
you
wanted
to
have
just
a
basic
opengl
interface
on
an
embedded,
but
most
embedded
systems
still
run
windows,
7
or
even
vista,
so
it
makes
sense
to
at
least
guarantee
that
it'll
it'll
work
on
windows
7,
but
like
not
go
super
out
of
our
way
for
it.
F
And
one
thing
I
want
to
point
out
is:
microsoft
went
out
of
their
way
for
d3d12
on
seven,
it
doesn't
support
windows
8..
It
only
supports
windows,
7.
G
Right
and
windows
7
in
particular,
I
think,
is
fine,
and
in
fact
that
is
what
dot
net
6
and
net
7
still
support.
It
might
drop
in
dot
net
8
or
dot
9,
because
the
extended
support
license
will
actually
go
out,
but
at
least
today
it's
still
supported
and
that's
the
baseline
for
the
os
compatibility
analyzer
when
you
use
supported
os
platform.
So
when
you
say
windows
on.net
core,
what
that
actually
means
is
windows,
7.
B
F
F
B
We
will
help
with
anything
to
be
honest
like
if
you
come
and
you
make
an
issue
that
says.
Oh,
I
built
this
custom
like
graphics
card
and
my
driver
kinda
works,
but
this
thing
I
mean
it's
not
like
we're
going
to
tell
you.
Well,
we
hate
you,
but
we're
not
going
to
go
out
of
our
way
to
like
make
it
work
and
like
advertise
it
to
be
the
good.
The
great
thing
we
like
but
yeah.
If
you
open
an
issue
like
we'll,
probably
help.
E
It
it
is
something
that
older
stuff
is
something
that
we
are
going
to
at
least
make
sure
it
runs
like.
I
think
seven
is
a
base.
It's
a
good
baseline
because.net,
I
think
xp
is
good
for
ao
is,
is
good
for
checking
if
we
can
run
on
super
cut
out
aot
situations,
because
without
a
garbage,
collector
or
reflection,
aot
actually
works
really
well
in
xp
yeah.
So
I
think
that
I
think
that's
a
really
good
test
of
how
low
can
we
go
with
disabling
aot
features,
yeah.
B
Similarly,
I
just
wanted
to
ask
because
it's
kind
of,
like
the
main
reason
why
you
might
not
want
to
do,
let's
do
something
like
this.
Is
there
still
no
solution
to
like
attribute
size
impact
like
if
you
like,
if
silk
annotates
its
methods,
for
you
know,
let's
say
windows
7?
B
Out
run
yeah,
I
don't
know
like
I
would
have
assumed
that
when
they
introduced
like
the
os
supported
thing
that
they
would
have
added
something
to
like
the.
I
don't
know
what
like
the
like:
the
nets
cli.
I
guess
that,
like
rips
out
all
of
the
annotations,
because
they're
not
useful
in
the
actual
application.
G
So
the
supported
os
platform
attributes
as
well
as
several
others,
are
attributes
that
are
deemed
to
be
safe
to
trim
for
aot
scenarios.
Unless
the
user
is
directly
annotating,
I'm
using
this
or
they
directly
have
something
that's
doing
like
type
of
and
then
but.
B
E
I
think
for
the
templates,
because
that
is
there
is
no
issue
about
it.
I
think
for
templates
it
should
enable
trimming
for
publish
scenarios.
G
Yeah
terrafx
supports
trimming
fully,
and
it
actually
is
the
recommended
scenario
to
use
it
because
it
makes
the
dll
go
from.
You
know:
16
megabytes
down
to
like
one
megabyte
and
clang
sharp,
fully
supports
generating
trimmable
code.
So
when
silk
eventually
makes
the
migration
off
to
sil
or
onto
clang
sharp
for
the
primary
generation,
it
should
just
support
trimming
as
well.
B
Right
I'm
looking
for
this,
but
I
remember
that
we
had
a
bunch
of
issues
with
streaming.
So
I'll
have
to
look
again,
I'm
pretty
confident
that
that
I
try
to
make
the
current
silk
work
of
trimming
because
nothing's
really
stopping
that.
But
then
the
trimmer
gave
up
on
me.
I
remember
maybe
actually
fixed
that
with
spr.
I
guess
because
I
remember
something
like
the
trimmer
saying
the
trimmer
saying
I
think
about
some
math
stuff
that,
like
all
of
this
is
reachable
and
then
it
generated
like
one.
F
C
B
B
Oh
yeah.
I
actually
found
it.
G
To
be
very
careful
when
using
reflection
with
trimming,
because
you
have
to
go
and
annotate
your
methods
if
they're
doing
dynamic
referencing,
if
you
want
to
limit
what
the
dynamic
references
are,
you
have
to
provide
an
external
xml
file
that
tells
the
linker.
These
are
the
types
that
might
be
used
via
these
code
paths,
so
it
knows
to
keep
them,
but
it's
safe
to
trim
everything
else.
G
You
got
to
be
really
careful
with
reflection,
and
that
includes
things
like
math
and
the
ideal
is
that
on.net
7
plus,
where
you
have
static,
abstracts
and
interfaces.
You
move
away
from
a
reflection
based
di
system
and
onto
something
like
using
a
an
interface
that
declares
a
static,
create
method.
That
way
you
can
use
fully
well-typed
well-typed
di
instead.
B
Yeah
yeah,
I
mean
that's
the
hope,
but
it's
like
kind
of
difficult.
I
think
in
many
cases
still
so
yeah
I
mean
and
then
stuff
like,
for
example,
windowing.
That
has
like
different
back
ends
that
are
kind
of
like
plugins,
but
not
really
pockets.
It's
kind
of
difficult
to
do
that
entirely
without
reflection
and
the
annotation
stuff
was
like
because
kind
of
began
well
to
be
honest,.
G
Yeah,
the
the
the
way
that
not
tara
affects
interop,
but
my
main
terafx
engine,
which
is
you
know,
an
abstraction
over
directx
vulcan
and
some
other
things
works.
Is
it
it's?
Well
it
for
one?
It's
dotnet
seven
only
now,
but
it
declares
a
basically
the
interface
defining
the
I
graphics
provider.
Back-End
has
a
create
method,
and-
and
you
always
use
that
so
the
user
has
some
responsibility
to
either
statically
say
which
graphics
provider
they're
using
in
their
main
loop
or
to
provide
in
the
xml
file
that
they're
using
these
different
providers.
G
That
way
it
can
trim,
link
and
do
everything
else
safely,
but
that
does
end
up
working
even
with
a
full
ao,
full
reflection,
free
aot,
which
gets
it
down
to
like
1.2
meg,
a
single
file
distribution
supporting
you
know
like
20
different
directx,
11,
12,
vulcan
samples.
So
it
does
definitely
work
and
it
works.
Well.
You
just
have
to
rethink
your
model
and
it's
only
which
is
unfortunate.
B
Yeah,
I
mean
part
of
the
problem
to
me
is
also
that
it
requires
at
least
a
little
bit
of
work
from
the
user
right.
So
that's
not
ideal.
I
think
very
part
of
the
reflection
like
what
I
commonly
would
use
attraction
for
is
this
kind
of
magic
behavior,
where
the
whole
point
is
that
the
user
isn't
involved
well,.
C
The
whole
point
between
the
whole
point
with
the
silk
entry
point
design
is
that
we
can
emit
that
code
for
them.
B
B
Easy
getting
started
right,
but
it's
I
think
it's
unlikely
too
many
people
would
be
too
happy.
C
B
C
Itself
has
its
own
thing
because
that's
well
yeah,
it's
just
the
models
are
so
completely
different.
That
it'll
be
very
hard
but
yeah.
I
mean
it's
worth
noting
the
way
that
the
proposal
is
worded
at
the
moment.
It
sort
of
implies
that
we
use
the
that
we
ship
a
default
implementation
with
the
actual
abstraction
package
which
which
yeah
sure
not
every
not
all
users
will
want.
Maybe
they
want
to
implement
their
own
windowing
background
for
somebody,
but
that's
a
fringe
use
case
and
I
think
the.
D
C
I
agree,
I
agree
because
well
one
of
the
things
I
proposed
when
we
were
originally
discussing
3.0
as
well.
I
was
like
wait:
we're
not
going
to
have
the
extension
packages
because
you
can
just
use
the
trimmer.
B
But
like
some
of
them
are
maybe
fine,
I
I'm
not
too
sure,
but
I
think
things
like
the
window
implementation
right.
That's
like
one
class
of
like
less
than
2
000
lines,
probably
per
like
backhand
and
then
like
in
default.
We
might
have
like
wayland
eggs
windows
and
like
a
mac,
backend
and
that's
kind
of
it
and
then
maybe
probably
android
ios
would
even
be
like
a
different
package.
B
B
C
I
mean
I
thought
the
way
I
see
it
is
especially
on
the
extension
package
front
like
there's.
Not
that
much
reason
for
us
to
make
our
own
package
beyond
that
like
before
the
logic
with
2.0,
is
what
that.
Well,
you
might
not
want
the
hit.
You
might
not
want
the
extension
code
lying
around.
Well,
you
have
to
trim
it
for
that
now
and
I'd
much
rather
be
able
to
say
like
hey,
I
want
all.
I
want
the
vulcan
stuff.
I
want
the
opengl
stuff
and
just
install
one
package
and.
A
C
B
C
I
think
I
think
most
of
what's
influencing
influencing
the
my
head
cannon
for
silk.
Three
is
primarily
the
envy
of
what
terrorfx
has
I
mean
like?
Yes,
silk
will
always
have
the
well
the
the
silkier
apis.
In
that
we
change,
we
change
the
names
to
be
more
c-sharp
friendly.
C
We
have
c-sharp
overloads
and
we
have
a
bunch
of
other
stuff,
but
at
the
same
time,
I
like
the
model
that
terrafx
has,
and
I
want
to
more
closely
align
those
two
options,
because
they
because
they
are
options-
and
it
is,
it
is
personal
choice
at
the
end
of
the
day
which
library
you
want
primarily
based
on
what
you
want,
your
bindings
code
to
look
like
and
how
you
want
to
originally
reference
it
back
to
the
original
source,
and
I
just
want
it.
I
want
to
close
the
aligners.
G
G
But
you,
you
could
imagine
just
a
simple
rule
of
fix
up
win32
names
implicitly
so
that
you
know
dxgi
underscore
block
it's
fixed
up
to
just
removes
all
the
underscores.
Does
the
appropriate
casing
with
some
minimal
input,
rather
than
having
to
do
it
literally
per
per
item.
B
Yeah
I
mean
I,
I
know
that
the
coin
shop
does
have
some
niceness,
but
but
mainly
because
I
I've
kind
of
just
disabled
it
all
because
it
feels
like
it
all
compares
already
so
yeah
also,
I
I
think
gl
itself
or
like
vulcan
or
whatever.
I
think
they
are
all
so
big
by
now.
That
probably
know
better,
no
matter
what
we
do
linking
will
kind
of
be.
Quite
I
still
remember
the
I
think,
the
avalonia
people
with
it.
B
B
B
A
G
B
B
Yeah,
I
hope
so
I
hope
so
I
mean
I
I'm
still
not
too
sure
how
exactly
the
sub
3
will
work
with
net,
because
the
plan
was
to
have
a
net
6
port,
primarily
which
kinda
impairs
our
you
like
possibilities.
What
we
can
do
with
like
the
new
stuff,
especially
since
a
bunch
of
you
know
top
nexus,
definitely
six
does
kind
of
miss
the
some.
Some
of
these
nicer
things.
A
B
Like
one
of
these
features
is
hot
reloading
right,
which
is
which
is
kind
of
the
same
valley
as
like
we'll
have
to
figure
out
how
this
works,
but
like
once
it
works.
It
should
be
really
nice
for
users.
C
Yeah
yeah,
definitely
I
I
mean
on
the
on
that
front,
I
mean
with
the
current
rate
of
progress
I
mean
the
first
net.
Eight
preview
might
be
out
by
the
time
we
have
the
3.0
preview,
so
it
might
work
out
really
nice,
but
I
think,
having
each
major
release.
Sort
of
aligned
with
a
lts
release
is
probably
the
it's
definitely
the
most
predictable
maintenance
schedule.
C
E
B
E
Maybe
creating
all
the
interfaces
and
stuff
and
just
getting
windowing
and
all
the
other
high
level
utilities.
D
B
Yeah,
I
think
the
first
step
for
us
still
which
I've
been
like
I've,
been
saying
this
for
like
four
months
at
this
point,
probably
but
like
next
week,
I'll,
hopefully
be
done,
and
I
actually.
I
truly
hope
that
if
I
just
can't
get
like
one
like
uninterrupted
work
of
like
proper
self-work
done,
which
I
just
can't
because
life
happens
all
the
time,
then
it
should
be
like
one
week
or
so
to
get
like
the
base
generator
running
and
have
like
really
raw
bindings.
Everything-
and
I
think
then
it's
it's.
B
It's
yeah
do
do
anything
of
the
million
work
tasks
that
are
like
left
for
3.0,
because
the
main
idea
is
that,
after,
like
you
know
like
the
main
generation
bit
is
like
working,
there
should
not
be
too
much
modification
to
like
the
core
bit
required
and
there
should
only
be
like
things
layered
on
top
of
that
and
like
overloaders
written
and
like
that
kind
of
thing,
because
really
the
core
generator
should
only
be
concerned
with
generating
the
really
important
it's
like
the
the
raw
c-style
bindings
and
then
everything
else
should
just
be
overloaded
and
that
kind
of
thing
and
yeah.
B
B
C
Yeah,
okay,
so
whoa.
So
what
and
we
I
mean-
obviously
it's
open
source-
I
don't
so
no
one
rely
on
the
timing,
so,
but
you
reckon
once
you've
had
that
solid
block
of
time
to
get
the
generator
we'll
we'll
stop
with
the
generator,
primarily
once
we're
at
a
point
where
we
have
those
like
sort
of
like
well
raw
clan,
sharp
style,
yeah
terror
effects
style
binding.
C
So
we
can
start
getting
some
work
done
and
then
well
then
it's
on
to
sort
of
laying
the
groundwork
in
the
other
spaces,
like
making
sure
we
have
all
the
interfaces
defined
for
hlu
and
yeah.
I.
B
So
if
someone
wants
to
like
look
at
the
winning
proposal,
like
just
define
all
of
the
interfaces
like
that's
not
like
no
one's
going
to
stop
you,
that's
probably.
C
In
fact,
yeah
just
great
literally
just
creating
the
projects
and
just
copying
all
the
messages
from
the
proposal
and
having
a
new,
not
implemented
exception.
That's
probably
good.
A
C
So
it
looks
like
the
I
mean
it
does.
Look
like.
We've
got
a
lot
of
a
lot
lying
on
the
generator,
but
it
seems
like
the
generator
has.
Some
has
a
fair
amount
of
progress
and
once
that's
done
well,
hopefully
we
can.
How
do
we
want
to
handle
like
making
the
experimental
versions?
Do
we
still
want
to
stick
with
the
experimental
feed?
Obviously
I
doubt
we're
going
to
go
with
the
preview
one
two
three
four
five
stuff,
seeing
as
I
think
just
too
much
is
changing
and
we
should
probably
do
at
least
well.
C
1.0
and
2.0
is
that,
for
the
views
benefit
is
that
we
have.
We
have
preview
123,
which
are
purely
experimental
preview
4,
which
is
pretty
much
what
it's
going
to
look
like
and
it's
the
first
go
live
release
and
preview.
Five,
it's
literally
just
bug
fixing
until
yeah.
B
That
would
probably
not
happen
like
I.
I
definitely
I
want
more
previews
and
for
sure,
because
I
think
there's
just
so
much
in
this
release.
That's
like
new,
and
it
also
somewhat
requires
user
feedback
and
I'll,
probably
also
at
some
point
in
like
development,
because
I
don't
I
personally,
I
don't
feel
too
rushed
about
like
getting
3.0
at
the
door
like.
B
I
might
don't
really
have
a
problem
with
that
I'll,
probably
like
halfway
through
I'll
just
start
like
building
a
small
engine
for
myself
to
see
like
what
are
the
rough
corners
right
and
and
so
yeah.
I
think
user
feedback
will
be
very
important
that
I
just
kind
of
hope
we
can
make
more
previews,
not
necessarily
like
a
regular
cycle,
but
just
when
we
feel
like
there's
good
new
features,
we
can
just
make
a
preview
and,
like
ask
people
hey,
this
is
pretty
stable.
You
can
try
using
this.
What
do
you
think.
F
My
thoughts
are
that,
possibly,
if,
if
that's
the
route
we're
going,
we
should
probably
just
call
them
development
snapshots
and
maybe
really
lower
down,
maybe
lower
the
the
expected
preview
count
until
say
the
equivalent
of
the
fourth
or
fifth
preview
or
the
fourth
preview,
or
something
like
that.
F
So
you
know
what
you
know:
call
calling
them,
because
that
that's
what
they
sound
like
they'd,
more
be
in
that
in
that
situation
is
their
developer,
the
the
the
their
snapshots
while
they're
being
developed-
and
you
know
nothing's,
and
that
there's
not
a
guarantee
that
things
will
there's
not
a
guarantee
that
things
won't
break
completely
during
that
time
and.
B
Then
yeah
I
mean
I
I'm
pretty
sure,
and
this
is
the
way
it
is
already
we've
been
going.
Everything
that
lands
on
the
developed,
30
branch
should
land
there
to
stay
the
way
it
is
like.
That's
generally
been
my
approach
so
far,
so
because
it's
because
we've
made
so
many
plans
that
it's
pretty
predictable
what
we
will
need
and
what
we
want
to
do,
it's
pretty
doable
to
only
put
things
in
there
that
are
actually
there
to
stay.
B
B
F
B
F
B
I
do
what
preview
4
was
previously.
Would
then
just
be
release
candidate.
One
right,
I
think
it's
yeah,
that's
what
the
like
newer
semantic
measuring
suggests
too,
like
like
the
rc
yeah
yeah,
so.
E
B
Could
also,
we
could
also
do
like
either
separate
feed,
or
we
could
also
do
something
like
mark
it
as
like
dot
net
seven,
only
or
something
that
way.
It's
like
you
can't
upgrade
because
either
like
because
the
old
doesn't
work
on
you
and
the
new
doesn't
work
and
then
later,
when
we
actually
release
market,
as
you
know,
supporting
essex,
I
mean.
G
So
what
the
bcl
has
done
in
the
past
for
similar
situations
is
we
released
the
package
explicitly
as
name
dot
experimental
that
way
it
was
very
clear:
it
was
experimental.
There
was
no
chance
of
accidental
roll
forward
and
when
the
official
version
does
come
out,
they
explicitly
have
to
move
off
of
the
experimental
and
onto
the
concrete
version.
B
But
is
it
is
it?
Is
that
a
thing
that
nugget
handles
correctly
that
it
says
like
that
says
like
oh,
this
has
like
it's
not
experimental
at
the
end,
so
if
someone
has
1.2.0
and
then
like
the
or
higher
rule,
then
it
doesn't
do
the
experimentalism.
G
Like
like,
we
had
for
dotnet
six,
we
had
system
runtime,
which
was
the
default
package
that
contained
you,
know
the
the
default
api
surface,
that
everyone
got
for
the
inbox,
and
then
we
had
system
runtime
experimental,
which
was
the
which
was
a
separate
package.
Users
had
to
opt
into
which
overrode
the
original
system
runtime
reference
and
which
gave
access
to
all
of
the
generic
math
api
surface
that
they
shouldn't
have
had
access
to
unless
they
explicitly
opted
into
it.
B
Well,
the
next
concrete
steps
is,
if
you
look
at
the
board
and
then
there's
like
steps
that
I
have
assigned
to
me
and
like
with
priorities,
so
I
mean,
if
you
want,
I
can
talk
about
some
of
them.
Yeah.
B
That
the
next
couple
of
them
so
like
the
currently
the
ones
that
are
in
progress,
is
type
visiting
so
like
we
figure
out
the
like
types
from
the
xl
like
the
ceiling
stuff,
that's
what
I'm
doing
right
now
or
what
I
have
been
doing.
B
Then
we
do
eventually
we'll
that's
the
next
one
at
half
mark,
but
maybe
I'll
not
do
it.
It's
multi-pass
type
resolution,
which
is,
I
talked
about
that
earlier
in
team,
talk,
which
is
like
there's
two
types
declared
in
one
like
file
and
like
one
c
file
that
reference
each
other,
which
is
possible
because
forward
declarations,
but
playing
doesn't
really
tell
me
that
so
yeah
it
has
to
be
done
with
like
multiple
type
resolution,
so
that
will
happen
and
then
the
next
one,
the
next
two
ones
are
the
big
ones.
B
It's
a
class
support
so
emitting.
Like
the
you
know,
the
geo,
that's
over
your
class,
the
main
one,
the
big
one
and
method
symbol
support.
So
it's
like
representing
what
clang
gives
us
in
terms
of
methods
as
a
symbol
and
then
after
that
we,
this
is
like
a
separate
workout
for
me,
but
it
doesn't
really
matter.
B
Is
emitting
that
into
the
appropriate
class
with
like
the
just
a
native
signature,
and
that's
basically,
it
then
like
that
last
step
is
like
doing
all
of
the
dll
importing
doing
all
of
the
like
resolving,
like
all
that
so
yeah,
basically
just
tight
resolution
anymore
and
method
emitting
those
are
the
big
ones.
F
And
then
past
that
bit
you
know
every
we
things
can
start
getting.
Things
can
start
getting
started
in
terms
of
in
terms
of
the
other
issue
in
terms
of
the
other
by
I
guess
I
guess
the
talk
was
doing.
F
Was
it
glfw
and
opengl
were
were
the
two
first
two
bindings
that
were
going
to
be?
Would
you.
B
Like
to
be
the
first
for
sure,
but
then
I'm
not
sure
then
either
vulcan,
because
it
is
also
a
really
nice
testbed,
because
it
has
a
bunch
of
nice
features,
so
that's
possible,
but
I'm
not
sure
it
will
probably
be
like
driven
by
what
I'm
gonna.
Do
then,
like
what
I
feel
like
like.
If
I
feel
like
the
like
the
object,
overlord
stuff,
then
I'll
probably
go
for
vulcan.
B
If
I
I
don't
know,
if
I
feel
like
working
with
knowing
maybe
we'll
buy
to
like
ex-serve
or
whatever,
because
then
I
want
to
use
that
with
the
pens
and
that
will
also
that
will
also
drive
the
other
work
items
like,
for
example,
I've
put
bit
fields
just
on
the
work
like
on
the
as
a
work
item,
because
it
didn't
feel
like
resolving
right
away.
B
Figuring
all
of
the
interfaces
and
I'm
like
90
sure
we
did
a
pretty
good
job,
but
not
a
perfect
look
like
I'm
very
confident
that
we
forgot
something
about
like
the
the
typing
or
whatever,
and
then
whoever
makes
the
interfaces
will
have
to
like
see
how
to
resolve
that.
So
yeah.
I'm
pretty
sure.
That'll
also
take
like
one
two
days,
because
I'm
like
always
pretty
confident
that
we
screwed
up
somewhere.
F
C
Yeah,
so
I
guess
on
the
hd
front,
if,
on
the
very,
very,
very,
very
low
chance,
everything
is
all
okay
and
the
the
api
defined
it
just
makes
sense
and
it
works
logically.
Can
any
implementation
work
begin
until
the
generator's
off
the
ground?
Like
did
we
want
to
go
the
route
of
well
using
the
the
2x
bindings
and
then
once
the
generator
lights
up
switch
over.
B
So
I
think
we'll
see
only
I
mean
if
it's
like
I
like,
if
it
takes
like
one
two
three
days
at
least
probably
to
get
the
like
interfaces
all
sorted
and
all
that
and
then
until
then,
we'll
kind
of
see
how
long
realistically,
like
with
time
management
of
mine
included,
it
will
take
to
to
get
like
a
gfw
initial
version
and
then,
depending
on
that,
we
can
like
decide.
C
B
Yeah,
exactly
that's:
why
I'm
really
trying
to
just
get
the
like
basics
right
and
make
it
work,
but
yeah,
I
I
hope
it
will
it'll
it'll
work
soon.
C
So
I
guess
bailey
I
mean
I
know
you're
supposed
to
be
the
2x
maintainer
and
not
necessarily
the
3.0
maintainer,
but
it
was
there
anything
given
what
we've
discussed
that
you
think
are
going
to
be
the
next
steps
for
you
right
after,
but
not
immediately
after
this
call.
But
you
know
in
the
in
the
coming
days
weeks.
E
Probably
going
to
be
windowing
interfaces
to
get
ready
for
some
semblance
of
something,
because
I
I
I
I
do
want
to
implement
the
basics
of
windowing
and
then
once
some
basic
bindings
exist,
attempt
a
half
hazard
of
my
engine
to
3.0
just
to
see
how
it
actually
feels
to
use
it
in
an
actual
environment.
I'll.
B
F
E
E
But
once
we
have
the
glfw
back
end
in
place
so
that
all
the
win-win
features
are
at
least
supported
partially,
I
I
I
will
attempt
to
port
some
semblance
of
my
code
base
over
to
3.0,
because
my
code
base
is
very
multi-layered,
so
I'm
able
to
just
port
only
the
stuff-
that's
actually
relevant
to
3.0
testing,
which
will
be
very
helpful,
so
it'll,
probably
just
be
opengl
just
modern
opengl
and
that
that'll
be
all
that'll
pour
it
over.
I.
B
Mean
with
the
current
design,
you're
pretty
free
to
also
just
make
a
sub
module
or
place
the
new
repo
next
to
yeah.
E
Easy
to
use
so
two
seconds
for
your
computer-
it's
probably
30
seconds
on
my
computer,
so
it's.
A
B
A
C
Yeah,
okay
cool,
it
sounds
like
you
might
have
a
helper
in
the
chat
if
you
on
the
defining
the
interfaces
stuff
and
and
maybe
even
implementing
it
if
everything
looks
and
feels
okay,
so
yeah
be
sure
to
be
sure
to
keep
everyone
in
the
loop
on
any
like
easy
jump
off
points.
Well,
not
not
easy
because
I
mean
we
are
right,
writing
an
entire
library
from
scratch.
But
you
know
any
obvious
jump
off
points
for
contributors.
E
C
Anyone
in
the
chat-
if
you
wanted
to
ask
any
questions
now,
let's
see
probably
the
last
chance
to
do
so,
given
the
stream
delay
but
yeah
if
it
feels
like
we've,
got
a
we've,
we've
got
a
nice
base
and
we
we've
got
a
fair
amount
of
momentum
towards
where
we
want
to
go,
and
I
suppose
the
main
thing
that
I
wanted
to
get
out
of
this
stream
is
making
sure
that
we
had
all
the
information
on
where
to
go
next
out
there
in
the
public,
so
that
more
than
just
kai
can
work
on
3.0.
B
F
I
meant
to
get
to
windowing,
but
then
I
lost
the
then
I
lost
the
the
proposal
for
it.
I
can't
seem
to
find
it.
I.
B
Can
post
it.
F
B
Basically,
tests
because
tests
are
hard
and
I'm
very
stupid,
sometimes
like
I've
several
times
I've
just
scanned
all
the
tests
looked
at
them,
try
to
figure
out
if
I
missed
something
that
I
should
have
tested,
but
it's
it's
difficult,
probably
for
for
someone
who
hasn't
like
looked
at
the
stuff
but
like.
If,
if
you
send
me
a
snippet
of
weird
c
plus
plus,
like
type
definitions,
go
ahead
I'll,
add
it
as
an
integration
test.
E
B
E
G
G
The
issues
to
me
again
so
I
can
go,
take
another
look
one.
Second,
I've
been
so
heads-down
on.net,
seven
everything's
slipped
my
mind,
but
now
that
we're
stabilizing
I'm
I'm
going
to
have
more
time
to
look
at
clang,
sharp
and
other
things
again.
E
Yeah,
because
it
it's
it's
putting
clinch
sharp,
is
putting
the
union
type,
it's
just
putting
that
in
c
sharp,
even
though
it's
not
a
thing,
it's
also.
B
E
It's
also
using
classes
that
are
only
available
in
that
standard
2.1.
When
you
ask
it
for
net
2.0.
Only
also
certain
structs
just
doesn't
think
it's
important
doesn't
add
them,
and
then
it
just
tries
to
reference
them
and
then
uncompilable
code
so
stuff,
like
xkp
descriptor,.
B
Oh
by
the
way,
while
I
have
you
here
hannah,
can
I
ask
you:
do
you
possibly
know
how
I
can
make
a
clang
or
clay
shop?
I
don't
know
who's.
The
culprit
give
me
like,
like
proper
forward
type
depths
like
when
there's
a
little
but
there's
a
forward
declaration.
So
I
know
because
it's
impossible
to
like
resolve
the
like
types
of
like
fields
and
stuff.
Without
this
information.
G
What
do
you
mean
because
every
so,
even
when
you
have
a
forward
declaration
provided
that
your
header
isn't
considered
incomplete,
it
should
be
able
to
resolve
that
and
give
you
a
link
to
the
concrete
type
well.
B
It
doesn't
give
any
links.
It
always
only
gives
me
text
as
far
as
I
can
tell,
and
it
that
that's
not
very
helpful.
So
if
you
just
check
meetings,
that's
basically
one
of
the
samples
that
I
found,
and
I
don't
know
like
how
that's
supposed
to
be
resolvable,
I
mean
without
the
without
the
forward
declaration.
G
G
Right
right,
it
works
because
the
second
declaration
isn't
isn't
necessarily
too
struct
x.
It's
an
opaque
pointer
to
some
ty
to
some
struct,
and
so
you'd
have
to
go
if,
if
the
type
tree
isn't
actually
giving
you
the
real
declaration.
G
A
B
So
from
like
a
c
standpoint,
is
it
acceptable
to
simply
store
all
of
the
text
names
as
they
are
have
like
some
kind
of
like
scope
where
you
store
them
in
and
then
like
multi-path
results
by
just
looking
once
you've
passed
everything
like
all
the
xml
looking
at
the
names
again
and
seeing
because
then
it's
actually,
everything
has
been
declared
that
I
should
be
able
to
resolve
by
name
right.
C
Yeah,
I
was
under
the
impression
that
clan
sharp,
the
p
and
vote
generator
didn't
maintain
a
lot
of
state,
or
at
least
compared
to
compared
to
something
like
build
tools
which
is
basically
yeah.
It
maintains
objects
upon
objects
of
state.
B
G
Yeah
clang
itself
maintains
the
entire
ast,
as
you
know,
actual
object
state,
but
it's
also
all
lazy.
So
it's
not
evaluated
unless
you
need
it
to
avoid
memory
explosion,
but
the
actual
generator
itself
is
basically
find
an
ast
and
emit
the
raw
text
that
you
need,
don't
try
and
build
any
tables
or
anything
outside
of
minimal
caching
to
to
make
secondary,
lookups
cheaper
specifically
because
it
also
doesn't
need
to
the
expectation,
at
least
for
the
sharp
generator
is
that
when
you
output
c
sharp
code
it
doesn't.
B
B
Well,
I
mean
it's
it's
something
I
think
it's
sometimes
more
complicated,
though,
because
you
can
have
cases
where
the
surrounding
code
interferes
with
like
name
resolution
and
then
you're
in
bit
of
trouble
so,
like
I
at
least
try
to
build
all
of
the
emitting
codes.
So
it's
like
fully
qualified,
which
is
difficult
like
this
I
mean
it's
not
necessarily
like
important,
but
it
can
sometimes
like
run
into
problems.
G
C
Cool,
I
know
this
is
thomas.
You've
showed
up
hello,
hello,
so
to
sort
of,
like
recap,
where
we've
gotten
this
dream,
we've
sort
of
wrapped
up
a
bit
and
said
the
the
next
steps
really
well
at
least
for
car,
is
to
do
the
generator
and
get
like
a
sort
of
a
minimum
viable
product
which
is
essentially
just
like
terror
effects
style
raw
clan
sharp
bindings.
C
So
we
have
something
to
work
with,
essentially
just
clank
shot
with
extra
steps.
At
that
point,
I
think
I
said
in
team
talk
so
that
we
have
something
to
work
with,
that
can
start
actually
generating
findings
and
then
bailey
in
parallel
is
going
to
start
taking
what
we
wrote
in
the
proposal
and
defining
the
actual
interfaces
to
make
sure
that,
well
what
we've
defined
actually
makes
sense
and
we
don't
need
to
revise
the
proposal
or
anything.
Have
you
got
any
availability
at
the
moment.
D
Maybe
if
you
promise
something
I
can
try
to
make
some
time
for
it.
I
am
a
bit
full
at
the
moment
between
a
university
and
work,
but
I
I
can
try
to
make
some
time.
Nissan
is
something.
C
Okay,
yeah,
so
if
there's
anything
small
that
pops
up,
I
suppose
it's
good
to
have
another
pair
of
hands.
Awesome
cool.
A
C
C
Didn't
see
any
questions
pop
up
in
the
chat
either,
so
unless
there's
anything
else,
you
want
to
talk
about
while
we're
on
this
forum,
I'm
all
tapped
down.
C
Well,
thank
you.
Everyone
for,
for
coming
and
watching
in
the
case
of
youtube,
see
ya,
go
3.0.
I
guess
we've
got
a
pretty
clear
idea
of
what
the
next
steps
are,
which
is
good
so
until
the
next
one
I
guess.