Commit Graph

174 Commits

Author SHA1 Message Date
4844a64203 style: apply ruff auto-fixes across codebase
- Fix import sorting (isort) across all engine modules
- Fix SIM105 try-except-pass patterns (contextlib.suppress)
- Fix nested with statements in tests
- Fix unused loop variables

Run 'uv run pytest' to verify tests still pass.
2026-03-15 15:16:37 -07:00
9201117096 feat: modernize project with uv, add pytest test suite
- Add pyproject.toml with modern Python packaging (PEP 517/518)
- Add uv-based dependency management replacing inline venv bootstrap
- Add requirements.txt and requirements-dev.txt for compatibility
- Add mise.toml with dev tasks (test, lint, run, sync, ci)
- Add .python-version pinned to Python 3.12
- Add comprehensive pytest test suite (73 tests) for:
  - engine/config, filter, terminal, sources, mic, ntfy modules
- Configure pytest with coverage reporting (16% total, 100% on tested modules)
- Configure ruff for linting with Python 3.10+ target
- Remove redundant venv bootstrap code from mainline.py
- Update .gitignore for uv/venv artifacts

Run 'uv sync' to install dependencies, 'uv run pytest' to test.
2026-03-15 15:16:37 -07:00
d758541156 Merge pull request 'feat: migrate Ntfy message retrieval from polling to SSE streaming, replacing poll_interval with reconnect_delay for continuous updates.' (#20) from feat/ntfy-sse into main
Reviewed-on: genewildish/Mainline#20
2026-03-15 20:50:08 +00:00
b979621dd4 Merge branch 'main' into feat/ntfy-sse 2026-03-15 20:50:02 +00:00
f91cc9844e Merge pull request 'feat: add new font files to the fonts directory' (#19) from feat/display into main
Reviewed-on: genewildish/Mainline#19
2026-03-15 20:47:16 +00:00
bddbd69371 Merge branch 'main' into feat/display 2026-03-15 20:45:54 +00:00
6e39a2dad2 feat: migrate Ntfy message retrieval from polling to SSE streaming, replacing poll_interval with reconnect_delay for continuous updates. 2026-03-15 13:44:26 -07:00
1ba3848bed feat: add new font files to the fonts directory 2026-03-15 13:30:08 -07:00
a986df344a Merge pull request 'doc: Document new font selection command-line arguments, environment variables, and a dedicated font management section.' (#18) from docs/update-readme into main
Reviewed-on: genewildish/Mainline#18
2026-03-15 11:08:25 +00:00
c84bd5c05a doc: Document new font selection command-line arguments, environment variables, and a dedicated font management section. 2026-03-15 04:07:24 -07:00
7b0f886e53 Merge pull request 'feat: add new font assets including CSBishopDrawn, CyberformDemo, and KATA.' (#17) from feat/font-picker into main
Reviewed-on: genewildish/Mainline#17
2026-03-15 11:01:39 +00:00
9eeb817dca Merge branch 'main' into feat/font-picker 2026-03-15 11:01:31 +00:00
ac80ab23cc feat: add new font assets including CSBishopDrawn, CyberformDemo, and KATA. 2026-03-15 04:01:06 -07:00
516123345e Merge pull request 'feat/font-picker' (#16) from feat/font-picker into main
Reviewed-on: genewildish/Mainline#16
2026-03-15 10:53:16 +00:00
11226872a1 feat: Implement interactive font selection by scanning the fonts/ directory for .otf, .ttf, and .ttc files, adding new fonts and updating documentation. 2026-03-15 03:52:10 -07:00
e6826c884c feat: Implement an interactive font face picker at startup, allowing selection of specific font faces from a font file. 2026-03-15 03:38:14 -07:00
0740e34293 Merge pull request 'style: Replace escaped parentheses with standard parentheses in the Mainline Renderer documentation.' (#15) from feat/scalability into main
Reviewed-on: genewildish/Mainline#15
2026-03-15 10:03:42 +00:00
1e99d70387 Merge branch 'main' into feat/scalability 2026-03-15 10:03:34 +00:00
7098b2f5aa Merge pull request 'feat: Introduce a complementary color gradient for queue messages.' (#14) from feat/display into main
Reviewed-on: genewildish/Mainline#14
2026-03-15 10:01:57 +00:00
e7de09be50 style: Replace escaped parentheses with standard parentheses in the Mainline Renderer documentation. 2026-03-15 02:58:38 -07:00
9140bfd32b feat: Introduce a complementary color gradient for queue messages. 2026-03-15 02:44:38 -07:00
c49c0aab33 Merge pull request 'refactor: Change firehose from a drifting overlay to a fixed bottom strip and message display from a top-pinned section to a centered overlay.' (#13) from drift into main
Reviewed-on: genewildish/Mainline#13
2026-03-15 09:27:16 +00:00
66c13b5829 refactor: Change firehose from a drifting overlay to a fixed bottom strip and message display from a top-pinned section to a centered overlay. 2026-03-15 02:26:44 -07:00
089c8ed66a Merge pull request 'drift' (#12) from drift into main
Reviewed-on: genewildish/Mainline#12
2026-03-15 08:33:48 +00:00
086214f05e style: remove firehose opaque row backdrop and background color 2026-03-15 01:31:44 -07:00
0f762475b5 feat: Apply a distinct background color to firehose lines. 2026-03-15 01:08:17 -07:00
b00b612da0 refactor: rename rendering components and variables for clarity, distinguishing between message, ticker, and scroll motion layers. 2026-03-15 00:58:36 -07:00
39dab4b22b feat: Implement a drifting firehose overlay that scrolls independently over the main ticker content. 2026-03-15 00:49:58 -07:00
47f17e12ef Merge pull request 'docs: Add ntfy.sh integration details, new CLI options, expanded configuration, and architecture overview to README.' (#11) from docs/update-readme into main
Reviewed-on: genewildish/Mainline#11
2026-03-15 07:19:14 +00:00
851c4a77b4 docs: Add ntfy.sh integration details, new CLI options, expanded configuration, and architecture overview to README. 2026-03-15 00:17:05 -07:00
cdbb6dfd1c Merge pull request 'feat/scalability' (#10) from feat/scalability into main
Reviewed-on: genewildish/Mainline#10
2026-03-15 06:50:11 +00:00
45a202e955 Merge branch 'main' into feat/scalability 2026-03-15 06:50:02 +00:00
339510dd60 Please provide the diff for /Users/genejohnson/Dev/mainline/mainline.py to generate an accurate commit message. 2026-03-14 23:46:31 -07:00
9bd8115c55 feat: introduce the scroll engine with a main rendering loop for headlines, messages, and visual effects. 2026-03-14 23:36:56 -07:00
2c777729f5 feat: Introduce ntfy.sh message polling, content fetching with caching, and microphone input monitoring. 2026-03-14 23:34:23 -07:00
0e500d1b71 Merge pull request 'feat/display' (#9) from feat/display into main
Reviewed-on: genewildish/Mainline#9
2026-03-15 06:25:57 +00:00
3571e2780b Merge branch 'main' into feat/display 2026-03-15 06:25:49 +00:00
dfd902fb90 feat: add module for fetching RSS feeds, parsing Project Gutenberg texts, and caching headlines 2026-03-14 22:51:50 -07:00
2e6b2c48bd feat: Introduce visual effects module, enhance text rendering with SSAA, and add shifting gradient support. 2026-03-14 22:15:48 -07:00
1ff2e54586 Merge remote-tracking branch 'origin/feat/display' into feat/scalability 2026-03-14 22:06:35 -07:00
424332e065 feat: Implement a top-pinned ntfy message banner that reduces scrollable area instead of freezing the display. 2026-03-14 22:02:28 -07:00
f6ad89769f feat: Implement OTF to terminal half-block rendering pipeline including font loading, text rasterization, word-wrap, and gradient coloring. 2026-03-14 21:53:47 -07:00
d3c403848c feat: Introduce translate module for Google Translate integration and location-based language detection, and add a new filter module. 2026-03-14 21:00:24 -07:00
119ed193c0 feat: Add terminal module. 2026-03-14 20:57:53 -07:00
dcc3718012 refactor: Create engine package, extracting data sources to sources.py, and add refactoring documentation. 2026-03-14 20:56:24 -07:00
2e69cad984 Merge pull request 'feat/display' (#8) from feat/display into main
Reviewed-on: genewildish/Mainline#8
2026-03-15 02:42:50 +00:00
7274f57bbb feat: Implement super-sampling for text rendering and adjust _RENDER_H from 16 to 8. 2026-03-14 19:21:24 -07:00
c857d7bd81 feat: implement dynamic shifting gradients for messages and scrolling content, and adjust rendering parameters 2026-03-14 19:15:55 -07:00
6a5a73fd88 Merge pull request 'feat/mod_poetry' (#7) from feat/mod_poetry into main
Reviewed-on: genewildish/Mainline#7
2026-03-15 02:06:55 +00:00
5474c58ce0 Remove Thoreau and Emerson from poetry sources. 2026-03-14 19:05:25 -07:00