Heuristic:Facebookresearch Habitat lab Warning Deprecated Legacy UI System
| Knowledge Sources | |
|---|---|
| Domains | Human_in_the_Loop, Deprecation |
| Last Updated | 2026-02-15 04:00 GMT |
Overview
Deprecation warning: the legacy UI system (UIButton, UITextbox) in client_message_manager.py is marked for removal in favor of the newer UICanvasUpdate system.
Description
The source file habitat-hitl/habitat_hitl/core/client_message_manager.py contains the comment # TODO: Deprecated legacy UI system. at line 23, marking the UIButton and UITextbox dataclasses as deprecated. These are being replaced by the UICanvasUpdate system imported from habitat_hitl.core.ui_elements.
Code that imports UIButton or UITextbox from client_message_manager should be migrated to use the UICanvasUpdate API via update_ui_canvas() instead of show_modal_dialogue_box().
Usage
Be aware of this deprecation when building new HITL application states. Prefer the update_ui_canvas method over show_modal_dialogue_box for any new UI interactions. Existing code using the legacy API will continue to work but should be migrated before the deprecated classes are removed.
The Insight (Rule of Thumb)
- Action: Migrate from
UIButton/UITextboxtoUICanvasUpdate. - Value: Use
msg_mgr.update_ui_canvas()instead ofmsg_mgr.show_modal_dialogue_box(). - Trade-off: The new API is more flexible but requires adapting existing dialog-based UIs.
Reasoning
The legacy UI classes (UIButton, UITextbox) were the original mechanism for showing modal dialogs to clients. The newer UICanvasUpdate system provides a more flexible canvas-based approach that supports richer UI elements. The TODO: Deprecated legacy UI system comment indicates the maintainers intend to remove the old classes.