~raph/interp-toy

5412ba6e98519393d990a3689e5bface20e4c7ae — Raph Levien 2 years ago 045a92e
Update deps

Update to latest druid, and also bump rbf-interp version. We don't have
to special-case handling where the scatter is too sparse, because now
rbf-interp handles that correctly (using pseudo-inverse).
5 files changed, 228 insertions(+), 48 deletions(-)

M Cargo.lock
M Cargo.toml
M src/app_state.rs
M src/interp_pane.rs
M src/main.rs
M Cargo.lock => Cargo.lock +222 -27
@@ 183,15 183,20 @@ dependencies = [
[[package]]
name = "druid"
version = "0.3.0"
source = "git+https://github.com/xi-editor/druid?rev=3df5e4da7475706e380973230913828149b5b91e#3df5e4da7475706e380973230913828149b5b91e"
source = "git+https://github.com/xi-editor/druid?rev=8e56a17e10d323e6aaf4c8da03655db6f1a62060#8e56a17e10d323e6aaf4c8da03655db6f1a62060"
dependencies = [
 "druid-shell 0.3.0 (git+https://github.com/xi-editor/druid?rev=3df5e4da7475706e380973230913828149b5b91e)",
 "druid-shell 0.3.0 (git+https://github.com/xi-editor/druid?rev=8e56a17e10d323e6aaf4c8da03655db6f1a62060)",
 "fluent-bundle 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "fluent-locale 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "fluent-syntax 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "druid-shell"
version = "0.3.0"
source = "git+https://github.com/xi-editor/druid?rev=3df5e4da7475706e380973230913828149b5b91e#3df5e4da7475706e380973230913828149b5b91e"
source = "git+https://github.com/xi-editor/druid?rev=8e56a17e10d323e6aaf4c8da03655db6f1a62060#8e56a17e10d323e6aaf4c8da03655db6f1a62060"
dependencies = [
 "cairo-rs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "cocoa 0.18.4 (registry+https://github.com/rust-lang/crates.io-index)",


@@ 200,7 205,7 @@ dependencies = [
 "directwrite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "objc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-common 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-common 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "wio 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",


@@ 243,6 248,34 @@ dependencies = [
]

[[package]]
name = "fluent-bundle"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "fluent-locale 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "fluent-syntax 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "intl_pluralrules 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "rental 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
 "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "fluent-locale"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "fluent-syntax"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "foreign-types"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 280,9 313,19 @@ dependencies = [
name = "interp-toy"
version = "0.1.0"
dependencies = [
 "druid 0.3.0 (git+https://github.com/xi-editor/druid?rev=3df5e4da7475706e380973230913828149b5b91e)",
 "druid 0.3.0 (git+https://github.com/xi-editor/druid?rev=8e56a17e10d323e6aaf4c8da03655db6f1a62060)",
 "nalgebra 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "rbf-interp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "rbf-interp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "intl_pluralrules"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
 "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]


@@ 333,6 376,11 @@ dependencies = [
]

[[package]]
name = "matches"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "matrixmultiply"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 463,8 511,24 @@ dependencies = [
]

[[package]]
name = "phf"
version = "0.7.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "phf_shared"
version = "0.7.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "piet"
version = "0.0.5"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "kurbo 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",


@@ 472,16 536,16 @@ dependencies = [

[[package]]
name = "piet-cairo"
version = "0.0.5"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "cairo-rs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "piet-common"
version = "0.0.5"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "cairo-rs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",


@@ 489,31 553,31 @@ dependencies = [
 "direct3d11 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "directwrite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "dxgi 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-cairo 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-direct2d 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-web 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-cairo 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-direct2d 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet-web 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "piet-direct2d"
version = "0.0.5"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "direct2d 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "directwrite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "dxgi 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "piet-web"
version = "0.0.5"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "js-sys 0.3.25 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "piet 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "wasm-bindgen 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)",
 "web-sys 0.3.25 (registry+https://github.com/rust-lang/crates.io-index)",
]


@@ 524,6 588,16 @@ version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "proc-macro-hack"
version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "proc-macro2"
version = "0.4.30"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 532,6 606,14 @@ dependencies = [
]

[[package]]
name = "proc-macro2"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "quote"
version = "0.6.13"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 540,6 622,14 @@ dependencies = [
]

[[package]]
name = "quote"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rand"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 654,7 744,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "rbf-interp"
version = "0.1.1"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "nalgebra 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)",


@@ 674,6 764,25 @@ version = "0.1.56"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "rental"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "rental-impl 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rental-impl"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
 "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
 "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rustc-demangle"
version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 684,11 793,26 @@ version = "0.3.24"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "siphasher"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "smallvec"
version = "0.6.10"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "sourcefile"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "stable_deref_trait"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "syn"
version = "0.15.42"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 699,6 823,16 @@ dependencies = [
]

[[package]]
name = "syn"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "synstructure"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 725,6 859,41 @@ version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unic-langid"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "unic-langid-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "unic-langid-impl"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unic-langid-macros"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 "unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "unic-langid-macros-impl 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "unic-langid-macros-impl"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
 "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
 "unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "unicode-segmentation"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 735,6 904,11 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unicode-xid"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "version_check"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 872,17 1046,21 @@ dependencies = [
"checksum direct2d 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7fa6ff10857eb253d1ae16987ebfd27372f4129b0c7a3fa41466fbdf7e453e75"
"checksum direct3d11 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "315aa929e68ba066cb6fb86f1b22af24f517e02fd9b5734c4d07e42cb9f4aefa"
"checksum directwrite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8cdcd739e9351c411b8caf5cab32a27c818cfe06260595da121382ecdd22083d"
"checksum druid 0.3.0 (git+https://github.com/xi-editor/druid?rev=3df5e4da7475706e380973230913828149b5b91e)" = "<none>"
"checksum druid-shell 0.3.0 (git+https://github.com/xi-editor/druid?rev=3df5e4da7475706e380973230913828149b5b91e)" = "<none>"
"checksum druid 0.3.0 (git+https://github.com/xi-editor/druid?rev=8e56a17e10d323e6aaf4c8da03655db6f1a62060)" = "<none>"
"checksum druid-shell 0.3.0 (git+https://github.com/xi-editor/druid?rev=8e56a17e10d323e6aaf4c8da03655db6f1a62060)" = "<none>"
"checksum dxgi 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1639bbfd6765e92a40267d217a7acbac5b49320b68013f39a8e4376aa8c1e091"
"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
"checksum fluent-bundle 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a174fca36ad5c5010b6b0e95b7b5ce2c8245cafc764e6bf4b49e471dc0d5fe77"
"checksum fluent-locale 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dbb3083f0b2ff3fdb50d1534a5665732eed47a31527886030ea39a35d3e497be"
"checksum fluent-syntax 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cd33f0ec4141fae9f6d6183c30504275b8a4c843b02517d17098593244ad4617"
"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
"checksum intl_pluralrules 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f4cbf667b8cb0fec29160019036a35851da8fb8731de904734da66fd5087174"
"checksum js-sys 0.3.25 (registry+https://github.com/rust-lang/crates.io-index)" = "da3ea71161651a4cd97d999b2da139109c537b15ab33abc8ae4ead38deac8a03"
"checksum kurbo 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2f0caeb26248a62abf92dea93aad4f8244f54668e2f1060ed9cd9fd1d5545723"
"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"


@@ 890,6 1068,7 @@ dependencies = [
"checksum libm 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
"checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
"checksum matrixmultiply 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfed72d871629daa12b25af198f110e8095d7650f5f4c61c5bac28364604f9b"
"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
"checksum nalgebra 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e12856109b5cb8e2934b5e45e4624839416e1c6c1f7d286711a7a66b79db29d"


@@ 904,14 1083,19 @@ dependencies = [
"checksum num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e"
"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
"checksum objc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "31d20fd2b37e07cf5125be68357b588672e8cefe9a96f8c17a9d46053b3e590d"
"checksum piet 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5bf3e87499d52d7a805787b5728fda48f9a2bafd502c19ff1dbfafd5887b6e44"
"checksum piet-cairo 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "27fd868970edd7b4e5d629c6357aae2eba563dd6044be94f43b39db956acbc3e"
"checksum piet-common 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e35d47e80b4a36ba5869a8c2d14389a72951c0b65bc5729da2449b164ceca058"
"checksum piet-direct2d 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a59576e5687b541e1b716cdb513862b42febb489e7d17d1f71d367e45d8da860"
"checksum piet-web 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b05f4636aaea5836367c0a4fdcf26e4822a481a15dd40fb06e2f9f5f1df8d20e"
"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
"checksum piet 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "02e36470db0f6e8900c3f2d35ae137c96ebb726af2c070fc4369467ee57ab9bd"
"checksum piet-cairo 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1afd8ad4a74d1ef1591e0bad7f860841c5a0cab6edeb347fc67e2e37422c01df"
"checksum piet-common 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8e8cb78927118d65d350a677432e459d90ff72ea6fc875cf1ac1478d5570e196"
"checksum piet-direct2d 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ccea047f88a367ad86b2a972302070f0bf4183b51376ad840b9eb298f3bdafc1"
"checksum piet-web 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "5f168f31a01eb3d0cc977258ae6b085f98d022f32b7e3edcdb4f565d912dcc60"
"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af"
"checksum proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e688f31d92ffd7c1ddc57a1b4e6d773c0f2a14ee437a4b0a4f5a69c80eb221c8"
"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
"checksum proc-macro2 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "175a40b9cf564ce9bf050654633dbf339978706b8ead1a907bb970b63185dd95"
"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"


@@ 924,18 1108,29 @@ dependencies = [
"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
"checksum rawpointer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebac11a9d2e11f2af219b8b8d833b76b1ea0e054aa0e8d8e9e4cbde353bdf019"
"checksum rbf-interp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76ce54ac73ddb1145d1788a831006b8108acf1f0f99265ea8b23a06f21c9c5a4"
"checksum rbf-interp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bdf09df57773dac232830bff95492243e0ecfdd4333bda034f540b92b7c4ad34"
"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
"checksum rental 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "01916ebd9fc2e81978a5dc9542a2fa47f5bb2ca3402e14c7cc42d6e3c5123e1f"
"checksum rental-impl 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "82260d54cf2cbe9608df161f7e7c98e81fae702aa13af9e4d5d39dc2ffb25ab6"
"checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af"
"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
"checksum syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)" = "eadc09306ca51a40555dd6fc2b415538e9e18bc9f870e47b1a524a79fe2dcf5e"
"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
"checksum unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "33288471bc3e172fa79b2961474221b7d093b4f049e0408d65c898a6984a8497"
"checksum unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f30ec13e6bc207e9db3cb07d50b43ceb5659a996d019d226e6b0bcfab48b0c3"
"checksum unic-langid-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "197eef46da6708b77f05bde40a2a10e5792676ef1012c4a1ca9d023a7fac4411"
"checksum unic-langid-macros-impl 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "abb939907a0153c889d20f3ccc8eb38b54e21c018a0194a9a539114c0996322e"
"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
"checksum wasm-bindgen 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)" = "4de97fa1806bb1a99904216f6ac5e0c050dc4f8c676dc98775047c38e5c01b55"
"checksum wasm-bindgen-backend 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)" = "5d82c170ef9f5b2c63ad4460dfcee93f3ec04a9a36a4cc20bc973c39e59ab8e3"

M Cargo.toml => Cargo.toml +2 -2
@@ 7,6 7,6 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
druid = {git = "https://github.com/xi-editor/druid", rev = "3df5e4da7475706e380973230913828149b5b91e" }
rbf-interp = "0.1.1"
druid = {git = "https://github.com/xi-editor/druid", rev = "8e56a17e10d323e6aaf4c8da03655db6f1a62060" }
rbf-interp = "0.1.2"
nalgebra = "0.18"

M src/app_state.rs => src/app_state.rs +0 -15
@@ 79,21 79,6 @@ impl InterpPt {

    pub fn eval(&self, width: f64, weight: f64) -> Point {
        let len = self.samples.len();
        if len == 1 {
            // TODO: I think rbf-interp should handle this case, but since
            // it tries to invert a non-invertible matrix, we work around
            // it here.
            return self.samples[0].pt;
        }
        if len == 2 {
            // TODO: RBF-interp should deal with this too.
            let dot = width * (self.samples[1].width - self.samples[0].width)
                + weight * (self.samples[1].weight - self.samples[0].weight);
            let scale = (self.samples[1].width - self.samples[0].width).powi(2) +
                (self.samples[1].weight - self.samples[0].weight).powi(2);
            let t = dot / scale;
            return self.samples[0].pt.lerp(self.samples[1].pt, t);
        }
        let mut centers = Vec::with_capacity(len);
        let mut vals = Vec::with_capacity(len);
        for sample in &self.samples {

M src/interp_pane.rs => src/interp_pane.rs +3 -3
@@ 2,7 2,7 @@ use std::ops::Deref;
use std::sync::Arc;

use druid::kurbo::{Circle, Size};
use druid::piet::{Color, FillRule, RenderContext};
use druid::piet::{Color, RenderContext};
use druid::{
    Action, BaseState, BoxConstraints, Env, Event, EventCtx, LayoutCtx, PaintCtx, UpdateCtx, Widget,
};


@@ 29,8 29,8 @@ impl Widget<AppState> for InterpPane {
        for pt in data.pts.deref() {
            let interp = pt.eval(width, weight);
            let circle = Circle::new(interp, 5.0);
            let brush = paint_ctx.render_ctx.solid_brush(Color::WHITE);
            paint_ctx.render_ctx.fill(circle, &brush, FillRule::NonZero);
            let fg_color = Color::WHITE;
            paint_ctx.render_ctx.fill(circle, &fg_color);
        }
    }


M src/main.rs => src/main.rs +1 -1
@@ 41,7 41,7 @@ fn main() {

    let app_state = AppState::default();
    let state = UiState::new(root, app_state);
    builder.set_title("Hello example");
    builder.set_title("Interpolation toy");
    builder.set_handler(Box::new(UiMain::new(state)));
    let window = builder.build().unwrap();
    window.show();