Commit graph

2762 commits

Author SHA1 Message Date
Danila Poyarkov a4c3e803f6
docs: curate unreleased changelog 2026-09-15 23:37:08 +03:00
Danila Poyarkov 6a4781c7ab chore: merge master into docs/changelog-release-audit 2026-09-15 23:29:15 +03:00
Danila Poyarkov 9dd5359a0a
ci: keep AI disclosure out of co-author credits (#706) 2026-09-15 23:29:10 +03:00
Danila Poyarkov 9d89b6a7f5 docs: describe the imported dash rendering fix 2026-09-15 23:26:18 +03:00
Danila Poyarkov 53400d1089 chore: merge master into ci/ai-attribution-policy 2026-09-15 23:23:26 +03:00
Danila Poyarkov 27d1d9ca33
refactor: consolidate Playwright projects (#702) 2026-09-15 23:23:22 +03:00
Danila Poyarkov 3b4fdeb623 fix(ci): recognize bare AI co-author addresses 2026-09-15 23:22:21 +03:00
Danila Poyarkov 89672abeab docs: distinguish recovery settings from snapshot actions 2026-09-15 23:19:30 +03:00
Danila Poyarkov 2c596173d8 chore: merge master into refactor/playwright-projects 2026-09-15 23:17:05 +03:00
Danila Poyarkov cc9e6b073c
fix(ci): classify package READMEs as documentation (#705) 2026-09-15 23:15:11 +03:00
Danila Poyarkov 2eef5610d8 ci: keep AI disclosure out of co-author credits
Welcome AI-assisted contributions while reserving co-author trailers for human credit. Reuse commitlint and Git trailer parsing to reject known assistant identities in new commits without altering existing history or legitimate credits.
2026-09-15 23:12:44 +03:00
Danila Poyarkov 9e45ccae32 fix(ci): classify package READMEs as documentation 2026-09-15 23:06:06 +03:00
Danila Poyarkov 2afdacfdc3 docs: curate unreleased changelog
Compare release notes with v0.14.0 and the final public behavior. Add missing migration requirements and documented outcomes, consolidate overlapping notes, and remove internal or superseded details without changing historical releases.
2026-09-15 22:33:18 +03:00
Danila Poyarkov 9be2e76bf6 refactor: consolidate Playwright projects 2026-09-15 22:10:56 +03:00
Danila Poyarkov 445b85ddc0
ci: validate PR titles and sharpen review guidance (#701) 2026-09-15 21:49:16 +03:00
Danila Poyarkov 8cd82e1617 chore: hide review status chatter and test generation prompts 2026-09-15 21:43:04 +03:00
Danila Poyarkov 981d403504 docs: keep PR writing concise and reduce review noise 2026-09-15 21:40:18 +03:00
Danila Poyarkov e40df128e9 ci: validate PR titles and sharpen review guidance 2026-09-15 21:36:09 +03:00
Danila Poyarkov 4b5f0da3bc
Merge pull request #700 from open-pencil/build/commitlint
ci: validate PR commits and streamline package verification
2026-09-15 21:19:22 +03:00
Danila Poyarkov 08ba92f748 Merge remote-tracking branch 'origin/master' into build/commitlint 2026-09-15 21:13:25 +03:00
Danila Poyarkov 50fe3d4886
Merge pull request #680 from open-pencil/lint-no-module-mocking
feat(lint): reject low-evidence test and type patterns
2026-09-15 21:11:26 +03:00
Danila Poyarkov 750f5dcde7 fix(ci): preserve phase outcomes when timing reports fail 2026-09-15 21:06:02 +03:00
Danila Poyarkov c56cc4f2eb Merge remote-tracking branch 'origin/master' into lint-no-module-mocking 2026-09-15 20:56:17 +03:00
Danila Poyarkov ed7f3c140d fix(lint): normalize fractional slice bounds 2026-09-15 20:56:17 +03:00
Danila Poyarkov d5a4b9afb5 ci: validate PR commits and streamline package verification 2026-09-15 20:51:33 +03:00
Danila Poyarkov 4bf7357e4b
Merge pull request #697 from open-pencil/mcp-v2-webmcp
feat(mcp)!: migrate to SDK v2 and add browser-native WebMCP
2026-09-15 20:01:12 +03:00
Danila Poyarkov 38e80a4567
Merge branch 'master' into mcp-v2-webmcp 2026-09-15 19:55:49 +03:00
Danila Poyarkov 953171dea1 refactor(settings): finish shared section migration
Use SettingsSection across Settings, including header actions. Delete SettingsSectionHeader, use shared diagnostic groups and retention controls, and remove the model provider's one-off styles.
2026-09-15 19:45:30 +03:00
Danila Poyarkov a91647b852 fix(tools): guard checkpoint identities and share input schemas
Reject replacement of captured node and variable objects, preserving references on rollback. Reuse traversal and comparison schemas and the node-not-found helper to remove the duplication failures without changing tool inputs.
2026-09-15 19:45:30 +03:00
Danila Poyarkov b64d1b593c fix(settings): refresh select labels and unify controls
Render selected labels from reactive options rather than cached menu text. Refine action-row hover and cursor states, add a connection-test icon, simplify media credentials, and share semantic external links across Settings. Cover locale switching and link destinations with focused regressions and Storybook states.
2026-09-15 19:20:30 +03:00
Danila Poyarkov 99e7e1909e refactor(settings): share section layout and polish General
Use a slot-based section for consistent spacing and accessible headings. Align selectors, simplify translated copy, and separate experimental rendering and reload feedback. Keep section states in Storybook.
2026-09-15 18:57:08 +03:00
Danila Poyarkov b0dfde74f5 fix(settings): standardize save feedback and deletion guards
Share persistent alerts, distinguish partial persistence from validation errors, preserve model identity on retries, and apply the store's deletion eligibility before clearing credentials. Document toast, field-error, alert, and Storybook ownership.
2026-09-15 17:53:30 +03:00
Danila Poyarkov 46aa00d3d1 refactor(tools): default interface exposure to inclusion
Share typed MCP, AI, and WebMCP exclusions across adapters. Preserve the browser tool inventory through explicit exclusions and keep execution support and user permissions independent.
2026-09-15 17:12:31 +03:00
Danila Poyarkov f25e3f72a2 fix(tools): preserve atomic property state and validate inputs
Record property presence for exact undo/redo, including explicit undefined values, and reject instance index mutations. Tighten numeric and operand schemas to match execution contracts.
2026-09-15 16:47:37 +03:00
Danila Poyarkov ea4b8e4b97 feat(settings): unify preferences and integration editors
Unify Settings navigation, credential drafts, translated form validation, and appearance controls. Add explicit WebMCP access modes and searchable MCP tool permissions while preserving execution and credential safeguards.
2026-09-15 16:34:05 +03:00
Danila Poyarkov 4a9bad5cec refactor(tools)!: centralize schemas and execution contracts
Define native Valibot inputs and execution/exposure metadata on each tool. Derive effects and default capabilities, consume upstream Standard Schema conversion, and validate finite numeric inputs consistently across adapters.

Move atomic execution to Core and restore failures from Scene Graph checkpoints without relying on a property diff. Preserve topology, collections, indexes and surviving object identities during rollback.

BREAKING CHANGE: custom tools use input schemas and execution metadata instead of params, ParamDef and independently declared mutation flags. Direct tool execution validates inputs before invoking the handler.
2026-09-15 10:55:27 +03:00
Danila Poyarkov f2bfaba287 refactor: narrow lint policies and consolidate their support
Remove the disabled widening audit and its resolver. Fix Bun aliases and bounded reducer slices, reject parser failures in shared fixtures, and retain upstream attribution in NOTICE.
2026-09-14 10:10:27 +03:00
Danila Poyarkov c274fecaa8 Merge remote-tracking branch 'origin/master' into lint-no-module-mocking 2026-09-14 09:51:30 +03:00
Danila Poyarkov a9bf1b3b69
Merge pull request #693 from open-pencil/announcement-system
feat: assemble an editable demo document
2026-09-14 09:11:07 +03:00
Danila Poyarkov 9973bd2f18 test: replace legacy demo snapshots with current coverage 2026-09-14 01:20:56 +03:00
Danila Poyarkov fdf04c35e5 feat(automation): expose reviewed tools through WebMCP
Register inspection and atomic editing tools through document.modelContext with input validation, result bounds, captured targets, cancellation guards, and workspace cleanup. Verify native browser discovery and cross-page undo.
2026-09-14 01:16:23 +03:00
Danila Poyarkov 4194684765 fix: honor ruler visibility on the overlay canvas 2026-09-14 01:12:26 +03:00
Danila Poyarkov 31d886ca27 fix: preserve replacement documents after demo preparation 2026-09-14 01:12:26 +03:00
Danila Poyarkov e0012fb165 Merge remote-tracking branch 'origin/master' into demo-final-review 2026-09-14 01:10:54 +03:00
Danila Poyarkov 5cc6fa70ed
Merge pull request #695 from open-pencil/browser-history-contracts
fix: refresh Undo and Redo command availability
2026-09-14 00:59:01 +03:00
Danila Poyarkov 892550a287 feat(automation): share atomic property-edit transactions
Commit audited synchronous node and variable edits with property-level rollback and undo tied to the original document. Load fonts after commit and retain legacy paths for asynchronous and structural tools.
2026-09-14 00:54:13 +03:00
Danila Poyarkov f03fa7eff6 feat(mcp)!: migrate to SDK v2 and Valibot
Share canonical tool inputs with AI and browser adapters through Valibot and Standard Schema while retaining MCP numeric coercion and existing transports.

BREAKING CHANGE: programmatic integrations use SDK v2 server/client types; paramToZod is removed in favor of the shared Core tool input contract.
2026-09-14 00:54:13 +03:00
Danila Poyarkov 2ff9c34d17 Merge remote-tracking branch 'origin/master' into browser-history-contracts 2026-09-14 00:46:59 +03:00
Danila Poyarkov 21ecce1f38 feat: assemble an editable demo document
Compose announcement, typography, and paint workbenches with native linked components and editable effects. Preserve the original examples on a reference page.

Wait for the canvas and existing fonts before layout, fit demo pages on first visits, and preserve user viewports thereafter.
2026-09-14 00:36:53 +03:00
Danila Poyarkov e398f41df0
Merge pull request #691 from open-pencil/review-note-proof
fix: preserve Design JSX instance sizing through component sync
2026-09-14 00:36:51 +03:00