- Archify's theme toggle: pill track, sliding knob, masked sun/moon icon
- buttons as quiet 0.5rem pills inside 0.5625rem controls, pressed state like Archify's, Export PNG as the filled 0.6875rem primary
- Model | Graph switch styled as the 2D | 3D switch's twin
- layered layout by type (clients left, data right), empty columns left out, barycenter row ordering; registries in a row above, decisions in a row below; Force layout as the alternative
- orthogonal connections with labels staggered next to their source; opaque tinted nodes hide lines behind them
- hover glow on elements and their connections; decision and registry links show for the selected element or all with Links
- sun/moon button next to Export; the choice is remembered in the page state and written to the archify-theme key the diagram pages use
- explicit dark and light token sets; without a choice the page follows VS Code's theme as before
- Cytoscape restyles from the page tokens whenever the theme changes
- one node per decision (tag coloured by status) with decides links to its elements and supersedes links
- one node per registry file with defines links to its elements
- own legend chips, side panels (Open decision, Open registry), type:decision and type:registry
- walks and paths follow the diagrams' connections only; attached nodes follow their elements into a result
- Model | Graph switch on main.archify (Diagram | Graph on diagram pages, narrowed to that diagram)
- union graph of every element and connection, registry and inline, built from the model index
- query box: text, type:, diagram:, decision:, uses:, near:, from: to:, unused, shared, -shared
- side panel per element and connection with diagrams, registry line and decisions one click away
- legend chips, Fit, Layout, Labels, Export PNG; Cytoscape.js bundled as dist/graph.js
- command Archify | Open Model Graph; integration check; unit tests for graph and queries
- *.archify-decision files: id (unique, words), title, status, date,
elements, diagrams, supersedes, and prose; parsed, merged and link-checked
in the model index; diagnostics on the file
- diagrams point at decisions with decisions: [...] on the diagram, nodes
and edges; stripped before Archify, unknown ids reported, completion,
hover and go-to-definition for the ids and for elements/diagrams/
supersedes in decision files
- Decisions panel on the main.archify page; Decisions rail panel under a
diagram (hover lights up the node or connection); decisions on element
cards and in the element dialog; decision view for the file, with a
lost-model note outside a model
- Archify | New Decision… command and template; editor schemas; the three
New Model examples carry decisions; docs, changelog, 0.8.0
- resolveRefs no longer adds cards to a diagram; it returns node id →
description, which the page sets as the tooltip of the matching row in
Archify's Elements panel
- hand-written cards pass through unchanged; docs and changelog
- one collapsible header per .archify-registry file with its element
count and an Open button that opens the registry view; files start
collapsed, the Registry panel open
- view types moved to views/viewTypes.ts so the diagram page can open a
registry without a circular import
- 0.7.1
- .archify-registry opens in a new read-only custom editor (archify.registry,
default): the file's elements as cards; click one for a dialog with its
description, the defining line (opens the YAML) and the diagrams that use
it (open on click); Show Source and Open Model work from the view
- the same dialog opens from the registry cards on the model page
- Archify's node index is titled Elements; a Connectors panel built from the
SVG edges lists from → to with the label, highlights on hover and keeps the
highlight on click; side by side in the bottom rail
- integration test for the registry view; docs and changelog
- <details> panels for Diagrams (open) and Registry (closed by default)
- each folder inside Diagrams is its own collapsible header with a count,
above its diagram cards; diagrams next to main.archify list directly
- open/closed state is kept in the webview state, so re-renders and
restores keep it
- model page: registry elements are rendered as Archify info cards (type
colour dot, label, id · type, description, used-in chips that open the
diagram), replacing the table
- resolveRefs: a diagram without cards of its own gets one card per drawn
shared element that has a description, so the registry text shows under
every model diagram as it does on hand-written diagrams
- unit tests for generated cards, own cards winning and no cards without
refs; docs and changelog
- templates/models: C4 - Standard Web App, C4 - E-Shop, C4 - Event-Based
Integration; each a complete model (main.archify, registry, context,
containers, components) that validates
- archify.newModel: pick an example and a folder name, copy it, name the
model after the folder, open the model page
- Explorer menu: New Model… on folders, Open Model on .archify and
.archify-registry files; File → New File… lists New Model…
- unit test validates every example end to end; integration test runs the
command; README, CHANGELOG, docs/model.md
A folder with main.archify at its top is a model, a set of diagrams
that belong together. Opening main.archify shows the model page: the
model's name and description, its own overview diagram when the file
has one, the diagrams grouped by folder (click to open), and the
registry with where each element is used. The page is built by
traversing the folder tree and refreshes when files change.
*.archify-registry files define shared elements once; diagrams draw
them with `ref: <id>` plus position and may override label, sublabel
and tag. References are resolved before Archify runs, so Archify is
unchanged. Hover, go-to-definition and completion on ref; unknown
names, forbidden overrides, duplicate ids and broken registries in
Problems; registry edits re-render open diagrams. `diagram:` links on
elements and components open the linked diagram on double-click.
New command Archify | Open Model, a Model template for New Diagram…,
editor schemas for the new keys and for registries, docs/model.md and
examples/online-shop. Single diagrams behave exactly as before.
package.json declares sponsor.url, so the Extensions view and the
Marketplace page show a Sponsor button. The README mentions it after
the introduction and gets a Support section with the button.
The toolbar button next to Export is now a two-state switch: both
labels are visible and the filled half is the current view, so a
diagram that opens in 2D shows "2D" and one click flips it to 3D. The
dropdown is gone; nothing is greyed out and no menu stays open after a
choice.
The 3D-only controls moved to Archify's bottom-right dock beside PATH
and LENS: STACK (levels by kind, on or off), TOP (from above), and the
zoom stepper's middle button reads RESET while 3D is on, instead of a
2D zoom level that meant nothing there.
3D view: a "3D" menu beside Export switches the diagram to a three.js
scene built from the live Archify SVG. Nodes become blocks topped with
the node as Archify draws it, relationships become lit pipes along
Archify's routes, and the canvas, frames, lanes and legend form the
floor. Clicks and hover go to the SVG nodes, so focus, the Semantic
Passport and the intent trace work as in 2D; Archify's own animations
(trace, node pulse, passport/path/lens flows) are mirrored live. The
menu also offers flat or stacked levels, reset view and a top view;
Export gains "3D view" (PNG). Trackpad scrolling pans, pinch and the
mouse wheel zoom, and the zoom buttons work beyond the 2D limits.
The scene draws only when something moves. New setting
archify.defaultView.
Source: src/ is split by job (commands, views, webview, archify,
sources, language, util, viewer3d); behaviour unchanged.
All eight commands drop the Archify category and carry the prefix in the
title, so menus, the editor title bar and the Command Palette read the
same. The right-click group is zzz_archify: VS Code has a built-in
z_commands group that would otherwise sort after it.
Explorer and editor-tab context menus: the Archify commands used the
built-in navigation group and were mixed with New File, New Folder and
the rest. They now use a z_archify group, which VS Code sorts last and
separates with a divider.
- Marketplace description, README and messages lead with .archify files
in YAML; Archify's JSON files and rendered HTML are described as also
supported, in their own README section and a supported-files table
- Rename the rendered-HTML editor to Archify HTML Viewer (it shared the
extension's name) and its command to Open in Archify HTML Viewer
- Empty or broken .archify files ask for valid YAML instead of JSON
- Completion for brand values in .archify (YAML) and Archify JSON sources,
from the bundled brand-marks/catalog.json (107 marks); aliases and
product names match, so "kafka" offers apache-kafka
- brand/unknown diagnostics carry their JSON pointer only at the start of
the message; use it when subject.path is missing, so the error lands on
the brand line instead of the top of the file
- Unit tests for catalog loading, value detection and pointer fallback;
integration checks for completion and diagnostic placement
Closes#5
The Explorer folder menu shows a command's title without its category,
so it read just "New Diagram…". The title now names Archify itself and
the category is dropped, so the Command Palette shows the same text.
Integration test asserts the title.
- Archify: New Diagram… (Explorer folder menu, File > New File…, Command
Palette) creates a .archify file from a template and opens the diagram
- Six YAML templates: architecture, workflow, sequence, dataflow,
lifecycle and an everyday plan; connections carry ids, workflows use
schema 2
- Title and meta.output follow the file name; template comments are kept
- Tests: every template passes archify validate; integration check for
the command
Closes#2
- .archify content is YAML (JSON still accepted); converted to JSON for the renderer
- Archify Diagram custom editor is the default for *.archify; Show Source opens the YAML beside it
- YAML syntax errors and validation problems mapped to YAML lines
- yamlValidation for schema completion with redhat.vscode-yaml
- scripts/to-yaml.mjs converts existing .archify files