Commit Graph

375 Commits

Author SHA1 Message Date
Kinneyzhang
a1c4fa0151 update 2026-01-03 00:11:47 +08:00
Kinneyzhang
82c226e777 update 2026-01-02 19:41:11 +08:00
copilot-swe-agent[bot]
9a65f85fe8 Fix property merging when combining custom layers with built-in properties
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-01 17:09:37 +00:00
copilot-swe-agent[bot]
04feef0433 Add automatic property merging for duplicate keys in single call
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-01 16:49:16 +00:00
copilot-swe-agent[bot]
adb56bd01d Initial plan 2026-01-01 16:40:10 +00:00
copilot-swe-agent[bot]
3410e28dac feat: add recursive resolution for nested custom layer properties
When a define-tp layer returns a plist containing other custom layer names,
those are now recursively expanded to their built-in text properties.

This fixes the issue where tp-button using tp-palette internally would
leave tp-palette as a text property instead of resolving it to the
actual face properties.

Changes:
- Added tp--plist-has-layer-key-p helper function
- Updated tp--expand-layer-in-plist to recursively expand layer props
- Updated tp-layer-props to expand nested layers in returned plist
- Updated tp-layer-props-with-arg to expand nested layers in returned plist
- Added 3 tests for nested layer resolution

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-31 08:15:32 +00:00
copilot-swe-agent[bot]
d824de77ee Initial plan 2025-12-31 08:03:05 +00:00
Kinneyzhang
3be28a7362 update 2025-12-31 16:02:30 +08:00
copilot-swe-agent[bot]
95f0f3d702 Add documentation for :transform, batch updates, and debug mode in English and Chinese
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-31 07:29:18 +00:00
copilot-swe-agent[bot]
c20c1efb54 Initial plan 2025-12-31 07:19:57 +00:00
Kinneyzhang
6ffef7932c update 2025-12-31 15:17:17 +08:00
Kinneyzhang
352977b4fe improve code 2025-12-31 00:18:48 +08:00
copilot-swe-agent[bot]
197a564733 Improve documentation and add error handling for palette utility functions
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-30 16:00:49 +00:00
copilot-swe-agent[bot]
03aa3d392a Add validation for built-in text property names in define-tp and improve tp-palette colors
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-30 15:59:00 +00:00
copilot-swe-agent[bot]
f9e5ffaaf1 Initial plan 2025-12-30 15:41:29 +00:00
Kinneyzhang
8d17b7da12 modify tp-button 2025-12-30 23:39:14 +08:00
Kinneyzhang
98d554aa1a add tp-palette 2025-12-30 18:09:18 +08:00
Kinneyzhang
81e20918f2 add built-in colors 2025-12-30 11:50:04 +08:00
copilot-swe-agent[bot]
0b49e8202b Add reactive system optimizations: batch updates, value transforms, debug mode
- Add tp-with-batch-updates macro for deferring reactive updates
- Add :transform option for tp-text value transformation
- Add tp-debug-mode for tracing reactive updates
- Remove widget tests (moved to twidget repository)
- Remove widget documentation
- Add optimization documentation (CN/EN)
- Fix deep merge for reactive property updates

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 16:53:09 +00:00
copilot-swe-agent[bot]
455721bbc1 Initial plan 2025-12-29 16:30:41 +00:00
Kinneyzhang
c59ac63837 remove code related to widget 2025-12-29 15:28:50 +08:00
copilot-swe-agent[bot]
388bb667ca Change named slots syntax from :name-slot to (slot-name ...) sexp format
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 04:00:02 +00:00
copilot-swe-agent[bot]
7c64cb32ff Implement named slots and component inheritance for widgets
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 03:08:54 +00:00
copilot-swe-agent[bot]
edf2c908ea Add warning for unused slot arguments when slot is not supported
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 01:16:12 +00:00
copilot-swe-agent[bot]
fbd1e72836 Update widget slot system to boolean and support multiple slots, add optimization doc
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 01:14:33 +00:00
copilot-swe-agent[bot]
57b6eb14e3 Initial plan 2025-12-29 01:06:02 +00:00
Kinneyzhang
4edd27ccab improve code 2025-12-29 08:52:53 +08:00
copilot-swe-agent[bot]
4abcb0fd33 Address code review feedback: improve efficiency and documentation
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 19:17:54 +00:00
copilot-swe-agent[bot]
09b56b584e Implement tp-define-twidget and tp-widget-parse for widget definition and parsing
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 19:15:44 +00:00
copilot-swe-agent[bot]
64ef1c02bc Initial plan 2025-12-28 19:10:06 +00:00
copilot-swe-agent[bot]
328d98b7ef Support reactive variables with define-tp layers: adds tp-name only when reactive vars present
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:54:38 +00:00
copilot-swe-agent[bot]
e9cb90cce7 Support parameterized and non-parameterized define-tp layers in tp-push-layer/tp-put-layer
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:39:10 +00:00
copilot-swe-agent[bot]
aafbeff1a4 Remove tp-name from direct property setting, keep for layer stack and reactive
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:19:21 +00:00
copilot-swe-agent[bot]
42c436494f Consolidate tp-layer-params into tp-layer-alist with unified structure
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:48:12 +00:00
copilot-swe-agent[bot]
c701a1ca75 Support layer properties at any position in plist
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:26:32 +00:00
copilot-swe-agent[bot]
e4729668ed Fix: support mixing layer properties with native text properties
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:11:34 +00:00
copilot-swe-agent[bot]
31ccbb6924 Address code review comments: improve comments clarity
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:44:20 +00:00
copilot-swe-agent[bot]
a24bd264c1 Update define-tp format: use empty arglist () for non-parameterized layers
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:42:25 +00:00
copilot-swe-agent[bot]
0b44d1f57b Add parameterized define-tp format and new usage syntax
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:35:42 +00:00
copilot-swe-agent[bot]
967f69ad97 Initial plan 2025-12-28 16:22:39 +00:00
Geekinney
3e8ca76023
Merge pull request #42 from Kinneyzhang/copilot/update-docs-responsive-text
Add English reactive text properties guide and link docs from READMEs
2025-12-28 19:20:00 +08:00
copilot-swe-agent[bot]
11db0e3c04 Add English reactive text properties guide and link to detailed docs in both READMEs
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 11:01:35 +00:00
copilot-swe-agent[bot]
01d86bd516 Initial plan 2025-12-28 10:57:32 +00:00
Geekinney
0052467c27
Merge pull request #41 from Kinneyzhang/copilot/optimize-tp-text-attribute
Fix tp-text reactive variable synchronization when initial value is nil
2025-12-28 18:47:09 +08:00
copilot-swe-agent[bot]
09a2294629 Clean up duplicate entry in .gitignore
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:32:18 +00:00
copilot-swe-agent[bot]
fefe5873ed Address code review feedback: use helper function for layer props update
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:31:31 +00:00
copilot-swe-agent[bot]
094f8f0f88 Fix tp-text reactive variable synchronization when initial value is nil
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:29:03 +00:00
copilot-swe-agent[bot]
842482245b Initial plan 2025-12-28 10:22:37 +00:00
Kinneyzhang
2156d1083a improve code 2025-12-28 18:19:15 +08:00
Kinneyzhang
bb7b1b2962 Merge remote-tracking branch 'origin/copilot/optimize-tp-el-code-structure' 2025-12-28 18:15:36 +08:00