Skip to main content

cjm-substrate-qt-kit

Shared foundations for the PySide6 application lane (DEC c4b0d6e5): LoopThreadSession (a private asyncio loop behind a Qt shell — GraphSession and CapabilitySession both subclass it), the row-style palette (STYLE_COLORS/apply_row_style), and the keybinding helper. Every piece extracted at its first real duplication between cjm-graph-workbench-qt and cjm-transcription-qt — the kit grows by demand, never speculation. Semantic theming (a94fa56a) and in-app config (812beb51) land here at their demand points.

Modules

  • cjm_substrate_qt_kit.__init__ — Shared foundations for the PySide6 application lane — extracted at first duplication (DEC dcf8a712).
  • cjm_substrate_qt_kit.findbar — The lane's find-bar universal (the Ctrl-F half of signal c7955f25).
  • cjm_substrate_qt_kit.formdialog — Kit FormShell (work item d55292f9): the frameless modal FORM chrome —
  • cjm_substrate_qt_kit.hitl — Kit HITL confirm chrome (work item 55bcc3c5, the payload-agnostic half of
  • cjm_substrate_qt_kit.keyhints — Keyboard-hints surface: the ?-overlay + contextual hint line (DEC 2a42c028).
  • cjm_substrate_qt_kit.keymap — KeymapRegistry: the QAction layer from the toolbox verdict (DEC d55f1d0f).
  • cjm_substrate_qt_kit.keys — The keybinding helper both shells grew independently.
  • cjm_substrate_qt_kit.layout — Layout roles for the application lane — the FastHTML-era framework's Qt
  • cjm_substrate_qt_kit.loopthread — The loop-thread session base: a private asyncio loop behind a Qt shell.
  • cjm_substrate_qt_kit.pickerlist — Kit PickerList (work item 8d29f0f0): the native list PAGE the painted
  • cjm_substrate_qt_kit.player — Span playback via QMediaPlayer — the Qt lane's one audio component (kit
  • cjm_substrate_qt_kit.statusstrip — StatusStrip: the footer's slot model (DEC 2a42c028).
  • cjm_substrate_qt_kit.style — Row-style vocabulary for the lane's list widgets.
  • cjm_substrate_qt_kit.testbed — Readability test-bed: error-seeded reading trials measuring which theme
  • cjm_substrate_qt_kit.testbed_corpus — Bundled clean-prose corpus for the readability test-bed.
  • cjm_substrate_qt_kit.theme — Semantic theme tokens for the lane: one flat dict -> QPalette + QSS + fonts.

API

cjm_substrate_qt_kit.findbar

  • FindBar class — Incremental find over an attached text pane. While the bar is open the

cjm_substrate_qt_kit.formdialog

  • FormShell class — Frameless modal shell: head (QTextBrowser, fixed) / body (PickerList,

cjm_substrate_qt_kit.hitl

  • HitlPanel class — The composed confirm panel: worklist (stretch) over the verdict strip
  • ProposalWorklist class — The proposal list page: items above (a kit PickerList), the host's
  • ProvenancePane class — Key/value provenance — a two-column table of whatever the lane's
  • VerdictStrip class — The derived-verdict status strip: one line per tier, each verdict
  • fmt_ts function — Source-seconds as mm:ss.s — the worklist's span column.
  • worklist_row function — Project one item into a picker row: tier glyph (? / ??), the category

cjm_substrate_qt_kit.keyhints

  • KeyHintsOverlay class — ?-toggled keyboard-hints overlay. Modal + frameless, centered over
  • column_count function — Responsive column count: what the CONTAINER width affords (layout
  • group_entries function — [{verb,label,key,group}] -> [(group, entries)] in first-seen group
  • hint_line function — Project the pinned verbs (in pin order, capped at limit) into the
  • is_close_anchor function — True for the close affordance modal_header paints — the dialog's
  • keycaps function — Public key-cap renderer — the overlay's chip grammar for OTHER
  • modal_header function — A kit modal's title row: the title at left, the mouse CLOSE
  • render_hints_html function — The overlay's document: sections distributed across columns in

cjm_substrate_qt_kit.keymap

  • KeymapRegistry class — Declarative verb table -> live QActions on an owner widget.

cjm_substrate_qt_kit.keys

  • bind function — One QShortcut: key on parent (default: the owner window) fires fn.

cjm_substrate_qt_kit.layout

  • afford function — R3 container affordance: how many fixed-width units fit in the
  • classify function — One geometry -> its three role ids: {"mode", "shape", "height"}.
  • height_tier function — Absolute height -> height-tier role id ("H1".."H4").
  • mode function — Width -> mode role id ("M1".."M6").
  • shape function — Aspect ratio -> shape role id ("S1".."S6").

cjm_substrate_qt_kit.loopthread

  • LoopThreadSession class — Owns one daemon asyncio loop thread; subclasses put their subsystem's

cjm_substrate_qt_kit.pickerlist

  • PickerList class — The kit list page: native list above, budget-reserved detail below.
  • SpanRowDelegate class — Paint one row's rich-text fragment (the _ROW_HTML data) through a
  • spans_to_html function — Project style-worded spans into one QTextDocument-ready fragment.

cjm_substrate_qt_kit.player

  • SpanPlayer class — Play/stop one file span at a time; replay gestures re-enter, escape

cjm_substrate_qt_kit.statusstrip

  • StatusStrip class — Two-row footer: chips + readout + transient above, hint line below

cjm_substrate_qt_kit.style

  • apply_row_style function — Map a row's style words onto a list item (color words + bold).

cjm_substrate_qt_kit.testbed

  • ClickPane class — Read-only pane reporting the whitespace-token index of clicks that
  • TrialWindow class — The trial loop: render the paragraph under its variant, take the
  • build_trials function — The trial plan: variants covered evenly (shuffled round-robin over the
  • build_variants function — Cross the sweep dimensions into variant dicts. Defaults reproduce the
  • load_paragraphs function — Prose paragraphs from a markdown file: fence markers stripped (fence
  • main function — CLI: run trials over a markdown file, or summarize result JSONLs.
  • seed_error function — Apply one error class to a token list; (mutated_words, target_token,
  • summarize function — Catch rate + latency per dimension marginal, per variant cell, per

cjm_substrate_qt_kit.theme

  • apply_theme function — THE entry point: resolve the theme and land palette + QSS + ui font on
  • build_palette function — Project the palette roles onto QPalette so NATIVE widgets follow the
  • build_qss function — Generate the lane's QSS layer: chrome polish + dynamic-property state
  • current_theme function — The theme apply_theme last landed (default-resolved before any apply).
  • document_css function — Default stylesheet for rich-text documents (setDefaultStyleSheet):
  • load_theme function — Read a theme-as-data JSON file (a flat token dict): themes are shared
  • make_font function — Build the theme's font for a slot: "body" / "mono" / "ui". An empty
  • resolve_theme function — Merge override tokens onto the built-in pair member for the scheme
  • state_color function — Resolve a legacy style word or a semantic role to the theme's color
  • style_text_pane function — Reading-quality setup for a text pane (QTextEdit / QTextBrowser /

Dependencies

Depends on: PySide6 Used by: cjm-graph-workbench-qt, cjm-session-scratchpad-qt, cjm-transcript-correction-qt, cjm-transcript-decomp-qt, cjm-transcription-qt, cjm-workflow-hub-qt

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cjm_substrate_qt_kit-0.0.6.tar.gz (72.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cjm_substrate_qt_kit-0.0.6-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

File details

Details for the file cjm_substrate_qt_kit-0.0.6.tar.gz.

File metadata

  • Download URL: cjm_substrate_qt_kit-0.0.6.tar.gz
  • Upload date:
  • Size: 72.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for cjm_substrate_qt_kit-0.0.6.tar.gz
Algorithm Hash digest
SHA256 965817c431ebc52702de2cb302ca71a33fb163c0cd98de78ee6533cbe2eb084c
MD5 2c95a03f205a79f95178c9a71a48fe0b
BLAKE2b-256 c76eb1f83bda93fe560f0dedf29985ef31e084afeb34140cbc317ac45eda595e

See more details on using hashes here.

File details

Details for the file cjm_substrate_qt_kit-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for cjm_substrate_qt_kit-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c3c1398f0d402c28fdc975c1fcffe759cb1d0df5b9d229af517bc419af96201a
MD5 058a91836dd2eff7148db9a07c236c54
BLAKE2b-256 2ae1a30ca9157bd8736e23fd134bd52b81f95f20ca2238294c0dd2efe17851de

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 files

0.0.3

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page