►
From YouTube: BHTMS - Refactoring, cleanup, React mouse hover interactions for simple scalar encoder
Description
Broadcasted live on Twitch -- Watch live at https://www.twitch.tv/rhyolight_
A
A
First
of
all,
this
is
the
end
web
site.
This
is
the
old
version
we're
going
to
replace
it
with
our
version.
Oh
yeah
also
I
have
been
updating
the
readme
a
little
bit,
I
think
I'm
going
to
do
that.
One
more
time,
I'm,
adding
some
of
these
links,
sort
of
as
I
go
along
I
love
that
you
can
edit
this
right
here.
A
Eventually
be
released
to
this,
your
own
understand,
leave
that
and
the
Poirot
ku
is
building.
This
is
the
one
that
bought
us
thought
sorry,
I
brought
Bratislava
forget
the
other
day.
This
one
building
is
ship
systems,
so
I'm
gonna
put
these
in
the
readme,
so
anybody
can
easily
link
to
them,
even
if
there
they
come
later,
putting
it
guys
whoa
what
happened?
A
A
A
C
A
A
It
did
make
it
I,
just
missed
it
all
right,
those
weird
anyway,
so
the
only
link
that
you're
gonna
need
you
guys
in
twitch
world
or
online
or
whatever.
Is
this
one,
this
github
link
to
building
HTM
systems,
and
that
should
be
on
my
twitch
dashboard
here,
yeah
right
here,
github
repo
suppose
I
like
this
little
back
after.
Let's
do
this,
so
that's
fetch
of
lead.
We
lead
us
right
to
do.
Why
did
it
do
that?
A
A
This
is
the
malcolm
in
the
middle'
yak.
She
everything
because
I'm
I'm,
honest
I,
shouldn't
be
doing
this
right
now:
okay,
but
I'll.
Let
it
play
out
because
it's
funny,
can
you
hear
the
audio
to
this,
because
if
supposedly
you
guys
can
hear
the
audio
but
I
can
I
hook
this
up
like
three
weeks
ago
and
I
never
had
a
chance
to
use
it.
A
Go
to
the
get
up
repo-
and
this
has
got
all
the
links
in
there
for
all
this
stuff.
So,
like
insight,
simple
HTM,
this
twitch
channel
the
forum,
the
archives,
you
want
to
see
any
of
the
old
links
for
I'm,
putting
all
archives
of
all
of
these
here
on
YouTube,
so
that
was
yesterday
unless
that
was
Tuesday
and
then
Trello,
which
is
this
board,
which
I'll
be
doing
all
my
planning
with
and
I
like
the
Trello,
because
it's
super
low
maintenance.
It's
like
just
throw
ideas.
C
A
A
The
cello
is
open,
yeah,
it's
open
if
you
want
to
get
added
to
the
team,
so
there
is
a
team.
D
A
A
A
You
want
this,
the
brainstorm
sort
of
like
the
suggestion
place
and
some
suggestions.
I've
already
said
no,
not
I
will
along
fix,
will
asked
I
made
a
suggestion
of
like
a
suave,
plug-and-play
sort
of
HTM
ement
a
ssin,
but
I
think
that
would
be
work
that
I
don't
want
to
do
for
this.
I
really
I
want
to
have
like
a
specific
HTML
from
India
I.
Think
I
explained
this
in
that
in
the
last
live
stream.
A
A
I'm
gonna
turn
the
jazz
down
a
little
can
only
you
can
only
have
so
much.
This
is
pretty
good,
though
I
like
this.
This
is
the
MIDI
hands
street
band
I
hope
that
they
don't
mute
this
part
of
the
audio.
If
anyone
sees
this
on
youtube
and
this
parts
muted,
that's
why?
Because
somebody
owns
the
copyright,
so
let's
get
this
running
locally,
so
we
can.
B
A
A
Which
is
NPM,
oh
I
have
to
turn
this
music
off.
This
song
will
be
flagged
by
copyright
holder
and
they
won't.
Let
me
they
they'll
Dima.
They
D
monetize
the
video
which
I
don't
make
any
money
up,
ending
these
videos
by
the
way
that
in
youtube
they
do
monetize
the
video
and
they
will
block
the
video
entirely
if
that
song
plays
through,
hopefully
the
six
seconds,
if
they
heard
wasn't
long
enough
for
him
to
do
it
but
stupid
his
Krum
been
straight
band,
but
Warp
Records
owns
the
copyright,
so
I
can
only
blame
them.
A
D
A
Sorry
anyway,
NPM
run
dev.
So
now
we
should
be
running
this
on
localhost
right.
So
this
is
what
we
have
going
home,
encoders
coding
numbers.
This
is
what
we're
working
on
laughs.
For
the
most
part,
the
most
amount
of
work
has
been
going
into
just
translating
this
one
diagram
from
just
sort
of
a
standalone
d3.js
component
into
a
react
component,
John
and
I'm,
trying
to
follow
this
diagram
pattern
from
the
red
blob
visualization.
So
what
was
wherever
those
I
gotta
find
that
what
was
it
called
red
blob?
I?
Don't
want
Twitter
red
blob.
A
There
was
red
blob
games,
that's
it
so
I
love
these
visualizations.
So
these
this
is
sort
of
the
pattern.
I
want
to
follow.
Here's
a
good
one
with
the
hexagonal
grids
hexagons
in
the
house.
Sorry
I
get
excited
about
hexagons.
This
is
so
cool,
so
this
is
the
type
of
stuff
I
want
to.
I
want
to
do.
I
love
the
style,
I
love
this
pattern,
sort
of
just
the
data
presentation
pattern.
A
A
A
So
this
is
cool.
This
is
demos,
available
components
for
creating
tutorials,
ok.
So
this
is
how
to
use
a
code
block.
Essentially,
so
let's
take
a
look
at
this
because
I
haven't
had
a
chance
to
take
a
good
look
at
it
component
showcase.
So
here's
the
code
block
content,
so
he's
just
got
this
as
a
string,
template
literal
template
and
it
just
has
code
in
it.
Okay,
so
this
is
nice
like
multi-line
string
and
JavaScript
harmony,
I'm
gonna
set
constant
and
so
he's
got
highlighted
lines.
A
A
The
coders
are
there
any?
No
there's
no
code
blocks
here,
but
there's
there's
a
lot
tech
here
so
where
we
would
want
to
use.
This
is
encoding
numbers,
but
because
we
haven't
added
the
the
text
in
around
this
yet
so
maybe
I
think
I
would
probably
be
going
on
the
wrong
direction
if
I
went
and
implemented
that
right
away.
So
what
I'll
do
is
I'll
add
another
card,
because
I
know
we're
gonna
have
to
do
this
for
moving
text
from
WordPress
site
to
new
page.
A
This
would
be,
let's
call
it
out
by
page
encoding
of
numbers.
That's
the
one.
I
want
to
do.
First,
word
presence
in
it.
It's
a
new
page
as
content,
so
I'm
gonna
add
a
bigger
description
than
this.
How
do
I
do
that
return
more
detail
description,
so
content
of
this
page
includes
code
blocks
which
should
be
which
should
use
the
new
code
react
component.
A
D
A
A
A
A
B
A
A
A
A
This
is
so
in
this
is
inside
node
modules,
but
this
is
basically
the
scalar
encoder
code.
I
gotta
show
this
music
is
freaking
me
out
right
now.
Sorry
too,
intense
too
intense
I'm,
gonna
change
it
on
honestly
I'm
changing
it
to
nighttime
lo-fi.
That's
like
my
favorite
programming
music
at
this
point,
because
it's
always
chill
man.
A
D
A
A
A
So
that
well,
but
where
we're
gonna
be
working,
it's
not
in
here
node
modules.
It's
in
this
simple
scalar
encoder
react
component.
Okay,
and
that
is
the
diagram
and
I
should
call
this
vehicle.
I'm
thinking
about
changing
names,
around
I
sort
of
wanna
I
feel
like
I
might
end
up
creating
a
a
diagram,
abstract
class
at
some
point.
A
So
just
keep
that
in
mind,
because
because
I
want
all
my
diagrams
to
behave
similarly,
so
so
right
here
between
these
two
classes,
we
may
want
to
add
a
diagram
component
or
something
like
that
that
so,
as
we
create
more
diagrams
I,
think
that's
something
we
should
think
about,
but
for
right
now
we're
just
using
we're
just
creating
the
one
and
we
need
to
make
it
like
as
clean
and
as
efficient
as
possible.
So
so,
how
does
it
work
right
now?
Let's
review
we're
in
encoding
numbers.
So
here's
our
a
react.
A
Page,
hey
Mark,
can
container
yeah
something
like
that.
I,
don't
know,
but
I'm
gonna
call
all
these
diagrams,
so
I
like
I,
think
I
will
probably
use
the
word
diagram,
because
all
of
these
components
will
have
a
d3
rendering
component
to
it
a
UI
interaction
component
to
it
and
most
likely
a
data
storage
component
to
it
so
yeah.
Well,
we
can
talk
about
names
later
I
I
want
to
just
refresh
my
memory
about
how
we
use
this
thing.
So
one
of
the
things
I
remember
not
liking
is
having
to
give
it
an
ID.
A
It
doesn't
make
sense
if
you
shouldn't
have
to
give
it
an
ID.
So
that's
something
fix
me.
We're
gonna
have
to
refactor
soon,
so
it
might
be
a
good
time.
Now
is
a
good
time
as
any
min
and
Max
value
bits.
This
is
this
should
be
like
initial
value,
but
I'll
just
leave
it
at
value.
A
A
A
Thanks
for
the
follow
dragon
bite
appreciate
it
we're
doing
some
react
coding
right
now
and
I'm
and
I'm
actually
just
looking
through
this
to
refresh
my
memory
about
what
it,
how
I
built
it
and
what's
what
it's
doing
and
looking
for
opportunities
to
clean
up
and
where
I
see
that
I'm
just
going
to
put
a
fixed
me,
maybe
remove
state
property
because
it
I
mean
at
some
point.
You
have
to
be
explicit
about
what
your,
what
a
class's
properties
are
and
when
you
put
everything
into
a
state
object,
you're,
not
being
very
explicit.
A
B
A
Code
I
remember
this
Don
fix
me
function
relies
on
entirely
on
side
effects,
so
that's
sort
of
a
code
smell,
so
this
function
doesn't
take
anything
and
it
doesn't
return
anything
what
it
does
it
computes
by
manner
of
a
side
effect,
and-
and
that's
that's
something-
you
don't
really
want
to
do
it's
bad.
It's
a
bad
programming
practice,
because
it's
not
explicit
about
what
it's
doing.
A
A
A
B
A
A
A
React
component
component
did
no
good
they're
trying
to
find
a
link
to
it.
There
we
go
so
I'm
just
going
to
add
this
as
a
comment,
so
people
know
that
it's
a
react
thing
I'm
not
doing
the
whole,
pretty
commenting
thing
yet,
maybe
when
we
get
to
dock,
if
we
ever
do
I,
don't
think
we're
gonna
create
docks
for
this
honestly,
if
I'm
going
to
create
docks
or
anything
it'll
be
simple
htm',
which
I
think
would
be
a
good
effort
to
put
really
clean
documentation
and
generate
it.
A
But
this
is.
This
is
just
sort
of
the
website.
So
I
know
what
Marc's
answer:
ISM
there's
a
time
and
a
place
for
functional
programming.
Sometimes
olp
works
really
well,
sometimes
functional
works.
Well,
sometimes
procedural
works.
The
best
honestly
well
you're,
always
sort
of
doing
procedural
programming.
A
A
This
is
the
markup
for
this
component,
which
has
an
SVG
with
an
ID,
some
type
of
style
that
is
specified
here
and
then
some
hard-coded
stuff
number
line
hover,
which
I
was
working
on
this
before
this
is
not
currently
not
working.
So
that's
where
we'll
probably
go
to
next
after
we
clean
this
up
a
bit
and
then
we
have
prop
types
which
aren't
really
necessary,
but
probably
a
good
idea
to
keep
so
we'll
get
back
to
the
handle
number
line.
I'm
just
trying
to
get
my
head
around
this.
A
What
else
we
need
to
do
this
is
the
value
marker
I
think
this
is
all
legit
that
will
fix
this.
Okay,
there's
a
magic
six
here,
that's
not
obvious!
I
will
need
to
go
through
and
and
sort
of
do
a
last
pass
for
the
arrangement
of
things
and
took
things
like
this
magic
sticks
house
and
make
make
some
standard
padding.
You
know,
setting
somewhere,
so
I
will
do
that.
A
B
A
A
So
we're
just
saying
all
rectangles
get
treated
this
way.
Any
new
rectangles
that
get
entered
into
the
mix
also
get
this
treatment
and
any
that
are
removed
from
the
mix
are
just
removed
from
the
Dom
okay,
this
one
we
haven't
figured
out
yet
we're
still
working
on
that.
This
is
the
dump
okay,
so
everything
looks
okay
here
at
least
I've
got
fixed
meats
in
the
places
where
I
want
to
fix
things
and
I'm,
pretty
sure
that
we
set
up
tests
oops.
A
A
Okay,
so
I'm
mildly
concerned
about
that,
but
as
long
as
a
simple
HTM,
it's
the
main
thing
that
I'm
concerned
about
so
right
now,
I'm
since
I,
don't
have
much
experience
with
react.
I
have
even
less
experience,
testing,
rad
components,
so
I'm
just
going
to
fix
some
of
these
things
and
make
sure
that
still
works.
Well,
it
renders
I
mean
the
the
handle
events
and
updates
aren't
working,
but,
like
the
state
object,
I'm
gonna
I
am
going
to
remove
this.
Let's
just
say
so.
A
A
Okay,
let's
see
how
do
I
get
the
or
anybody
who's
coming
in
I
want
to
share
this
with
you.
If
anyone
wants
to
follow
along
with
my
code,
if
you
have
Visual
Studio
code
installed
and
this
twitch
highlighter
thing,
you
can
follow
that
link
and
actually
highlight
the
code
that
I'm
working
on.
If
you
see
something
that
I
don't,
for
example,.
A
A
B
A
A
A
A
Okay,
this
stop
the
stop.
A
coating
see
that's
about
what
I
want,
but
I'll
fix
that
a
minute,
this
dot,
this
dot,
this
dot
all
right,
so
we're
just
getting
rid
of
this
state
container
and
it's
gone
okay,
so
there's
no
more
state
container,
which
we've
pulled
out
all
the
properties
right
here,
so
we're
being
explicit,
and
this
should
now
work.
A
A
A
All
we're
doing
is
using
our
encoder
that
we
set
up
here
with
some
of
our
initial
properties,
so
it
does
so
yeah
it
does.
We
need
access
to
this
encoder
that's
attached
to
the
instance,
but
we
don't
necessarily
need
to
do
this
update
as
a
side-effect.
We
could
send
the
encode
function,
what
it
is
going
to
be
using,
which
is
bits
not
assumed
that
it's
where
it's
going
to
get
it,
and
we
can.
A
Assign
that
to
our
encoding
here
and
just
say:
we're
gonna
get
our
bits
from
the
outside.
We're
not
going
to
make
any
assumptions
about.
Well
we're
going.
Basically
we're
yeah
we're
going
to
be
explicit
about
what
we're
doing
here,
we're
going
to
send
in
the
bits
to
encode
we're
going
to
get
an
encoding
and
then
we're
going
to
return
simply
return
the
encode
not
assign
it
to
anything,
not
mutate
anything.
So
we
haven't
mutated.
Anything
in
here.
We've
just
performed
a
function.
A
A
A
This
is
the
two
linear
scales
goes
value
to
screen
screen
to
value
at
all,
Keith
Lord,
another
fix
me.
Okay,
we've
got
a
magic
magic,
padding
value
here.
A
This
is
for
the
marker,
okay,
so
so,
let's
see
what
this
exactly
is.
This
is
for
this
marker.
If
I
it's
six
pixels
right
now,
so
if
I
make
it
sixty
what
changes
all
right
so
you've
moved
that
moved
from
here
to
here,
which
was
interesting.
I
didn't
expect
that
to
happen,
like
I
thought
it
would
move
in
one
dimension,
not
both
dimensions.
So
that
means
oh,
because
this
magic
six
is
being
used
to
to
change
them,
both
okay.
So
what
happens
if
we
make
it
zero
I.
A
A
At
the
time,
I
think
you
just
leave
it
like
this
all
right,
so
we
got
rid
of
a
magic
number.
That's
another
code,
smell
I
know,
there's
another
magic
number
sort
of
magic.
So
here's
another
spacing
number.
So
if
I
move,
if
I
change
this
seven
to
zero,
that
didn't
that
didn't
honestly
I
saw
it
move
up
a
little
like
this
thing
moved
up:
seven
pixels,
but
it
looks
fine.
So
let's,
let's
not
use
it.
A
A
Here,
let's,
let's
figure
out
whether
this
encoding
is
actually
working,
because
this
is
looks
like
it's
encoding,
something
way
over
to
the
right,
but
we've
got
the
value
in
the
middle,
so
this
coding
I
would
expect
to
be
in
the
middle
here
somewhere,
so
something's
wrong.
A
D
A
A
So
the
we
set
up
the
encoder,
oh
yeah,
we
didn't
use,
we
hard-coded
it
to
a
hundred,
but
this
should
be
what
should
it
be?
What
was
it
in
there?
Other
example,
not
this
one
and
in
our
old
code,
when
we
look
at
the
old
source,
widgets
HTML
coding
numbers.
These
are
the
old.
This
is
the
old
stuff.
This
was
a
simple
scalar
code,
not
forget
those
yeah.
A
A
A
A
Okay,
but
the
problem
is
oh,
it's.
The
problem
is
just
in
the
display,
I
think
so
like
this.
That's
the
problem
see
how
see
how
this
spins
way
out
over
here,
I'm,
just
not
I'm,
not
rendering
the
correct
of
the
correct
width.
So
my
output
cells
are
rendering
rectangles
way
out
here,
where
they
shouldn't
be.
A
A
A
A
B
D
A
B
B
A
A
B
A
A
A
A
That's
what
this
scale
linear
does
I'm
saying
within
this
range
is
0
to
50.
Translate.
We
return
me
a
function
that
translates
into
this
range,
which
is
10
to
490,
so
I
can
call
this
every
time
with
every
index.
I
can
call
it
and
it'll
just
return
me
the
x
value
of
it.
So
this
should
be
within
the
range
10
to
490,
but
it's
not
at
the
list.
I'm
specifically
telling
it
to
return
values
between
10
and
490.
A
Must
be
something
wrong
with
the
encoder
because
I'm
sending
it
an
encoding
with
too
many
bits
in
it?
That's
the
problem
so
now
so
I
know
that's
the
problem.
That
makes
perfect
sense
alright.
So
this
is
fine.
It's
something
with
this
encoding
so
and
I
looked
at
it
and
I
thought.
Oh,
it's
fine,
because
all
the
bits
were
in
the
middle,
but
what
I
didn't
realize
it's
twice
as
long
as
it
should
be.
All
the
bits
do
need
to
be
in
the
middle,
but
it
can't
be
that
long.
So
what
did
I
do
wrong?
A
It's
this
width,
this
width
I
create
this.
So
if
I
created
a
corner
and
I
say
your
values
are
gonna,
be
within
min
and
Max.
Give
me
a
hundred
bits
back.
What
I
need
to
use
is
this
stuff?
It's
okay,
that's
it!
That's
all
I
needed
to
do.
I!
Think,
let's
test
to
see,
if
that's
really
I
think
that's
all
I
needed
to
do.
Yes.
Yes,
all
right!
That's
a
celebration
and
a
cow.
A
A
Fix
and
fix
meas
that
I,
just
added
took
out
state
yeah.
Okay,
oh
I,
haven't
fixed
that
one
thing.
There's
one
more
thing:
I
want
to
fix
before
we
commit
this.
This
thing
that
I
have
to
set
it
an
ID
I
shouldn't
have
to
send
it
an
ID
I'm,
just
I
should
be
able
to
create
as
many
of
these
simple
scalar
coders
in
line
and
the
code
as
I
want,
and
it
should
handle
its
own
ID.
A
A
A
A
A
A
Yeah,
just
because
to
link
it
to
the
Dom
to
link
the
do
I
even
but
so
I
can
get
the
d3
code.
With
my
d3
logic,
that's
happens
after
the
component
mounts.
That's
what
it
is,
so
the
d3
logic
can
attach
to
the
Dom
that
those
been
created.
That's
the
only
reason
that
I
need
an
ID
and
if
there's
a
better
way
to
do
it
than
just
creating
a
sort
of
random
ID
or
or
if
the
react
already
gives
me
one
which
maybe
this
is
what
it's,
what
I
could
do.
A
A
A
So
if
I'm
going
to
I'll,
just
okay
I'll
put
this
aside
for
later
I
get
this
I
think
I
know
I,
think
I
get
this.
This
would
be
something
that
if
I
were
creating
an
array
of
diagram
components
or
something
I
might
want
to
add
here
if
I
was
making
a
list
of
them,
which
I'm
not
sure
I'm
going
to
be
doing
so.
At
this
point,
I'm
all
I'm
gonna
do
is
generate
some
random
string.
A
A
A
A
A
A
A
This
sorry
so
I'll
just
say:
okay,
your
simple
scalar
coder,
one
that'll
work
so
and
it's
not
that
bad,
it's
just
it's
just
I
was
hoping
not
to
have
to
give
everything
an
idea
better.
Well,
yeah
falco
there
has
to
be
I
assumed.
This
was
happening
because
I
think
it's
a
part
of
either
the
next
framework
that
I'm
using
or
react
itself.
I,
don't
know,
what's
reacting
what's
next,
but
next
is
sort
of
the
the
server-side
framework
I'm
using
to
serve
reactive
components
to
the
client
yeah
it's
next.
So
that
was
that.
A
Did
you
see
what
happened?
Will
this
when
I
gave
it
a
random
ID?
In
my
in
my
code
it
gave
me
a
mismatch
between
the
client,
the
server,
so
that
was
interesting,
so
I'm
just
gonna
go
and
do
it
this
way.
I
don't
need
that
either
so
I
will
just
explicitly
I'll
just
require
an
ID
and
explicitly
call
it
out.
That's
that's
not
so
bad
all
right.
Let
me
commit
this,
so
I
can
get
opponents
and
pages
I'm
just
going
to
call
this
cleanup
and
encoding
fixes.
A
A
A
A
D
A
A
A
A
B
A
Good
to
see
ya
good,
to
see
everybody
where
was
I,
you
know
what
we
were
gonna
do
now.
A
I
had
a
friend
who
worked
at
a
cafe
and
he
made
me
a
drink
with
a
shot
of
Ma
Tei
an
espresso.
He
called
this
sad
bunny
wat
days
can
be
pretty
bitter,
but
this
is
high
in
caffeine.
Speaking
of
I
got
a
full
unfolded.
Cherry
coke
I
usually
get
diet.
So
like
this,
it's
a
treat
all
right.
Let's
get
this
component
working!
Let's,
let's
get
this
working
like
a
mouse
interacting
and
everything,
because
it's
it's
not
working
right
now
right.
A
A
A
A
A
A
A
A
A
So
either
add
value
markers
should
be
like
change
value
marker,
because
because
this
is
only
getting
called
once,
it
looks
like
all.
These
are
getting
only
called
once
no
I
know
how
to
capture
Mouse
events
with
d3.
But
what
I'm
saying
is
it
didn't
work
with
this
because
I'm
I'm
doing
this?
The
react
way
right,
I'm
doing
I'm,
I'm,
saying
here's
the
mousemove
handler
that
and
I'm
telling
react
to
this
so
react
might
not
update
the
Dom
event,
might
not
use
the
Dom
event
API
and
the
way
that
the
three
is
expecting.
A
Obviously,
it's
not
because
the
mouse
d3
is
never
getting
the
event
update,
and
it
could
be
that
this
function
is
just
being
called
too
soon
right.
It
should
be
called
after
d3
has
a
chance.
So
that's
probably
the
situation,
but
either
way
I
should
be
able.
I
shouldn't
have
to
depend
on
d3
to
get
the
mouse
avenged
to
be
able
to
get
it
from
react
or
from
this
event,
whatever
this
event
object
is
that
react
is
handing
me
here.
It's
not
a
real
event
if
it's
a
simulated
event,
a
synthetic
event,
they
call
it.
A
What
I'm
figuring
out
here
is
so
when
I
set
all
this
up
in
component
did
mount.
This
is
called
blunts,
okay
and
so
I'm,
adding
value
marker
one
time
and
one
time
only
the
number
line
two
now
the
output
cells
is
a
little
bit
of
a
different
story
as
I'm
calling
it
once,
but
it's
different
than
these
others.
The
difference
is,
it's.
A
Rectangles
rely
on
this
on
data,
it's
a
it's
data
bound
so,
and
this
is
a
d3
thing
if
you
create
a
selection
that
doesn't
exist
yet,
and
you
bind
it
to
data
like
this,
then
essentially,
you
can
tell
it
when
new
rectangle
or
when
the
rectangles
are
updated.
Do
this
do
this
with
them?
That's
what
this
isn't
saying
when
when
data
is
applied,
do
this
to
the
rectangles,
if
any
new
data
enters
into
the
mix,
you're
gonna
want
to
add
a
new
rectangle
and
rectangles,
and
and
treat
them
the
same
way.
A
A
A
A
A
A
A
So
let's
say
value
marker
number
marker,
another
value
marker
or
was
it
mark?
What
did
I
call
it
value
marker,
okay,
value
marker
and
it's
got
a
text
in
erect
and
that's
they're
there
they're
just
always
there,
and
so
now
we
need
to
change
this
new
way.
So,
instead
of
add
value
marker,
it's
at
F
to
rename.
B
A
B
A
A
A
A
B
B
A
A
A
A
A
A
A
A
B
A
A
A
A
A
I
want
to
get
the
pixel
value,
basically,
the
reverse:
mapping
from
bits
to
output
display
I
want
the
reverse
of
that,
but
not
in
where
it
not
an
outfit
cells.
This
is
in
number
line,
but
we
made
the
scales
here
so
value
to
screen,
so
I
need
to
use
screen
to
value
and
that
will
that
will
get
me
and
I
send
in
the
X
there,
and
that
should
give
me
the
rage.
Let's
try
that
so.
A
Screen
to
value-
oh,
my
gosh
rhinock,
so
we're
taking
the
value
of
the
mouse
and
the
pixel
in
the
screen
in
pixels,
and
we
should
get
back
a
value
within
the
value
range
should
we
specified
and
that's
what
I
want
to
say
as
the
marker,
knowing
that
this
is
what
this
isn't
gonna
work,
because
line
X
is
wrong,
but
at
least
want
to
see
movement.
Okay,
so
now
at
least
I
can
see
movement
and
it's
a
linear
movement.
It's
not
like
an
exponential
jump.
Okay,
so
that's
good!
So
it
means
that
our
range
is
working.
C
A
Is
really
jumpy,
as
you
can
see,
it
should
be
a
lot
smoother
than
this.
So,
like
the
events
that
we're
getting
the
hover
events
were
getting
from
reactors
are,
are
coming
really
slowly
and
I.
Don't
know
why
so
there's
two
problems
so
far.
I
wonder
if
I
even
need
to
do
this
stuff,
nice
code
I'll
never
seen
that
I've
always
shift
delete
control,
V
nice
code,
all
I'm,
sorry,
I,
don't
know
what
you
mean
by
code.
All
shift
shift
delete,
control,
V
I'm
on
a
Mac
I,
don't
know
if
that
makes
a
difference.
A
A
Okay,
that's
got
it.
I
want
this
function
to
be
called,
but
it's
not
getting
called
enough
like
there's,
obviously
a
delay
as
I'm
moving
I'm
up
I'm
moving,
and
it's
really
it's
only
happening
occasionally
and
I'm,
not
sure
exactly
why
it
happens.
When
I
move
up
and
down
like
this,
so
perhaps
it's
it
has
to
be
directly
over.
Oh,
it
has
to
be
directly
over
one
of
these
elements.
A
A
I'm,
adding
the
it's
okay,
it's
probably
because
I'm
adding
it
to
the
number
line.
Perhaps
they
should
add
the
hover
to
the
whole
SVG
element
and
decide
what
to
do
with
it
in
that
fashion,
because
here
I'm,
just
adding
it
to
the
number
line
and
the
number
to
light
out.
The
number
line
elements
are
so
small,
so
I
figured
it
out.
Well,
it
says
the
number
line
elements
it's
an
SVG,
so
they're,
so
small.
A
A
B
A
Changed
the
that's:
how
I
got
this
to
work?
I
forgot
I!
Did
that
right
here?
That's
why
this
when
I
said?
Oh,
this
is
really
what
I
expected.
It's
only
because
I
use
this
binding,
it's
a
JavaScript
thing:
sweet,
okay,
so
I've
got
I've,
got
the
mouse
over
interaction.
That
I
want
I
mean
it's!
It's
not
perfect,
but
so
now
that
I've,
let's
see
what
we
have
in
this
in
this
element
here.
A
A
A
Modifications
to
things
in
one
place
and
you
end
up
doing
another
one
in
another
place
and
another
one
in
another
place.
Then
you
get
some
really
strange
interactions
and
it's
hard
to
debug.
So
if
I
can
get,
if
I
could
get
go
somewhere
to
an
API
and
get
the
exact
value
that
I
want
I,
don't
have
to
worry
about
that.
A
So
there's
screen
X
and
screen
Y
react
events,
so
this
is
basically
yeah
on
mousemove
bind.
Oh
they
did.
They
did
the
bind
right
here.
Oh
I'm
gonna.
Do
that?
That's
better
all
right!
That
makes
sense.
Yeah,
UI,
stuff,
totally
gets
hacky,
I'm
gonna,
try
and
keep
it
unhappy,
and
one
of
the
ways
I
can
do.
That
is
by
doing
this.
So
so
I
can
do
this
bind
trick
right
here.
So
I
can
say
this
on
Mouse.
With
this
this
yeah
yeah,
that's
great,
so
I
don't
need
this
right.
A
A
So
on
the
page,
I
could
probably
figure
it.
Maybe
you're
right,
maybe
there's
a
maybe
the
best
way
to
do
this
is
this
is
probably
just
has
to
do
with
a
margin
that
I'm
already
setting
up
right.
So
here
it
is,
it
stops
as
soon
as
I
get
well.
That's
because
my
mouse
listener
stops
there,
but
it's
basically
oh.
A
A
A
Mouse
is
less
than
80
returned
so,
but
I
was
I
was
finding
on
the
run
on
the
wrong
element
and
I
was
actually
say:
I
was
using
d3
and
then
taking
away
some
of
the
margins,
so
maybe
that
is
what
I
should
be
doing
and
then
getting
the
min
value
and
then
making
sure
that
it's
precision
rounded
x2
value.
This
was
my
old
code,
so
I
can't
I,
don't
really
trust
it
see
I'm
doing
the
screen.
A
A
A
A
A
A
A
There's
two
things
that
I
want
to
do
on
this
mouse-over,
because
I
could
be
hovering
down
here
or
I
could
be
hovering
up
here.
So
I'm
gonna
deal
with
the
top
case
first,
and
it
doesn't
matter
whether
I'm.
The
only
thing
that
matters
is
down
here
down
here
is
which
which
update,
which
display
update,
am
I
going
to
do,
and
I'm
only
up
stating
the
value
marker
right
now.
A
D
A
A
But
how
do
I
know
I
can
select
an
issue
just
be
experiencing
some
networking
and
encoding
issues,
so
I'm
rod
cast
drops
frames,
broadcaster,
software
systems,
okay,
very
large,
delay,
I'll.
Put
that
very
large
delay.
Let's
say
that
there's
no
way
to
just
get
the
origin
of
the
slider
line
itself
as
an
object,
yeah.
B
A
A
A
A
Is
that
right?
No,
that's
not
right!
That's
not
right!
That's
not!
That's!
Not
what
I
want
to
when
I
update
the
value
I'm
trying
to
translate
the
mouse,
the
page
X
to
the
value.
Oh
I'm,
already
pulling
out
the
side
there.
It's
this
minus
40!
That's
tripping
me
up
what
where's
that
40
coming
from
I
mean
I,
understand
it
works,
but
I
just
don't
understand
why
it
works.
A
A
B
A
Oh
this
is
this
is
all
so
now
I'll
just
make
it
a
you,
I
think,
okay,
so
that
could
be
something
somebody
else
does
if
you
want
to
it's
just
a
simple
like
that
marker
sort
of
starts
right
at
the
X
of
the
mark,
but
it
should
sort
of
depend
on
how
wide
the
text
is
and
center
somewhere
nicely
all
right.
So
we
got
one
interaction
working.
So,
let's,
let's
go:
let's
yeah
I'm.
Definitely
gonna
use
the
Y
value
to
split.
A
Yeah
getting
hosted
thanks
net
pixel
appreciate
it.
Hello,
viewers
from
net
pixel
I
am
making
some
visual
components
that
are
that
are
going
to
explain
concepts
of
hierarchical
to
coral
memory,
which
is
an
artificial
intelligence
technology
based
upon
how
intelligence
works
in
the
neocortical
common
loop
in
the
brain,
and
no
that's
not
all
just
BS
like
this
really
we're
doing
it.
A
You
are
doing
that
and
I
just
spent
30
minutes
to
set
an
interval
and
react
yeah
the
on
new
to
react.
So
I
am
really
fumbling
through
this
right
now,
I've
gotten
a
lot
of
help
from
people
which
is
nice,
so
each
one
of
these
is
a
page
and
I'm
trying
to
create
these
diagram
react
components
that
are
using
d3.js
for
it,
but
I'm
using
like
react
for
Mouse
interactions,
and
so
then
I
got
a
call
into
d3.
A
So
all
of
these
code,
examples
and
d3.js
widgets
I'm,
translating
into
react
components,
there's
a
several
of
them
and
there's
they're,
all
very
dynamic
and
interactive,
and
so
all
of
these
are
going
to
get
translated
and
we're
going
to
create
this
elaborate
documentation
around
HTM
systems
and
explaining
how
they
work,
how
to
encode
data
for
them,
and
all
of
this
stuff
will
be
translated
into
reactor
components.
And
some
of
these
are
not
even
finished
now.
A
So
this
stuff
is
all
working.
It's
just
I
haven't
gotten
to
moving
this
yet
so
I
will
eventually
get
to
these.
Translating
these
all
into
react
components
as
well,
so
I
thank
you
for
the
follow
and
that
pixel
I
appreciate
it.
So
a
lot
of
visual
stuff
is
going
to
be
happening
on
this
stream
over
the
next
month
or
so
I'll
be
working
on
this,
every
Thursday
for
sure
for
several
hours,
every
Thursday,
9:00
a.m.
Pacific.
A
So
right
now
we're
not
very
far
along.
We
were
here,
and
so
we've
got
a
lot
of
work
to
do
and
I'm
still
working
on
sort
of
just
the
basics
of
translating
these
react
components
into
well.
Translating
these
d3
widgets
into
react
and
I'm
going
to
be
using
Redux
for
the
data
at
some
point
soon.
As
soon
as
we
need
to
that's
the
idea
anyway,
so
did
I
commit
I
can't
remember.
I
was
about
to
okay.
First
of
all,
what
did
I
do.
A
B
C
A
So
you
can
click
here
and
get
to
this
too.
So
so
in
real
time
is
every
time
I
push
I
come
in
we'll
get
an
update
here.
It
hasn't
quite
updated
yet,
but
it
will
in
a
few
moments,
we'll
get
to
see
that,
but
having
a
few
quick
stream
problems
so
I
had
that.
Okay,
okay,
so
this
is
this
is
all
good.
Now
we
want
to
enable
the
other
mouse
over
interaction,
so
we've
so
we've
got
one
here.
A
We're
gonna
have
one
interaction
for
the
number
line,
which
is
essentially
going
to
change
the
value,
but
you
notice
that
the
encoding
is
not
updating.
So
we
need
to
update
the
encoding
when
we
update
the
value,
so
we
are
going
to
do
that
and
that
will
look
better
that'll
look
cool
so
in
the
handle
script.
We're
just
setting
set
value
marker.
A
A
A
And
again,
I
got
halfway
through
this
and
I
stopped.
What
I
wanted
to
do
was
offload
this
piece
of
information
out
of
this
ad
number
line
here,
for
example,
so
we're
not
sending
it
it's
group
we're
going
to
have
it
understand
what
how
to
get
to
its
group
at
least
then
we're
keeping
the
number
line
coupling
with
the
Dom
in
the
same
place.
So
I'm
going
to
do
the
same
thing
here
and
that'll.
Allow
us
to
call
these
functions
without
knowing
anything
about
the
Dom.
B
A
A
C
A
Get
these
nice
Bezier
curves
that
pop
up
and
they're
like
frame
it
like
this,
is
this
bucket
can
represent
any
value
from
you
know,
30s
whatever
to
46
like
that's
the
you
see
how
it
see
down
here,
so
that
should
perfectly
overlap
just
like
that.
So
that's
what
we
want
to
do
next
and
that's
just
going
to
be
another
Mouse
interaction.
A
Well,
the
same
the
same
event
handler
and
we're
just
gonna
we're
going
to
separate
on
at
why,
at
a
certain
point,
whether
we're
going
to
interact
with
the
top
bar
or
the
this
thing,
so
we'll
probably
separate
it
based
on
what
we
could
do
it
just
to
see
the
element
source.
If
it's
this
thing,
let's
do
that
and.
D
A
A
A
A
A
A
B
B
A
A
D
D
B
A
What
should
I
do
hello,
Alexander,
big
Aleph?
What's
up
I'm
trying
to
I'm
inside
a
react
component
right
now
and
I
am
I
want
to
I,
have
a
reference
to
a
Dom
element.
I
just
want
to
see
if
it
has
a
certain
class
and
I
don't
want
to
pull
in
jQuery
if
I
don't
want
to
and
I
know,
there's
an
easy
way
to
do
this
and
I've
completely
forgotten
how
to
do
it.
A
A
A
A
D
A
A
A
A
Interface
represents
string
attributes
which
can
be
animated
from
each
SVD
declaration,
so
the
class
names
can
be
animated,
I
didn't
think
they
could.
You
need
to
create
SVG
attribute
before
do
anything
Alice
atom,
Animas
read
only
if
the
govern
attribute
properties
being
animated.
It
contains
the
current.
A
A
A
Humper
range
there,
so
this
is
my
line.
Data
for
the
curves.
This
is
sky.
Cupcake
is
the
getting
these
lines
right
was.
This
was
a
little
bit
tricky
so
so
I
draw
you
know:
I
have
to
get
the
points
where
they're
supposed
to
be
and
then
draw
a
nice
curve
between
them.
So
we're
gonna
have
to
figure
that
out
hover
range,
so
select
it
out
a
bit.
A
B
D
A
E
A
A
Probably
can
just
take
this
whole,
so
this
expects
to
get
a
selected
bit
actually
look
at
this
in
this
case,
I'm
passing
it
a
selected
bit,
but
it
never
actually
gets
it.
It
gets
it
selected
bit
from
this
date
it
from
somewhere
else
jst
us,
which
I'm
not
going
to
talk
too
much
about
we're.
Removing
that.
A
Okay,
so
here's
this
is
gonna
break
everything,
so
what
I'm
gonna
do
is
sort
of
just
just
unselect
it.
We
certainly
need
to
get
the
selected
output
bit
so
somehow,
based
upon
this
hover
based
upon
this
hover,
I
need
to
identify
which
bit
I
am
in
so
I
should
be
able
to
do
that
using
the
reverse
scale
that
I
created
that
I
used
to
create
this.
A
So
if
we
go
back
to
the
output
cells
function,
here's
the
scale
that
I
used
bits
to
output
this
way,
I'm
gonna,
have
to
create
a
reverse
scale.
For
this
and
I
don't
mind
doing
this
right
here
honestly.
So
this
is
essentially
going
to
be
this
reversed.
So
I'm
just
going
to
say
from
the
UI
range
to
the
bits,
and
that
should
give
me
back
an
index
between
zero
and
the
number
of
bits.
A
A
A
B
B
A
A
A
A
A
B
A
A
A
A
A
B
A
Is
not
a
top
margin?
This
is
gutter
top
gutter
plus
30
I.
Don't
know
why?
Yet
so,
let's
just
deal
with
the
circle
first,
because
that's
the
easy
part.
So,
let's
see
if
this
works,
of
course,
I
didn't
I,
always
I'm
going
to
do
this
for
a
long
time.
It's
like
it
used
to
react
last
name
last
name
process.
A
A
A
A
A
A
So
actually,
I'll
just
turn
it
on.
Maybe
that
works
yeah
see
that's
what
I
wanted
I
want.
This
die
okay,
so
that
shows
us
that
our
hover
is
working.
We
just
have
to
put
it
in
the
right
spot
so
to
see
why
it's
gonna
be
top
gutter
plus
I,
don't
really
know!
This
is
again
one
of
the
one
of
the
magic
numbers
it's
going
to
work
better,
probably
like
80
yeah.
A
A
D
A
A
Yeah,
it's
supposed
to
stay
in
that
horizontal
line
I'm
just
putting
it
right,
I'm
just
trying
to
put
it
in
the
right
place.
It
definitely
follows
the
mouse.
It
follows
the
mouse
like
this,
so
that
little
dot
is
right
here.
It
only
follows
the
mouse.
While
it's
over
the
rectangles
once
it's
over
here,
the
value
should
be
moving.
B
A
A
A
A
A
A
A
A
So
there's
an
encoder
min
and
Max
here,
I
haven't
actually
pulled
the
encoder
out,
but
I
think
I'd
have
to
say
this
dot.
Actually,
let's
just
say:
let's
coder
equal,
this
dot
and
coder
and
the
value
range.
That
is
right.
That's
this.
That
was
something
that
did
not
work,
get
ranged
from
bit
index.
Okay,
we
need
to
look
back
and
find
that.
A
A
We
can
put
it
in
the
function,
but
it's
not
gonna
be
the
best
place
of
the
function.
So
there's
a
line
function
here
that
we
need
to
get,
and
this
get
range
from
bit
index
for
now,
I'm
going
to
put
them
in
side.
This
handle
output
cell
hover
function.
However,
it's
not
really
where
I
want
them
to
be,
because
this
function
gets
called
all
the
time.
B
C
A
A
A
A
A
D
A
A
A
B
A
A
A
A
Okay,
so
we
guess
we
still
have
this
little
bug
here,
but
I'm
gonna
leave
it
no
I'm,
not
gonna,
leave
it
the
right,
so
we
just
have
to
bound
to
the
right
range
at
the
max
value
right.
So
I
think
that
would
happen
already.
I
mean
I
just
copied
this
code,
it
does
it
see
it
does
it.
Why
does
it?
Why
does
this
do
it
and
the
other
code
doesn't
so
there
must
be
something
that
I
so
we're
talking
about
the
right
line
and
it's
gonna
be
the
right
lines,
second
value.
A
A
A
Well,
sort
of
almost
almost
but
I
still
I'm
off
a
little
bit
so
probably
because
I
don't
need
to
add
those
buffers
that
I
think
I
added
here
like
this.
Oh
no,
these
are
the
intermediate
a
curving
points,
so
the
new.
So
it's
the
side,
gutter
I,
don't
need
to
add
because
that's
taken
counted,
that's
accounted
for
in
the
value
to
screen.
A
A
A
A
B
A
I,
don't
know
if
that
helps
or
not,
but
there
so
can
I
and
you
just
like
drag
this
over
that'd-
be
cool
drop
files,
cool,
sweet,
hey,
so
I
got
a
little
picture
here
and
there
we
go.
I
got
a
bug.
Anyone
wants
to
work
on
a
bug.
I'm
gonna
commit
and
I'm
gonna
go
grab
something
to
eat
and
come
back
and
and
I'm
gonna
start
probably
putting
in
some
sub
content.
I
might
as
well
try
and
put
in
some
content
around
this
page
and
then
make
some
space
holders.
A
A
A
A
B
A
Is
not,
this
is
for
the
output
bits,
not
the
what
I
was
thinking.
This
is
an
output
bits,
not
the
market.
Here's
where
it
is
bits
to
output
display,
okay,
so
this
this
so
I
could
remove
this
here.
I
could
actually
create
this
when
the
component
is
mounted
and
just
say
this
dot
and
keep
all
my
scales
that
I'm
using
sort
of
throughout
because
it's
this
is
the
same
thing
I'm
doing
up
here
and
creating
these
scales.
These
scales
are
happening.