Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
ab24af1
Add arrow datatype inspector
lucasmerlin Jul 29, 2025
6ff76ff
Claude
lucasmerlin Jul 29, 2025
a42a8a1
Nice, un-clauded arrow ui
lucasmerlin Jul 29, 2025
ef30f45
Show type info on hover and animate fade on collapse
lucasmerlin Jul 29, 2025
b25ddf1
Nicer type info on hover
lucasmerlin Jul 29, 2025
12d9087
Pull out node =
lucasmerlin Jul 29, 2025
54ce264
Basic syntax highlighting
lucasmerlin Jul 29, 2025
f0ff349
Show full type on hover
lucasmerlin Jul 29, 2025
c4907f8
Merge branch 'main' into lucas/arrow-inspector
grtlr Jul 30, 2025
fcc1825
Show length before lists
lucasmerlin Jul 30, 2025
e334e63
Add ChildNodes enum
lucasmerlin Jul 30, 2025
3646adc
Fix map missing key / value
lucasmerlin Jul 30, 2025
b68d7a7
Implement color scheme
lucasmerlin Jul 30, 2025
df86cc5
Improved string format
lucasmerlin Jul 30, 2025
1b5ab2d
Ranged ui
lucasmerlin Jul 30, 2025
61e0d13
Ooops
lucasmerlin Jul 30, 2025
697fdc4
Clippy
lucasmerlin Jul 30, 2025
c962c1c
Add ChildNodes::new
lucasmerlin Aug 5, 2025
4ea3116
Add re_arrow_ui
lucasmerlin Aug 11, 2025
9a40d9d
Create arrow_node.rs and datatype_ui.rs
lucasmerlin Aug 11, 2025
41a851a
Make the MapArray work correctly
lucasmerlin Aug 11, 2025
b50715b
Rename to ArrayView
lucasmerlin Aug 11, 2025
22af263
Inline map!
lucasmerlin Aug 11, 2025
24bb2cf
Dicts work but using ArrowView in struct ChildNodes broke, I guess?
lucasmerlin Aug 12, 2025
0cccc5d
Add new arrow fmt based ui
lucasmerlin Aug 12, 2025
4f3cda4
Remove lots of duplicated arrow code
lucasmerlin Aug 13, 2025
87de5fe
Use our custom number format
lucasmerlin Aug 13, 2025
5afef3b
Remove more unused code
lucasmerlin Aug 13, 2025
d1f67aa
Make custom formatting actually work and ensure all datatypes are cov…
lucasmerlin Aug 13, 2025
41b6e8a
Syntax highlighting!
lucasmerlin Aug 13, 2025
50e75ac
Add back datatype ui
lucasmerlin Aug 13, 2025
8fe195b
Remove old implementation
lucasmerlin Aug 13, 2025
c0820ef
Use syntax highlighting everywhere in arrow_ui
lucasmerlin Aug 13, 2025
b309b9b
Bring back list_item_ranges
lucasmerlin Aug 13, 2025
891f985
Limit amount of formatted list items and add datatype ui at top of ar…
lucasmerlin Aug 13, 2025
0d64c0b
Move ArrowNode to separate module
lucasmerlin Aug 13, 2025
0ad7422
Clippy
lucasmerlin Aug 13, 2025
55e077f
Update snapshots
lucasmerlin Aug 13, 2025
69092c3
Undo num_instances override
lucasmerlin Aug 13, 2025
9cb49bd
Merge branch 'main' into lucas/arrow-inspector
lucasmerlin Aug 13, 2025
056979b
Update snapshots
lucasmerlin Aug 13, 2025
87a8dfe
Fix ids changing across timesteps
lucasmerlin Aug 13, 2025
81f1844
Lint fixes
lucasmerlin Aug 13, 2025
773c613
Rename code_number to code_primitive
lucasmerlin Aug 13, 2025
b9a4292
Add docs to ARCHITECTURE.md
lucasmerlin Aug 13, 2025
c338fad
Match Cargo.toml with other crates
lucasmerlin Aug 13, 2025
833d83a
Rename things
lucasmerlin Aug 14, 2025
6bbfbea
Minor improvements
lucasmerlin Aug 14, 2025
4a31dff
Rename err
lucasmerlin Aug 14, 2025
af1d417
More comments and inline data type
lucasmerlin Aug 14, 2025
302e018
Revert snapshots
lucasmerlin Aug 14, 2025
e903c82
Use re_format_binary for binary data
lucasmerlin Aug 14, 2025
97d5346
Add arrow testdata and snapshot tests
lucasmerlin Aug 14, 2025
7fe8b32
Clippy
lucasmerlin Aug 14, 2025
bb0380f
Update snapshots
lucasmerlin Aug 14, 2025
26973be
Merge branch 'main' into lucas/arrow-inspector
lucasmerlin Sep 2, 2025
cd6f301
Update architecture image
lucasmerlin Sep 2, 2025
f69c8d6
Fix changed version numbers
lucasmerlin Sep 2, 2025
4e5acb0
Fix urls
lucasmerlin Sep 2, 2025
9c10f84
Fix sort
lucasmerlin Sep 2, 2025
a5c8f03
Improve docs on NodeLabel::Index
lucasmerlin Sep 2, 2025
0615007
Improve docs on ArrowNode::name
lucasmerlin Sep 2, 2025
1189869
Remove redundant DesignTokens arg
lucasmerlin Sep 2, 2025
afe9777
is_item_nested doc
lucasmerlin Sep 2, 2025
f1d9837
Ok(())
lucasmerlin Sep 2, 2025
8ad67df
Make it clear at what number arrow arrays will be limited when format…
lucasmerlin Sep 2, 2025
8c5d0bc
Improve list_ui docs with an explanation of arrow offsets
lucasmerlin Sep 2, 2025
9ed34a9
Improve data type ui
lucasmerlin Sep 2, 2025
1629c2a
Remove old snapshot
lucasmerlin Sep 2, 2025
c4b156f
Update snapshots and add newline string to arrow ui test
lucasmerlin Sep 2, 2025
0588afa
Rename code_name to code_identifier
lucasmerlin Sep 2, 2025
e89ea48
Merge branch 'main' into lucas/arrow-inspector
lucasmerlin Sep 2, 2025
0afe78e
Update snapshots
lucasmerlin Sep 2, 2025
323fa88
Link list_ui for an explanation of the offset indexes
lucasmerlin Sep 2, 2025
19fccb8
Add separate scope for data type
lucasmerlin Sep 2, 2025
08e7496
Introduce format_f16
lucasmerlin Sep 2, 2025
78565f7
Clippy fixes
lucasmerlin Sep 2, 2025
7eb14d9
Fix lints
lucasmerlin Sep 2, 2025
23ef3eb
Fix test
lucasmerlin Sep 2, 2025
4264c8e
Merge branch 'main' into lucas/arrow-inspector
lucasmerlin Sep 2, 2025
152ac84
Destructure some tuples for readability
lucasmerlin Sep 2, 2025
886bf93
Show nullability in arrow datatype ui
lucasmerlin Sep 2, 2025
e595fb8
Better import order
lucasmerlin Sep 2, 2025
dd3711a
Improved ShowIndex doc comment
lucasmerlin Sep 2, 2025
3fcb30f
More comments
lucasmerlin Sep 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Nicer type info on hover
  • Loading branch information
