@dailephd/my-frontend-observer 0.8.1 → 0.9.1
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 +74 -0
- package/README.md +109 -7
- package/dist/application/projectWorkflowService.d.ts +18 -1
- package/dist/application/projectWorkflowService.js +40 -2
- package/dist/application/projectWorkflowService.js.map +1 -1
- package/dist/application/visualAnnotationContractPromotionService.d.ts +41 -0
- package/dist/application/visualAnnotationContractPromotionService.js +143 -0
- package/dist/application/visualAnnotationContractPromotionService.js.map +1 -0
- package/dist/application/visualAnnotationPersistenceService.d.ts +34 -0
- package/dist/application/visualAnnotationPersistenceService.js +68 -0
- package/dist/application/visualAnnotationPersistenceService.js.map +1 -0
- package/dist/application/visualAnnotationReferenceMaterializationService.d.ts +53 -0
- package/dist/application/visualAnnotationReferenceMaterializationService.js +194 -0
- package/dist/application/visualAnnotationReferenceMaterializationService.js.map +1 -0
- package/dist/artifacts/visualAnnotationArtifactReader.d.ts +19 -0
- package/dist/artifacts/visualAnnotationArtifactReader.js +66 -0
- package/dist/artifacts/visualAnnotationArtifactReader.js.map +1 -0
- package/dist/artifacts/visualAnnotationArtifactWriter.d.ts +42 -0
- package/dist/artifacts/visualAnnotationArtifactWriter.js +85 -0
- package/dist/artifacts/visualAnnotationArtifactWriter.js.map +1 -0
- package/dist/cli.js +464 -454
- package/dist/cli.js.map +1 -1
- package/dist/domain/visualAnnotation.d.ts +217 -0
- package/dist/domain/visualAnnotation.js +584 -0
- package/dist/domain/visualAnnotation.js.map +1 -0
- package/dist/domain/visualAnnotationIdentity.d.ts +17 -0
- package/dist/domain/visualAnnotationIdentity.js +47 -0
- package/dist/domain/visualAnnotationIdentity.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/projectWorkflow/projectPaths.d.ts +9 -0
- package/dist/projectWorkflow/projectPaths.js +21 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -1
- package/dist/viewer/assets/{index-CN_yb9Uf.css → index-BN41MI7m.css} +1 -1
- package/dist/viewer/assets/index-CkKXnlrI.js +9 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/sw.js +1 -1
- package/dist/viewerServer/annotationAuthoring.d.ts +64 -0
- package/dist/viewerServer/annotationAuthoring.js +230 -0
- package/dist/viewerServer/annotationAuthoring.js.map +1 -0
- package/dist/viewerServer/annotationContractPromotion.d.ts +51 -0
- package/dist/viewerServer/annotationContractPromotion.js +105 -0
- package/dist/viewerServer/annotationContractPromotion.js.map +1 -0
- package/dist/viewerServer/annotationReferenceMaterialization.d.ts +40 -0
- package/dist/viewerServer/annotationReferenceMaterialization.js +91 -0
- package/dist/viewerServer/annotationReferenceMaterialization.js.map +1 -0
- package/dist/viewerServer/authoringSecurity.d.ts +59 -0
- package/dist/viewerServer/authoringSecurity.js +112 -0
- package/dist/viewerServer/authoringSecurity.js.map +1 -0
- package/dist/viewerServer/evidence/annotationView.d.ts +28 -0
- package/dist/viewerServer/evidence/annotationView.js +43 -0
- package/dist/viewerServer/evidence/annotationView.js.map +1 -0
- package/dist/viewerServer/evidence/classify.d.ts +3 -1
- package/dist/viewerServer/evidence/classify.js +12 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -1
- package/dist/viewerServer/evidence/discovery.d.ts +2 -0
- package/dist/viewerServer/evidence/discovery.js +6 -0
- package/dist/viewerServer/evidence/discovery.js.map +1 -1
- package/dist/viewerServer/evidence/handles.js +1 -0
- package/dist/viewerServer/evidence/handles.js.map +1 -1
- package/dist/viewerServer/evidence/index.d.ts +29 -0
- package/dist/viewerServer/evidence/index.js +43 -1
- package/dist/viewerServer/evidence/index.js.map +1 -1
- package/dist/viewerServer/evidence/mediaResolver.d.ts +1 -1
- package/dist/viewerServer/evidence/mediaResolver.js +28 -2
- package/dist/viewerServer/evidence/mediaResolver.js.map +1 -1
- package/dist/viewerServer/evidence/projection.d.ts +5 -1
- package/dist/viewerServer/evidence/projection.js +19 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -1
- package/dist/viewerServer/httpServer.d.ts +13 -2
- package/dist/viewerServer/httpServer.js +278 -4
- package/dist/viewerServer/httpServer.js.map +1 -1
- package/dist/viewerServer/viewerService.d.ts +8 -0
- package/dist/viewerServer/viewerService.js +38 -2
- package/dist/viewerServer/viewerService.js.map +1 -1
- package/docs/ARCHITECTURE.md +108 -21
- package/docs/CI_CD.md +78 -1
- package/docs/COMMANDS.md +44 -4
- package/docs/CONTRACTS.md +78 -8
- package/docs/CURRENT_STATE.md +224 -35
- package/docs/DEVELOPMENT.md +38 -3
- package/docs/PROJECT_DESCRIPTION.md +4 -1
- package/docs/PROJECT_MILESTONES.md +32 -0
- package/docs/PROJECT_OVERVIEW.md +58 -17
- package/docs/QUICKSTART.md +52 -39
- package/docs/RELEASE.md +17 -11
- package/docs/ROADMAP.md +458 -66
- package/docs/SECURITY.md +71 -14
- package/docs/WORKFLOWS.md +151 -23
- package/docs/plans/v0.9-implementation-plan.md +1529 -0
- package/docs/plans/v0.9.1-implementation-plan.md +468 -0
- package/docs/reports/v0.9-architecture-retrieval.md +567 -0
- package/docs/reports/v0.9-batch1-visual-annotation-foundation.md +351 -0
- package/docs/reports/v0.9-batch2-viewer-annotation-authoring-boundary.md +438 -0
- package/docs/reports/v0.9-batch3-runtime-screenshot-annotation-authoring.md +412 -0
- package/docs/reports/v0.9-batch4-external-reference-annotation-authoring.md +452 -0
- package/docs/reports/v0.9-batch5-runtime-intent-contract-promotion.md +535 -0
- package/docs/reports/v0.9-batch6-reference-materialization.md +514 -0
- package/docs/reports/v0.9-batch7-integrated-acceptance.md +644 -0
- package/docs/reports/v0.9-demo-foundation.md +589 -0
- package/docs/reports/v0.9-final-pre-release-readiness.md +209 -0
- package/docs/reports/v0.9-final-readiness-corrections.md +530 -0
- package/docs/reports/v0.9-pre-release-readiness.md +170 -0
- package/docs/reports/v0.9-tutorial-end-to-end-acceptance.md +980 -0
- package/docs/reports/v0.9-tutorial-integration.md +731 -0
- package/docs/reports/v0.9.1-batch1-pwa-hard-gate-isolation.md +359 -0
- package/docs/reports/v0.9.1-batch2-hard-gate-validation-integration.md +262 -0
- package/docs/reports/v0.9.1-pre-release-readiness.md +206 -0
- package/package.json +3 -2
- package/dist/viewer/assets/index-D98S1_2d.js +0 -9
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
2
|
+
/**
|
|
3
|
+
* Deliberately duplicated from domain/identity.ts#canonicalize (itself
|
|
4
|
+
* duplicated across comparisonIdentity.ts/frontendContractIdentity.ts/
|
|
5
|
+
* externalReferenceIdentity.ts) rather than imported - each identity module
|
|
6
|
+
* owns its own private canonicalize per existing repository convention. Same
|
|
7
|
+
* algorithm (sorted object keys, order-preserving arrays).
|
|
8
|
+
*/
|
|
9
|
+
function canonicalize(value) {
|
|
10
|
+
if (Array.isArray(value))
|
|
11
|
+
return value.map(canonicalize);
|
|
12
|
+
if (value !== null && typeof value === 'object') {
|
|
13
|
+
const entries = Object.entries(value)
|
|
14
|
+
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
15
|
+
.map(([key, entryValue]) => [key, canonicalize(entryValue)]);
|
|
16
|
+
return Object.fromEntries(entries);
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Pure function of {source, items, supersedes} - the canonical source
|
|
22
|
+
* identity and coordinate domain/dimensions, every item's mark, association,
|
|
23
|
+
* and interpretation (in authored array order), and the explicitly
|
|
24
|
+
* superseded annotation (if any). Never includes createdAt, an output
|
|
25
|
+
* location, cwd, project root, a mutable alias, a viewer port or HTTP
|
|
26
|
+
* handle, a temporary path, the overlay digest, or annotationId: saving
|
|
27
|
+
* identical semantic content twice produces the same request identity.
|
|
28
|
+
*/
|
|
29
|
+
export function buildVisualAnnotationRequestIdentity(source, items, supersedesAnnotationId) {
|
|
30
|
+
const semanticView = {
|
|
31
|
+
source,
|
|
32
|
+
items,
|
|
33
|
+
supersedes: supersedesAnnotationId ?? null,
|
|
34
|
+
};
|
|
35
|
+
const serialized = JSON.stringify(canonicalize(semanticView));
|
|
36
|
+
return createHash('sha256').update(serialized).digest('hex');
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fresh, opaque per-persisted-instance identity - never derived from a
|
|
40
|
+
* timestamp, never collides even when called twice with the same
|
|
41
|
+
* annotationRequestId within the same millisecond.
|
|
42
|
+
*/
|
|
43
|
+
export function buildVisualAnnotationInstanceIdentity(annotationRequestId) {
|
|
44
|
+
const nonce = randomBytes(16).toString('hex');
|
|
45
|
+
return `${annotationRequestId}-${nonce}`;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=visualAnnotationIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualAnnotationIdentity.js","sourceRoot":"","sources":["../../src/domain/visualAnnotationIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGtD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,CAAU,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oCAAoC,CAClD,MAA8B,EAC9B,KAAsC,EACtC,sBAA+B;IAE/B,MAAM,YAAY,GAAG;QACnB,MAAM;QACN,KAAK;QACL,UAAU,EAAE,sBAAsB,IAAI,IAAI;KAC3C,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CAAC,mBAA2B;IAC/E,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,GAAG,mBAAmB,IAAI,KAAK,EAAE,CAAC;AAC3C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -112,3 +112,14 @@ export { checkProject } from './application/projectCheckService.js';
|
|
|
112
112
|
export { VIEWER_PROTOCOL_VERSION } from './viewerServer/httpServer.js';
|
|
113
113
|
export type { PrepareReferenceCorrectionInput, PrepareReferenceCorrectionStatus, ReferenceCorrectionHandoff, PrepareReferenceCorrectionResult, ReferenceCorrectionOverallState, ReviewReferenceCorrectionAttemptInput, ReferenceCorrectionAttemptResult, ReviewReferenceCorrectionAttemptResult, } from './domain/referenceCorrectionWorkflow.js';
|
|
114
114
|
export { REFERENCE_CORRECTION_OVERALL_STATES, prepareReferenceCorrection, reviewReferenceCorrectionAttempt } from './domain/referenceCorrectionWorkflow.js';
|
|
115
|
+
export type { VisualAnnotationArtifact, VisualAnnotationSource, VisualAnnotationMark, VisualAnnotationItem, VisualAnnotationIntent, VisualAnnotationInterpretation, RuntimeAnnotationAssociation, ReferenceAnnotationAssociation, VisualAnnotationValidationResult, } from './domain/visualAnnotation.js';
|
|
116
|
+
export { VISUAL_ANNOTATION_ARTIFACT_KIND, VISUAL_ANNOTATION_SCHEMA_VERSION, MAX_VISUAL_ANNOTATION_ITEMS, MAX_VISUAL_ANNOTATION_NOTE_LENGTH, VISUAL_ANNOTATION_OVERLAY_PATH, isValidVisualAnnotationContent, isValidVisualAnnotationArtifact, renderVisualAnnotationOverlaySvg, } from './domain/visualAnnotation.js';
|
|
117
|
+
export { buildVisualAnnotationRequestIdentity, buildVisualAnnotationInstanceIdentity } from './domain/visualAnnotationIdentity.js';
|
|
118
|
+
export type { PersistedVisualAnnotationResult, WriteVisualAnnotationArtifactOptions } from './artifacts/visualAnnotationArtifactWriter.js';
|
|
119
|
+
export { VISUAL_ANNOTATION_MANIFEST_FILENAME, VISUAL_ANNOTATION_OVERLAY_FILENAME, computeVisualAnnotationOverlaySha256, writeVisualAnnotationArtifact, } from './artifacts/visualAnnotationArtifactWriter.js';
|
|
120
|
+
export type { ReadVisualAnnotationArtifactResult } from './artifacts/visualAnnotationArtifactReader.js';
|
|
121
|
+
export { readVisualAnnotationArtifact } from './artifacts/visualAnnotationArtifactReader.js';
|
|
122
|
+
export type { PersistVisualAnnotationOptions, ApplicationPersistVisualAnnotationResult } from './application/visualAnnotationPersistenceService.js';
|
|
123
|
+
export { persistVisualAnnotation } from './application/visualAnnotationPersistenceService.js';
|
|
124
|
+
export type { MaterializeVisualAnnotationReferenceOptions, MaterializeVisualAnnotationReferenceResult, MaterializeVisualAnnotationReferenceFailureCode, } from './application/visualAnnotationReferenceMaterializationService.js';
|
|
125
|
+
export { materializeVisualAnnotationReference } from './application/visualAnnotationReferenceMaterializationService.js';
|
package/dist/index.js
CHANGED
|
@@ -61,4 +61,10 @@ export { CHECK_RESULT_SCHEMA_VERSION, CHECK_WORKFLOW_STATUSES } from './projectW
|
|
|
61
61
|
export { checkProject } from './application/projectCheckService.js';
|
|
62
62
|
export { VIEWER_PROTOCOL_VERSION } from './viewerServer/httpServer.js';
|
|
63
63
|
export { REFERENCE_CORRECTION_OVERALL_STATES, prepareReferenceCorrection, reviewReferenceCorrectionAttempt } from './domain/referenceCorrectionWorkflow.js';
|
|
64
|
+
export { VISUAL_ANNOTATION_ARTIFACT_KIND, VISUAL_ANNOTATION_SCHEMA_VERSION, MAX_VISUAL_ANNOTATION_ITEMS, MAX_VISUAL_ANNOTATION_NOTE_LENGTH, VISUAL_ANNOTATION_OVERLAY_PATH, isValidVisualAnnotationContent, isValidVisualAnnotationArtifact, renderVisualAnnotationOverlaySvg, } from './domain/visualAnnotation.js';
|
|
65
|
+
export { buildVisualAnnotationRequestIdentity, buildVisualAnnotationInstanceIdentity } from './domain/visualAnnotationIdentity.js';
|
|
66
|
+
export { VISUAL_ANNOTATION_MANIFEST_FILENAME, VISUAL_ANNOTATION_OVERLAY_FILENAME, computeVisualAnnotationOverlaySha256, writeVisualAnnotationArtifact, } from './artifacts/visualAnnotationArtifactWriter.js';
|
|
67
|
+
export { readVisualAnnotationArtifact } from './artifacts/visualAnnotationArtifactReader.js';
|
|
68
|
+
export { persistVisualAnnotation } from './application/visualAnnotationPersistenceService.js';
|
|
69
|
+
export { materializeVisualAnnotationReference } from './application/visualAnnotationReferenceMaterializationService.js';
|
|
64
70
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGlG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAmC1D,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAetF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEvF,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAwBnH,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,+BAA+B,EAC/B,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,wCAAwC,EACxC,+BAA+B,EAC/B,kCAAkC,EAClC,iCAAiC,EACjC,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,iCAAiC,EACjC,kCAAkC,EAClC,mCAAmC,EACnC,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AA0BnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,oCAAoC,EACpC,4BAA4B,EAC5B,iCAAiC,EACjC,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,iCAAiC,EACjC,gCAAgC,EAChC,gBAAgB,EAChB,2BAA2B,EAC3B,2CAA2C,EAC3C,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAoBzG,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,gCAAgC,EAChC,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,2CAA2C,EAC3C,iCAAiC,EACjC,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,oCAAoC,EAAE,qCAAqC,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAGxJ,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,8CAA8C,EAAE,MAAM,sCAAsC,CAAC;AAQtG,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,yCAAyC,EACzC,uCAAuC,GACxC,MAAM,gDAAgD,CAAC;AAGxD,OAAO,EAAE,mCAAmC,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAG7J,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGtH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGjF,OAAO,EAAE,4BAA4B,EAAE,uCAAuC,EAAE,MAAM,yDAAyD,CAAC;AAGhJ,OAAO,EAAE,sCAAsC,EAAE,MAAM,yDAAyD,CAAC;AAGjH,OAAO,EAAE,kCAAkC,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,MAAM,oDAAoD,CAAC;AAGjK,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAG1H,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,0BAA0B,EAC1B,oCAAoC,EACpC,cAAc,GACf,MAAM,8BAA8B,CAAC;AAsBtC,OAAO,EACL,mCAAmC,EACnC,oCAAoC,EACpC,mBAAmB,EACnB,mBAAmB,EACnB,oCAAoC,EACpC,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,uCAAuC,EACvC,uBAAuB,EACvB,8BAA8B,EAC9B,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,uCAAuC,EAAE,wCAAwC,EAAE,MAAM,yCAAyC,CAAC;AAG5I,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAGvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAUnF,OAAO,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAG9H,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGhH,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,EAAE,kCAAkC,EAAE,iBAAiB,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAG/I,OAAO,EACL,0CAA0C,EAC1C,8BAA8B,EAC9B,kCAAkC,EAClC,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,oCAAoC,EACpC,uCAAuC,EACvC,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAY5C,OAAO,EACL,gCAAgC,EAChC,iCAAiC,EACjC,sCAAsC,EACtC,uCAAuC,EACvC,sCAAsC,EACtC,kCAAkC,EAClC,gCAAgC,EAChC,mCAAmC,EACnC,mCAAmC,GACpC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,qCAAqC,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAGtI,OAAO,EAAE,oCAAoC,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAGtI,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAQ/F,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAGzH,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,sCAAsC,CAAC;AAQ9C,OAAO,EACL,0BAA0B,EAC1B,0CAA0C,EAC1C,yCAAyC,EACzC,kCAAkC,EAClC,uCAAuC,EACvC,kCAAkC,GACnC,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AAmBrG,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,EACvC,oCAAoC,EACpC,kCAAkC,EAClC,iCAAiC,EACjC,qCAAqC,EACrC,+CAA+C,EAC/C,+CAA+C,EAC/C,2CAA2C,EAC3C,2CAA2C,EAC3C,oCAAoC,EACpC,uCAAuC,EACvC,8BAA8B,EAC9B,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,qCAAqC,EACrC,qCAAqC,EACrC,2CAA2C,EAC3C,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,2CAA2C,CAAC;AAGnD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,qCAAqC,GACtC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,uCAAuC,EAAE,MAAM,4CAA4C,CAAC;AAWrG,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,kCAAkC,EAClC,sCAAsC,EACtC,0CAA0C,EAC1C,gCAAgC,GACjC,MAAM,6CAA6C,CAAC;AAYrD,OAAO,EACL,uCAAuC,EACvC,2CAA2C,EAC3C,yBAAyB,EACzB,gCAAgC,EAChC,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,mDAAmD,EAAE,MAAM,qDAAqD,CAAC;AAE1H,OAAO,EAAE,sCAAsC,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAE1I,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE3M,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AAExF,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACnK,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnL,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAE7I,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAYvE,OAAO,EAAE,mCAAmC,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAa5J,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,iCAAiC,EACjC,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,oCAAoC,EAAE,qCAAqC,EAAE,MAAM,sCAAsC,CAAC;AAGnI,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,oCAAoC,EACpC,6BAA6B,GAC9B,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAG7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAO9F,OAAO,EAAE,oCAAoC,EAAE,MAAM,kEAAkE,CAAC"}
|
|
@@ -6,3 +6,12 @@ export declare function aliasCatalogPath(projectRoot: string): string;
|
|
|
6
6
|
export declare function projectEvidenceRoot(projectRoot: string): string;
|
|
7
7
|
export declare function projectObservationsRoot(projectRoot: string): string;
|
|
8
8
|
export declare function observationOutputLocation(alias: string): string;
|
|
9
|
+
export declare function projectAnnotationsRoot(projectRoot: string): string;
|
|
10
|
+
/** Portable project-relative output location for visual-annotation artifacts. Created lazily by the annotation writer. */
|
|
11
|
+
export declare function annotationOutputLocation(): string;
|
|
12
|
+
export declare function projectContractsRoot(projectRoot: string): string;
|
|
13
|
+
/** Portable project-relative output location for annotation-promoted change contracts. Created lazily by the contract writer. */
|
|
14
|
+
export declare function contractOutputLocation(): string;
|
|
15
|
+
export declare function projectReferencesRoot(projectRoot: string): string;
|
|
16
|
+
/** Portable project-relative output location for annotation-materialized external-reference revisions. Created lazily by the reference writer. */
|
|
17
|
+
export declare function referenceOutputLocation(): string;
|
|
@@ -20,4 +20,25 @@ export function projectObservationsRoot(projectRoot) {
|
|
|
20
20
|
export function observationOutputLocation(alias) {
|
|
21
21
|
return `${PROJECT_STATE_DIRECTORY}/evidence/observations/${alias}`;
|
|
22
22
|
}
|
|
23
|
+
export function projectAnnotationsRoot(projectRoot) {
|
|
24
|
+
return path.join(projectEvidenceRoot(projectRoot), 'annotations');
|
|
25
|
+
}
|
|
26
|
+
/** Portable project-relative output location for visual-annotation artifacts. Created lazily by the annotation writer. */
|
|
27
|
+
export function annotationOutputLocation() {
|
|
28
|
+
return `${PROJECT_STATE_DIRECTORY}/evidence/annotations`;
|
|
29
|
+
}
|
|
30
|
+
export function projectContractsRoot(projectRoot) {
|
|
31
|
+
return path.join(projectEvidenceRoot(projectRoot), 'contracts');
|
|
32
|
+
}
|
|
33
|
+
/** Portable project-relative output location for annotation-promoted change contracts. Created lazily by the contract writer. */
|
|
34
|
+
export function contractOutputLocation() {
|
|
35
|
+
return `${PROJECT_STATE_DIRECTORY}/evidence/contracts`;
|
|
36
|
+
}
|
|
37
|
+
export function projectReferencesRoot(projectRoot) {
|
|
38
|
+
return path.join(projectEvidenceRoot(projectRoot), 'references');
|
|
39
|
+
}
|
|
40
|
+
/** Portable project-relative output location for annotation-materialized external-reference revisions. Created lazily by the reference writer. */
|
|
41
|
+
export function referenceOutputLocation() {
|
|
42
|
+
return `${PROJECT_STATE_DIRECTORY}/evidence/references`;
|
|
43
|
+
}
|
|
23
44
|
//# sourceMappingURL=projectPaths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectPaths.js","sourceRoot":"","sources":["../../src/projectWorkflow/projectPaths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAuB,CAAC;AAE9D,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,GAAG,uBAAuB,0BAA0B,KAAK,EAAE,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"projectPaths.js","sourceRoot":"","sources":["../../src/projectWorkflow/projectPaths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAuB,CAAC;AAE9D,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,GAAG,uBAAuB,0BAA0B,KAAK,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,wBAAwB;IACtC,OAAO,GAAG,uBAAuB,uBAAuB,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,iIAAiI;AACjI,MAAM,UAAU,sBAAsB;IACpC,OAAO,GAAG,uBAAuB,qBAAqB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,kJAAkJ;AAClJ,MAAM,UAAU,uBAAuB;IACrC,OAAO,GAAG,uBAAuB,sBAAsB,CAAC;AAC1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#0f172a;--panel:#1e293b;--border:#334155;--text:#e2e8f0;--text-dim:#94a3b8;--accent:#38bdf8;--error-bg:#450a0a;--error-border:#dc2626}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app-shell{flex-direction:column;height:100%;display:flex}.app-shell__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.app-shell__identity{flex-direction:column;line-height:1.2;display:flex}.app-shell__title{font-size:1rem;font-weight:600}.app-shell__subtitle{color:var(--text-dim);font-size:.8rem}.status-banner{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.4rem 1rem;font-size:.8rem;display:flex}.status-banner--loading,.status-banner--ok{color:var(--text-dim)}.status-banner--error{background:var(--error-bg);color:#fecaca;border-bottom-color:var(--error-border)}.app-shell__body{flex:1;grid-template-columns:220px 1fr 280px;min-height:0;display:grid}.app-shell__nav,.app-shell__workspace,.app-shell__details{padding:1rem;overflow:auto}.app-shell__nav{border-right:1px solid var(--border)}.app-shell__details{border-left:1px solid var(--border)}.placeholder-note{color:var(--text-dim);font-size:.85rem;line-height:1.5}.install-affordance{border:1px solid var(--border);border-radius:6px;padding:.35rem .7rem;font-size:.8rem}.install-affordance--available{background:var(--accent);color:#0f172a;border-color:var(--accent);cursor:pointer}.install-affordance--unavailable{color:var(--text-dim)}.evidence-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.evidence-list__truncated-note{color:var(--text-dim);font-size:.75rem}.evidence-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.4rem .5rem;font-size:.75rem;display:flex}.evidence-list__item--selected{border-color:var(--accent)}.evidence-list__family{font-weight:600}.evidence-list__id{color:var(--text-dim);font-family:monospace}.evidence-list__state{font-size:.7rem}.evidence-list__state--supported{color:#4ade80}.evidence-list__state--unsupported-version,.evidence-list__state--invalid-structure,.evidence-list__state--malformed-json,.evidence-list__state--unreadable{color:#f87171}.evidence-list__state--unrecognized-kind{color:var(--text-dim)}.evidence-list__error,.artifact-preview__error,.artifact-preview__unsupported{color:#fecaca;font-size:.85rem}.artifact-preview__summary{color:var(--text-dim);font-size:.85rem}.artifact-preview__raw{background:var(--panel);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:60vh;padding:.75rem;font-size:.7rem;overflow:auto}.evidence-details{font-size:.75rem}.evidence-details dt{color:var(--text-dim);margin-top:.5rem}.evidence-details dd{word-break:break-word;margin:.1rem 0 0}.observation-workspace{flex-direction:column;gap:.5rem;height:100%;font-size:.75rem;display:flex}.observation-workspace__toolbar{border-bottom:1px solid var(--border);gap:1rem;padding-bottom:.4rem;display:flex}.observation-workspace__toolbar label{cursor:pointer;align-items:center;gap:.3rem;display:flex}.observation-workspace__panes{flex:1;grid-template-columns:160px 1fr 260px;gap:.75rem;min-height:0;display:grid}.observation-workspace__targets,.observation-workspace__inspector{overflow:auto}.observation-workspace__visual{border:1px solid var(--border);background:#000;border-radius:6px;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.target-overlay-svg{width:100%;height:auto;display:block}.target-overlay-svg__rect{fill:#38bdf81f;stroke:var(--accent);stroke-width:2px;cursor:pointer;vector-effect:non-scaling-stroke}.target-overlay-svg__rect--selected{fill:#4ade8033;stroke:#4ade80}.target-overlay-svg__rect:focus-visible{outline:2px solid #facc15}.target-overlay-svg__label{fill:#f8fafc;paint-order:stroke;stroke:#0f172a;stroke-width:3px;font-size:12px}.target-overlay-svg__relationship{stroke:#facc15;stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.target-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.target-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;padding:.3rem .45rem;font-size:.7rem;display:flex}.target-list__item--selected{border-color:#4ade80}.target-list__item--not-found,.target-list__item--ambiguous,.target-list__item--unavailable{opacity:.75}.target-list__name{font-family:monospace;font-weight:600}.target-list__status{color:var(--text-dim)}.inspector h3,.inspector h4{margin:.4rem 0 .3rem;font-size:.8rem}.inspector__fields{margin:0}.evidence-field{margin-bottom:.4rem}.evidence-field dt{color:var(--text-dim);font-size:.68rem}.evidence-field dd{word-break:break-word;margin:0}.evidence-field__source{color:var(--text-dim);font-size:.65rem}.evidence-field--unavailable dd,.evidence-field--not-applicable dd{color:var(--text-dim);font-style:italic}.relationships-section__note{color:var(--text-dim);font-size:.68rem}.relationships-section__list{margin:.3rem 0;padding:0;list-style:none}.relationships-section__unresolved{color:var(--text-dim);font-size:.68rem}.inspector__error{color:#fecaca}.target-overlay-svg__rect--highlighted{stroke:#facc15;fill:#facc1526}.comparison-workspace,.evaluation-workspace{flex-direction:column;gap:.6rem;height:100%;font-size:.75rem;display:flex;overflow:auto}.comparability-banner{border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.comparability-banner--comparable{border-color:#4ade80}.comparability-banner--comparable-with-warnings{border-color:#facc15}.comparability-banner--incomparable{background:var(--error-bg);border-color:#f87171}.comparability-banner ul{margin:.3rem 0 0;padding-left:1rem}.comparability-reason--blocking{color:#fecaca}.comparability-reason--warning{color:#fde68a}.comparability-reason--unassessed{color:var(--text-dim)}.comparison-workspace__truncated{color:#fde68a;border:1px solid #facc15;border-radius:6px;padding:.4rem .6rem}.comparison-workspace__panes{grid-template-columns:1fr 1fr;gap:.75rem;min-height:260px;display:grid}.comparison-pane{border:1px solid var(--border);background:#000;border-radius:6px;padding:.4rem;overflow:auto}.comparison-pane__label{color:var(--text-dim);text-transform:uppercase;margin:0 0 .3rem;font-size:.7rem}.comparison-workspace__details,.evaluation-workspace__details{flex-direction:column;gap:.6rem;display:flex}.comparison-workspace__details section,.evaluation-workspace__details section{border-top:1px solid var(--border);padding-top:.4rem}.comparison-workspace__details h4,.evaluation-workspace__details h4{margin:0 0 .3rem;font-size:.75rem}.comparison-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.comparison-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;padding:.3rem .45rem;font-size:.7rem}.comparison-list__item:disabled{cursor:default;opacity:.7}.comparison-list__meta{color:var(--text-dim);font-size:.65rem;display:block}.overall-verdict{text-align:center;border:2px solid var(--border);border-radius:8px;padding:.6rem .8rem;font-size:1rem}.overall-verdict--PASS{color:#4ade80;border-color:#4ade80}.overall-verdict--FAIL{color:#f87171;background:var(--error-bg);border-color:#f87171}.clause-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.clause-row{border:1px solid var(--border);border-radius:6px;padding:.3rem .45rem}.clause-row--fail{border-color:#f87171}.clause-row--pass{border-color:#4ade80}.clause-row--conflict{border-color:#fb923c}.clause-row--unavailable{border-color:var(--text-dim)}.clause-row__button{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;font-size:.7rem;display:flex}.clause-row__button:disabled{cursor:default}.clause-row__id{font-family:monospace;font-weight:600}.clause-row__badge{border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-size:.6rem}.clause-row__badge--active{color:#4ade80;border-color:#4ade80}.clause-row__badge--superseded{color:var(--text-dim)}.clause-row__category{color:var(--text-dim);text-transform:uppercase;font-size:.6rem}.clause-row__status{margin-left:auto}.clause-row__unresolved{color:#fde68a;margin:.2rem 0 0;font-size:.65rem}.clause-row__primitive{color:var(--text-dim);word-break:break-word;margin:.2rem 0 0;font-family:monospace;font-size:.62rem}.reference-region-overlay-svg__rect--has-requirement{stroke-dasharray:4 2}.reference-workspace{flex-direction:column;gap:.6rem;height:100%;font-size:.75rem;display:flex;overflow:auto}.reference-workspace__panes{grid-template-columns:1fr 1fr;gap:.75rem;min-height:260px;display:grid}.reference-pane{border:1px solid var(--border);border-radius:6px;padding:.4rem;overflow:auto}.reference-workspace__candidate-select,.reference-workspace__evaluation-select{flex-direction:column;gap:.2rem;margin-bottom:.4rem;font-size:.7rem;display:flex}.reference-workspace__candidate-select select,.reference-workspace__evaluation-select select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.2rem}.reference-workspace__details{flex-direction:column;gap:.6rem;display:flex}.reference-adequacy{border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;font-size:.7rem}.reference-adequacy--adequate{border-color:#4ade80}.reference-adequacy--partial{border-color:#facc15}.reference-adequacy--inadequate{border-color:#f87171}.target-overlay-svg--pannable{cursor:grab}.target-overlay-svg--pannable:active{cursor:grabbing}.zoom-controls{align-items:center;gap:.3rem;margin-bottom:.3rem;font-size:.68rem;display:flex}.zoom-controls button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.1rem .4rem}.zoom-controls__scale{color:var(--text-dim);text-align:center;min-width:3rem}.reference-workspace__lock{align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.68rem;display:flex}.reference-workspace__lock button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.15rem .5rem}.reference-workspace__lock button[aria-pressed=true]{color:#4ade80;border-color:#4ade80}.reference-workspace__lock button:disabled{cursor:default;opacity:.6}.reference-fidelity-panel{flex-direction:column;gap:.4rem;display:flex}.reference-fidelity-panel__toolbar button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.25rem .6rem}.reference-fidelity-panel__toolbar button:disabled{cursor:default;opacity:.7}.reference-fidelity-panel__units{color:var(--text-dim);font-size:.62rem}.reference-fidelity-state{border:2px solid var(--border);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.reference-fidelity-state--pass{color:#4ade80;border-color:#4ade80}.reference-fidelity-state--fail{color:#f87171;background:var(--error-bg);border-color:#f87171}.reference-fidelity-state--not-evaluated{border-color:var(--text-dim);color:var(--text-dim)}.reference-workspace__independence-note{color:#fde68a;border-top:1px solid var(--border);padding-top:.3rem;font-size:.7rem}.app-shell__mode-toggle{gap:.3rem;margin-left:auto;margin-right:.5rem;display:flex}.app-shell__mode-toggle button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.2rem .6rem;font-size:.75rem}.app-shell__mode-toggle button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.app-shell__body--context{display:block}.app-shell__workspace--context{height:100%;padding:.75rem;overflow:auto}.context-workspace{flex-direction:column;gap:.8rem;font-size:.78rem;display:flex}.context-workspace section{border-top:1px solid var(--border);padding-top:.5rem}.context-summary-grid{grid-template-columns:max-content 1fr;gap:.2rem .8rem;font-size:.8rem;display:grid}.context-summary-grid dt{color:var(--text-dim)}.context-adequacy-badge{border:1px solid var(--border);border-radius:4px;padding:.05rem .4rem;font-weight:600;display:inline-block}.context-adequacy-badge--adequate{color:#4ade80;border-color:#4ade80}.context-adequacy-badge--partial{color:#facc15;border-color:#facc15}.context-adequacy-badge--inadequate{color:#f87171;border-color:#f87171}.context-sources{flex-direction:column;gap:.4rem;display:flex}.context-source-row{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem .5rem;display:flex}.context-source-row__label{font-family:monospace}.context-source-row__status{border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;font-size:.7rem}.context-source-row__status--resolved{color:#4ade80;border-color:#4ade80}.context-source-row__status--ambiguous{color:#fb923c;border-color:#fb923c}.context-source-row__status--missing{border-color:var(--text-dim);color:var(--text-dim)}.context-target-source-list{margin:.3rem 0 0;padding-left:1rem;font-size:.7rem}.context-correlation-heading{color:var(--text-dim);margin:.2rem 0;font-size:.68rem}.context-correlation-row--selected{outline:1px solid var(--accent)}.context-required-loss{background:var(--error-bg);color:#fecaca;border:1px solid #f87171;border-radius:6px;padding:.4rem .6rem}.raw-evidence-viewer button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.15rem .5rem;font-size:.68rem}
|
|
1
|
+
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#0f172a;--panel:#1e293b;--border:#334155;--text:#e2e8f0;--text-dim:#94a3b8;--accent:#38bdf8;--error-bg:#450a0a;--error-border:#dc2626}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app-shell{flex-direction:column;height:100%;display:flex}.app-shell__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.app-shell__identity{flex-direction:column;line-height:1.2;display:flex}.app-shell__title{font-size:1rem;font-weight:600}.app-shell__subtitle{color:var(--text-dim);font-size:.8rem}.status-banner{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.4rem 1rem;font-size:.8rem;display:flex}.status-banner--loading,.status-banner--ok{color:var(--text-dim)}.status-banner--error{background:var(--error-bg);color:#fecaca;border-bottom-color:var(--error-border)}.app-shell__body{flex:1;grid-template-columns:220px 1fr 280px;min-height:0;display:grid}.app-shell__nav,.app-shell__workspace,.app-shell__details{padding:1rem;overflow:auto}.app-shell__nav{border-right:1px solid var(--border)}.app-shell__details{border-left:1px solid var(--border)}.placeholder-note{color:var(--text-dim);font-size:.85rem;line-height:1.5}.install-affordance{border:1px solid var(--border);border-radius:6px;padding:.35rem .7rem;font-size:.8rem}.install-affordance--available{background:var(--accent);color:#0f172a;border-color:var(--accent);cursor:pointer}.install-affordance--unavailable{color:var(--text-dim)}.evidence-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.evidence-list__truncated-note{color:var(--text-dim);font-size:.75rem}.evidence-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.4rem .5rem;font-size:.75rem;display:flex}.evidence-list__item--selected{border-color:var(--accent)}.evidence-list__family{font-weight:600}.evidence-list__id{color:var(--text-dim);font-family:monospace}.evidence-list__state{font-size:.7rem}.evidence-list__state--supported{color:#4ade80}.evidence-list__state--unsupported-version,.evidence-list__state--invalid-structure,.evidence-list__state--malformed-json,.evidence-list__state--unreadable{color:#f87171}.evidence-list__state--unrecognized-kind{color:var(--text-dim)}.evidence-list__error,.artifact-preview__error,.artifact-preview__unsupported{color:#fecaca;font-size:.85rem}.artifact-preview__summary{color:var(--text-dim);font-size:.85rem}.artifact-preview__raw{background:var(--panel);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:60vh;padding:.75rem;font-size:.7rem;overflow:auto}.evidence-details{font-size:.75rem}.evidence-details dt{color:var(--text-dim);margin-top:.5rem}.evidence-details dd{word-break:break-word;margin:.1rem 0 0}.observation-workspace{flex-direction:column;gap:.5rem;height:100%;font-size:.75rem;display:flex}.observation-workspace__toolbar{border-bottom:1px solid var(--border);gap:1rem;padding-bottom:.4rem;display:flex}.observation-workspace__toolbar label{cursor:pointer;align-items:center;gap:.3rem;display:flex}.observation-workspace__panes{flex:1;grid-template-columns:160px 1fr 260px;gap:.75rem;min-height:0;display:grid}.observation-workspace__targets,.observation-workspace__inspector{overflow:auto}.observation-workspace__visual{border:1px solid var(--border);background:#000;border-radius:6px;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.target-overlay-svg{width:100%;height:auto;display:block}.target-overlay-svg__rect{fill:#38bdf81f;stroke:var(--accent);stroke-width:2px;cursor:pointer;vector-effect:non-scaling-stroke}.target-overlay-svg__rect--selected{fill:#4ade8033;stroke:#4ade80}.target-overlay-svg__rect:focus-visible{outline:2px solid #facc15}.target-overlay-svg__label{fill:#f8fafc;paint-order:stroke;stroke:#0f172a;stroke-width:3px;font-size:12px}.target-overlay-svg__relationship{stroke:#facc15;stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.target-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.target-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;padding:.3rem .45rem;font-size:.7rem;display:flex}.target-list__item--selected{border-color:#4ade80}.target-list__item--not-found,.target-list__item--ambiguous,.target-list__item--unavailable{opacity:.75}.target-list__name{font-family:monospace;font-weight:600}.target-list__status{color:var(--text-dim)}.inspector h3,.inspector h4{margin:.4rem 0 .3rem;font-size:.8rem}.inspector__fields{margin:0}.evidence-field{margin-bottom:.4rem}.evidence-field dt{color:var(--text-dim);font-size:.68rem}.evidence-field dd{word-break:break-word;margin:0}.evidence-field__source{color:var(--text-dim);font-size:.65rem}.evidence-field--unavailable dd,.evidence-field--not-applicable dd{color:var(--text-dim);font-style:italic}.relationships-section__note{color:var(--text-dim);font-size:.68rem}.relationships-section__list{margin:.3rem 0;padding:0;list-style:none}.relationships-section__unresolved{color:var(--text-dim);font-size:.68rem}.inspector__error{color:#fecaca}.target-overlay-svg__rect--highlighted{stroke:#facc15;fill:#facc1526}.comparison-workspace,.evaluation-workspace{flex-direction:column;gap:.6rem;height:100%;font-size:.75rem;display:flex;overflow:auto}.comparability-banner{border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.comparability-banner--comparable{border-color:#4ade80}.comparability-banner--comparable-with-warnings{border-color:#facc15}.comparability-banner--incomparable{background:var(--error-bg);border-color:#f87171}.comparability-banner ul{margin:.3rem 0 0;padding-left:1rem}.comparability-reason--blocking{color:#fecaca}.comparability-reason--warning{color:#fde68a}.comparability-reason--unassessed{color:var(--text-dim)}.comparison-workspace__truncated{color:#fde68a;border:1px solid #facc15;border-radius:6px;padding:.4rem .6rem}.comparison-workspace__panes{grid-template-columns:1fr 1fr;gap:.75rem;min-height:260px;display:grid}.comparison-pane{border:1px solid var(--border);background:#000;border-radius:6px;padding:.4rem;overflow:auto}.comparison-pane__label{color:var(--text-dim);text-transform:uppercase;margin:0 0 .3rem;font-size:.7rem}.comparison-workspace__details,.evaluation-workspace__details{flex-direction:column;gap:.6rem;display:flex}.comparison-workspace__details section,.evaluation-workspace__details section{border-top:1px solid var(--border);padding-top:.4rem}.comparison-workspace__details h4,.evaluation-workspace__details h4{margin:0 0 .3rem;font-size:.75rem}.comparison-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.comparison-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;padding:.3rem .45rem;font-size:.7rem}.comparison-list__item:disabled{cursor:default;opacity:.7}.comparison-list__meta{color:var(--text-dim);font-size:.65rem;display:block}.overall-verdict{text-align:center;border:2px solid var(--border);border-radius:8px;padding:.6rem .8rem;font-size:1rem}.overall-verdict--PASS{color:#4ade80;border-color:#4ade80}.overall-verdict--FAIL{color:#f87171;background:var(--error-bg);border-color:#f87171}.clause-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.clause-row{border:1px solid var(--border);border-radius:6px;padding:.3rem .45rem}.clause-row--fail{border-color:#f87171}.clause-row--pass{border-color:#4ade80}.clause-row--conflict{border-color:#fb923c}.clause-row--unavailable{border-color:var(--text-dim)}.clause-row__button{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;font-size:.7rem;display:flex}.clause-row__button:disabled{cursor:default}.clause-row__id{font-family:monospace;font-weight:600}.clause-row__badge{border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-size:.6rem}.clause-row__badge--active{color:#4ade80;border-color:#4ade80}.clause-row__badge--superseded{color:var(--text-dim)}.clause-row__category{color:var(--text-dim);text-transform:uppercase;font-size:.6rem}.clause-row__status{margin-left:auto}.clause-row__unresolved{color:#fde68a;margin:.2rem 0 0;font-size:.65rem}.clause-row__primitive{color:var(--text-dim);word-break:break-word;margin:.2rem 0 0;font-family:monospace;font-size:.62rem}.reference-region-overlay-svg__rect--has-requirement{stroke-dasharray:4 2}.reference-workspace{flex-direction:column;gap:.6rem;height:100%;font-size:.75rem;display:flex;overflow:auto}.reference-workspace__panes{grid-template-columns:1fr 1fr;gap:.75rem;min-height:260px;display:grid}.reference-pane{border:1px solid var(--border);border-radius:6px;padding:.4rem;overflow:auto}.reference-workspace__candidate-select,.reference-workspace__evaluation-select{flex-direction:column;gap:.2rem;margin-bottom:.4rem;font-size:.7rem;display:flex}.reference-workspace__candidate-select select,.reference-workspace__evaluation-select select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.2rem}.reference-workspace__details{flex-direction:column;gap:.6rem;display:flex}.reference-adequacy{border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;font-size:.7rem}.reference-adequacy--adequate{border-color:#4ade80}.reference-adequacy--partial{border-color:#facc15}.reference-adequacy--inadequate{border-color:#f87171}.target-overlay-svg--pannable{cursor:grab}.target-overlay-svg--pannable:active{cursor:grabbing}.zoom-controls{align-items:center;gap:.3rem;margin-bottom:.3rem;font-size:.68rem;display:flex}.zoom-controls button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.1rem .4rem}.zoom-controls__scale{color:var(--text-dim);text-align:center;min-width:3rem}.reference-workspace__lock{align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.68rem;display:flex}.reference-workspace__lock button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.15rem .5rem}.reference-workspace__lock button[aria-pressed=true]{color:#4ade80;border-color:#4ade80}.reference-workspace__lock button:disabled{cursor:default;opacity:.6}.reference-fidelity-panel{flex-direction:column;gap:.4rem;display:flex}.reference-fidelity-panel__toolbar button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.25rem .6rem}.reference-fidelity-panel__toolbar button:disabled{cursor:default;opacity:.7}.reference-fidelity-panel__units{color:var(--text-dim);font-size:.62rem}.reference-fidelity-state{border:2px solid var(--border);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.reference-fidelity-state--pass{color:#4ade80;border-color:#4ade80}.reference-fidelity-state--fail{color:#f87171;background:var(--error-bg);border-color:#f87171}.reference-fidelity-state--not-evaluated{border-color:var(--text-dim);color:var(--text-dim)}.reference-workspace__independence-note{color:#fde68a;border-top:1px solid var(--border);padding-top:.3rem;font-size:.7rem}.app-shell__mode-toggle{gap:.3rem;margin-left:auto;margin-right:.5rem;display:flex}.app-shell__mode-toggle button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.2rem .6rem;font-size:.75rem}.app-shell__mode-toggle button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.app-shell__body--context{display:block}.app-shell__workspace--context{height:100%;padding:.75rem;overflow:auto}.context-workspace{flex-direction:column;gap:.8rem;font-size:.78rem;display:flex}.context-workspace section{border-top:1px solid var(--border);padding-top:.5rem}.context-summary-grid{grid-template-columns:max-content 1fr;gap:.2rem .8rem;font-size:.8rem;display:grid}.context-summary-grid dt{color:var(--text-dim)}.context-adequacy-badge{border:1px solid var(--border);border-radius:4px;padding:.05rem .4rem;font-weight:600;display:inline-block}.context-adequacy-badge--adequate{color:#4ade80;border-color:#4ade80}.context-adequacy-badge--partial{color:#facc15;border-color:#facc15}.context-adequacy-badge--inadequate{color:#f87171;border-color:#f87171}.context-sources{flex-direction:column;gap:.4rem;display:flex}.context-source-row{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem .5rem;display:flex}.context-source-row__label{font-family:monospace}.context-source-row__status{border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;font-size:.7rem}.context-source-row__status--resolved{color:#4ade80;border-color:#4ade80}.context-source-row__status--ambiguous{color:#fb923c;border-color:#fb923c}.context-source-row__status--missing{border-color:var(--text-dim);color:var(--text-dim)}.context-target-source-list{margin:.3rem 0 0;padding-left:1rem;font-size:.7rem}.context-correlation-heading{color:var(--text-dim);margin:.2rem 0;font-size:.68rem}.context-correlation-row--selected{outline:1px solid var(--accent)}.context-required-loss{background:var(--error-bg);color:#fecaca;border:1px solid #f87171;border-radius:6px;padding:.4rem .6rem}.raw-evidence-viewer button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.15rem .5rem;font-size:.68rem}.annotation-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding-bottom:.4rem;display:flex}.annotation-toolbar .zoom-controls{margin-bottom:0}.annotation-toolbar__modes{gap:.25rem;display:flex}.annotation-toolbar__mode,.annotation-panel__actions button,.annotation-panel__association-actions button,.annotation-panel__saved-item{background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:4px;padding:.15rem .5rem}.annotation-toolbar__mode--active{border-color:var(--accent);background:#38bdf833}.annotation-panel__actions button:disabled,.annotation-panel__association-actions button:disabled{opacity:.5;cursor:not-allowed}.annotation-toolbar__note{align-items:center;gap:.3rem;display:flex}.annotation-toolbar__note input{width:12rem;font:inherit}.annotation-toolbar__read-only,.annotation-panel__read-only{color:var(--text-dim);font-style:italic}.annotation-panel{border-bottom:1px solid var(--border);flex-direction:column;gap:.4rem;margin-bottom:.6rem;padding-bottom:.6rem;display:flex}.annotation-panel h3,.annotation-panel h4{margin:.2rem 0}.annotation-panel__saved-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.annotation-panel__saved-item{text-align:left;flex-direction:column;width:100%;display:flex}.annotation-panel__saved-item--active{border-color:#4ade80}.annotation-panel__saved-id{word-break:break-all;font-family:ui-monospace,monospace}.annotation-panel__saved-meta,.annotation-panel__parent,.annotation-panel__interpretation{color:var(--text-dim);word-break:break-all;margin:0}.annotation-panel__actions,.annotation-panel__association-actions{flex-wrap:wrap;gap:.3rem;display:flex}.annotation-panel__association-actions label,.annotation-panel__note-editor{flex-direction:column;gap:.2rem;width:100%;display:flex}.annotation-panel__note-editor textarea{min-height:3rem;font:inherit}.annotation-panel__status--success{color:#4ade80}.annotation-panel__error{color:#fca5a5;margin:0}.target-overlay-svg__rect--inert{pointer-events:none}.target-overlay-svg--mode-point,.target-overlay-svg--mode-rectangle,.target-overlay-svg--mode-line,.target-overlay-svg--mode-arrow,.target-overlay-svg--mode-note{cursor:crosshair;touch-action:none}.target-overlay-svg--mode-pan{touch-action:none}.annotation-layer .annotation-layer__mark{pointer-events:none}.annotation-layer--selectable .annotation-layer__mark{pointer-events:visiblePainted;cursor:move}.annotation-layer__mark:focus-visible{outline:2px solid #facc15}.annotation-layer__shape{fill:none;stroke:#f472b6;stroke-width:3px;vector-effect:non-scaling-stroke}.annotation-layer__shape--area{fill:#f472b61f}.annotation-layer__shape--filled{fill:#f472b6}.annotation-layer__note-text{fill:#fdf2f8;paint-order:stroke;stroke:#500724;stroke-width:3px;font-size:14px}.annotation-layer__mark--selected .annotation-layer__shape{stroke:#facc15}.annotation-layer__mark--selected .annotation-layer__shape--filled{fill:#facc15}.annotation-layer__mark--preview .annotation-layer__shape{stroke-dasharray:6 4;opacity:.8}.reference-workspace>*{flex-shrink:0}.reference-pane .annotation-toolbar{margin-bottom:.3rem}.annotation-panel__group{border:1px solid var(--border);border-radius:4px;margin:0;padding:.3rem .4rem}.annotation-panel__group legend{color:var(--text-dim);padding:0 .2rem}.annotation-panel__requirement-form{flex-wrap:wrap;align-items:flex-end;gap:.3rem;display:flex}.annotation-panel__requirement-form label,.annotation-panel__association-actions label{flex-direction:column;gap:.15rem;display:flex}.annotation-panel__requirement-form button{background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:4px;padding:.15rem .5rem}.annotation-panel__requirement-form button:disabled{opacity:.5;cursor:not-allowed}.annotation-panel__hint{color:var(--text-dim);font-style:italic}.annotation-panel__intent{background:var(--panel);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;border-radius:4px;margin:0;padding:.3rem}.annotation-panel__proposal-list{word-break:break-all;margin:0;padding-left:1rem}.candidate-region-preview{pointer-events:none}.candidate-region-preview__rect{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke}.candidate-region-preview__rect--create{stroke:#34d399;stroke-dasharray:8 4;fill:#34d3991a}.candidate-region-preview__rect--refine-original{stroke:#94a3b8;stroke-dasharray:2 3}.candidate-region-preview__rect--refine-candidate{stroke:#fb923c;stroke-dasharray:8 4;fill:#fb923c1a}.candidate-region-preview__label{fill:#ecfdf5;paint-order:stroke;stroke:#022c22;stroke-width:3px;font-size:11px}.annotation-panel__promotion{border-top:1px solid var(--border);flex-direction:column;gap:.3rem;padding-top:.4rem;display:flex}.annotation-panel__promotion button,.annotation-panel__group>button{background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:4px;align-self:flex-start;padding:.15rem .5rem}.annotation-panel__promotion button:disabled,.annotation-panel__group>button:disabled{opacity:.5;cursor:not-allowed}.annotation-panel__promotion-status{color:var(--text-dim);margin:.3rem 0}.annotation-panel__materialization .annotation-panel__status p{margin:0}
|