tp/tp.el
Kinneyzhang 0d35358e05 refactor(tp)!: implement retained reactive runtime
Replace the legacy managed layer renderer with one independent retained/reactive text runtime. TP now owns exact dependencies, stable objects, marker-backed mounts, property contribution composition, atomic publication, rollback, and direct text-property facades without ECSS or Ebox dependencies.\n\nBREAKING CHANGE: remove tp-render, tp-stack, scan-driven managed layers, inline runtime metadata, TP-owned CSS cascade APIs, and dollar-variable declarations.\n\nVerified: 290/290 ERT, shuffled 290/290 (seed 20260806), 8/8 doctests, WERROR compile-all, checkdoc, package-lint, diff-check, and isolated TP-only load.
2026-08-07 00:39:50 +08:00

67 lines
2.4 KiB
EmacsLisp

;;; tp.el --- Retained reactive text runtime -*- lexical-binding: t -*-
;; Copyright (C) 2024-2026 Geekinney
;; Version: 1.0.0
;; Keywords: convenience text-properties
;; Author: Geekinney (kinneyzhang666@gmail.com)
;; Package-Requires: ((emacs "28.1"))
;; URL: https://github.com/Kinneyzhang/tp
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation; either version 3 of
;; the License, or (at your option) any later version.
;;; Commentary:
;; TP projects declarative properties, reactive data, and retained text
;; objects onto Emacs strings and buffers.
;;
;; It is organized as a stack of modules, each depending only on the
;; ones before it:
;;
;; tp-core.el Foundation: ranges, intervals, plist/face merge,
;; canonical requests/results, and debug logging.
;; tp-style.el Native property policies, contribution composition,
;; named declarations, and explicit computed values.
;; tp-reactive.el Exact signals, bindings, transactions, and scoped variable
;; adapters.
;; tp-surface.el Retained plans, objects, range anchors, mounts, indexes,
;; and atomic buffer publication.
;; tp-layer.el Named declaration recipes: `define-tp', `define-tps',
;; and direct property expansion.
;; tp-ops.el Core primitives: `tp-set', `tp-reset', `tp-add',
;; `tp-get', `tp-at', `tp-remove', `tp-clear'.
;; tp-search.el Pattern matching (`tp-match-*', `tp-regexp-*') and
;; property search/navigation (`tp-search', ...).
;; tp-query.el Native lookup/change wrappers and mutation policy.
;; tp-palette.el Color palette data (light/dark aware).
;; tp-builtins.el Built-in layers (tp-fg, tp-link, tp-action, ...)
;; and display helpers.
;;
;; Requiring this file loads the whole library:
;;
;; (require 'tp)
;;
;; See README.md for a guided tour and docs/ for details.
;;
;; Inspired by https://github.com/emacsorphanage/ov
;; Requires Emacs 28.1+ for `object-intervals'.
;;; Code:
(require 'tp-core)
(require 'tp-style)
(require 'tp-reactive)
(require 'tp-surface)
(require 'tp-layer)
(require 'tp-ops)
(require 'tp-search)
(require 'tp-query)
(require 'tp-palette)
(require 'tp-builtins)
(provide 'tp)
;;; tp.el ends here