Repository navigation
Commit 4bb1d23
authored
fix(class): keep every multiplicity and role at its own end (#593)
Sol's library build lost two of five samples on data accuracy, and three on
the class-drawn check, after #588: Member to Reservation runs straight up in
one run, the "reservations" role found no spot clearly its own line's at
Reservation, and walked down that run until it stood just above Member.
A multiplicity or role now only takes a spot beside its own end: its middle
within 110 units of the end's tip (the class-drawn check's reach) and the
line's other tip half again as far off as its own, and 8 units further. That
also keeps a self-loop's labels out from between its two runs. With no spot
both beside its end and clearly its own line's, it stays beside its end, and
the placements run again keeping room for labels; one that reads at most 5%
longer than the placement it replaces may now take over.
The class fuzz gains the end invariant: main misplaced 17 end labels across
the 240-model full run and 74 across eight more seeds, none now. On those
eight seeds, 8 labels whose room would cost crossings now stand at their end
but nearer a neighboring line (81 findings on main, 12 now). Across the
100 saved class builds from the evals, three scenes change, each only in that
one end's labels, and each now passes the class-drawn check. The renderer
test checks every class fixture, and a new fixture and story carry Sol's
build.
Fixes #5891 parent d99eb3c commit 4bb1d23
5 files changed
Lines changed: 293 additions & 20 deletions
File tree
- packages/diagram
- core/src
- excalidraw/src/lib
- renderer/src
- diagram-types
- ui/src/diagram-types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
364 | 365 | | |
365 | 366 | | |
366 | 367 | | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
367 | 522 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
| 208 | + | |
| 209 | + | |
208 | 210 | | |
209 | 211 | | |
210 | 212 | | |
| |||
349 | 351 | | |
350 | 352 | | |
351 | 353 | | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
352 | 377 | | |
353 | 378 | | |
354 | 379 | | |
| |||
378 | 403 | | |
379 | 404 | | |
380 | 405 | | |
| 406 | + | |
381 | 407 | | |
382 | 408 | | |
383 | 409 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
64 | 70 | | |
65 | 71 | | |
66 | 72 | | |
| |||
73 | 79 | | |
74 | 80 | | |
75 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
76 | 87 | | |
77 | 88 | | |
78 | 89 | | |
| |||
451 | 462 | | |
452 | 463 | | |
453 | 464 | | |
454 | | - | |
| 465 | + | |
455 | 466 | | |
456 | 467 | | |
457 | 468 | | |
| |||
475 | 486 | | |
476 | 487 | | |
477 | 488 | | |
478 | | - | |
| 489 | + | |
479 | 490 | | |
480 | 491 | | |
481 | 492 | | |
| |||
635 | 646 | | |
636 | 647 | | |
637 | 648 | | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
638 | 656 | | |
639 | 657 | | |
640 | 658 | | |
| |||
659 | 677 | | |
660 | 678 | | |
661 | 679 | | |
662 | | - | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
663 | 683 | | |
664 | 684 | | |
665 | 685 | | |
| |||
683 | 703 | | |
684 | 704 | | |
685 | 705 | | |
686 | | - | |
687 | | - | |
688 | | - | |
| 706 | + | |
| 707 | + | |
689 | 708 | | |
690 | 709 | | |
691 | 710 | | |
692 | 711 | | |
693 | | - | |
| 712 | + | |
694 | 713 | | |
695 | 714 | | |
696 | 715 | | |
697 | 716 | | |
698 | 717 | | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
699 | 723 | | |
700 | 724 | | |
701 | 725 | | |
| |||
741 | 765 | | |
742 | 766 | | |
743 | 767 | | |
| 768 | + | |
744 | 769 | | |
745 | 770 | | |
746 | 771 | | |
| |||
763 | 788 | | |
764 | 789 | | |
765 | 790 | | |
766 | | - | |
767 | | - | |
768 | | - | |
769 | | - | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
770 | 814 | | |
771 | 815 | | |
772 | 816 | | |
| |||
777 | 821 | | |
778 | 822 | | |
779 | 823 | | |
780 | | - | |
781 | | - | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
782 | 827 | | |
783 | 828 | | |
784 | 829 | | |
785 | 830 | | |
786 | 831 | | |
787 | 832 | | |
788 | 833 | | |
789 | | - | |
790 | | - | |
791 | | - | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
792 | 839 | | |
793 | 840 | | |
794 | 841 | | |
795 | | - | |
796 | | - | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
797 | 845 | | |
798 | 846 | | |
799 | 847 | | |
| |||
0 commit comments