Repository navigation
Releases
Arkiflyt 0.2.368
Component library, slice 2: offers composed from the library (#563)
- Component library, slice 2: offers composed from the library
Behind the org flag component_offers, a new offer is put together from
the office's component library instead of designed page by page. The
composer (agents/offer-composer.ts) walks the drafter's blocks into
parts: a cover with the offer's title, the client, the contact and the
first picture; a text or picture page per section, with long text
spilling onto continuation pages; price pages of 7 phases with the
totals under the last; team pages of 4; reference pages of 2; the
office's own CV design where it has one, else the library's CV page; a
back cover. One small model call names the cover, labels the sections,
picks the section for the steps figure and shortens only what is over a
limit; the drafter's text is otherwise verbatim, and the composer
carries on with defaults if the call fails.
A composed version keeps its parts, the library and the brand in
data.composition (no migration), so a sent offer never changes. Preview,
PDF, layout report and the new web view render from the parts; css and
body only mirror the A4 pages. Double-click edits and the edit chat
change slots within their tested limits (offer_set_text, move, remove,
add a text page, the steps figure, the typed pricing and team tools);
there is no HTML or CSS to write. A "Nettside" button shows a composed
offer as a web page at phone, tablet and screen width.
Library version 2: a picture slot (cover, picture page), a continuation
page, a reference page intro, a price table split by phase range, folios
counted over printed pages, writer slots addressable by the editor, and
an office's CV design pages inside a composed document.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Composed offers: the editor and the brief follow the library
With component_offers on, the Stil section on the offer's left panel
says the look comes from the component library and opens it, the brief
skips its style step, and the chat on a composed offer suggests what it
can do (shorter leads, page order, the steps figure) instead of design
changes.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Composed offers: review fixes
- No text is taken as an intro: a section right before the price table,
the team or the references stays a section; only the converter's own
team and reference headings head their cards, and the table's
introduction is its own. Columns are read; what is left out is logged. - Removing a price page removes the whole (split) table.
- The chat sees each part's printed pages, so a folio after a multi-page
CV design names the right part. - An office's CV design fonts are embedded.
- A short last paragraph that fits is never dropped.
- Too many paragraphs and an emptied required body are refused by name.
- The writer's shortened heading is used.
- offer_view screenshots are stripped from saved chats; the new tools
have labels in both languages. - The style picker follows the version on screen, not the flag.
- 7 phases a page is one constant; the layout check runs before the save;
composed versions are marked in the style column, so listing versions
never reads their data.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
Arkiflyt 0.2.367
Component library, slice 1: tested components, bench and demo offer (#561)
- Component library, slice 1: tested components, bench and demo offer
Offers and pages get a library of components instead of a stylesheet the
model writes per offer. A component declares its slots and the limits
they were tested at, and is rendered by code from a closed template
language; numbers, people and pictures come from data. The starter
library (cover, text, team, references, price, CV and back pages; team
card, price table and reference card; steps, key figures and comparison
figures) renders as A4 pages and as a web page for any width.
The test bench renders every component at its typical, shortest, longest
and long-word cases (plus missing, tall and wide pictures) at A4, 375,
768 and 1280 px, in the office's own brand, and checks overflow,
collisions, covered text, contrast, small text, distorted pictures,
lone labels, empty boxes, sideways scrolling and small targets. Pictures
keep their shape by construction (the oval portrait cannot happen), a
label leads its text (no lone OPSJON), muted text is made readable.
Merkevare og maler gets the library with each component's result, a
bench page per component and a demo offer at A4 and three web widths.
New offers do not use the library yet (slice 2). The offer designer no
longer draws diagrams or illustration ideas freehand.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Component library: review fixes
- The summary never waits for a bench run: the last finished report is
kept apart from the run in flight. - Only a run that starts costs a quota token; joining one is free. At most
two runs at once across offices (Chromium is shared with PDF exports). - The cache key hashes the logo; the logo is read once a minute, not per
case preview. - Preview frames re-measure when the width changes (demo at 1280 after
375 was cut off); the demo no longer shows the A4 document in a web frame. - Saving the brand or the brand element refreshes the library, and a new
summary without a report starts a new run. - Text over the brand element is checked against the element's shape.
- Writer text is cut at a word and marked, never mid-word; clip() keeps a
word that ends exactly at the limit. - SectionHeading for section headings; no nested .
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Component library: second review fixes
- A finished run hands its slot straight to the next one, so the cap of
two runs holds; a run for a look the office has since changed stops
between batches instead of holding a slot. - Text over the brand element is read against the shape's paint blended
over the paper by its opacity, and not at all when an opaque box or a
picture sits between them. - An opaque colour written without alpha (rgb(…)) counted as transparent
in the covered, empty-box and brand-element checks. - After a run the summary is read again instead of written into, so a run
for an old brand is never shown as current; the auto-run is keyed by
when the summary came. - The logo cache drops stale entries.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Component library: third review fixes
- A request waiting on a run that was stopped for a newer look gets the
newer run's report, not an error toast; the stop is logged as info. - fill-opacity 0 counts as no fill (an outline-only shape is read by its
stroke), not as a solid one. - After a failed run the page waits for "Kjør testene på nytt" instead of
retrying on every refetch.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Component library: fourth review fixes
- A stopped run's waiters follow the whole chain of newer looks: every
run's re-routed promise is the one kept, and a newer run that already
finished hands over its report. - The summary names its look (lookKey); a failed auto-run blocks retries
for that look only, so saving a new brand runs the bench again.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Co-authored-by: Claude Opus 5.5 noreply@anthropic.com
Arkiflyt 0.2.366
Merge pull request #560 from larhoy/claude/far-view-clip
Interior stills: the cameras see the whole far view
Arkiflyt 0.2.365
Merge pull request #559 from larhoy/claude/style-stand-ins
Gjør til foto: clay stand-ins, the style sets furniture and finishes
Arkiflyt 0.2.364
Merge pull request #558 from larhoy/claude/photo-hang
Interior finals: no more hang; «Gjør til foto»'s extras in one render
Arkiflyt 0.2.363
Merge pull request #557 from larhoy/claude/interior-photos
Render studio: «Gjør til foto» on the interior studio's finals
Arkiflyt 0.2.361
Merge pull request #556 from larhoy/claude/square-neighbours
Site surroundings: the neighbours straight-walled on their own axes
Arkiflyt 0.2.360
Merge pull request #555 from larhoy/claude/interior-drape
Interior studio: a drawing placed on Tomt laid on the terrain
Arkiflyt 0.2.359
Merge pull request #553 from larhoy/claude/walk-tri-budget
3D walk: models up to 20000 triangles; the viewer draws only on change
Arkiflyt 0.2.358
Merge pull request #552 from larhoy/claude/walk-lightmap-pack
3D walk: weld furniture before thinning it, its light on its vertices