scenri 0.16.0 → 0.17.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 +7 -0
- package/dist/{chunk-LMXHCXUC.js → chunk-HI7CG4TK.js} +7 -4
- package/dist/{cli-NXOTZTBT.js → cli-Y5X5XXFA.js} +3 -3
- package/dist/index.js +2 -2
- package/dist/serve.js +32 -5
- package/dist/{src-XRZP3ZB5.js → src-VQCTLFGX.js} +3 -3
- package/package.json +1 -1
- package/studio-dist/assets/{index-hgq6oQCZ.css → index-BTaMj1F0.css} +1 -1
- package/studio-dist/assets/index-te6uQiVY.js +106 -0
- package/studio-dist/index.html +2 -2
- package/studio-dist/assets/index-Cd95h4R3.js +0 -106
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.17.0](https://github.com/tonygorb/Scenri/compare/v0.16.0...v0.17.0) (2026-09-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **studio:** one filter row for every wall and catalog picking ([cfcbd81](https://github.com/tonygorb/Scenri/commit/cfcbd8143f1d20b98d2d796e29127aa545ba7871))
|
|
9
|
+
|
|
3
10
|
## [0.16.0](https://github.com/tonygorb/Scenri/compare/v0.15.1...v0.16.0) (2026-09-23)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1010,9 +1010,12 @@ function createStore(db) {
|
|
|
1010
1010
|
db.prepare("UPDATE sets SET updated_at=datetime('now') WHERE id=?").run(setId);
|
|
1011
1011
|
})();
|
|
1012
1012
|
},
|
|
1013
|
-
removeFromSet(setId,
|
|
1013
|
+
removeFromSet(setId, nodeIds) {
|
|
1014
|
+
const ids = nodeIds.filter(Boolean);
|
|
1015
|
+
if (ids.length === 0) return;
|
|
1014
1016
|
db.transaction(() => {
|
|
1015
|
-
db.prepare("DELETE FROM set_nodes WHERE set_id=? AND node_id=?")
|
|
1017
|
+
const del = db.prepare("DELETE FROM set_nodes WHERE set_id=? AND node_id=?");
|
|
1018
|
+
for (const nodeId of ids) del.run(setId, nodeId);
|
|
1016
1019
|
db.prepare("UPDATE sets SET updated_at=datetime('now') WHERE id=?").run(setId);
|
|
1017
1020
|
})();
|
|
1018
1021
|
},
|
|
@@ -2254,5 +2257,5 @@ function createCore(homeDir = defaultHome()) {
|
|
|
2254
2257
|
}
|
|
2255
2258
|
|
|
2256
2259
|
export { ASPECT_TOLERANCE, BUDGET_EXHAUSTED, EDIT_REFERENCE_ROLE_DIRECTIVE, REFERENCE_ROLE_DIRECTIVE, SCHEMA_VERSION, STEM_MIN, SchemaTooNewError, SpendCapError, TRIGRAM_MIN, budgetSize, createCatalogStore, createCore, createStore, defaultHome, fold, ftsMatch, matchesQuery, nameMatches, ratioLabel, searchTerms, shortTermSql, termMatches, uniqueProjectSlug, uniqueSetSlug, uniqueSlug };
|
|
2257
|
-
//# sourceMappingURL=chunk-
|
|
2258
|
-
//# sourceMappingURL=chunk-
|
|
2260
|
+
//# sourceMappingURL=chunk-HI7CG4TK.js.map
|
|
2261
|
+
//# sourceMappingURL=chunk-HI7CG4TK.js.map
|
|
@@ -463,7 +463,7 @@ async function addOrRepair(ownEntry, say, over) {
|
|
|
463
463
|
}
|
|
464
464
|
async function rememberDecline(home) {
|
|
465
465
|
try {
|
|
466
|
-
const { createCore } = await import('./src-
|
|
466
|
+
const { createCore } = await import('./src-VQCTLFGX.js');
|
|
467
467
|
const core = createCore(home);
|
|
468
468
|
try {
|
|
469
469
|
core.store.setSetting("desktop.prompt", "declined");
|
|
@@ -530,5 +530,5 @@ function tail(path, bytes = 4096) {
|
|
|
530
530
|
}
|
|
531
531
|
|
|
532
532
|
export { addToDesktop, assetsDirFor, installDeps, runDesktopCommand, runExecFile, runOpenCommand };
|
|
533
|
-
//# sourceMappingURL=cli-
|
|
534
|
-
//# sourceMappingURL=cli-
|
|
533
|
+
//# sourceMappingURL=cli-Y5X5XXFA.js.map
|
|
534
|
+
//# sourceMappingURL=cli-Y5X5XXFA.js.map
|
package/dist/index.js
CHANGED
|
@@ -86,12 +86,12 @@ try {
|
|
|
86
86
|
break;
|
|
87
87
|
}
|
|
88
88
|
case "desktop": {
|
|
89
|
-
const { runDesktopCommand } = await import('./cli-
|
|
89
|
+
const { runDesktopCommand } = await import('./cli-Y5X5XXFA.js');
|
|
90
90
|
process.exit(await runDesktopCommand(command, fileURLToPath(import.meta.url)));
|
|
91
91
|
break;
|
|
92
92
|
}
|
|
93
93
|
case "open": {
|
|
94
|
-
const { runOpenCommand } = await import('./cli-
|
|
94
|
+
const { runOpenCommand } = await import('./cli-Y5X5XXFA.js');
|
|
95
95
|
process.exit(await runOpenCommand(fileURLToPath(import.meta.url)));
|
|
96
96
|
break;
|
|
97
97
|
}
|
package/dist/serve.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createUpdateChecker, classify, findNpm, isReleaseTriplet, stageVersion } from './chunk-YK37H6DM.js';
|
|
2
2
|
import { shouldAdoptRunning, anotherScenriLines, portBusyLines } from './chunk-CMLJGPYC.js';
|
|
3
|
-
import { SchemaTooNewError, createCore, BUDGET_EXHAUSTED, SpendCapError, EDIT_REFERENCE_ROLE_DIRECTIVE, REFERENCE_ROLE_DIRECTIVE, ratioLabel, searchTerms, nameMatches, budgetSize, SCHEMA_VERSION, ASPECT_TOLERANCE } from './chunk-
|
|
3
|
+
import { SchemaTooNewError, createCore, BUDGET_EXHAUSTED, SpendCapError, EDIT_REFERENCE_ROLE_DIRECTIVE, REFERENCE_ROLE_DIRECTIVE, ratioLabel, searchTerms, nameMatches, budgetSize, SCHEMA_VERSION, ASPECT_TOLERANCE } from './chunk-HI7CG4TK.js';
|
|
4
4
|
import { detectInstallKind } from './chunk-PAIAXRAC.js';
|
|
5
5
|
export { detectInstallKind } from './chunk-PAIAXRAC.js';
|
|
6
6
|
import { readMeta, repoSlug } from './chunk-Y3ZPBPLP.js';
|
|
@@ -13663,10 +13663,19 @@ function registerProjectRoutes(app, deps) {
|
|
|
13663
13663
|
core.store.addToSet(set.id, nodeIds);
|
|
13664
13664
|
return { ok: true, added: nodeIds.length, nodeIds: core.store.membersOf(set.id) };
|
|
13665
13665
|
});
|
|
13666
|
+
app.post("/api/sets/:id/nodes/remove", async (req, reply) => {
|
|
13667
|
+
const set = core.store.getSet(req.params.id);
|
|
13668
|
+
if (!set) return reply.status(404).send({ error: "set not found" });
|
|
13669
|
+
const raw = req.body?.nodeIds;
|
|
13670
|
+
const nodeIds = (Array.isArray(raw) ? raw : []).map(String).filter(Boolean);
|
|
13671
|
+
if (nodeIds.length === 0) return reply.status(400).send({ error: "nodeIds must name at least one shot" });
|
|
13672
|
+
core.store.removeFromSet(set.id, nodeIds);
|
|
13673
|
+
return { ok: true, nodeIds: core.store.membersOf(set.id) };
|
|
13674
|
+
});
|
|
13666
13675
|
app.delete("/api/sets/:id/nodes/:nodeId", async (req, reply) => {
|
|
13667
13676
|
const { id, nodeId } = req.params;
|
|
13668
13677
|
if (!core.store.getSet(id)) return reply.status(404).send({ error: "set not found" });
|
|
13669
|
-
core.store.removeFromSet(id, nodeId);
|
|
13678
|
+
core.store.removeFromSet(id, [nodeId]);
|
|
13670
13679
|
return { ok: true, nodeIds: core.store.membersOf(id) };
|
|
13671
13680
|
});
|
|
13672
13681
|
}
|
|
@@ -13933,6 +13942,24 @@ function registerImageRoutes(app, deps) {
|
|
|
13933
13942
|
|
|
13934
13943
|
// src/release/notes.data.ts
|
|
13935
13944
|
var RELEASES = [
|
|
13945
|
+
{
|
|
13946
|
+
version: "0.17.0",
|
|
13947
|
+
date: "2026-09-24",
|
|
13948
|
+
sections: [
|
|
13949
|
+
{
|
|
13950
|
+
heading: "Library",
|
|
13951
|
+
body: "Products, presenters and scenes of your own can be selected and then kept or deleted together from a bar at the bottom of the page, and renamed from their menu. Bookmarks are now Keepers, on every page and in every menu."
|
|
13952
|
+
},
|
|
13953
|
+
{
|
|
13954
|
+
heading: "Create",
|
|
13955
|
+
body: "Home, Create and the libraries share one tab row, with search and size at its end. On a phone, Create keeps its tabs readable and puts the set and the sort in one button beside search. Choosing a tab while scrolled down starts the list from the top."
|
|
13956
|
+
},
|
|
13957
|
+
{
|
|
13958
|
+
heading: "Fixes",
|
|
13959
|
+
body: "Tab counts on Create no longer jump while the page loads. Closing and opening the assets panel keeps the shot you were looking at in place, and alerts no longer cover the composer's buttons."
|
|
13960
|
+
}
|
|
13961
|
+
]
|
|
13962
|
+
},
|
|
13936
13963
|
{
|
|
13937
13964
|
version: "0.16.0",
|
|
13938
13965
|
date: "2026-09-24",
|
|
@@ -15420,7 +15447,7 @@ function registerDesktopRoutes(app, deps) {
|
|
|
15420
15447
|
record: null
|
|
15421
15448
|
};
|
|
15422
15449
|
}
|
|
15423
|
-
const { installDeps } = await import('./cli-
|
|
15450
|
+
const { installDeps } = await import('./cli-Y5X5XXFA.js');
|
|
15424
15451
|
const { desktopStatus } = await import('./install-VXJPLYWM.js');
|
|
15425
15452
|
return desktopStatus(installDeps(runtime.entry));
|
|
15426
15453
|
});
|
|
@@ -15428,7 +15455,7 @@ function registerDesktopRoutes(app, deps) {
|
|
|
15428
15455
|
if (!runtime.entry) {
|
|
15429
15456
|
return { ok: false, reason: "unsupported", message: "Desktop shortcuts are not available on this system yet." };
|
|
15430
15457
|
}
|
|
15431
|
-
const { addToDesktop } = await import('./cli-
|
|
15458
|
+
const { addToDesktop } = await import('./cli-Y5X5XXFA.js');
|
|
15432
15459
|
return addToDesktop(runtime.entry);
|
|
15433
15460
|
});
|
|
15434
15461
|
app.get("/api/desktop", async () => {
|
|
@@ -17284,7 +17311,7 @@ async function run3() {
|
|
|
17284
17311
|
}
|
|
17285
17312
|
}
|
|
17286
17313
|
const ownEntry = fileURLToPath(import.meta.url);
|
|
17287
|
-
const { addToDesktop, installDeps } = await import('./cli-
|
|
17314
|
+
const { addToDesktop, installDeps } = await import('./cli-Y5X5XXFA.js');
|
|
17288
17315
|
const { refreshLauncher } = await import('./refresh-5HBDLLLB.js');
|
|
17289
17316
|
const { askOnTerminal, offerDesktop, shouldOfferDesktop } = await import('./offer-W6NJXMWT.js');
|
|
17290
17317
|
const { launcherInstalled } = await import('./paths-6ZXRZUHY.js');
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ASPECT_TOLERANCE, BUDGET_EXHAUSTED, EDIT_REFERENCE_ROLE_DIRECTIVE, REFERENCE_ROLE_DIRECTIVE, SCHEMA_VERSION, STEM_MIN, SchemaTooNewError, SpendCapError, TRIGRAM_MIN, budgetSize, createCatalogStore, createCore, createStore, defaultHome, fold, ftsMatch, matchesQuery, nameMatches, ratioLabel, searchTerms, shortTermSql, termMatches, uniqueProjectSlug, uniqueSetSlug, uniqueSlug } from './chunk-
|
|
2
|
-
//# sourceMappingURL=src-
|
|
3
|
-
//# sourceMappingURL=src-
|
|
1
|
+
export { ASPECT_TOLERANCE, BUDGET_EXHAUSTED, EDIT_REFERENCE_ROLE_DIRECTIVE, REFERENCE_ROLE_DIRECTIVE, SCHEMA_VERSION, STEM_MIN, SchemaTooNewError, SpendCapError, TRIGRAM_MIN, budgetSize, createCatalogStore, createCore, createStore, defaultHome, fold, ftsMatch, matchesQuery, nameMatches, ratioLabel, searchTerms, shortTermSql, termMatches, uniqueProjectSlug, uniqueSetSlug, uniqueSlug } from './chunk-HI7CG4TK.js';
|
|
2
|
+
//# sourceMappingURL=src-VQCTLFGX.js.map
|
|
3
|
+
//# sourceMappingURL=src-VQCTLFGX.js.map
|