Commit graph

2750 commits

Author SHA1 Message Date
Danila Poyarkov 89672abeab docs: distinguish recovery settings from snapshot actions 2026-09-15 23:19:30 +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 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
Danila Poyarkov 3ea63ad09f fix: refresh Undo and Redo command availability
Publish committed history changes independently of scene mutations so menus observe history recorded after the final draw. Align the assets regression with the documented top-left default.
2026-09-14 00:25:36 +03:00
Danila Poyarkov e50df9ffda test: cover and document inherited instance dimensions 2026-09-14 00:24:52 +03:00
Danila Poyarkov 4077dcbd44 fix: preserve authored instance sizing through synchronization 2026-09-14 00:24:52 +03:00
Danila Poyarkov 3df430f036
Merge pull request #688 from open-pencil/jsx-component-properties
feat: author scoped component properties in Design JSX
2026-09-14 00:24:50 +03:00
Danila Poyarkov 7b16881e03 fix: reject ambiguous variant property names 2026-09-14 00:14:09 +03:00
Danila Poyarkov 27e3bc3023 test: group JSX component contracts by domain 2026-09-14 00:01:41 +03:00
Danila Poyarkov 0a6ce6e72d fix: validate component property reference scopes
Reject unknown or incompatible references while the owning component definitions are available, including inherited component-set definitions. Keep nested component scopes separate.
2026-09-13 23:57:24 +03:00
Danila Poyarkov 243eaf9626 fix: declare the Core component validation dependency
Declare Valibot in Core so installed artifacts resolve it by package name instead of retaining a workspace-only Bun cache path.
2026-09-13 23:43:07 +03:00
Danila Poyarkov e98fcd2848 Merge remote-tracking branch 'origin/master' into jsx-component-properties 2026-09-13 23:27:22 +03:00
Danila Poyarkov 25cc522f12
Merge pull request #687 from open-pencil/native-authoring
refactor: share design authoring guidance across agents
2026-09-13 23:27:15 +03:00
Danila Poyarkov 320b0db2c5 Merge remote-tracking branch 'origin/master' into native-authoring 2026-09-13 21:31:09 +03:00
Danila Poyarkov 788d679564
Merge pull request #690 from open-pencil/release-markdown-update
build: upgrade paired Markdown packages to beta.5
2026-09-13 21:31:04 +03:00