dsh-pf-stream 0.2.0 → 0.2.2

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.
Files changed (45) hide show
  1. package/README.en.md +15 -0
  2. package/README.md +15 -0
  3. package/lib/entry/adapter.d.ts +4 -0
  4. package/lib/entry/adapter.js +11 -6
  5. package/lib/entry/adapter.js.map +1 -1
  6. package/lib/entry/legacyNormalizer.d.ts +6 -2
  7. package/lib/entry/legacyNormalizer.js +20 -10
  8. package/lib/entry/legacyNormalizer.js.map +1 -1
  9. package/lib/index.d.ts +2 -0
  10. package/lib/index.js +15 -1
  11. package/lib/index.js.map +1 -1
  12. package/lib/session/state.js +5 -23
  13. package/lib/session/state.js.map +1 -1
  14. package/lib/stage0/decoder.d.ts +2 -0
  15. package/lib/stage0/decoder.js +23 -3
  16. package/lib/stage0/decoder.js.map +1 -1
  17. package/lib/stage2/stateMachine.js +0 -3
  18. package/lib/stage2/stateMachine.js.map +1 -1
  19. package/lib/stage3/deterministicRouter.d.ts +6 -2
  20. package/lib/stage3/deterministicRouter.js +143 -81
  21. package/lib/stage3/deterministicRouter.js.map +1 -1
  22. package/lib/stage3/streamSampler.d.ts +2 -0
  23. package/lib/stage3/streamSampler.js +5 -7
  24. package/lib/stage3/streamSampler.js.map +1 -1
  25. package/lib/stage4/viewport.d.ts +2 -1
  26. package/lib/stage4/viewport.js +7 -3
  27. package/lib/stage4/viewport.js.map +1 -1
  28. package/lib/stage5/controller.js +1 -1
  29. package/lib/stage5/intent.d.ts +2 -0
  30. package/lib/stage5/intent.js +23 -10
  31. package/lib/stage5/intent.js.map +1 -1
  32. package/lib/stage6/precheck.d.ts +4 -2
  33. package/lib/stage6/precheck.js +5 -5
  34. package/lib/stage6/precheck.js.map +1 -1
  35. package/lib/tool/handler.d.ts +17 -0
  36. package/lib/tool/handler.js +18 -7
  37. package/lib/tool/handler.js.map +1 -1
  38. package/lib/tool/schema.d.ts +4 -1
  39. package/lib/tool/schema.js +15 -1
  40. package/lib/tool/schema.js.map +1 -1
  41. package/lib/tool/streamCall.d.ts +2 -0
  42. package/lib/tool/streamCall.js +39 -6
  43. package/lib/tool/streamCall.js.map +1 -1
  44. package/lib/types.d.ts +2 -4
  45. package/package.json +1 -1
@@ -3,15 +3,17 @@
3
3
  *
4
4
  * 旁路状态机与自闭环,复用 Stage 0(解码)与 Stage 4(视窗归一化与画布打包):
5
5
  * - 单时间戳 / focus=detail 逐帧 → FORM_3(1F,274 Tokens,slot F 全分辨率);
6
- * - uniform + focus=motion → 每 4 帧一组 FORM_2(4P 概览);
6
+ * - uniform + focus=motion → 每 4 帧一组 FORM_2(4P 概览),余量不足 4 帧不组包;
7
7
  * - 默认 balanced → 每组前 1~3 帧 P + 组末帧 F(FORM_1 / FORM_4);
8
8
  * - 批量退化:目标数 ≥32 且平均间隔 ≤2s → 单遍区间解码 + 最近 PTS 帧映射;
9
- * - 空帧回退复用最后一个有效解码帧。
9
+ * - 空帧回退复用最后一个有效解码帧;缺帧组按实际单元数重定形态或跳过;
10
+ * - 解码按块推进(每块 ≤20 目标),块内帧即时打包释放,常驻内存有界。
10
11
  */
