Softanza
StartFrançais
Softanza
Reference · Visual & spatial

GUI & reactive

47 functions in 24 classes, grouped by what they do, each with the explanation the library gives of itself.

The story of this area, for a general reader: what a crafter does with it, an example run and its rated lanes, is on its Platform page.

The functions, by what they do

Testing and checking

  • IsStrictWidth Is this element's geometry DECLARED, rather than measured from its text? Only a declared one is a strict observable -- see StzUiProfileIsStrictBox. in stzUiDocument
  • IsStrictlyPlaced A box sits where its predecessors left it, so its POSITION is only claimed when it and every earlier sibling fix their own size. in stzUiDocument
  • IsBeingRead TRUE when something has read the tree at least once -- which is the only evidence available in-process that a screen reader is there. in stzScreenReaderBridge
  • CheckAndTick Drive the timer from the manager's poll loop. Returns isActive so the manager can prune completed one-shot timers. in stzReactiveTimer

Finding

  • LastErrorWhere Which operation failed -- "Batch", "Watcher:name", "Computed:greeting"... in stzReactiveObject
  • LastEvent The most recent payload emitted on the channel ("" if none). in stzEventBus

Replacing and setting

  • SetTime RmlUi's clock, driven by the caller -- so a test frame is deterministic instead of depending on when it ran. in stzPanel
  • SetTextOf The difference is measurable, and the guard measures it: after a rebuild every string is generated again; after a set, only the ones that actually changed are. GenerateCalls() reports both. One element's words. The value is DATA -- it is escaped at the seam, so a model holding "<span>" cannot inject markup into a document the court already passed. in stzPanel
  • SetStyleOf An EMPTY value removes the property, handing the element back to the stylesheet. Without that, a binding that had fired once could never be undone. in stzPanel
  • SetBody == BODY (embodiment) ==================================================== SetBody() returns This; the brace assigns the body-cursor attributes (Graph_/Files/Keep_ -- note: the DSL keywords Graph and Keep collide with the Graph() accessor and the Keep(thing) flow verb, so the ATTRIBUTES carry a trailing underscore and BraceEnd reads whichever was written). in stzApp
  • SetAsync Async Attribute update in stzReactiveObject
  • SetAttribute Universal Attribute setter in stzReactiveObject
  • SetAutoConcludeDelay It used to take anything at all: -500 and "not a number" both went straight through to a timer deadline. A refused value leaves the delay ALONE rather than resetting it -- a setter that answers a value it dislikes by destroying a good one is its own defect. in stzReactiveStream
  • Set the one verb -------------------------------------------------------- Give a name a value. Every element whose template mentions it is re-rendered and set; nothing else is touched. in stzUiBindings
  • SetStyle Text updates re-shape the whole document; style updates do not. Kept as its own verb rather than folded into Set(), because the two have genuinely different costs and a caller choosing between them should see which is which. in stzUiBindings
  • SetReactor NOTE: the stored reactor is a COPY (Haro attribute assignment copies objects) that SHARES the engine handle -- safe because the handle is never destroyed while a system lives (see stzReactive. Stop). The http drain is NOT stored for the same reason: a copy's aPending would be a dead snapshot; RunLoop takes the LIVE object as a parameter instead (params are by-reference). in stzTimerManager
  • SetPatience HOW MANY consecutive idle iterations the loop tolerates before it stops. A count, not a duration -- RunLoop compares it against _emptyLoopCount_. Zero is meaningful and is the default (PATIENCE_NONE, mirroring libuv's uv_run: return as soon as there is no work), so only negatives and non-numbers are refused. in stzTimerManager
  • SetCheckFrequency A refused value leaves the old one alone. Answering a bad value by destroying a good one is its own defect. in stzTimerManager

Removing

  • ClearAll Handy for test isolation, and worth saying plainly: the bus is PROCESS-GLOBAL, so this resets channels other parts of the same process are watching, and their event counts restart at zero. See EventCount. in stzEventBus
  • ClearStyle Hand the element back to the stylesheet. in stzUiBindings

Adding

  • AddFlow == LIFE - BEHAVIOR (Becoming) =========================================== When() returns This: the brace { Require(:x) Then( Keep(:Y) ) } runs app methods against the current-flow cursor. in stzApp
  • AddGoal == LIFE - PURPOSE (Becoming) ============================================ AddGoal() returns This; the brace assigns the goal-cursor ATTRIBUTES (Means/ReachedBy/Within/Respecting), flushed into the record by BraceEnd() when the brace closes. in stzApp
  • AddThing == DOMAIN (Being) ======================================================= AddThing() performs the act and returns NOTHING; AddThingQ() performs it and hands back the app, so the block AddThingQ(:X) { Has(...) Owns(:Y) } runs the app's OWN Has/IsTrue/Owns/Of on the current-thing cursor. (The core law: a plain name acts, the Q chains -- exactly as stzList does with AddItem() / AddItemQ().) in stzApp
  • AddScreen == EMERGENTS (met from without) ========================================= in stzApp
  • AddTask Manages tasks, streams, and timers for internal system operations. in stzReactiveSystem
  • AddTimer internal methods in stzReactiveSystem
  • AddStream internal methods in stzReactiveSystem
  • AddWorld the registry: worlds as nodes in stzSuperApp
  • AddConstellation recursion: a constellation may contain another constellation in stzSuperApp

Ordering and moving

  • Swap HOT-SWAP a live world's implementation, keeping its node + bonds. in stzSuperApp

Converting

  • ToCanvas The panel as a picture, on the tier this machine can reach. A canvas is made, drawn into and answered -- so the caller gets ToSVG/ToPNG/ Show without assembling anything. in stzPanel
  • FromWindow the conversions, named at the boundary ------------------------------ A window's pixels are the panel's when the panel fills the window, which is the case stzWindow.Draw arranges. Named anyway: the reader of a frame loop should see WHERE the space changes. in stzPanel
  • FromTexture A panel hanging in a 3D scene is hit by a RAY, and what the caller has after the intersection is a texture coordinate. This is the whole of the in-scene input mapping (§6's tier): uv in, panel pixels out. v is flipped because a texture's origin is bottom-left and a panel's is top-left -- the one place that difference is stated, so no caller has to remember it. in stzPanel
  • ToRml the projection ------------------------------------------------------ The RML this document means. The defaults here are §4b's table: every divergence G1 found is absorbed so the author never sees it. in stzUiDocument
  • ToHtml THIS SHARES EVERY RULE WITH ToRml. The two projections differ only where stzUiProfile records a DIVERGENCE, and they ask the profile for the spelling rather than carrying their own copy -- which is the whole reason the profile had to become data. If the shared half ever forks, the fixture below is what says so. in stzUiDocument
  • ToText the canonical print (round-trip fixpoint) in stzUiDocument
  • ToFixture paNativeBoxes is [ [ name, x, y, w, h ], ... ] from the laid-out panel -- BoxOf() for every named element. in stzUiDocument
  • ToJSON the tree as DATA ---------------------------------------------------- Rule 104: "what a screen reader can operate, an agent can operate." A tree that only a C++ adapter can read serves the first and not the second, so it goes out as JSON -- inspectable, diffable, assertable in CI, and the shape an adapter of any language can consume. in stzAccessibilityTree

Showing, drawing and formatting

  • BoxOf The laid-out box of one element: [x, y, w, h], in panel pixels. Empty when there is no such element -- an absence, not a raise, since asking about an element that may not exist is a fair question. in stzPanel
  • DrawInto output -------------------------------------------------------------- Put the panel's triangles into a canvas. The canvas decides what happens next -- ToSVG() with no device, ToPNG() with one, a window, or a texture mapped onto a quad in a 3D scene. The panel does not know and must not care. in stzPanel
  • RenderOf What one element's text would be, right now. Inspectable without touching the panel, which is what makes the substitution testable separately from the rendering. in stzUiBindings

Reading and writing

  • LoadMarkup the document -------------------------------------------------------- Markup as a STRING, because markup is emitted. See the header. in stzPanel
  • OpenCommonsOn the Commons (world zero) ------------------------------------------- Back the shared Commons with an open stzDatabase. in stzSuperApp

Walking and applying

  • Filter Store filter transformation with expressive constant in stzReactiveStream
  • Apply Push every template again, whatever changed. What a caller does after loading a screen, to fill it in one go. in stzUiBindings
  • RunLoop poHttpDrain = the LIVE stzReactiveHttp object (by-ref param; an attribute copy would drain a dead snapshot). NULL = no http. in stzTimerManager
  • PerformHttpGet This is the path taken when there is no reactor -- which is exactly what SetReactor(NULL) selects, and what the reactor switch falls back TO. The switch had an off position that could not work. in stzHttpTask

The explanations are the ones the library gives of itself, read from its documentation comments on 2026-10-01 04:14, from the library at commit 0e72e2e2c, by the library's own stzSelfDoc over 635 class sources.

The classes of this area

Narrations about this area