lucasmerlin committed Jul 29, 2025
commit b25ddf188f01f599b881483efc6b1046bdcceb76
17 changes: 12 additions & 5 deletions crates/viewer/re_ui/src/arrow_ui.rs
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
use crate::list_item::{LabelContent, PropertyContent, list_item_scope};
use crate::{UiExt, UiLayout};
use arrow::array::AsArray;
use arrow::{
array::{Array, StructArray},
datatypes::DataType,
error::ArrowError,
util::display::{ArrayFormatter, FormatOptions},
};
use egui::{Id, Response, Ui, Widget, WidgetText};
use eframe::epaint::StrokeKind;
use egui::{Frame, Id, Response, RichText, Stroke, Ui, Widget, WidgetText};
use itertools::Itertools as _;
use re_arrow_util::ArrowArrayDowncastRef as _;
use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};

use crate::list_item::{LabelContent, PropertyContent, list_item_scope};
use crate::{UiExt, UiLayout};

pub fn arrow_ui(ui: &mut egui::Ui, ui_layout: UiLayout, array: &dyn arrow::array::Array) {
re_tracing::profile_function!();

Expand Down Expand Up @@ -378,8 +378,15 @@ impl<'a> ArrowNode<'a> {
ui.monospace(value);
},
|ui| {
let visuals = visuals;
if visuals.hovered {
ui.weak(data_type_name);
let response = ui.small(RichText::new(data_type_name).strong());
ui.painter().rect_stroke(
response.rect.expand(2.0),
4.0,
Stroke::new(1.0, visuals.text_color()),
StrokeKind::Middle,
);
}
},
);
Expand Down