11
12
  import { type PacketArtifact } from '../stage4/canvasPacker.js';
12
13
  import type { IntentDirective, ProbeResult } from '../types.js';
13
14
  export interface RouterOptions {
14
15
  ffmpegPath: string;
16
+ ffprobePath?: string | undefined;
15
17
  renderVisualId: boolean;
16
18
  packetIdStart: number;
17
19
  globalIdStart: number;
@@ -20,6 +22,8 @@ export interface RouterOptions {
20
22
  maxRequestBytes?: number | undefined;
21
23
  /** 单图视觉 Token 上限(meteringProfile 口径;缺省不校验)。 */
22
24
  maxTokensPerImage?: number | undefined;
25
+ /** 单次调用视觉 Token 预算(意图层 max_tokens_budget,规格《五》§1.3;缺省不校验)。 */
26
+ maxTokensBudget?: number | undefined;
23
27
  signal?: AbortSignal | undefined;
24
28
  }
25
29
  export interface InspectionResult {
@@ -3,16 +3,19 @@
3
3
  *
4
4
  * 旁路状态机与自闭环,复用 Stage 0(解码)与 Stage 4(视窗归一化与画布打包):
5
5
  * - 单时间戳 / focus=detail 逐帧 → FORM_3(1F,274 Tokens,slot F 全分辨率);
6
- * - uniform + focus=motion → 每 4 帧一组 FORM_2(4P 概览);
6
+ * - uniform + focus=motion → 每 4 帧一组 FORM_2(4P 概览),余量不足 4 帧不组包;
7
7
  * - 默认 balanced → 每组前 1~3 帧 P + 组末帧 F(FORM_1 / FORM_4);
8
8
  * - 批量退化:目标数 ≥32 且平均间隔 ≤2s → 单遍区间解码 + 最近 PTS 帧映射;
9
- * - 空帧回退复用最后一个有效解码帧。
9
+ * - 空帧回退复用最后一个有效解码帧;缺帧组按实际单元数重定形态或跳过;
10
+ * - 解码按块推进(每块 ≤20 目标),块内帧即时打包释放,常驻内存有界。
10
11
  */
11
12
  import { decodePointWithFallback, decodeRangeStreaming } from '../stage0/decoder.js';
12
- import { packCanvas, timelineHintLine } from '../stage4/canvasPacker.js';
13
+ import { billTokens, packCanvas, timelineHintLine } from '../stage4/canvasPacker.js';
13
14
  import { applyViewport, planViewport } from '../stage4/viewport.js';
14
15
  import { assertCanvasTokenLegal, encodedSizeOf } from '../stage6/precheck.js';
15
16
  import { PfStreamError } from '../errors.js';
17
+ /** 单块解码目标数上限:限制批量解码常驻内存(≤20 帧全分辨率)。 */
18
+ const CHUNK_TARGETS = 20;
16
19
  /** 目标 PTS 列表推导:排序、去重、钳制。 */
17
20
  export function resolveTargets(intent, probe) {
18
21
  const last = probe.lastPtsMs;
@@ -38,7 +41,7 @@ export function resolveTargets(intent, probe) {
38
41
  out.push(Math.round(t));
39
42
  }
40
43
  else {
41
- out.push(w0);
44
+ throw new PfStreamError('PFSTREAM_UNIFORM_PARAMS_MISSING', 'uniform 抽帧需要 interval_ms 或 frame_count 之一');
42
45
  }
43
46
  return dedupeSorted(out.map((t) => Math.min(t, last)));
44
47
  }
@@ -65,9 +68,11 @@ export function planGroups(targets, focus, singleTimestamp) {
65
68
  return targets.map(() => ({ form: 'FORM_3_COMPACT_1F', pCount: 0, hasF: true }));
66
69
  }
67
70
  if (focus === 'motion') {
71
+ // 每 4 帧一组 FORM_2;余量不足 4 帧不组包。
72
+ const fullGroups = Math.floor(targets.length / 4);
68
73
  const groups = [];
69
- for (let i = 0; i < targets.length; i += 4) {
70
- groups.push({ form: 'FORM_2_COMPACT_4P', pCount: Math.min(4, targets.length - i), hasF: false });
74
+ for (let g = 0; g < fullGroups; g++) {
75
+ groups.push({ form: 'FORM_2_COMPACT_4P', pCount: 4, hasF: false });
71
76
  }
72
77
  return groups;
73
78
  }
@@ -88,6 +93,26 @@ export function planGroups(targets, focus, singleTimestamp) {
88
93
  }
89
94
  return groups;
90
95
  }
96
+ /** 按实际单元集合重定形态;无法成立时返回 null(跳过该组)。 */
97
+ function selectForm(units) {
98
+ let fCount = 0;
99
+ for (const u of units)
100
+ if (u.scale === '2x2_F')
101
+ fCount++;
102
+ const pCount = units.length - fCount;
103
+ if (fCount === 1) {
104
+ if (pCount === 0)
105
+ return 'FORM_3_COMPACT_1F';
106
+ if (pCount === 4)
107
+ return 'FORM_1_STANDARD_STRIP';
108
+ if (pCount >= 1)
109
+ return 'FORM_4_PARTIAL_STRIP';
110
+ return null;
111
+ }
112
+ if (fCount === 0 && pCount === 4)
113
+ return 'FORM_2_COMPACT_4P';
114
+ return null;
115
+ }
91
116
  /** 执行确定性检视。 */
92
117
  export async function runDeterministicInspection(videoPath, probe, intent, options) {
93
118
  const targets = resolveTargets(intent, probe);
@@ -96,93 +121,130 @@ export async function runDeterministicInspection(videoPath, probe, intent, optio
96
121
  }
97
122
  const decodeOptions = {
98
123
  ffmpegPath: options.ffmpegPath,
124
+ ffprobePath: options.ffprobePath,
99
125
  displayWidth: probe.displayWidth,
100
126
  displayHeight: probe.displayHeight,
101
127
  signal: options.signal,
102
128
  };
103
- // 解码:批量退化(单遍流式 + 最近 PTS 帧映射)或逐点
104
- const frames = new Map();
105
- if (shouldBatchDecode(targets)) {
106
- const best = new Map();
107
- let firstUnfinalized = 0;
108
- await decodeRangeStreaming(videoPath, targets[0], targets[targets.length - 1], decodeOptions, (image, ptsMs) => {
109
- // 帧按 PTS 升序到达:越过目标即定稿
110
- while (firstUnfinalized < targets.length && ptsMs > targets[firstUnfinalized]) {
111
- const t = targets[firstUnfinalized];
112
- const hit = best.get(t);
113
- if (hit)
114
- frames.set(t, hit.image);
115
- firstUnfinalized++;
116
- }
117
- for (let j = firstUnfinalized; j < Math.min(targets.length, firstUnfinalized + 8); j++) {
118
- const t = targets[j];
119
- const dist = Math.abs(ptsMs - t);
120
- const prev = best.get(t);
121
- if (!prev || dist < prev.dist)
122
- best.set(t, { dist, image });
123
- }
124
- });
125
- for (let j = firstUnfinalized; j < targets.length; j++) {
126
- const t = targets[j];
127
- const hit = best.get(t);
128
- if (hit)
129
- frames.set(t, hit.image);
130
- }
131
- }
132
- else {
133
- let lastValid = null;
134
- for (const target of targets) {
135
- const frame = await decodePointWithFallback(videoPath, target, probe.lastPtsMs, decodeOptions, lastValid);
136
- lastValid = frame;
137
- frames.set(target, frame);
138
- }
139
- }
140
- // 视窗计划(同组共享源帧参数,槽位不同)
141
129
  const groups = planGroups(targets, intent.focus, targets.length === 1 && intent.action === 'timestamps');
130
+ const spans = [];
131
+ let ti = 0;
132
+ for (const plan of groups) {
133
+ const count = plan.pCount + (plan.hasF ? 1 : 0);
134
+ spans.push({ start: ti, count, plan });
135
+ ti += count;
136
+ }
142
137
  const packets = [];
143
138
  // 提示行(let:字节水位截断时需同步移除对应行)
144
139
  let hintLines = [];
145
140
  let globalId = options.globalIdStart;
146
141
  let packetId = options.packetIdStart;
147
- let targetIdx = 0;
148
- for (const group of groups) {
149
- const units = [];
150
- const groupTargets = targets.slice(targetIdx, targetIdx + group.pCount + (group.hasF ? 1 : 0));
151
- for (let i = 0; i < groupTargets.length; i++) {
152
- const isF = group.hasF && i === groupTargets.length - 1;
153
- const pts = groupTargets[i];
154
- const frame = frames.get(pts);
155
- if (!frame)
156
- continue;
157
- const plan = planViewport({
158
- displayWidth: probe.displayWidth,
159
- displayHeight: probe.displayHeight,
160
- roi: intent.roi_hint,
161
- fullFrame: intent.full_frame === true,
162
- slot: isF ? 'F' : 'P',
142
+ /** 已发出画布包的计费 Token 累计(意图层预算判定)。 */
143
+ let usedTokens = 0;
144
+ const sampled = [];
145
+ // 按块推进:每块 ≤CHUNK_TARGETS 个目标,块内帧打包后即释放,内存有界
146
+ let spanIdx = 0;
147
+ while (spanIdx < spans.length) {
148
+ const chunk = [];
149
+ let used = 0;
150
+ while (spanIdx < spans.length && used < CHUNK_TARGETS) {
151
+ const s = spans[spanIdx];
152
+ chunk.push(s);
153
+ used += s.count;
154
+ spanIdx++;
155
+ }
156
+ const chunkStart = chunk[0].start;
157
+ const chunkTargets = targets.slice(chunkStart, chunkStart + used);
158
+ const frames = new Map();
159
+ if (shouldBatchDecode(chunkTargets)) {
160
+ const best = new Map();
161
+ let firstUnfinalized = 0;
162
+ await decodeRangeStreaming(videoPath, chunkTargets[0], chunkTargets[chunkTargets.length - 1], decodeOptions, (image, ptsMs) => {
163
+ // 帧按 PTS 升序到达:越过目标即定稿
164
+ while (firstUnfinalized < chunkTargets.length && ptsMs > chunkTargets[firstUnfinalized]) {
165
+ const t = chunkTargets[firstUnfinalized];
166
+ const hit = best.get(t);
167
+ if (hit)
168
+ frames.set(t, hit.image);
169
+ firstUnfinalized++;
170
+ }
171
+ for (let j = firstUnfinalized; j < Math.min(chunkTargets.length, firstUnfinalized + 8); j++) {
172
+ const t = chunkTargets[j];
173
+ const dist = Math.abs(ptsMs - t);
174
+ const prev = best.get(t);
175
+ if (!prev || dist < prev.dist)
176
+ best.set(t, { dist, image });
177
+ }
163
178
  });
164
- units.push({
165
- globalId: globalId++,
166
- ptsMs: pts,
167
- scale: isF ? '2x2_F' : '1x1_P',
168
- eventType: 'DETERMINISTIC',
169
- image: applyViewport(frame, plan, isF ? 'F' : 'P'),
170
- sourceCropBbox: plan.sourceCropBbox,
179
+ for (let j = firstUnfinalized; j < chunkTargets.length; j++) {
180
+ const t = chunkTargets[j];
181
+ const hit = best.get(t);
182
+ if (hit)
183
+ frames.set(t, hit.image);
184
+ }
185
+ }
186
+ else {
187
+ let lastValid = null;
188
+ for (const target of chunkTargets) {
189
+ const frame = await decodePointWithFallback(videoPath, target, probe.lastPtsMs, decodeOptions, lastValid);
190
+ lastValid = frame;
191
+ frames.set(target, frame);
192
+ }
193
+ }
194
+ // 打包本块各组(缺帧单元跳过,按实际单元数重定形态)
195
+ for (const span of chunk) {
196
+ const units = [];
197
+ const groupTargets = targets.slice(span.start, span.start + span.count);
198
+ for (let i = 0; i < groupTargets.length; i++) {
199
+ const isF = span.plan.hasF && i === groupTargets.length - 1;
200
+ const pts = groupTargets[i];
201
+ const frame = frames.get(pts);
202
+ if (!frame)
203
+ continue;
204
+ const plan = planViewport({
205
+ displayWidth: probe.displayWidth,
206
+ displayHeight: probe.displayHeight,
207
+ roi: intent.roi_hint,
208
+ fullFrame: intent.full_frame === true,
209
+ slot: isF ? 'F' : 'P',
210
+ });
211
+ units.push({
212
+ globalId: globalId++,
213
+ ptsMs: pts,
214
+ scale: isF ? '2x2_F' : '1x1_P',
215
+ eventType: 'DETERMINISTIC',
216
+ image: applyViewport(frame, plan, isF ? 'F' : 'P'),
217
+ sourceCropBbox: plan.sourceCropBbox,
218
+ });
219
+ sampled.push(pts);
220
+ }
221
+ const form = selectForm(units);
222
+ if (units.length === 0 || form === null)
223
+ continue;
224
+ const artifact = packCanvas(form, units, {
225
+ packetId: packetId++,
226
+ appliedIntentId: options.appliedIntentId,
227
+ renderVisualId: options.renderVisualId,
228
+ triggerPath: 'DETERMINISTIC',
171
229
  });
230
+ // 意图层预算(规格《五》§1.3):即将超限的本包不发出,提前结束本次调用
231
+ // (与 pf_stream 通道 budget_tokens 同语义;首包即超限时返回空结果)。
232
+ // 预算源:RouterOptions 显式传入优先,否则回读意图层 max_tokens_budget
233
+ // (入口适配器已按配置上限钳制,与 intent.max_packets 同模式)。
234
+ const cost = billTokens(artifact.packet.canvasSize[0], artifact.packet.canvasSize[1]);
235
+ const budget = options.maxTokensBudget ?? intent.max_tokens_budget;
236
+ if (budget !== undefined && usedTokens + cost > budget) {
237
+ spanIdx = spans.length;
238
+ break;
239
+ }
240
+ usedTokens += cost;
241
+ packets.push(artifact);
242
+ hintLines.push(timelineHintLine(artifact.packet, intent.roi_hint ?? null));
243
+ if (intent.max_packets != null && packets.length >= intent.max_packets) {
244
+ spanIdx = spans.length;
245
+ break;
246
+ }
172
247
  }
173
- targetIdx += groupTargets.length;
174
- if (units.length === 0)
175
- continue;
176
- const artifact = packCanvas(group.form, units, {
177
- packetId: packetId++,
178
- appliedIntentId: options.appliedIntentId,
179
- renderVisualId: options.renderVisualId,
180
- triggerPath: 'DETERMINISTIC',
181
- });
182
- packets.push(artifact);
183
- hintLines.push(timelineHintLine(artifact.packet, intent.roi_hint ?? null));
184
- if (intent.max_packets != null && packets.length >= intent.max_packets)
185
- break;
186
248
  }
187
249
  // 预检(规格《六》§2 对 PATH_DETERMINISTIC 同样生效):
188
250
  // 单图 Token 上限逐包校验(违规即错误);字节水位超限从尾部截断增量包。
@@ -198,6 +260,6 @@ export async function runDeterministicInspection(videoPath, probe, intent, optio
198
260
  hintLines = hintLines.filter((l) => !l.includes(`Packet #${last.packet.packetId} `));
199
261
  }
200
262
  }
201
- return { packets, hintLines, sampledPtsMs: targets };
263
+ return { packets, hintLines, sampledPtsMs: dedupeSorted(sampled) };
202
264
  }
203
265
  //# sourceMappingURL=deterministicRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deterministicRouter.js","sourceRoot":"","sources":["../../src/stage3/deterministicRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deterministicRouter.js","sourceRoot":"","sources":["../../src/stage3/deterministicRouter.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare const NEAR_DUP_MS = 500;
22
22
  export declare const HEARTBEAT_INTERVAL_MS = 5000;
23
23
  export interface StreamRunOptions {
24
24
  ffmpegPath: string;
25
+ /** 末帧探测与定点索引用的 ffprobe;缺省由 ffmpegPath 同目录派生。 */
26
+ ffprobePath?: string | undefined;
25
27
  renderVisualId: boolean;
26
28
  /** 流式窗口长度(defaultStreamWindowMs)。 */
27
29
  windowMs: number;
@@ -169,7 +169,6 @@ export async function runStreamPass(videoPath, probe, sessionIntent, cursor, opt
169
169
  hintLines.push(timelineHintLine(artifact.packet, sessionIntent.roiHint ?? null));
170
170
  if (fUnit) {
171
171
  rt.lastFEmittedPtsMs = fUnit.ptsMs;
172
- rt.maxDSinceLastF = 0;
173
172
  }
174
173
  rt.tokensUsed += form === 'FORM_1_STANDARD_STRIP' || form === 'FORM_4_PARTIAL_STRIP' ? 530 : 274;
175
174
  packMs += performance.now() - t0;
@@ -211,6 +210,7 @@ export async function runStreamPass(videoPath, probe, sessionIntent, cursor, opt
211
210
  try {
212
211
  const result = await decodeRangeStreaming(videoPath, w0, w1, {
213
212
  ffmpegPath: options.ffmpegPath,
213
+ ffprobePath: options.ffprobePath,
214
214
  displayWidth: probe.displayWidth,
215
215
  displayHeight: probe.displayHeight,
216
216
  workMaxEdge: options.streamWorkMaxEdge,
@@ -368,7 +368,6 @@ export async function runStreamPass(videoPath, probe, sessionIntent, cursor, opt
368
368
  heartbeats.push({ seq: counters.heartbeatSeq, ptsMs });
369
369
  rt.lastHeartbeatPtsMs = ptsMs;
370
370
  }
371
- rt.maxDSinceLastF = Math.max(rt.maxDSinceLastF, signal.d);
372
371
  // 擂台单槽不变量观测:同一时刻持有的 672 槽位数(MOTION 擂台 + SETTLE 观察窗各 1)
373
372
  const arenaHeld = (rt.motionArena !== null ? 1 : 0) + (rt.settleArena !== null ? 1 : 0);
374
373
  if (arenaHeld > arenaMaxHeld)
@@ -391,6 +390,10 @@ export async function runStreamPass(videoPath, probe, sessionIntent, cursor, opt
391
390
  throw error;
392
391
  }
393
392
  }
393
+ // 窗口末端已钳制到流末帧(lastPtsMs)且无预算提前停止 → 流已耗尽。
394
+ if (stopReason === 'end_of_window' && w1 >= probe.lastPtsMs) {
395
+ stopReason = 'end_of_stream';
396
+ }
394
397
  return {
395
398
  packets,
396
399
  hintLines,
@@ -448,7 +451,6 @@ function restoreRuntime(cursor) {
448
451
  fSwitchImage: null,
449
452
  motionEnteredAtPtsMs: s.motionEnteredAtPtsMs ?? null,
450
453
  lastFEmittedPtsMs: cursor.lastEmittedPacketPtsMs,
451
- maxDSinceLastF: s.maxDSinceLastF ?? 1,
452
454
  lastHeartbeatPtsMs: s.lastHeartbeatPtsMs ?? null,
453
455
  tokensUsed: 0,
454
456
  };
@@ -461,16 +463,12 @@ function buildCursor(rt, cursor, lastPts, ctrl) {
461
463
  gEma: rt.clarity.gEma,
462
464
  emaWarmupLeft: rt.clarity.warmupLeft,
463
465
  settleStartPtsMs: rt.machine.settleStartPtsMs,
464
- lastKCandidates: null,
465
- lastMotionVec: null,
466
- arena: null,
467
466
  mergeStartPtsMs: rt.machine.mergeStartPtsMs,
468
467
  switchStaticSincePtsMs: rt.machine.switchStaticSincePtsMs,
469
468
  fSwitchPending: rt.machine.fSwitchPending,
470
469
  clarityWarmupLeft: rt.clarity.warmupLeft,
471
470
  rhoHistory: rt.clarity.rhoHistory.slice(-3),
472
471
  motionEnteredAtPtsMs: rt.motionEnteredAtPtsMs,
473
- maxDSinceLastF: rt.maxDSinceLastF,
474
472
  lastHeartbeatPtsMs: rt.lastHeartbeatPtsMs,
475
473
  ctrl: ctrl.snapshot(),
476
474
  };
@@ -1 +1 @@
1
- {"version":3,"file":"streamSampler.js","sourceRoot":"","sources":["../../src/stage3/streamSampler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamSampler.js","sourceRoot":"","sources":["../../src/stage3/streamSampler.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * 契约 1/2/4 —— 视窗归一化(显示坐标系)。
3
3
  *
4
4
  * 规则(《四、采样逻辑…》§3 与契约 4 四步归一化):
5
- * - roi_hint 或运动质心 → 1:1 正方形视窗(边长 = min(源短边, 包络目标区) 向下取整到 42 倍数,硬下限 84),
5
+ * - roi_hint 或运动质心 → 1:1 正方形视窗(边长 = min(源短边向下取整, 包络目标区向上取整) 的 42 倍数,硬下限 84),
6
6
  * 缩放后 100% 填满槽位,零灰边;
7
7
  * - 全局/ full_frame → 等比内接 + 内容宽高量化到 42 倍数,居中灰补边(偏置对齐 42 网格);
8
8
  * - 短边 ≥84 为硬约束(面积预算为软约束);
@@ -36,6 +36,7 @@ export interface ViewportPlan {
36
36
  }
37
37
  export declare function quant42Floor(v: number): number;
38
38
  export declare function quant42Round(v: number): number;
39
+ export declare function quant42Ceil(v: number): number;
39
40
  export declare function slotSize(slot: SlotKind): number;
40
41
  export interface ViewportInput {
41
42
  displayWidth: number;
@@ -2,7 +2,7 @@
2
2
  * 契约 1/2/4 —— 视窗归一化(显示坐标系)。
3
3
  *
4
4
  * 规则(《四、采样逻辑…》§3 与契约 4 四步归一化):
5
- * - roi_hint 或运动质心 → 1:1 正方形视窗(边长 = min(源短边, 包络目标区) 向下取整到 42 倍数,硬下限 84),
5
+ * - roi_hint 或运动质心 → 1:1 正方形视窗(边长 = min(源短边向下取整, 包络目标区向上取整) 的 42 倍数,硬下限 84),
6
6
  * 缩放后 100% 填满槽位,零灰边;
7
7
  * - 全局/ full_frame → 等比内接 + 内容宽高量化到 42 倍数,居中灰补边(偏置对齐 42 网格);
8
8
  * - 短边 ≥84 为硬约束(面积预算为软约束);
@@ -19,6 +19,9 @@ export function quant42Floor(v) {
19
19
  export function quant42Round(v) {
20
20
  return Math.floor(v / SUPERPIXEL + 0.5) * SUPERPIXEL;
21
21
  }
22
+ export function quant42Ceil(v) {
23
+ return Math.ceil(v / SUPERPIXEL) * SUPERPIXEL;
24
+ }
22
25
  export function slotSize(slot) {
23
26
  return slot === 'P' ? 336 : 672;
24
27
  }
@@ -52,8 +55,9 @@ export function roiToPixels(roi, displayWidth, displayHeight) {
52
55
  function planSquareViewport(input, slot, shortSide) {
53
56
  const roi = roiToPixels(input.roi, input.displayWidth, input.displayHeight);
54
57
  const envelope = Math.max(roi.w, roi.h);
55
- // 边长:min(源短边, 包络目标区),向下取整 42 倍数;硬下限 84(源域外扩优先)。
56
- let side = quant42Floor(Math.min(shortSide, envelope));
58
+ // 边长:源短边向下取整(不越源界)与包络目标区向上取整(不裁目标)取小;
59
+ // 硬下限 84(源域外扩优先)。
60
+ let side = Math.min(quant42Floor(shortSide), quant42Ceil(envelope));
57
61
  let padOverflow = false;
58
62
  let pad = { top: 0, bottom: 0, left: 0, right: 0 };
59
63
  if (side < MIN_SHORT_SIDE) {
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../src/stage4/viewport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAiB,MAAM,mBAAmB,CAAC;AAElG,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,yBAAyB;AACzB,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAmBjC,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAClC,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAEpE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,WAAW,CACzB,GAAY,EACZ,YAAoB,EACpB,aAAqB;IAErB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC;QAChC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC;QACjC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC;QACpD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAoB,EAAE,IAAY,EAAE,SAAiB;IAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,GAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACxC,gDAAgD;IAChD,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACnD,IAAI,IAAI,GAAG,cAAc,EAAE,CAAC;QAC1B,IAAI,GAAG,cAAc,CAAC;QACtB,IAAI,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,kCAAkC;YAClC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IACD,mCAAmC;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACpB,sBAAsB;IACtB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;IAChD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC;IAClD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACnC,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACrC,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO;QACL,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;QAClC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,GAAG;QACH,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAoB,EAAE,IAAY;IAC9D,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,iBAAiB;IACjB,IAAI,OAAO,GAAG,cAAc;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,IAAI,OAAO,GAAG,cAAc;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,kBAAkB;IAClB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO;QACL,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;QACP,GAAG,EAAE;YACH,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,OAAO;YAChC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,OAAO;SAChC;QACD,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAa,EAAE,IAAkB,EAAE,IAAc;IAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;IAC7C,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC1E,wBAAwB;IACxB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC5G,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;QACzC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../src/stage4/viewport.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export const R3_FLIP_RECOVER_FRAMES = 10; // r_flip≤0.6 持续满 10 帧
16
16
  export const R4_SETTLE_MS = 80;
17
17
  const TICK_LOG_LIMIT = 96;
18
18
  const D_HIST_WINDOW_MS = 500;
19
- const D_HIST_MIN_SAMPLES = 5;
19
+ const D_HIST_MIN_SAMPLES = 3;
20
20
  const RULE_SLUGS = {
21
21
  r1: 'slow_sparsify',
22
22
  r2: 'rapid_cool_extend',
@@ -25,3 +25,5 @@ export declare function mergeSessionIntent(current: SessionIntent, intent: Inten
25
25
  mode: DensityMode;
26
26
  focus: FocusBias;
27
27
  }): SessionIntent;
28
+ /** 会话意图是否发生变化(用于 intentId 递增判定)。 */
29
+ export declare function sessionIntentChanged(a: SessionIntent, b: SessionIntent): boolean;