#######################################
# Datatypes (KEYWORD1)
#######################################
SnapshotBus              KEYWORD1
State                    KEYWORD1

# SnapshotRTOS policies / traits
PublishPolicy            KEYWORD1
AlwaysPublish            KEYWORD1
PublishOnChange          KEYWORD1

# SnapshotRTOS diagnostics
TaskMeta                 KEYWORD1
SemanticEqual            KEYWORD1
UnstablePolicy           KEYWORD1


#######################################
# Methods and Functions (KEYWORD2)
#######################################
# SnapshotBus core
publish                  KEYWORD2
publish_inplace          KEYWORD2
peek                     KEYWORD2
try_peek                 KEYWORD2
try_peek_with_seq        KEYWORD2
try_peek_new             KEYWORD2
try_peek_new_strict      KEYWORD2
peek_into                KEYWORD2
peek_latest              KEYWORD2
sequence                 KEYWORD2
last_seq                 KEYWORD2
is_lock_free             KEYWORD2
was_updated_since        KEYWORD2

# Semantic equality helper
semantic_equal           KEYWORD2

# SnapshotTools helpers
ms_to_us_sat             KEYWORD2
peek_with_fallback       KEYWORD2

# SnapshotRTOS task helpers
start_frame_publisher               KEYWORD2
start_frame_publisher_cb            KEYWORD2
start_frame_publisher_on_change     KEYWORD2
start_frame_publisher_cb_on_change  KEYWORD2

# SnapshotRTOS diagnostics registry
register_task            KEYWORD2
find_task                KEYWORD2
task_meta_count          KEYWORD2
task_meta_at             KEYWORD2

# SnapshotRTOS stack helpers
stack_high_water_mark_words  KEYWORD2
stack_words_to_bytes         KEYWORD2
stack_used_words             KEYWORD2

# InputModel helpers (snapshot::input)
idx                      KEYWORD2
rising_edges             KEYWORD2
falling_edges            KEYWORD2
changed_edges            KEYWORD2
rising_mask32            KEYWORD2
falling_mask32           KEYWORD2
changed_mask32           KEYWORD2
rising_mask64            KEYWORD2
falling_mask64           KEYWORD2
changed_mask64           KEYWORD2
for_each_edge            KEYWORD2
to_mask32                KEYWORD2
to_mask64                KEYWORD2
to_bitset                KEYWORD2
assign_from_bits         KEYWORD2

# InputModel State methods
size                     KEYWORD2
count                    KEYWORD2
any                      KEYWORD2
all                      KEYWORD2
none                     KEYWORD2
is_pressed               KEYWORD2
is_released              KEYWORD2
set_button               KEYWORD2
clear                    KEYWORD2
mask32                   KEYWORD2
mask64                   KEYWORD2
from_mask32              KEYWORD2
from_mask64              KEYWORD2
