arcane-os 0.74.0 → 0.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.75.0
4
+
5
+ - Advertise whole-image `img2img` alongside `txt2img` for the built-in
6
+ `sdxl-base-1.0` selection. Use the existing public `images.edit()` operation
7
+ with the original PNG, complete prompt and explicit strength.
8
+ - Reuse the complete SDXL Base checkpoint, embedded VAE and existing retained
9
+ native context. Preserve 1024-by-1024 defaults, caller-selected canvas,
10
+ progress, cancellation and complete separate PNG results. No additional
11
+ model resource, runtime, adapter or dependency is introduced.
12
+ - Document the pinned engine's encoding/sampling path and whole-image editing
13
+ semantics. Masked/reference editing and pixel or output-quality guarantees
14
+ remain outside this selection; source review is not native execution proof.
15
+
3
16
  ## 0.74.0
4
17
 
5
18
  - Add optional `longPaths` to `createRepositoryWorkspace()` for newly cloned
package/README.md CHANGED
@@ -20,7 +20,7 @@ selected SDK projection or an explicit live SDK source mount. Both profiles
20
20
  share the theme, packaging, event, cancellation,
21
21
  and browser run contracts while retaining their selected application layout.
22
22
 
23
- This checkout defines the `0.74.0` SDK contract. Development applications declare
23
+ This checkout defines the `0.75.0` SDK contract. Development applications declare
24
24
  `arcane-os` as `latest` and retain their lockfile. Exact SDK pins begin when Roshi
25
25
  designates a production build. Follow [Consumer updates](docs/consumer-updates.md)
26
26
  to refresh and compare the installed SDK and lockfile with the published channel;
@@ -72,7 +72,7 @@ alone does not make bare module names resolve in a browser.
72
72
  | Run application-selected llama.cpp, Ollama or ONNX through Core | [Local AI through Core](local-ai.md) |
73
73
  | Generate complete local PNG images with a retained native model | [Local image generation](local-image-generation.md) |
74
74
  | Select FLUX.2 Klein 4B and its three complementary model resources | [FLUX.2 Klein 4B through Core](local-image-flux.md) |
75
- | Select the complete SDXL Base 1.0 checkpoint for text-to-image generation | [SDXL Base 1.0 through Core](local-image-sdxl.md) |
75
+ | Select the complete SDXL Base 1.0 checkpoint for generation and whole-image editing | [SDXL Base 1.0 through Core](local-image-sdxl.md) |
76
76
  | Compose independently loaded transcription and synthesis engines | [Native speech service](native-speech.md) |
77
77
  | Keep a native Whisper model loaded across complete recordings | [Native Whisper transcription](local-whisper.md) |
78
78
  | Select the optional Intel NPU encoder with independent CUDA or CPU decoding | [Intel NPU Whisper](../guides/native-whisper-openvino.md) |
@@ -82,7 +82,7 @@ alone does not make bare module names resolve in a browser.
82
82
  | Retain a Nemotron model and diarize caller-fed audio streams | [Native speaker diarization](diarization.md) |
83
83
  | Persist application-selected preferences through Core | [Core preferences service](core-preferences.md) |
84
84
  | Read complete selected Git text without changing a checkout | [Git text snapshots](git-text-snapshot.md) |
