@@ -934,124 +934,6 @@ pub fn map_shape_braille(tl: f32, tr: f32, bl: f32, br: f32, threshold: f32) ->
934934 char:: from_u32 ( 0x2800 + pattern as u32 ) . unwrap_or ( ' ' )
935935}
936936
937- // ===== Shape-Vector Block Rendering =====
938- //
939- // Extends HalfBlock mode from brightness-only vertical fill (▁▂▃▄▅▆▇█)
940- // to shape-aware selection from ~23 Unicode block elements including
941- // quadrant blocks (▖▗▘▝), half blocks (▀▄▌▐), diagonals (▚▞),
942- // and three-quarter blocks (▙▛▜▟).
943- //
944- // Uses the same 6D shape vector matching as ASCII mode.
945-
946- /// Shape vector table for Unicode block element characters.
947- ///
948- /// Each entry maps a block character to its 2×3 spatial fill pattern,
949- /// computed from the geometric coverage of each character within the cell.
950- /// Note: Currently unused since `map_shape_block` uses threshold-based
951- /// quadrant matching for consistent tiling. Retained for reference.
952- #[ allow( dead_code) ]
953- const BLOCK_SHAPE_TABLE : [ ShapeEntry ; 23 ] = [
954- // === Empty ===
955- ShapeEntry {
956- ch : ' ' ,
957- vector : [ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ] ,
958- } ,
959- // === Vertical fill from bottom (lower block elements) ===
960- ShapeEntry {
961- ch : '\u{2581}' ,
962- vector : [ 0.00 , 0.00 , 0.00 , 0.00 , 0.38 , 0.38 ] ,
963- } , // ▁ 1/8
964- ShapeEntry {
965- ch : '\u{2582}' ,
966- vector : [ 0.00 , 0.00 , 0.00 , 0.00 , 0.75 , 0.75 ] ,
967- } , // ▂ 1/4
968- ShapeEntry {
969- ch : '\u{2583}' ,
970- vector : [ 0.00 , 0.00 , 0.13 , 0.13 , 1.00 , 1.00 ] ,
971- } , // ▃ 3/8
972- ShapeEntry {
973- ch : '\u{2584}' ,
974- vector : [ 0.00 , 0.00 , 0.50 , 0.50 , 1.00 , 1.00 ] ,
975- } , // ▄ 1/2
976- ShapeEntry {
977- ch : '\u{2585}' ,
978- vector : [ 0.00 , 0.00 , 0.89 , 0.89 , 1.00 , 1.00 ] ,
979- } , // ▅ 5/8
980- ShapeEntry {
981- ch : '\u{2586}' ,
982- vector : [ 0.25 , 0.25 , 1.00 , 1.00 , 1.00 , 1.00 ] ,
983- } , // ▆ 3/4
984- ShapeEntry {
985- ch : '\u{2587}' ,
986- vector : [ 0.62 , 0.62 , 1.00 , 1.00 , 1.00 , 1.00 ] ,
987- } , // ▇ 7/8
988- ShapeEntry {
989- ch : '\u{2588}' ,
990- vector : [ 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ] ,
991- } , // █ full
992- // === Upper half + upper 1/8 ===
993- ShapeEntry {
994- ch : '\u{2580}' ,
995- vector : [ 1.00 , 1.00 , 0.50 , 0.50 , 0.00 , 0.00 ] ,
996- } , // ▀ upper half
997- ShapeEntry {
998- ch : '\u{2594}' ,
999- vector : [ 0.38 , 0.38 , 0.00 , 0.00 , 0.00 , 0.00 ] ,
1000- } , // ▔ upper 1/8
1001- // === Left/right halves ===
1002- ShapeEntry {
1003- ch : '\u{258C}' ,
1004- vector : [ 1.00 , 0.00 , 1.00 , 0.00 , 1.00 , 0.00 ] ,
1005- } , // ▌ left half
1006- ShapeEntry {
1007- ch : '\u{2590}' ,
1008- vector : [ 0.00 , 1.00 , 0.00 , 1.00 , 0.00 , 1.00 ] ,
1009- } , // ▐ right half
1010- // === Single quadrants ===
1011- ShapeEntry {
1012- ch : '\u{2598}' ,
1013- vector : [ 1.00 , 0.00 , 0.50 , 0.00 , 0.00 , 0.00 ] ,
1014- } , // ▘ TL
1015- ShapeEntry {
1016- ch : '\u{259D}' ,
1017- vector : [ 0.00 , 1.00 , 0.00 , 0.50 , 0.00 , 0.00 ] ,
1018- } , // ▝ TR
1019- ShapeEntry {
1020- ch : '\u{2596}' ,
1021- vector : [ 0.00 , 0.00 , 0.50 , 0.00 , 1.00 , 0.00 ] ,
1022- } , // ▖ BL
1023- ShapeEntry {
1024- ch : '\u{2597}' ,
1025- vector : [ 0.00 , 0.00 , 0.00 , 0.50 , 0.00 , 1.00 ] ,
1026- } , // ▗ BR
1027- // === Diagonals ===
1028- ShapeEntry {
1029- ch : '\u{259A}' ,
1030- vector : [ 1.00 , 0.00 , 0.50 , 0.50 , 0.00 , 1.00 ] ,
1031- } , // ▚ TL+BR
1032- ShapeEntry {
1033- ch : '\u{259E}' ,
1034- vector : [ 0.00 , 1.00 , 0.50 , 0.50 , 1.00 , 0.00 ] ,
1035- } , // ▞ TR+BL
1036- // === Three-quarter blocks ===
1037- ShapeEntry {
1038- ch : '\u{2599}' ,
1039- vector : [ 1.00 , 0.00 , 1.00 , 0.50 , 1.00 , 1.00 ] ,
1040- } , // ▙ TL+BL+BR
1041- ShapeEntry {
1042- ch : '\u{259B}' ,
1043- vector : [ 1.00 , 1.00 , 1.00 , 0.50 , 1.00 , 0.00 ] ,
1044- } , // ▛ TL+TR+BL
1045- ShapeEntry {
1046- ch : '\u{259C}' ,
1047- vector : [ 1.00 , 1.00 , 0.50 , 1.00 , 0.00 , 1.00 ] ,
1048- } , // ▜ TL+TR+BR
1049- ShapeEntry {
1050- ch : '\u{259F}' ,
1051- vector : [ 0.00 , 1.00 , 0.50 , 1.00 , 1.00 , 1.00 ] ,
1052- } , // ▟ TR+BL+BR
1053- ] ;
1054-
1055937// ===== Sculpted Outline Rendering =====
1056938//
1057939// Used by the Sculpted charset mode for cells at the outline/edge of
0 commit comments