Skip to main content

Crate tpt_appfront_core

Crate tpt_appfront_core 

Source

Re-exports§

pub use context::provide_context;
pub use context::use_context;
pub use context::Context;
pub use resource::Resource;
pub use resource::ResourceState;
pub use store::instrument_store;
pub use store::Persistence;
pub use store::Store;
pub use store::StoreSubscription;
pub use suspense::Suspense;
pub use router::Route;
pub use router::RouteTable;
pub use router::Router;
pub use agent::current_route;
pub use agent::navigate_to;
pub use agent::query_state;
pub use agent::route_signal;
pub use agent::trigger_event;
pub use agent::AgentState;
pub use agent::ElementSummary;
pub use devtools::inspect_state;
pub use devtools::inspect_tree;
pub use devtools::render;
pub use devtools::to_html;
pub use devtools::DevtoolsReport;
pub use error_boundary::error_boundary;
pub use error_boundary::recover_or;
pub use error_boundary::BoundaryResult;
pub use form::FormState;
pub use plugin::context_for_plugin;
pub use plugin::Plugin;
pub use plugin::PluginCtx;
pub use plugin::PluginRegistry;
pub use reconcile::apply_edits;
pub use reconcile::diff_summary;
pub use reconcile::edit_description;
pub use reconcile::reconcile_keys;
pub use reconcile::History;
pub use reconcile::KeyedDiff;
pub use reconcile::ListEdit;
pub use signal::batch;
pub use signal::create_effect;
pub use signal::create_memo;
pub use signal::reset_signal_activity;
pub use signal::set_hydration_state;
pub use signal::signal_activity;
pub use signal::take_hydration_state;
pub use signal::EffectHandle;
pub use signal::Signal;
pub use static_tree::static_node;
pub use styling::class_macro_check;
pub use styling::class_value;
pub use styling::inline_style;
pub use styling::is_utility;
pub use styling::lookup;
pub use styling::style_sheet;
pub use styling::UTILITIES;
pub use ui_tree::AiMeta;
pub use ui_tree::ContainerBuilder;
pub use ui_tree::HydrationPayload;
pub use ui_tree::NodeKind;
pub use ui_tree::NodeMeta;
pub use ui_tree::NodeRef;
pub use ui_tree::UITree;
pub use virtual_scroll::VirtualScroll;
pub use virtual_scroll::VisibleRange;
pub use component::memoize;
pub use component::Children;
pub use components::announce_resource_status;
pub use components::date_picker;
pub use components::dropdown;
pub use components::live_region;
pub use components::modal;
pub use components::move_focus;
pub use components::sortable_table;
pub use components::tabs;

Modules§

agent
Programmatic API for AI agents to inspect and interact with the UI tree without needing a browser or canvas.
component
Component model primitives shared across backends.
components
A small, backend-agnostic component library / design system.
context
Tree-scoped shared state (a lightweight Context/DI primitive).
devtools
Human-facing devtools inspector for the UITree.
error_boundary
Error boundaries: isolate a subtree so a panic while building it doesn’t take down the whole render (Phase 5 / #61).
form
use_form: a controlled-form helper bundling named signal-backed fields (string fields for Input/Textarea/Select/Radio, boolean fields for Checkbox) plus lightweight per-field validation — the “controlled-input helper” companion to the Input/Textarea/Checkbox/Select/Radio NodeKinds, mirroring React’s controlled-form ergonomics without a full form library.
plugin
A formal plugin API for AppFront applications (Phase 4 / #47).
reconcile
Backend-agnostic keyed list reconciliation (Phase 3).
resource
Async data primitive (Resource<T>) — a SolidJS/Svelte-store-style wrapper for async fetches that exposes Loading / Ready / Error states through the reactive Signal core, so UI code doesn’t hand-roll ad-hoc loading flags.
router
Backend-agnostic client-side router.
signal
A minimal SolidJS-style reactive signal system.
static_tree
Compile-time memoization of static UITree subtrees.
store
State management at scale — a Zustand/Redux-like Store built directly on the reactive Signal core, plus optional devtools time-travel and signal persistence (localStorage / IndexedDB).
styling
Tailwind-style utility-class layer.
suspense
<Suspense> boundaries — render a fallback while one or more Resources are Loading, swapping in the real content once they Ready.
ui_tree
The abstract UITree AST (see spec.txt section 3.1).
virtual_scroll
Virtual scrolling primitive for List/DataGrid (Phase 2). Backends that render large collections (tpt-appfront-dom, tpt-appfront-canvas) can use VirtualScroll::visible_range to render only the items currently in view plus a small overscan buffer, instead of every item in the collection. Backends that don’t scroll interactively (tpt-appfront-html, tpt-appfront-ai-schema) simply ignore [NodeMeta::virtual_scroll] and render everything, which is correct for SSR/crawl/agent consumption.

Macros§

class
Tailwind-style utility-class macro.
rsx
Alias of [view]; some authors prefer the rsx! name (mirroring other Rust UI frameworks). Both expand to identical codegen.
view

Attribute Macros§

component