85
- | Own a native working checkout under per-user ArcaneData/Repos | [Native repository workspaces](core-repositories.md) |
85
+ | Own a native working checkout under per-user ArcaneData/Repos, with optional Windows long paths for new clones | [Native repository workspaces](core-repositories.md) and [Windows clone configuration](core-repositories.md#windows-long-paths-for-a-new-checkout) |
86
86
  | Read Git identity defaults or select child-only author and credential hints | [Git identity configuration](core-repositories.md#git-identity-configuration) |
87
87
  | Write, commit and push complete selected repository text | [Selected-text repository writing](core-repositories.md#write-commit-and-push-selected-text) |
88
88
  | Observe existing checkout configuration and capture an explicit remote/ref | [Repository configuration and selected targets](core-repositories.md#existing-checkout-configuration-and-selected-targets) |
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "sdkVersion": "0.73.0",
3
+ "sdkVersion": "0.74.0",
4
4
  "environment": {
5
5
  "runtime": "Node.js for Node entrypoints; browser for browser-only entrypoints",
6
6
  "minimumVersion": "22.23.2 for Node entrypoints",
@@ -1,8 +1,9 @@
1
1
  # Local image editing through Core
2
2
 
3
3
  `createCoreImageRuntime()` exposes whole-image img2img through `edit()`, using
4
- the same retained native context as generation. The selected SD1.4 model
5
- advertises `txt2img` and `img2img`. Applications supply the original PNG, the
4
+ the same retained native context as generation. The built-in SD1.4 and
5
+ [SDXL Base 1.0](local-image-sdxl.md#edit-a-whole-image) models advertise
6
+ `txt2img` and `img2img`. Applications supply the original PNG, the
6
7
  complete prompt and explicit strength, retain the original, and decide whether
7
8
  to save the separate generated result.
8
9
 
@@ -149,6 +150,8 @@ own model-specific contracts and are outside this PNG img2img operation.
149
150
  Ordinary img2img does not require LoRA training. The selected engine documents
150
151
  this directly with its base SD1.4 model in the
151
152
  [tagged img2img example](https://github.com/leejet/stable-diffusion.cpp/blob/master-929-3f8527a/docs/sd.md#img2img-example).
153
+ The complete SDXL Base checkpoint uses its embedded VAE through the same
154
+ image pipeline; see the [SDXL model and operation guide](local-image-sdxl.md).
152
155
 
153
156
  Source dimensions are decoder output, not an implicit request to change the
154
157
  generation dimensions. The engine center-crops and resizes temporary initial
@@ -157,7 +160,7 @@ Caller images remain unchanged;
157
160
  even `mode=none` does not suppress all later model adaptation. See the
158
161
  [native preprocessing contract](https://github.com/leejet/stable-diffusion.cpp/blob/master-929-3f8527a/docs/image_preprocessing.md).
159
162
 
160
- An RGB-only model such as the selected SD1.4 consumes the stored RGB
163
+ An RGB-only model such as the selected SD1.4 or SDXL consumes the stored RGB
161
164
  and does not preserve alpha. The SDK must not silently choose a compositing
162
165
  background or claim that passing RGBA preserves its displayed appearance.
163
166
  Strength zero is also not an exact-copy operation: native img2img still uses
@@ -50,7 +50,8 @@ editing or imply the same input path as SD1.4 img2img.
50
50
  `sdxl-base-1.0` selects the complete SDXL Base checkpoint, including its text
51
51
  encoders and original VAE. Its [family guide](local-image-sdxl.md) covers the
52
52
  single model resource, 1024-by-1024 default canvas and native sampling defaults.
53
- It advertises `txt2img`; selecting it does not enable an editing operation.
53
+ It advertises `txt2img` and whole-image `img2img` through the same public
54
+ `edit()` operation, using the checkpoint's embedded VAE and retained context.
54
55
 
55
56
  The first published distribution path selects CPU on Windows and Linux.
56
57
  On macOS, `auto` selects the same upstream universal runtime's built-in Metal
@@ -1,8 +1,8 @@
1
1
  # SDXL Base 1.0 through Core
2
2
 
3
3
  The `sdxl-base-1.0` model definition selects Stability AI's complete SDXL Base
4
- 1.0 checkpoint for text-to-image generation through the shared
5
- [local image runtime](local-image-generation.md). Applications supply their
4
+ 1.0 checkpoint for text-to-image generation and whole-image img2img through the
5
+ shared [local image runtime](local-image-generation.md). Applications supply their
6
6
  own complete prompts and own the resulting images and saved associations.
7
7
  The model uses the shared retained native context, progress, cancellation
8
8
  and complete PNG result contract.
@@ -40,8 +40,8 @@ selection alone does not establish actual execution on any device.
40
40
  The single `model` resource is the official
41
41
  [`sd_xl_base_1.0.safetensors` checkpoint](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/462165984030d82259a11f4367a4eed129e94a7b/sd_xl_base_1.0.safetensors)
42
42
  at revision `462165984030d82259a11f4367a4eed129e94a7b`. It includes the text
43
- encoders, denoiser and original VAE. Standalone base generation uses this one
44
- resource; a refiner, separate VAE, LoRA or Python converter is unnecessary for
43
+ encoders, denoiser and original VAE. Generation and whole-image editing use this
44
+ one resource; a refiner, separate VAE, LoRA or Python converter is unnecessary for
45
45
  this selection. The upstream model carries the
46
46
  [CreativeML Open RAIL++-M license](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/462165984030d82259a11f4367a4eed129e94a7b/LICENSE.md).
47
47
 
@@ -107,6 +107,39 @@ Repeated generation reuses the loaded context; unload it when the application
107
107
  no longer needs it. Follow the shared lifecycle contract for request
108
108
  cancellation, state subscriptions, unloading and accessor closure.
109
109
 
110
+ ## Edit a whole image
111
+
112
+ After loading the same model, pass an original PNG and an explicit strength to
113
+ the existing public accessor. `originalPNG` is the application's PNG Blob or
114
+ File; the application retains it and decides whether to save the new result.
115
+
116
+ ```javascript
117
+ const edited = await images.edit({
118
+ model: 'sdxl-base-1.0',
119
+ image: originalPNG,
120
+ prompt: 'The octopus librarian now wears a purple knitted diving helmet.',
121
+ strength: 0.6,
122
+ signal
123
+ });
124
+ // Display edited.images using the same complete PNG Blob result contract.
125
+ ```
126
+
127
+ This is whole-image img2img, using the checkpoint's embedded VAE encoder,
128
+ denoiser and decoder. It needs no additional model resource, adapter or engine.
129
+ The operation reuses the same loaded context and progress/cancellation owners
130
+ as generation. The SDK forwards the complete prompt and original PNG; it does
131
+ not add style instructions or save either the request or result.
132
+
133
+ The model still defaults to a 1024-by-1024 canvas. Supply
134
+ `parameters: {width, height}` when choosing another output canvas; input
135
+ dimensions do not silently replace that selection. The native engine adapts
136
+ the initial raster to the selected canvas and denoises the whole image.
137
+ Framing, texture, identity and individual pixels are model results, not
138
+ preservation guarantees. Strength zero is not an exact-copy operation, and
139
+ the RGB model does not preserve alpha. See the shared
140
+ [editing contract](local-image-editing.md) for supported PNG encodings,
141
+ native preprocessing, full-result handling and cancellation.
142
+
110
143
  ## Defaults and operation scope
111
144
 
112
145
  Only canvas dimensions are model-specific defaults here. Sampling parameters
@@ -127,9 +160,9 @@ applies its own text conditioning and prompt-weighting syntax; see the shared
127
160
  guide for native string-boundary limitations. The SDK adds no avatar wording,
128
161
  style instructions or application-specific content.
129
162
 
130
- This definition advertises `txt2img`. Whole-image editing, masked editing and
131
- reference-image editing are separate operations with their own model and
132
- runtime requirements. This base selection does not advertise those operations.
163
+ This definition advertises `txt2img` and `img2img`. Masked and reference-image
164
+ editing are separate operations with their own model and runtime requirements;
165
+ this base selection does not advertise them.
133
166
 
134
167
  The model resource and standalone use follow the
135
168
  [official model card](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/462165984030d82259a11f4367a4eed129e94a7b/README.md).
@@ -137,3 +170,7 @@ Native defaults and embedded-VAE behavior follow the selected engine's
137
170
  [request implementation](https://github.com/leejet/stable-diffusion.cpp/blob/master-929-3f8527a/src/pipeline/request.cpp),
138
171
  [parameter initialization](https://github.com/leejet/stable-diffusion.cpp/blob/master-929-3f8527a/src/stable-diffusion.cpp)
139
172
  and [model construction](https://github.com/leejet/stable-diffusion.cpp/blob/master-929-3f8527a/src/pipeline/model_builders.cpp).
173
+ The pinned [image pipeline](https://github.com/leejet/stable-diffusion.cpp/blob/3f8527a/src/pipeline/image.cpp)
174
+ encodes the initial image, samples its latent and decodes the result. That
175
+ implementation establishes the operation path; source inspection alone does
176
+ not establish execution, output quality or device performance.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcane-os",
3
- "version": "0.74.0",
3
+ "version": "0.75.0",
4
4
  "description": "Arcane OS JavaScript SDK, project-local CLI, browser runtime, and repository-portable application packager.",
5
5
  "type": "module",
6
6
  "main": "./src/index.mjs",
@@ -14,5 +14,5 @@ export const SDXL_BASE_1_0_MODEL = {
14
14
  width: 1024,
15
15
  height: 1024
16
16
  },
17
- operations: ['txt2img']
17
+ operations: ['txt2img', 'img2img']
18
18
  };