►
From YouTube: DAG meeting 2020-04-30
Description
Review and discussion of DAG Visualization MVC (https://gitlab.com/gitlab-org/gitlab/-/issues/215517)
A
All
right
we're
now
recording
apologies.
It
took
me
a
while
I
had
to
login
as
host
and
then
a
while
since
I
logged
into
zoom,
okay,
so
we're
recording
and
are
we
missing
anyone
nope
Dimitri's
on
ok,
this
is
recording
for
our
dag
visualization
walkthrough,
we're
ready
and
after
the
meeting
I'll
post
the
link
to
the
recording
in
the
agenda.
B
Yes,
thanks
for
that,
I
have
the
first
point.
Basically
it's
just
some
of
this.
This
actually
this
this
meeting
as
a
lot
of
happen
in
the
last
week,
I
thought
it'd
be
smart
for
us
to
align
on
some
things.
I
do
say
when
reading
through
issue
myself
I
had
some
things
like
hey,
I,
hope,
I,
know,
I'm,
understanding
exactly
what's
being
written
here,
I'm,
not
fully
sure
so,
I
thought
it'd
be
nice
like
hey.
B
What
do
you
think
about
that
or
hi
this
in
mind
this
in
mind
that
strong
and
then
we
go
over
each
of
each
one
of
those
and
basically
make
some
decisions
here
and
there,
because
I
think
some
of
these
things
might
already
be
now
perfectly
alright
I
just
know
there's
some
miscommunication
or
things
I'm,
not
understanding,
so
we
didn't
mind
there.
Let
me
know
that
sounds
like
a
good
idea.
It's.
A
C
Yeah,
so
I
can
just
jump
in
and
do
like
the
short
version
of
this,
and
then
we
can
go
through
the
issues.
I
realize
I
didn't
answer
some
of
them
and
some
of
them
it's
just
because
it's
like
we
can
figure
it
out
if
they
go
along
and
also
I
knew.
We
were
gonna
talk,
so
so
the
short
version
is,
we
are
looking
for
a
way
to
create
the
closest
thing
we
can
to
the
proposed
design
layout,
which
is
a
tidy
tree
using
the
layouts
that
d3
already
has,
because
there
isn't
a
tidy
lay
out.
C
Basically,
the
advantage
of
d3
is
you
can
give
it
your
just
your
data
shape
and
it
will
give
you
all
of
the
layout
points
that
are
necessary
to
create
the
graph.
It
is
our
hope
that
we
can
eventually
sort
of
massage
the
default
points
that
come
out
of
the
Sankei
diagram,
which
is
the
closest
to
what
we
want
to
continue
moving
closer
to
that
design
process.
But
we
thought
that
step
one.
C
Yeah
Mel
configuration
files
are
right,
and
it's
like
we
can
sort
of
answer
that,
but
like
trying
to
dig
up
things
but
really,
if
we
put
it
in
the
product
and
then
see
what
happens,
we
can
do
that
and
start
answering
our
own
questions,
and
so
what
this
issue
has
in
it
in
here.
Let
me
just
share
my
screen
really
fast.
Everyone,
doo-doo-doo-doo
I'm
thinking
about
stuff
song.
A
D
We
we
did
confirm
what
was
the
current
API
response
and
we
also
went
through
and
basically
what
I
did
is
that,
while
we
were
exploring
I
went
and
trying
to
get
the
complex
data,
so
we
could
test
it
out
and
I
looked
at
the
response
sheet
that
we're
receiving
from
the
back
end
and
also
the
entire
circuit
lab
see.
I
am
all
that
we
have
and
I
reproduce
that
data,
because
we
don't
have
right
now
again.
This
is
the
tag
data
it.
D
C
And
Fabio
is
working
on
that
part
of
what
Fred
and
I
did
this
week
was
met
with
Fabio
to
look
at.
We
had
a
couple
of
assumptions
about
the
data
shape
that
were
a
little
but
incorrect,
and
so
we
talk
to
Fabio
about
that
and
actually
this
morning,
I
just
finished
doing
an
exploration
about
the
differences
between
that.
What
that
endpoint
can
do
and
what
we
were
expecting
to
make
sure
that
it
wasn't
going
to
have
like
huge
performance
implications.
It
doesn't.
It
works,
there's
a
link
to
that
in
the
issue.
C
A
C
C
Essentially,
we
have
a
Sand
Key.
That
looks
a
little
bit
like
this
and
we
can
just
run
through
the
comments,
but
the
MVC
we
proposed
is
essentially
the
sanke
graph
layout
right
now
the
nodes
are
just
going
to
display
the
job
name.
Our
goal
is
eventually
right:
it
might
show
status,
it
might
show
all
sorts
of
other
stuff.
We
don't
know,
but
in
this
MVC
that's
what
it's
gonna
show
in
the
picture
that
I
have
the
node
color
is
determined
by
the
stage
etc.
C
All
of
the
like
parts
about
MVC
are
there
I,
don't
need
to
read
them
online
for
everyone,
so
but
I'm
happy
to
run
through
the
questions
that
you
added
Dimitri,
since
we
have
like
15
minutes
left.
Unless
anybody
has
a
more
specific
question
real
fast.
Let's.
C
A
By
the
way
Fred
here
we
go
painting,
Fred
and
Sarah.
What
you
have
here
already
from
the
output
of
the
work
you've
done
to
date
is
really
helpful.
Thank
you
very
much
for
as.
C
C
So
the
first
thing
Dimitri
is
the
colors
right
and
in
the
proposal
we
have
using
the
get
lab
date
of
those
colors
is
outlined
in
pyjamas
I
know,
Jeremy
did
a
bunch
of
work
around
those,
and
one
of
the
big
pros
of
these
colors
is
that
he
like
color
proof
them
and
self.
So
the
question
is-
and
it's
like
I
think
that,
even
if
we
do
it
by
a
job
name,
it's
like
a
total
of
what
is
it?
It's
like
55
different
variables
if
we
cycle
through
the
different
variations
of
them,
Dmitry
yeah.
B
B
You've
got
on
I
think
there
might
be
some
some
changes
in
what
is
the
assumption
or
goal
with
the
usage
of
color,
and
with
that
in
mind,
like
I,
saw
I
read
in
the
description
that
colors
are
based
on
stages
and
I
just
wanted
to
clarify
in
the
original
markup.
The
only
idea
with
the
colors
is
to
clarify
or
make
it
clear
which
jobs
are
connected
to
other
jobs.
There's
no
other
meaning
derives
from
colors
than
that.
It's
just
like
all
right.
You
know
this
is
a
green.
This
is
a
green
line.
B
That
means
that
these
two
jobs
are
connected
and
it's
easily
distinguishable
from
any
lines
that
might
be
close
towards
that
line.
So
there's
no
line,
that's
going
to
be
also
green,
colored
close
to
a
green
colored
line,
basically
or
ideally
see
and
I
was
wondering
with
that
in
mind.
You
know
hey.
If
we
look
at
the
current
iteration,
we
can
see
that
you
know
the
colors
are
derived
from
stage.
It's
like
hey
I
was
wondering
where
that
comes
from
I
guess
and
what's
that
easy
to
do
or
what
was
the
thought
behind
that
process?
Yeah.
C
So
it's
because
it's
easy
to
do.
Basically
we
can
do
it
with
jobs
or
anything.
So
if
I
know
not
everybody's
like
a
big
code
head,
but
if
you
can
see
this
code
here
right,
we
have
this
scale
of
colors
and
then
the
way
d3
works.
You
pass
what
you
want
it
to
match
into
that
scale
of
colors
and
then
d3
will
through
all
of
them
for
you
as
the
lines
come
through.
C
So
if
we
wanted
to
do
it
based
on
job,
we
can
do
that
and
we
can
write
the
scale
iteration
such
that
it's
going
between
like
the
darker
and
lighter
versions
of
color
schemes,
so
that
you're
not
getting
like
two
really
blue
ones.
Next
to
each
other
right
like
if
we
go
from
like
the
lightest
end
of
one
color
and
the
darkest
end
of
the
other
color
and
interleave,
then
we
can
totally
do
that.
That's
like
super
flexible
and
then
likewise,
here
you
can
see.
C
A
C
B
So
the
I
know
that
how
the
script
I
used
did
it
and
I
thought
it
was
pretty
convenient?
Is
that
it
loops
through
the
colors
per
stage,
which
kind
of
makes
it
so
that
a
color
in
like
a
connection
between
stage,
1
and
stage
2,
is
reusable
between
a
connection
between
stage
2
and
stage
3,
and
that
way
we
don't
have
to
have.
B
You
know
millions
of
unique
colors
just
like
we
have
an
uncut
of
like
you,
know,
10
15
and
just
looked
through
them
consistently
and
that
will
you
know
at
least
get
the
majority
of
the
colors
being
easily
distinguishable
from
each
other,
because
that's
the
eventual
only
and
go
I
had
originally
I.
Think.
D
But
it's
it
I
think
it
there's
value
in
just
assuming
that
it's
gonna
be
a
number
of
set
color.
That
should
only
use,
and
we
just
try
to
make
sure
that
that
set
in
itself
is
not
similar,
like
so
like.
If
you
have
15
colors
and
they're
all
different
we're
gonna
have
like
a
good
sample
of
lined
up
that
don't
overlap
or
that
overlap
with
different
colors.
That's
some
point
think.
D
C
Right
sorry,
go
ahead,
go
ahead,
oh
well,
I
was
just
gonna,
say
so
part
of
the
thing
with
the
color
choice.
I
did
it
by
stage
because
it
was
there
and
I
was
interested
to
see
how
it
looked
mostly
I.
Think
one
of
the
advantages
of
having
the
colored
nodes
as
opposed
to
the
white
nodes
is
I,
think
it
helps
make
it
clear
where
those
lines
are
going,
but
also
I
want
to
say,
like
this
whole
color
discussion
is
something
that
like
can.
Definitely
it
like.
B
B
Then,
let's
go
on
to
the
next
one
displaying
notes.
I
saw.
Let
me
see
the
notes
will
display
only
the
job
name
right.
This
is
an
this
is
an
important
one.
Priceco
concluded
showing
a
status
for
each
job
aside
from
chopping.
Is
this
still
possible
and
like
based
on
what
was
it
decided
to
only
show
dropping
just.
C
C
And
that's
another
good
point
that
came
up.
I
was
waiting
till
we
got
to
the
node
part,
but
the
nodes
are
actually
gonna.
Show
the
group
name,
not
the
job
name.
If
it's
a
group
with
parallel
jobs,
which
is
currently
how
the
pipeline
graph
looks
anyway,
you
can
click
on
it
to
see
the
two
parallel
jobs.
Do
you
know
what
I'm
talking
about
to
meet?
You
want
me
to
post
the
picture
I'm
a
little
bit.
C
C
C
A
C
There
we
go
so
right
now
in
the
pipeline
view,
if
there's
a
group
job,
you
can
see
it's
like
this
and
if
you
click
on
it,
you
can
see
one
in
two.
So
right
now
in
the
graph.
The
way
it's
gonna
work
is
that
we're
just
gonna
show
this
just
part
as
a
single
point
and
if
some
point
in
the
future,
we
want
to
show
the
breakdown.
If
that
even
becomes
useful
for
the
dad
view,
then
you
know
the
data
exists.
So.
C
E
F
B
Yeah,
that
makes
sense.
That's
that's
that's
good
to
see,
so
we
don't
have
a
difference
there.
Let
me
see:
what's
the
other
thing,
yeah,
the
Lowe's
ng
shapes
I
mean
let's,
let's
see
what
we
do.
There
I,
like
the
explanation,
gathers
around
like
the
different
colors
popping
out
to
differentiate
yeah.
Let's
see
how
you
know
the
differences
make
sense
and
then
we
didn't
go
from
there,
but
it
seems
like
a
good
idea.
C
Unlike
me,
I
might
be
able
to
show
the
example
of
what
it
looks
like
if
we
don't
filter
them.
Sorry
to
make
you
all
watch
this,
but
basically
the
question
is:
do
we
show
if
a
job
depends
on
job,
1
and
job
to
do?
We
show
both
of
those
links
and
I
am
advocating
for
in
this
version,
not
doing
so
just
because
I
think
it
makes
it
a
lot
more
complex
to
look
at
the
graph.
C
So
this
is
the
graph
if
we
show
all
of
those
now-
and
we
can
see
right-
that,
like
job
for
like
job
for
depends
on
job
1
and
job,
a
job
also
depends
on
job
1.
So
we
don't
have
to
show
in
this
particular
layout
both
of
those
things,
because
you
can
infer
that
there's
both
gonna
wait
on
job
1
I
agree
with
Dimitri
that
there's
like
extra
information
when
we
have
a
graph
or
we
can
show
both
of
those
things
that
you
can
actually
see
how
many
things
are
also
still
depending
on
job
1.
B
C
So
an
example
of
that
is
job
for
up
here,
so
this
is
now
showing
all
of
the
lines
instead
of
filtering
them
instead
of
deduping
them,
and
so
you
can
see
that
job,
for
it
has
this
line
straight
from
1
to
4,
and
also
this
line
from
2
to
4,
but
2
also
has
a
line
to
1.
So
really,
essentially,
what
we're
drawing
is
just
this
line
as
a
through
line
like
1
to
2
and
then
2
to
4.
B
B
C
D
Yes,
I
think
that's
the
difference.
I
think
what
like
sorry
I
said
like
in
the
other
graph,
it
might
have
been
clearer,
but
there,
because
we're
talking
about
two
things
that
the
first
one
is
as
a
user
I
want
to
see
my
diagraph
as
what
job
depends
on
the
witch
and
just
like
I've,
just
all
the
relationship,
and
that
means,
if
my
job
depends
only
on
four
I,
see
a
line
before
and
if
I
it
depends
on
one
at
Ford
and
I
see
two
nights.
But
what
we're
saying
is
for
this
iteration.
D
It
might
also
make
sense
to
just
say
well
if,
if,
if
what
you
want
to
see
is
how
your
your
dad
flows
like
how
it
proceed,
then,
if
your
job
depends
on
job
and
jump
to
depend
on
jump
one,
then
your
job
will
not
run
until
one
has
finished
and
2's
finished,
because
two
needs
one
to
finish
right.
So
that's
that's.
Why
there's
a
difference
there?
There's
one
gives
the
information
to
the
user
of
the
flow
and
the
other
one
gives
it
on
just
a
relationship
of
the
needs
of
the
times.
D
B
C
B
B
Would
argue
as
well
that
I
come
from
like
a
biased
background
with
something
in
my
mind
already,
instead
of
you
know,
starting
from
fresh
and
fresh
canvas,
but
yeah,
this
makes
a
lot
of
sense.
I'd
say:
let's
you
know,
let's,
let's,
let's
see
it,
how
it
turns
out
and
I
know.
What's
how
what
do
you
think
like
I'm,
fine
with
having
this
is
the
first
situation,
to
be
honest,
especially
if
it
thinks
it's
feasible
to
please
have
the
first
iteration
out
there.
A
Yeah
I'm
trying
to
follow
and
make
notes
of
all
the
things
that
we're
taking
out
so
I
can
create
separate
issues
that
will
not
be
in
this
first
iteration
I'm,
fine
with
it
just
just
to
since
I'm
the
probably
the
freshest
eyes.
Looking
at
this,
what
I'm,
looking
at
now
that
Sarah
is
showing
is
telling
me
that
job
11
is
dependent
on
job
3,
which
is
to
depend
on
job
6.
Is
that
what
is
Illustrated?
It's.
C
Just
dependent
on
job
6,
our
job
six
depends
on
job
11.
To
be
like
nothing,
job
11
depends
on
nothing
dumb
6
does
it
crosses
number
3,
because
that's
just
sort
of
the
way
Sankey's
work
it
is.
That
is
the
most
that's
the
biggest
con
of
this
layout
and
our
goal
is
to
ultimately
be
able
to
like
solve
that.
It's
just.
C
A
C
G
B
C
I
think
the
decision
that
we've
made,
if
I'm
correct,
is
that
we're
gonna
go
ahead
and
do
the
deed,
duped
versions
now
and
then
iterate
through
adding
more
lines.
But
we
can
also
you
know
double-check
that
when
we
have
more
endpoints
and
we
can
look
at
more
stuff
because
the
function
written
2d
dupit
is
written
now.
So
if
we
want
it,
we
can
do
it.
If
we
don't
want
it,
we
can
take
that
function
out
and
now.
I'm
flipping
between
those
two
things
isn't
a
big
deal,
but
I.
C
Yeah
for
sure
and
I'm
interested
to
see
how
easy
it's
gonna
be
to
make
that
graph
once
we
start
with
the
Sankei,
because
the
layout
does
give
us
a
lot
of
information,
so
I
have
medium
high
hopes
that
we'll
be
able
to
in
the
next.
You
know
miles.
Don't
figure
out
a
way
to
lay
them
out
a
little
more
clearly,
and
then
we
were
talking
as
well
about
the
line
shape
so
right
now.
C
So
in
the
picture,
as
we
can
see,
this
has
like
this
nice
arc
that
it's
like
a
straight
line
and
then
an
arc,
and
then
a
straight
line
and
in
the
current
version
that
we're
looking
at
it's
a
little
more
choppy
where
it
has
it's
still
round,
because
it
has
the
line
joined,
but
it's
basically
a
straight
line
with
a
curved
join
on
it
instead
of
a
line
and
are
in
a
line.
That's
another
thing
that
I
think
is
just
like
a
follow
up.
B
B
C
Okay,
cool
and
we
can
go
through
a
sink
and
bring
the
follow
up.
Issues
right
like
if
having
arcs
is
more
important
than
you
know,
pushing
the
nodes
apart
so
that
we
don't
have
to
do
things
like
we
can
write,
we
can
figure
out
as
we
move
along
what
order
we
want
to
do
them
in
I'm
sort
of
happy
to
do
them
and
whatever.
B
B
So
we
can
perhaps
I
don't
know
like
in
a
future
iteration
created
like
ghosts,
hover
zones
with
the
line
being
really
thin
and
that
way
cleaning
up
the
grass
a
little
bit
visually,
but
yeah
I
would
be
I
would
I
would
say
it's
non-vital
per
se,
unless
it
creates
confusion
for
some
reason.
But
let's
see
that
in
the
big
data
sent
visualization
as
far
as
I'm
concerned.
C
And
then
we
have
the
interactions
discussion
so
to
differentiate.
One
of
the
questions
was
a
job
and
a
link,
and
basically
four
graphs
right.
A
job
is
what
I'm
calling
the
node.
So
it
is
just
one
of
this
squares
and
the
link
is
the
line
between
them.
Part
of
that's
just
an
artifact
if
they're
drawn
that
you
like
specify
the
nodes
in
the
link
separately
and
then
they
get
drawn
together.
C
So
that
was
the
first
question
and
then
the
second
question,
oh
yeah,
so
which
I've
shown
you
the
hover
where
we're
highlighting
the
link,
and
so
that
link
is
highlighted
and
the
others
are
faded,
which
is
to
say
it's
highlighting
just
one
step
right:
the
goal
for
being
able
to
ship.
This
is
to
be
able
to
click
on
like
this
link
10
and
highlight
not
only
this
line,
but
then
the
line
between
2
and
1,
so
that,
if
you
click
on
job
10,
you
can
see
that
like
how
it
traces
all
the
way
back.
Yeah.
C
B
Generations
yeah-
let's
you
said
this
seems
amazing-
keep
the
peepers
up-to-date
if
you're
able
to
do
it,
yes
or
no.
Otherwise,
just
a
single
generation
also
already
be
very
helpful,
but
you
know
the
thing
I'm
already
expecting,
which
your
solution
will
solve
is
the
metonym
navigation
tunneling.
Were
you
trying
to
follow
the
line
tune
off
key
lose
track
of
it
going
to
the
previous.
In
order
to
see
the
previous,
you
know
like
that.
That
stuff
is
very
bad.
You
ain't,
safe
or
able
to
resolve
that.
That
is
amazing.
Well,.
C
And
there's
a
really
neat
thing:
I've
seen
other,
perhaps
to
do
you
to
that
I
think
we
might
possibly
be
able
to
do,
whereas
you
go
through
a
section
and
you
like
highlight
or
click
on
different
links.
It
can
like
give
you
the
trail
up
at
the
top
of
the
screen
right,
so
that,
like
conceptually,
if
you
had
a
really
long
thing,
you
could
pick.
Oh
dog
wanted
to
jump
to
a
job
to
to
job
for,
and
we
could
like
write
that
up
at
the
top
of
the
screen.
B
C
Not
for
the
initial
one,
but
it's
something
that's
like
in
my
mind,
is
a
thing
we
might
want
to
do.
I'm
trying
to
see
if
I
have
an
example
to
show
everyone
before
we're
all
done.
Oh
no!
This
is
just
the
regular
one.
Anyway,
there
is
a
version
where
you
can
basically
click
through
and
save
the
path
it.
B
And
I
really
appreciate
the
hard
word
goes
down
to
interest
and
also
when
I
watch,
the
recording
I
saw
the
prototype.
He
worked
on
critic,
and
was
it
was
really
cool
to
see
you
know
things
kind
of
coming
together
and
summary.
You
know
we
went
over
to
this.
Also,
you
know
super
great
to
see
that
progress.
I
was
really
it
was.
It
was
actually
in
the
back
of
my
mind.
Well,
I
was
like.
A
Hey,
sir,
before
we
end,
I
had
one
question,
and
it
may
be
just
my
ignorance
of
a
UI
convention,
the
the
connecting
lines
that
you
have.
You
know
how
it
transitions
from
the
color
of
a
node
towards
the
color
of
the
the
between
the
two
nodes
it
changes
does,
that
is
that
meant
to
communicate
something
to
the
user.
Alright,.
C
D
I
thought
maybe
I
could
add
like
I'll,
know,
because
I
think,
because
talent
Dmitry
were
away
and
like
the
grass
changed
so
much
just
as
an
information.
What
happened
is
that
the
original
graph,
even
though
it
was
moving
along
and
I,
could
reproduce
like
me-
basically
produced
some
some
lines
and
some
graph
and
I
have
that
level
going
on
it
wasn't.
It
would
be
very.
It
would
have
taken
too
long
to
have
something
working
for
treating
them.
D
Oh
and
Endel
any
cases
and
the
difference
with
the
thing
he
approaches
ever
proposed
is
that
you
can
just
give
it
data,
and
you
know
the
nodes
will
connect
and
they
will
scale
correctly
versus
any
graph.
Where
you
know,
they're
always
gonna
be
cases
that
we
didn't
anticipate
and
it
would.
It
became
even
more
complex
when
we
tried
to
have
like
curved
line
or
crust
stages
lines,
and
even
though
it
was
kind
of
moving
slowly
along,
it
would
have
taken
way
too
much
diamond
I.