Skip to content

Releases: farhantawfeeq56/edityy

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 08:21
0672681

Added

  • The dock's row glides when the layout mode changes. The controls both modes
    have are the same control, and they travel to the places the new row gives
    them. What the mode adds or removes crosses over, and the row takes its new
    width under them. (#236)
  • The children of a container glide to their new places when the layout mode,
    the direction, the wrap or the alignment changes. The browser cannot animate
    those properties, so the children are measured before and after the change and
    moved over the difference. A text element's words move with them, one box to a
    word, so an alignment change is a move and not a jump. (#236, #242)
  • The selection frame moves with the box it draws. (#236)
  • Undo steps back through a move, a delete and the words typed into an element,
    in the same stack as a style change. ⌘Z and ⇧⌘Z work after the edit ends, as
    they do during it. (#239)
  • The editor's own scroll areas wear one thin scrollbar in the ramp, in the
    standard and in the WebKit spelling, so a list never shows the scrollbar of
    the host page. (#239)

Changed

  • The last button in the row draws three dots and is named More controls. It
    opens the list it opened before: the controls this one element can take. (#241)
  • Two things in a panel stand a gap apart. The room comes from the panel's stack,
    so two chips never read as one box. (#241)

Fixed

  • The pointer's fill stays where it was measured when the layout mode changes.
    It sat between two controls that the change had removed, and it pointed at
    them. It now goes down with them, and comes back with the first move of the
    pointer. (#236)
  • The text alignment control cycles from the value the text has. An element with
    no alignment computes to start, and text-align: end computes to end:
    neither was in the list, so the first press wrote the alignment the text
    already had. (#242)
  • A shadow's four fields keep a gap between the columns, not only between the
    rows. (#241)

npm: https://www.npmjs.com/package/edityy/v/0.8.0

What's Changed

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 13:53
669bd61

Added

  • npx edityy init writes the whole setup for the project it runs in: the Vite
    plugin, or the Next.js client file and proxy.ts; the MCP server in the agent
    config it finds; and the vartest rules in AGENTS.md. It installs the
    package when it is missing, changes nothing on a second run, and never edits
    next.config.ts. --remove takes it back out.
  • npx edityy doctor checks the setup again, and asks the MCP server for its
    tools over stdio. A written config file is not proof that the server answers.

Changed

  • Under Next.js, both endpoints answer from proxy.ts, so the app needs no
    rewrite and no route folder for them. next.config.ts keeps no Edityy lines.

npm: https://www.npmjs.com/package/edityy/v/0.7.0

What's Changed

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 06:24
f9b40ea

Added

  • A media element has its own controls in the dock's row: Width and
    Height, as fields in pixels, and Radius. The list beside each length
    says Auto, which gives the image back to the size of the page, and a
    press on the field puts the caret in it, so an exact size is typed as any
    other number is. A media element's + offers Opacity in place of the
    fill, and Radius opens a field of its own. (#223)
  • A border says where it sits: Inside, Center or Outside, on the
    same line as its width. Inside is a border, which takes its room from the
    box, Outside is an outline, and Center is that outline pulled in by half its
    width. (#228)
  • A hairline stands between the controls and the +. (#223)

Changed

  • The tip is the size of the dock: 11px in the 7px corner its buttons have, so
    it reads as part of the row and not as a card. (#223)
  • The corner radius and a shadow's blur wear a mark of their own, so the border
    keeps its square and the opacity keeps its drop. (#223)
  • A chip in the row keeps its tip. The mark a chip wears, a letter or a ×, is
    not a word, so the tip says the name of the field. (#223)
  • The dock bar unfolds from the Edits button when it opens: the bar holds its
    place, its left edge travels, and the right edge it hangs from slides the
    half the bar grew by. (#230)

Fixed

  • A surface that is sent away and comes back takes clicks again. The fade out
    left pointer-events at none, and only an interrupted fade cleared it, so
    every press in a dock that had finished leaving landed on the page behind.
    The card had the same fault. (#227)

npm: https://www.npmjs.com/package/edityy/v/0.6.0

What's Changed

Full Changelog: v0.5.1...v0.6.0

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 13:22
b1b1a83

Added

  • The package ships its motion tokens as a stylesheet: edityy/motion.css is
    a new export. It holds the five curves and the nine durations that the
    editor chrome uses, so a page that imports it runs on the same timings as
    the chrome. (#206)

Changed

  • The dock wears the native look: the controls are 30px, the icons are 16px,
    the groups are set by space and not by lines, and the surface is a hairline
    with a soft shadow. The element card and the panel over the dock wear the
    same size and the same surface. The controls, the actions and the shortcuts
    do not change. (#205)
  • Surfaces leave as carefully as they arrive, and a panel whose content
    changes under the reader's eyes crosses rather than cuts. (#206)
  • The pointer dot tracks the cursor with no lag. The dot's scale is animated
    and its travel is not, so the dot is under the pointer and not chasing it.
    (#206)
  • A tip that is interrupted travels from where it is showing, and the
    animation it replaces stops. A control that already says what it is gets
    no tip. (#206)
  • The row slides to its new place when a control is added, instead of
    jumping. The card's buttons and the strip's rows are kept between redraws,
    so a scroll does not blink the card. (#206)
  • A dock or a card that is sent away and wanted back comes back from where it
    is. (#206)
  • An undo during a delete stops the delete: an element that was put back does
    not fade away in the reader's hand. (#206)
  • Reduced motion is one rule in the chrome and in the stylesheet: every
    duration collapses. (#206)

Fixed

  • Two rules of the sheet lost their closing brace, and the parser read every
    rule after them as part of them. The frames, the launcher, the element
    card, the tip and the buttons wore no style at all. A rule that is not
    closed is now a test. (#206)
  • The element action's rule lost its closing brace with the dock's own look.
    (#206)

npm: https://www.npmjs.com/package/edityy/v/0.5.1

What's Changed

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 10:23
6cb6010

Added

  • One element can be varied. The element actions carry Variations: the box
    asks how many variants to make, 2 to 10, and takes an optional comment. The
    box then becomes a waiting card that says what to type in the agent, and the
    agent answers with that many variations of plain CSS declarations. The agent
    never sees the page code: it gets the element's tag, its selector and a few
    computed values. (#199)
  • A strip at the bottom right shows the variations on the live element. Keys
    1 to 9 pick one and 0 picks the tenth, and the one that is kept is an
    ordinary edit: Save to project and Copy for an agent carry it like
    any other, and Escape or leaving the mode reverts it. (#199)
  • A variation can change a state, a pseudo-element or a breakpoint. A
    declaration with on is a state or a pseudo-element of the element itself,
    and a declaration with when is a media condition. The browser cannot show
    either in an inline style, so Edityy writes them into a stylesheet of its own
    for that element, and takes the sheet away with the edit. (#199)
  • The MCP server has two tools for this: get_variation_request returns what
    the user asked for, and place_variations takes the answer. The request and
    the answer live in .edityy/variation-request.json and
    .edityy/variation-response.json. (#199)
  • A new endpoint, POST, GET and DELETE /__edityy/variations, and a
    Next.js route file for it: app/edityy/variations/route.ts, with a rewrite
    from /__edityy/variations onto it. (#199)

Changed

  • The text edit ends with a Done button in the element card. The card
    holds that button alone, so a click in the words moves the caret and nothing
    else. (#199)
  • The page asks for the answer for two minutes, and then says the agent did
    not answer. A variation that is picked is an ordinary edit, so undo steps
    over it. (#199)
  • The answer is read from the fifteen values the page actually reads, so the
    request stays under about 800 characters. (#199)
  • The waiting card says to say what you want in the same message, and the agent
    follows the user's own words as well as the comment. A request without a
    comment asks for styles that differ from each other, not shades of one
    style. (#199)
  • An answer for a request the user changed says what to answer: the new number
    of variations and the new id. More variations than the user asked for are not
    a refusal; the first ones are the ones the user sees. (#199)
  • The request the user takes back with the X stays in the file, marked as
    taken back, so a withdrawal is not the same as a request that was never
    made. (#199)
  • The strip names the element it varies, and Keep is grey until a
    variation is on the element. The picked row wears the cobalt of an active
    state, and the list scrolls when ten rows do not fit. (#199)

Removed

  • The Parent and Child buttons in the element actions. The arrows move
    the selection to the parent, the first child and the siblings. (#199)

npm: https://www.npmjs.com/package/edityy/v/0.5.0

What's Changed

Full Changelog: v0.4.1...v0.5.0

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 07:22
bf11b71

Added

  • A numeric style field turns under the pointer: one wheel notch is one step, a
    4px sideways drag is one step, and a click still puts the caret in to type.
    The value stops at the field's own limits, and one drag is one undo step. A
    one-time line says "Scroll to adjust", and after it the pointer and the field's
    outline say the same thing. (#197)
  • The font control lists the face the element wears now, even when the page does
    not declare it, so the list always offers a way back to that face. (#197)

Changed

  • The Google Fonts catalog answers a search instead of loading when the list
    opens, and only the rows that are drawn are previewed. (#197)

npm: https://www.npmjs.com/package/edityy/v/0.4.1

What's Changed

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 06:09
3803738

Changed

  • The editor chrome uses the interaction rules of interior.dev. The dock
    tooltips are one group: the first tooltip opens after 200ms, and the next one
    opens at once and moves to its control. One hover fill moves along the dock
    row. A panel grows from its control and fades out when it closes. The copy and
    save buttons change their words in place, and the edits count pops when it
    changes. The dock and the element menu move in when they appear. Reduced
    motion stops all of this motion. (#181)
  • A grid wears its columns and rows in the dock row as columns × rows, with
    auto where the grid names no tracks of that axis. The count is read from the
    resolved track list, so a grid written with repeat() or with its tracks
    written out shows the count it has. An absolute element wears its top, right,
    bottom and left offsets in the row, one field for each side. (#187)
  • The alignment control is a 3 x 3 grid of empty cells. The cell is the
    control, and the cell that is picked is filled. (#188)
  • A shadow on words is written as text-shadow, so the letters carry it and the
    block does not. Its four lengths are number fields in a 2 x 2 grid, with a
    glyph where "Blur" and "Spread" stood, and the colour under them. A text
    shadow offers no spread, because CSS has none for it. (#189)
  • The padding and margin panel has one field for the left and right pair, and
    one field for the top and bottom pair: a box is even both ways far more often
    than not. Each pair shows two arrows, and its one value is written to both
    sides. A link button beside the pair breaks it into a field per side, each
    with one arrow. A pair that the stylesheet already sets apart opens broken. The
    Grid gap sliders wear glyphs in place of "Column gap" and "Row gap". (#191)
  • Every slider in the dock is a number field: the weight of a variable face, the
    gap, the column and row gap, and a border's width. A number is typed, not
    dragged. The padding and margin panel keeps its two pair fields, and no slider
    stands above them. (#192)
  • The typography spacing panel wears a glyph where a word stood: sideways arrows
    for the letters, up and down arrows for the lines. The word stays on the field,
    where a screen reader reads it, like the shadow's blur and spread. (#192)
  • A list row that shows its own words keeps no title. Hovering "Shadow" in the
    + list showed "Shadow" a second time, in a browser tooltip. The row keeps its
    accessible name. (#192)
  • Every field is one chip and answers the pointer the same way: a hairline and
    paper at rest, a touch of ink under the pointer, and the open fill with a
    darker hairline while it holds the caret. A number in a panel is as wide as
    its own digits, so it no longer spans the panel; the dock's own fields keep
    the width they are drawn at. (#192)
  • Every value in a panel sits in one chip with the glyph that names it: the two
    typography spacings, the gap, the border width, the shadow lengths, the colour
    value, the weight and the padding and margin sides. A chip presses like the
    size chip in the dock: down in .08s, back in .2s, and it takes the open fill
    while it holds the caret. A number is as wide as its digits and the room to
    type one more, so no field is wider than its value. A dock count field no
    longer takes the padding of a panel field, so it is the width it says it is.
    The search and the comment box keep the width their words need. (#193)
  • The dock's size and count chips are a box before the pointer arrives: the
    same hairline a panel field wears, and the open fill while it holds the caret.
    The cobalt ring is not on a field: a text field answers that ring to a pointer
    too, so a click drew a blue edge around a field that had done nothing. The
    cobalt ring stays on the buttons and the lists, where only the keyboard draws
    it. (#193)

Fixed

  • The + list wears the chrome face. It drew its words in the machine UI face,
    because each row carried a font stack of its own. (#194)
  • A pointer over an option of the size list no longer moves the row's hover fill
    to the left end of the row, where the font family chip stands. An option is
    part of the list that came out of its chip, not a control of the row. (#194)
  • The foot of the family list says "Search for more fonts", with no count in
    front of it, in an 11px line where it stood at 16px. (#194)
  • A number field printed its value twice: once in the field and once beside it,
    where a unit stood. The field says the number, and no unit stands beside it.
    (#190)

Removed

  • A grid no longer offers the Alignment control. The Grid size control, and the
    width and height control of an absolute element, are gone: their values are
    fields in the dock row. (#187)
  • Edit text no longer plays the Canvas UI ASCII sweep. The caret goes in at
    once, and the launcher no longer fetches a second file. A cyclic dock control
    changes the element with no animation. (#179)

npm: https://www.npmjs.com/package/edityy/v/0.4.0

What's Changed

Full Changelog: v0.3.1...v0.4.0

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 06:03
74e0ab7

Added

  • The flex direction and flex wrap controls cycle on one click. Each button shows
    the value the element has, and no list opens. (#152)
  • Edit text plays the Canvas UI ASCII sweep over the element before the caret goes
    in. The effect is its own file, served beside the launcher and fetched the first
    time a user asks to edit text. Only the band is drawn over the page, so the
    words keep their own rendering everywhere the band is not. A page without it, or
    a browser without WebGL2, edits text as it did before. (#162)
  • The element actions carry a Comment action. It opens a field for a note about
    the element, and the note travels with the edits: it is in
    .edityy/changes.json, in the Markdown the agent reads, and in the MCP tool
    result. A change without a note keeps comment: null. (#174)

Changed

  • Every colour is picked in HeroUI's picker: the text colour, a fill, a border
    and a shadow. It is a saturation and brightness field with a dot to drag, the
    hue slider with the browser's own picker beside it, and one line holding the
    hex code and the transparency as a percentage. A colour with any transparency
    is written as rgba(r, g, b, a), and a solid one stays #rrggbb. The native
    swatch the fill, border and shadow controls used is gone. Where the picker is
    the whole control it wears HeroUI's white overlay; every other control keeps
    the dock's cream. (#171)
  • Font size and font weight are one value each: the field beside the arrow holds it,
    the arrow opens the common values, and a pick writes the field instead of a
    second readout. The list of sizes opens upwards, over the dock, where the button
    is in view. (#170)
  • The font family button in the dock draws its name in the family it names, and
    the name is set at the size the dock uses. (#170)
  • An open dock control takes the screen from the element actions: the card at the
    element closes while a control or a list inside one is open, and comes back when
    it closes. Moving to another element closes the control that belonged to the
    last one. (#166)
  • Edit text opens on an element whose words are split by a child element — a
    paragraph around a link — and the caret starts at the end of the words. Leaving
    the mode puts the markup back, child element included. (#165)
  • The style dock is fixed at the bottom centre again, whatever the selected
    element does. An open control comes out over the dock. The element actions
    keep their own card at the element. (#151)

Removed

  • The Add element button and its Text and Container choices are gone. A click on
    the page selects an element; it never inserts one. Shift+A still wraps selected
    elements in a new container. (#153)

Fixed

  • A Next.js app that builds with webpack can import edityy on the server.
    Before, the save route threw on load, saving failed with a 500 and next build
    stopped. This is the default on Next.js 15, and --webpack on 16. (#155)

npm: https://www.npmjs.com/package/edityy/v/0.3.1

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 08:14
78ec782

Added

  • The selection frame carries four corner handles and four edge handles. An edge
    handle is at most 24px or 40% of its edge, whichever is smaller, and a handle
    on a short edge is hidden. (#147)

Changed

  • The bounding box is a 1.5px line that straddles the element's own edge, in the
    negative of the colour it lies on. (#147)
  • Every icon is a Phosphor regular glyph, so the dock, the element actions and
    the insert marker draw one family. (#148)

npm: https://www.npmjs.com/package/edityy/v/0.3.0

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 12:26
c47f5c3

Changed

  • Selecting an element opens one surface at the element. The element actions
    come first, and the style controls sit below them. An open control comes out
    below the controls. (#145)
  • The surface follows the element. The controls sit under the actions, or
    beside them when the page leaves no room there. An open control comes out
    above the actions when there is no room below the controls. (#145)

Removed

  • The interaction variant switcher, its number keys and the saved variant are
    gone. The merged surface is the design. (#143, #145)

npm: https://www.npmjs.com/package/edityy/v/0.2.0

What's Changed

Full Changelog: v0.1.7...v0.2.0