orklev2-ui

Explains Orkid Lev2 UI internals and usage for widgets, layouts, events, and Python bindings.

35|16|Updated Feb 10, 2013
One-click install
npx skills add https://github.com/tweakoz/orkid --skill orklev2-ui
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: orklev2-ui
Source: https://github.com/tweakoz/orkid/tree/main/.claude/skills/orklev2-ui
Command: npx skills add https://github.com/tweakoz/orkid --skill orklev2-ui

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers and tool authors working with the Orkid engine need a concise, actionable reference to understand and reuse the Lev2 UI widget system, layout models, event routing, overlays, property editors, Outliner patterns, toolbars, PrimCanvas GPU drawing, and Python binding conventions across the codebase and examples.

Core Features & Use Cases

  • Comprehensive mapping of core UI headers and their responsibilities (Widget, Group, LayoutGroup, Anchor/Guide, Event, Context/Overlays, Style/Theme, Pack widgets).
  • Clear guidance on event routing, handler results, overlay stacking, and GIL-safe Python callbacks to integrate custom widgets and editor tooling.
  • PrimCanvas reference with layer-based GPU primitives, pipelines, coordinate notes, and examples for quads, text, sprites, and triangle primitives for performant custom drawing.
  • Python binding and example patterns including OutlinerModel subclasses, PropertySheet annotation and custom editors, Dropdown and Choicelist behaviors, and composite widgets like FilesystemBrowser and ColorPicker for rapid editor development.

Quick Start

Show me how to create a VerticalPack containing a LineEdit and a PrimCanvas layer using Orkid's Python bindings, including example usage and how to wire basic UI events to update the PrimCanvas.

Frequently Asked Questions about orklev2-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a custom editor UI using Orkid Lev2 widgets and Python bindings?

To build custom editor UI with Orkid Lev2, use Python bindings to subclass OutlinerModel, annotate PropertySheet editors, and compose widgets like FilesystemBrowser. VerticalPack layouts stack LineEdit and PrimCanvas widgets, wiring GIL-safe callbacks for event routing.

How does event routing work for Orkid Lev2 UI widgets?

Orkid Lev2 event routing propagates input through Widget and Group hierarchies, returning handler results to control event flow. Overlays stack contextually, and GIL-safe Python callbacks integrate custom widget event handling without blocking the engine runtime.

What is PrimCanvas used for in Orkid Lev2 GPU drawing?

PrimCanvas in Orkid Lev2 renders layer-based GPU primitives including quads, text, sprites, and triangles. It uses specific pipelines and coordinate systems for performant custom drawing within editor tools and in-application UI overlays.

Can I use Orkid Lev2 Python bindings to create composite widgets like ColorPicker?

Yes, Orkid Lev2 Python bindings support composite widgets like ColorPicker, FilesystemBrowser, Dropdown, and Choicelist. Pyext binding sources and test examples provide patterns for assembling these into PropertySheet editors and Outliner tools.

What's the best way to structure layouts with Orkid Lev2 UI components?

Structure Orkid Lev2 UI layouts using LayoutGroup, Anchor, and Guide classes for positioning, and Pack widgets like VerticalPack for stacking. Core headers define Group and Widget responsibilities for hierarchical arrangement.

Do I need C++ header knowledge to use Orkid Lev2 UI Python bindings effectively?

Understanding inc/ork/lev2/ui C++ headers helps map pyext binding sources to Python APIs, but pyext/tests/ui examples provide direct usage patterns. Accurate header-to-binding mapping ensures correct event routing and PrimCanvas integration.