@seatlayer/core 0.86.12 → 0.87.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.
Files changed (75) hide show
  1. package/dist/{categoryInventory-D57yq6dR.d.cts → categoryInventory-C5TShXDW.d.cts} +1 -1
  2. package/dist/{categoryInventory-DTYZCenv.d.ts → categoryInventory-CvhYDK4q.d.ts} +1 -1
  3. package/dist/chunk-5ITK5236.js +1 -0
  4. package/dist/{chunk-Q3U3F4YJ.js → chunk-AHPF5SD6.js} +1 -1
  5. package/dist/chunk-CFRNWESM.js +1 -0
  6. package/dist/chunk-E7TOTX6I.js +1 -0
  7. package/dist/{chunk-PRED5KHO.js → chunk-FVTW2IBN.js} +1 -1
  8. package/dist/chunk-OLTZIZEM.js +1 -0
  9. package/dist/chunk-PI3UH2EN.js +1 -0
  10. package/dist/chunk-PMBS3VZM.js +1 -0
  11. package/dist/{chunk-OTN5IFWY.js → chunk-QTBBVSN6.js} +1 -1
  12. package/dist/{chunk-BS37TGPX.js → chunk-R7TV7RYQ.js} +1 -1
  13. package/dist/{chunk-BT2KJXQC.js → chunk-WAGKI44J.js} +1 -1
  14. package/dist/core/chart-ops/index.cjs +1 -1
  15. package/dist/core/chart-ops/index.d.cts +66 -5
  16. package/dist/core/chart-ops/index.d.ts +66 -5
  17. package/dist/core/chart-ops/index.js +1 -1
  18. package/dist/core/inventory/index.cjs +1 -1
  19. package/dist/core/inventory/index.d.cts +8 -4
  20. package/dist/core/inventory/index.d.ts +8 -4
  21. package/dist/core/inventory/index.js +1 -1
  22. package/dist/core/layout/index.cjs +1 -1
  23. package/dist/core/layout/index.d.cts +5 -5
  24. package/dist/core/layout/index.d.ts +5 -5
  25. package/dist/core/layout/index.js +1 -1
  26. package/dist/core/quality/index.d.cts +3 -3
  27. package/dist/core/quality/index.d.ts +3 -3
  28. package/dist/core/render-assets/index.cjs +1 -1
  29. package/dist/core/render-assets/index.d.cts +2 -2
  30. package/dist/core/render-assets/index.d.ts +2 -2
  31. package/dist/core/render-assets/index.js +1 -1
  32. package/dist/core/seatConfidence.d.cts +1 -1
  33. package/dist/core/seatConfidence.d.ts +1 -1
  34. package/dist/core/sections/index.cjs +1 -1
  35. package/dist/core/sections/index.d.cts +11 -9
  36. package/dist/core/sections/index.d.ts +11 -9
  37. package/dist/core/sections/index.js +1 -1
  38. package/dist/{eventConfigurations-Dw3rQPPx.d.cts → eventConfigurations-D0G8mxbb.d.cts} +1 -1
  39. package/dist/{eventConfigurations-wgXC-YJV.d.ts → eventConfigurations-Dvb8u8bV.d.ts} +1 -1
  40. package/dist/index.cjs +1 -1
  41. package/dist/index.d.cts +21 -13
  42. package/dist/index.d.ts +21 -13
  43. package/dist/index.js +1 -1
  44. package/dist/{labeling-CYPm5UH0.d.ts → labeling-BEamEVl5.d.ts} +1 -1
  45. package/dist/{labeling-dukb8qMr.d.cts → labeling-YVvDyso3.d.cts} +1 -1
  46. package/dist/{renderedQuality-BuZsXn3h.d.ts → renderedQuality-BqrSXn-t.d.ts} +1 -1
  47. package/dist/{renderedQuality-DuYUhFbT.d.cts → renderedQuality-DkDTyl9y.d.cts} +1 -1
  48. package/dist/{renderer-BnidPieD.d.cts → renderer-C7veuoCF.d.cts} +1 -1
  49. package/dist/{renderer-B2uo9TlL.d.ts → renderer-CUKvpguA.d.ts} +1 -1
  50. package/dist/{seatTypeIcons-R6pp6eSj.d.cts → seatTypeIcons-DHf2-kPo.d.cts} +1 -1
  51. package/dist/{seatTypeIcons-2Jiehd_M.d.ts → seatTypeIcons-DxxPw5Mn.d.ts} +1 -1
  52. package/dist/{sections-BiCA47--.d.ts → sections-B8JXltQM.d.ts} +1 -1
  53. package/dist/{sections-yW4KBAKQ.d.cts → sections-COvZ-5ua.d.cts} +1 -1
  54. package/dist/{segmentedRowModel-DgZ-j0cp.d.cts → segmentedRowModel-DkGr4Jb7.d.cts} +1 -1
  55. package/dist/{segmentedRowModel-ChRMKKxC.d.ts → segmentedRowModel-Dm3nuc6_.d.ts} +1 -1
  56. package/dist/{tableSizing-Sr9fm8g5.d.ts → tableSizing-CEqWVQ4f.d.ts} +3 -3
  57. package/dist/{tableSizing-Ca0vDrxf.d.cts → tableSizing-DVTmR9Wg.d.cts} +3 -3
  58. package/dist/{ticketRestrictions-Dsv2W_4o.d.cts → ticketRestrictions-DbpUYleE.d.cts} +2 -2
  59. package/dist/{ticketRestrictions-C8ylaoRm.d.ts → ticketRestrictions-JhGzamZ8.d.ts} +2 -2
  60. package/dist/{types-bJU5OwWf.d.cts → types-pwg1Vsz-.d.cts} +47 -5
  61. package/dist/{types-bJU5OwWf.d.ts → types-pwg1Vsz-.d.ts} +47 -5
  62. package/dist/view3d/crossfade/panorama.d.cts +1 -1
  63. package/dist/view3d/crossfade/panorama.d.ts +1 -1
  64. package/dist/view3d/index.cjs +8 -8
  65. package/dist/view3d/index.d.cts +3 -3
  66. package/dist/view3d/index.d.ts +3 -3
  67. package/dist/view3d/index.js +1 -1
  68. package/dist/view3d/scene/scene.worker.cjs +1 -1
  69. package/dist/view3d/scene/scene.worker.js +1 -1
  70. package/package.json +1 -1
  71. package/dist/chunk-24O23MNB.js +0 -1
  72. package/dist/chunk-4ABXX5PL.js +0 -1
  73. package/dist/chunk-7LMW7QTP.js +0 -1
  74. package/dist/chunk-NJTU4QK7.js +0 -1
  75. package/dist/chunk-PNHFP2OH.js +0 -1
@@ -1,7 +1,7 @@
1
- import { c as SeatViewMetadata, i as SectionObject, aH as ZoneDef, C as ChartDoc, P as Point, v as CubicPath, q as Category, k as CategoryTier, a4 as ReferenceDirectSeatImportSource, I as ChartTheme, R as RowObject, ai as ReferenceScanSectionProposal, ag as ReferenceScanProposal, B as BoothObject, G as GAAreaObject, u as ShapeObject, T as TableObject, w as TextObject, aB as TextBackground, e as SeatGlyphKind, A as AccessibilityType, l as SeatOverride, at as SeatConfidenceEvidence, a as ChartObject, J as ConfidenceEvidenceScope } from '../../types-bJU5OwWf.cjs';
2
- import { e as CategoryInventoryObjectType } from '../../categoryInventory-D57yq6dR.cjs';
3
- import { R as RelabelOptions } from '../../labeling-dukb8qMr.cjs';
4
- export { D as DEFAULT_SECTION_CORNER_SMOOTHING } from '../../labeling-dukb8qMr.cjs';
1
+ import { c as SeatViewMetadata, i as SectionObject, aH as ZoneDef, C as ChartDoc, P as Point, v as CubicPath, q as Category, k as CategoryTier, a4 as ReferenceDirectSeatImportSource, I as ChartTheme, R as RowObject, ai as ReferenceScanSectionProposal, ag as ReferenceScanProposal, B as BoothObject, G as GAAreaObject, u as ShapeObject, T as TableObject, w as TextObject, aB as TextBackground, l as SeatOverride, a as ChartObject, e as SeatGlyphKind, A as AccessibilityType, at as SeatConfidenceEvidence, J as ConfidenceEvidenceScope } from '../../types-pwg1Vsz-.cjs';
2
+ import { e as CategoryInventoryObjectType } from '../../categoryInventory-C5TShXDW.cjs';
3
+ import { R as RelabelOptions } from '../../labeling-YVvDyso3.cjs';
4
+ export { D as DEFAULT_SECTION_CORNER_SMOOTHING } from '../../labeling-YVvDyso3.cjs';
5
5
 
6
6
  type ChartObjectIdFactory = (prefix: string) => string;
7
7
  type AutomaticPlacement = 'auto' | 'front' | 'rear' | 'left' | 'right';
@@ -956,6 +956,12 @@ type SharedTextPatch = Partial<Pick<TextObject, 'text' | 'fontSize' | 'rotation'
956
956
  * Only valid on `semanticKind:'icon'` objects.
957
957
  */
958
958
  iconKey?: string;
959
+ /**
960
+ * "Show at": `'orientation'` keeps the label readable at every zoom,
961
+ * `'detail'` hides it until the buyer is past the section rung, and null
962
+ * clears the override back to the default "when it fits" size rule.
963
+ */
964
+ labelImportance?: 'orientation' | 'detail' | null;
959
965
  };
960
966
 
961
967
  interface BookableGridArrayInput {
@@ -984,6 +990,61 @@ declare function addBookableGridArray(doc: ChartDoc, input: BookableGridArrayInp
984
990
  createdIds: string[];
985
991
  };
986
992
 
993
+ /**
994
+ * Everything a buyer, the engine or an inventory record can observe about this
995
+ * row's seats, independent of how it is stored. Two rows with the same
996
+ * signature are interchangeable; that is the whole safety argument.
997
+ *
998
+ * Display labels are computed WITHOUT a segmented placement, which is why the
999
+ * segmented case refuses to drop an explicit `displayLabel` rather than relying
1000
+ * on this signature to catch it.
1001
+ */
1002
+ declare function seatSemanticsSignature(row: RowObject): string;
1003
+ interface LabelRun {
1004
+ base: string;
1005
+ /** The value `seatLabelStart` must take. */
1006
+ start: number;
1007
+ direction: 'ltr' | 'rtl';
1008
+ }
1009
+ /**
1010
+ * Read a whole row's seat labels as one `<base>-<n>` run.
1011
+ *
1012
+ * The two reproducible shapes, given the numbering contract in `seatLabelPart`:
1013
+ * - ascending (+1): default `ltr`, `seatLabelStart` = the FIRST seat's number.
1014
+ * - descending (−1): `rtl` (position rank counts back from the far end), so
1015
+ * `seatLabelStart` = the LAST seat's number — the lowest one.
1016
+ * Both use the default decimal scheme and step 1; anything else (roman,
1017
+ * odd/even, a prefix, a gap in the run) returns undefined and the row keeps its
1018
+ * explicit labels.
1019
+ */
1020
+ declare function detectSeatLabelRun(labels: readonly string[]): LabelRun | undefined;
1021
+ /**
1022
+ * Drop the fields of one seat override that the owning row already says.
1023
+ *
1024
+ * The write funnel calls this on every edit so a chart never GROWS redundant
1025
+ * per-seat data again; `compactRowOverrides` calls it to clean up documents
1026
+ * written before the row-level defaults existed.
1027
+ */
1028
+ declare function dropRedundantSeatOverrideFields(row: RowObject, override: SeatOverride): void;
1029
+ declare function compactRowOverrides(row: RowObject): RowObject;
1030
+ /**
1031
+ * The table-chair equivalent. A table has no numbering scheme to reconstruct —
1032
+ * `expandTableSlots` composes `${label}-${index + 1}` and
1033
+ * `${displayLabel ?? label}-${index + 1}` — so this is exactly the set of
1034
+ * fields whose stored value equals the value the table already implies.
1035
+ */
1036
+ declare function compactTableOverrides(table: TableObject): TableObject;
1037
+ /**
1038
+ * The compacted form of a whole document, floors included. Pure — the argument
1039
+ * is never mutated, and `expandChart` cannot tell the result apart.
1040
+ */
1041
+ declare function compactChartDoc(doc: ChartDoc): ChartDoc;
1042
+ /**
1043
+ * Round one buyer-visible object's coordinates. Pure; returns a new object.
1044
+ * Semantic fields (labels, categories, accessibility, evidence) are untouched.
1045
+ */
1046
+ declare function roundBuyerCoordinates(object: ChartObject): ChartObject;
1047
+
987
1048
  interface SeatRef {
988
1049
  rowId: string;
989
1050
  index: number;
@@ -1359,4 +1420,4 @@ declare function approveConfidenceEvidence(doc: ChartDoc, input: ConfidenceEvide
1359
1420
  }): ConfidenceEvidenceMutation;
1360
1421
  declare function retractConfidenceEvidence(doc: ChartDoc, target: ConfidenceEvidenceTarget): ConfidenceEvidenceMutation;
1361
1422
 
1362
- export { type AddBoothArrayInput, type AddGAAreaInput, type AddRowBlockInput, type AddTableArrayInput, type ArcFanRowsInput, type ArcFanRowsPreview, type AutomaticPlacement, type BookableGridArrayInput, type BookableGridArrayPreview, COLORBLIND_SAFE_PALETTE, type ChartObjectIdFactory, ChartOperationError, type ConfidenceEvidenceChange, type ConfidenceEvidenceMutation, ConfidenceEvidenceScope, type ConfidenceEvidenceTarget, type CreationCategoryPlan, DEFAULT_FLOOR_HEIGHT_STEP_M, type GeneratedSectionPolygonConversionPreview, type JoinGAAreasPreview, type LabelStylePatch, MAX_BUYER_IMAGE_URL_LENGTH, MAX_FLOOR_BASE_HEIGHT_M, type MergeRowsResult, type PolygonHolePreview, type ReassignColorblindSafeResult, type ReferenceScanApplyResult, type ReferenceScanPreview, type ReferenceScanRowsOptions, type ReferenceScanSectionOutcome, type ReferenceScanSkippedSection, type ReplaceRowBlockInput, type ReplaceRowBlockResult, type ResolveCreationCategoryOptions, type RowBlockSpacingResult, type RowCubicPathPreview, type SeatRef, type SectionBoundaryTransform, type SectionBoundaryTransformResult, type SectionInventorySelectionSummary, type SectionRowFitInput, type SectionRowFitPreview, type SegmentedRowGroupResult, type SharedBoothPatch, type SharedCategoryPatch, type SharedGAAreaPatch, type SharedRowPatch, type SharedSeatOverridePatch, type SharedSectionMetadataPatch, type SharedShapePatch, type SharedTablePatch, type SharedTextPatch, type SharedThemePatch, type SharedZonePatch, type SplitRowResult, type StageLabelStylePatch, type StraightenAndSpaceResult, addArcFanRows, addBookableGridArray, addBoothArray, addChartCategory, addChartFloor, addChartZone, addGAArea, addRowBlock, addTableArray, applyPolygonHole, applyReferenceScanRows, applySectionCornerSmoothing, applySectionOutlineShaping, applySectionRowFit, approveConfidenceEvidence, arcFanInputForGroup, assignSectionInventoryCategory, automaticPlacementCenter, clearConfidenceEvidence, confidenceEvidenceChangeRequiresPublish, confidenceEvidenceChanges, confirmReferenceCategoryOutputColor, convertGeneratedSectionToPolygon, countCoveredInventory, familyCategoryLabel, gaAreaFootprint, groupRowsAsSegmented, insertSeatingBlock, isSafeBuyerImageUrl, joinGAAreas, mergeRows, mirrorFirstFloor, normalizeBuyerImageUrl, normalizeDraftEvidence, parseSeatRefId, pickColorblindSafeCategoryColor, planCreationCategory, previewArcFanRows, previewBookableGridArray, previewGeneratedSectionPolygonConversion, previewJoinGAAreas, previewPolygonHole, previewRemovePolygonHole, previewRowCubicPath, previewSectionRowFit, reassignColorblindSafeCategoryColors, relabelChartRows, removeChartCategory, removeChartFloor, removeChartObjects, removeChartZone, removePolygonHole, renameChartFloor, renameDirectSeatImportCategory, reorderChartCategories, replaceArcFanRows, replaceRowBlock, resetSeatOverrides, resizeShapes, resolveCreationCategory, retractConfidenceEvidence, seatRefId, sectionInventorySelectionSummary, setConfidenceEvidence, setRowBlockSpacing, splitRow, straightenAndSpaceRows, transformSectionBoundary, transformSectionBoundaryObject, ungroupSegmentedRow, updateBooths, updateCategoryDefinitions, updateChartFloorBaseHeight, updateChartTheme, updateChartZones, updateGAAreas, updateRowCubicPath, updateRows, updateSeatOverrides, updateSectionExactPath, updateSectionMetadata, updateSegmentedRow, updateShapes, updateStageKinds, updateTables, updateTextObjects, updateViewFromSeatFallback };
1423
+ export { type AddBoothArrayInput, type AddGAAreaInput, type AddRowBlockInput, type AddTableArrayInput, type ArcFanRowsInput, type ArcFanRowsPreview, type AutomaticPlacement, type BookableGridArrayInput, type BookableGridArrayPreview, COLORBLIND_SAFE_PALETTE, type ChartObjectIdFactory, ChartOperationError, type ConfidenceEvidenceChange, type ConfidenceEvidenceMutation, ConfidenceEvidenceScope, type ConfidenceEvidenceTarget, type CreationCategoryPlan, DEFAULT_FLOOR_HEIGHT_STEP_M, type GeneratedSectionPolygonConversionPreview, type JoinGAAreasPreview, type LabelStylePatch, MAX_BUYER_IMAGE_URL_LENGTH, MAX_FLOOR_BASE_HEIGHT_M, type MergeRowsResult, type PolygonHolePreview, type ReassignColorblindSafeResult, type ReferenceScanApplyResult, type ReferenceScanPreview, type ReferenceScanRowsOptions, type ReferenceScanSectionOutcome, type ReferenceScanSkippedSection, type ReplaceRowBlockInput, type ReplaceRowBlockResult, type ResolveCreationCategoryOptions, type RowBlockSpacingResult, type RowCubicPathPreview, type SeatRef, type SectionBoundaryTransform, type SectionBoundaryTransformResult, type SectionInventorySelectionSummary, type SectionRowFitInput, type SectionRowFitPreview, type SegmentedRowGroupResult, type SharedBoothPatch, type SharedCategoryPatch, type SharedGAAreaPatch, type SharedRowPatch, type SharedSeatOverridePatch, type SharedSectionMetadataPatch, type SharedShapePatch, type SharedTablePatch, type SharedTextPatch, type SharedThemePatch, type SharedZonePatch, type SplitRowResult, type StageLabelStylePatch, type StraightenAndSpaceResult, addArcFanRows, addBookableGridArray, addBoothArray, addChartCategory, addChartFloor, addChartZone, addGAArea, addRowBlock, addTableArray, applyPolygonHole, applyReferenceScanRows, applySectionCornerSmoothing, applySectionOutlineShaping, applySectionRowFit, approveConfidenceEvidence, arcFanInputForGroup, assignSectionInventoryCategory, automaticPlacementCenter, clearConfidenceEvidence, compactChartDoc, compactRowOverrides, compactTableOverrides, confidenceEvidenceChangeRequiresPublish, confidenceEvidenceChanges, confirmReferenceCategoryOutputColor, convertGeneratedSectionToPolygon, countCoveredInventory, detectSeatLabelRun, dropRedundantSeatOverrideFields, familyCategoryLabel, gaAreaFootprint, groupRowsAsSegmented, insertSeatingBlock, isSafeBuyerImageUrl, joinGAAreas, mergeRows, mirrorFirstFloor, normalizeBuyerImageUrl, normalizeDraftEvidence, parseSeatRefId, pickColorblindSafeCategoryColor, planCreationCategory, previewArcFanRows, previewBookableGridArray, previewGeneratedSectionPolygonConversion, previewJoinGAAreas, previewPolygonHole, previewRemovePolygonHole, previewRowCubicPath, previewSectionRowFit, reassignColorblindSafeCategoryColors, relabelChartRows, removeChartCategory, removeChartFloor, removeChartObjects, removeChartZone, removePolygonHole, renameChartFloor, renameDirectSeatImportCategory, reorderChartCategories, replaceArcFanRows, replaceRowBlock, resetSeatOverrides, resizeShapes, resolveCreationCategory, retractConfidenceEvidence, roundBuyerCoordinates, seatRefId, seatSemanticsSignature, sectionInventorySelectionSummary, setConfidenceEvidence, setRowBlockSpacing, splitRow, straightenAndSpaceRows, transformSectionBoundary, transformSectionBoundaryObject, ungroupSegmentedRow, updateBooths, updateCategoryDefinitions, updateChartFloorBaseHeight, updateChartTheme, updateChartZones, updateGAAreas, updateRowCubicPath, updateRows, updateSeatOverrides, updateSectionExactPath, updateSectionMetadata, updateSegmentedRow, updateShapes, updateStageKinds, updateTables, updateTextObjects, updateViewFromSeatFallback };
@@ -1,7 +1,7 @@
1
- import { c as SeatViewMetadata, i as SectionObject, aH as ZoneDef, C as ChartDoc, P as Point, v as CubicPath, q as Category, k as CategoryTier, a4 as ReferenceDirectSeatImportSource, I as ChartTheme, R as RowObject, ai as ReferenceScanSectionProposal, ag as ReferenceScanProposal, B as BoothObject, G as GAAreaObject, u as ShapeObject, T as TableObject, w as TextObject, aB as TextBackground, e as SeatGlyphKind, A as AccessibilityType, l as SeatOverride, at as SeatConfidenceEvidence, a as ChartObject, J as ConfidenceEvidenceScope } from '../../types-bJU5OwWf.js';
2
- import { e as CategoryInventoryObjectType } from '../../categoryInventory-DTYZCenv.js';
3
- import { R as RelabelOptions } from '../../labeling-CYPm5UH0.js';
4
- export { D as DEFAULT_SECTION_CORNER_SMOOTHING } from '../../labeling-CYPm5UH0.js';
1
+ import { c as SeatViewMetadata, i as SectionObject, aH as ZoneDef, C as ChartDoc, P as Point, v as CubicPath, q as Category, k as CategoryTier, a4 as ReferenceDirectSeatImportSource, I as ChartTheme, R as RowObject, ai as ReferenceScanSectionProposal, ag as ReferenceScanProposal, B as BoothObject, G as GAAreaObject, u as ShapeObject, T as TableObject, w as TextObject, aB as TextBackground, l as SeatOverride, a as ChartObject, e as SeatGlyphKind, A as AccessibilityType, at as SeatConfidenceEvidence, J as ConfidenceEvidenceScope } from '../../types-pwg1Vsz-.js';
2
+ import { e as CategoryInventoryObjectType } from '../../categoryInventory-CvhYDK4q.js';
3
+ import { R as RelabelOptions } from '../../labeling-BEamEVl5.js';
4
+ export { D as DEFAULT_SECTION_CORNER_SMOOTHING } from '../../labeling-BEamEVl5.js';
5
5
 
6
6
  type ChartObjectIdFactory = (prefix: string) => string;
7
7
  type AutomaticPlacement = 'auto' | 'front' | 'rear' | 'left' | 'right';
@@ -956,6 +956,12 @@ type SharedTextPatch = Partial<Pick<TextObject, 'text' | 'fontSize' | 'rotation'
956
956
  * Only valid on `semanticKind:'icon'` objects.
957
957
  */
958
958
  iconKey?: string;
959
+ /**
960
+ * "Show at": `'orientation'` keeps the label readable at every zoom,
961
+ * `'detail'` hides it until the buyer is past the section rung, and null
962
+ * clears the override back to the default "when it fits" size rule.
963
+ */
964
+ labelImportance?: 'orientation' | 'detail' | null;
959
965
  };
960
966
 
961
967
  interface BookableGridArrayInput {
@@ -984,6 +990,61 @@ declare function addBookableGridArray(doc: ChartDoc, input: BookableGridArrayInp
984
990
  createdIds: string[];
985
991
  };
986
992
 
993
+ /**
994
+ * Everything a buyer, the engine or an inventory record can observe about this
995
+ * row's seats, independent of how it is stored. Two rows with the same
996
+ * signature are interchangeable; that is the whole safety argument.
997
+ *
998
+ * Display labels are computed WITHOUT a segmented placement, which is why the
999
+ * segmented case refuses to drop an explicit `displayLabel` rather than relying
1000
+ * on this signature to catch it.
1001
+ */
1002
+ declare function seatSemanticsSignature(row: RowObject): string;
1003
+ interface LabelRun {
1004
+ base: string;
1005
+ /** The value `seatLabelStart` must take. */
1006
+ start: number;
1007
+ direction: 'ltr' | 'rtl';
1008
+ }
1009
+ /**
1010
+ * Read a whole row's seat labels as one `<base>-<n>` run.
1011
+ *
1012
+ * The two reproducible shapes, given the numbering contract in `seatLabelPart`:
1013
+ * - ascending (+1): default `ltr`, `seatLabelStart` = the FIRST seat's number.
1014
+ * - descending (−1): `rtl` (position rank counts back from the far end), so
1015
+ * `seatLabelStart` = the LAST seat's number — the lowest one.
1016
+ * Both use the default decimal scheme and step 1; anything else (roman,
1017
+ * odd/even, a prefix, a gap in the run) returns undefined and the row keeps its
1018
+ * explicit labels.
1019
+ */
1020
+ declare function detectSeatLabelRun(labels: readonly string[]): LabelRun | undefined;
1021
+ /**
1022
+ * Drop the fields of one seat override that the owning row already says.
1023
+ *
1024
+ * The write funnel calls this on every edit so a chart never GROWS redundant
1025
+ * per-seat data again; `compactRowOverrides` calls it to clean up documents
1026
+ * written before the row-level defaults existed.
1027
+ */
1028
+ declare function dropRedundantSeatOverrideFields(row: RowObject, override: SeatOverride): void;
1029
+ declare function compactRowOverrides(row: RowObject): RowObject;
1030
+ /**
1031
+ * The table-chair equivalent. A table has no numbering scheme to reconstruct —
1032
+ * `expandTableSlots` composes `${label}-${index + 1}` and
1033
+ * `${displayLabel ?? label}-${index + 1}` — so this is exactly the set of
1034
+ * fields whose stored value equals the value the table already implies.
1035
+ */
1036
+ declare function compactTableOverrides(table: TableObject): TableObject;
1037
+ /**
1038
+ * The compacted form of a whole document, floors included. Pure — the argument
1039
+ * is never mutated, and `expandChart` cannot tell the result apart.
1040
+ */
1041
+ declare function compactChartDoc(doc: ChartDoc): ChartDoc;
1042
+ /**
1043
+ * Round one buyer-visible object's coordinates. Pure; returns a new object.
1044
+ * Semantic fields (labels, categories, accessibility, evidence) are untouched.
1045
+ */
1046
+ declare function roundBuyerCoordinates(object: ChartObject): ChartObject;
1047
+
987
1048
  interface SeatRef {
988
1049
  rowId: string;
989
1050
  index: number;
@@ -1359,4 +1420,4 @@ declare function approveConfidenceEvidence(doc: ChartDoc, input: ConfidenceEvide
1359
1420
  }): ConfidenceEvidenceMutation;
1360
1421
  declare function retractConfidenceEvidence(doc: ChartDoc, target: ConfidenceEvidenceTarget): ConfidenceEvidenceMutation;
1361
1422
 
1362
- export { type AddBoothArrayInput, type AddGAAreaInput, type AddRowBlockInput, type AddTableArrayInput, type ArcFanRowsInput, type ArcFanRowsPreview, type AutomaticPlacement, type BookableGridArrayInput, type BookableGridArrayPreview, COLORBLIND_SAFE_PALETTE, type ChartObjectIdFactory, ChartOperationError, type ConfidenceEvidenceChange, type ConfidenceEvidenceMutation, ConfidenceEvidenceScope, type ConfidenceEvidenceTarget, type CreationCategoryPlan, DEFAULT_FLOOR_HEIGHT_STEP_M, type GeneratedSectionPolygonConversionPreview, type JoinGAAreasPreview, type LabelStylePatch, MAX_BUYER_IMAGE_URL_LENGTH, MAX_FLOOR_BASE_HEIGHT_M, type MergeRowsResult, type PolygonHolePreview, type ReassignColorblindSafeResult, type ReferenceScanApplyResult, type ReferenceScanPreview, type ReferenceScanRowsOptions, type ReferenceScanSectionOutcome, type ReferenceScanSkippedSection, type ReplaceRowBlockInput, type ReplaceRowBlockResult, type ResolveCreationCategoryOptions, type RowBlockSpacingResult, type RowCubicPathPreview, type SeatRef, type SectionBoundaryTransform, type SectionBoundaryTransformResult, type SectionInventorySelectionSummary, type SectionRowFitInput, type SectionRowFitPreview, type SegmentedRowGroupResult, type SharedBoothPatch, type SharedCategoryPatch, type SharedGAAreaPatch, type SharedRowPatch, type SharedSeatOverridePatch, type SharedSectionMetadataPatch, type SharedShapePatch, type SharedTablePatch, type SharedTextPatch, type SharedThemePatch, type SharedZonePatch, type SplitRowResult, type StageLabelStylePatch, type StraightenAndSpaceResult, addArcFanRows, addBookableGridArray, addBoothArray, addChartCategory, addChartFloor, addChartZone, addGAArea, addRowBlock, addTableArray, applyPolygonHole, applyReferenceScanRows, applySectionCornerSmoothing, applySectionOutlineShaping, applySectionRowFit, approveConfidenceEvidence, arcFanInputForGroup, assignSectionInventoryCategory, automaticPlacementCenter, clearConfidenceEvidence, confidenceEvidenceChangeRequiresPublish, confidenceEvidenceChanges, confirmReferenceCategoryOutputColor, convertGeneratedSectionToPolygon, countCoveredInventory, familyCategoryLabel, gaAreaFootprint, groupRowsAsSegmented, insertSeatingBlock, isSafeBuyerImageUrl, joinGAAreas, mergeRows, mirrorFirstFloor, normalizeBuyerImageUrl, normalizeDraftEvidence, parseSeatRefId, pickColorblindSafeCategoryColor, planCreationCategory, previewArcFanRows, previewBookableGridArray, previewGeneratedSectionPolygonConversion, previewJoinGAAreas, previewPolygonHole, previewRemovePolygonHole, previewRowCubicPath, previewSectionRowFit, reassignColorblindSafeCategoryColors, relabelChartRows, removeChartCategory, removeChartFloor, removeChartObjects, removeChartZone, removePolygonHole, renameChartFloor, renameDirectSeatImportCategory, reorderChartCategories, replaceArcFanRows, replaceRowBlock, resetSeatOverrides, resizeShapes, resolveCreationCategory, retractConfidenceEvidence, seatRefId, sectionInventorySelectionSummary, setConfidenceEvidence, setRowBlockSpacing, splitRow, straightenAndSpaceRows, transformSectionBoundary, transformSectionBoundaryObject, ungroupSegmentedRow, updateBooths, updateCategoryDefinitions, updateChartFloorBaseHeight, updateChartTheme, updateChartZones, updateGAAreas, updateRowCubicPath, updateRows, updateSeatOverrides, updateSectionExactPath, updateSectionMetadata, updateSegmentedRow, updateShapes, updateStageKinds, updateTables, updateTextObjects, updateViewFromSeatFallback };
1423
+ export { type AddBoothArrayInput, type AddGAAreaInput, type AddRowBlockInput, type AddTableArrayInput, type ArcFanRowsInput, type ArcFanRowsPreview, type AutomaticPlacement, type BookableGridArrayInput, type BookableGridArrayPreview, COLORBLIND_SAFE_PALETTE, type ChartObjectIdFactory, ChartOperationError, type ConfidenceEvidenceChange, type ConfidenceEvidenceMutation, ConfidenceEvidenceScope, type ConfidenceEvidenceTarget, type CreationCategoryPlan, DEFAULT_FLOOR_HEIGHT_STEP_M, type GeneratedSectionPolygonConversionPreview, type JoinGAAreasPreview, type LabelStylePatch, MAX_BUYER_IMAGE_URL_LENGTH, MAX_FLOOR_BASE_HEIGHT_M, type MergeRowsResult, type PolygonHolePreview, type ReassignColorblindSafeResult, type ReferenceScanApplyResult, type ReferenceScanPreview, type ReferenceScanRowsOptions, type ReferenceScanSectionOutcome, type ReferenceScanSkippedSection, type ReplaceRowBlockInput, type ReplaceRowBlockResult, type ResolveCreationCategoryOptions, type RowBlockSpacingResult, type RowCubicPathPreview, type SeatRef, type SectionBoundaryTransform, type SectionBoundaryTransformResult, type SectionInventorySelectionSummary, type SectionRowFitInput, type SectionRowFitPreview, type SegmentedRowGroupResult, type SharedBoothPatch, type SharedCategoryPatch, type SharedGAAreaPatch, type SharedRowPatch, type SharedSeatOverridePatch, type SharedSectionMetadataPatch, type SharedShapePatch, type SharedTablePatch, type SharedTextPatch, type SharedThemePatch, type SharedZonePatch, type SplitRowResult, type StageLabelStylePatch, type StraightenAndSpaceResult, addArcFanRows, addBookableGridArray, addBoothArray, addChartCategory, addChartFloor, addChartZone, addGAArea, addRowBlock, addTableArray, applyPolygonHole, applyReferenceScanRows, applySectionCornerSmoothing, applySectionOutlineShaping, applySectionRowFit, approveConfidenceEvidence, arcFanInputForGroup, assignSectionInventoryCategory, automaticPlacementCenter, clearConfidenceEvidence, compactChartDoc, compactRowOverrides, compactTableOverrides, confidenceEvidenceChangeRequiresPublish, confidenceEvidenceChanges, confirmReferenceCategoryOutputColor, convertGeneratedSectionToPolygon, countCoveredInventory, detectSeatLabelRun, dropRedundantSeatOverrideFields, familyCategoryLabel, gaAreaFootprint, groupRowsAsSegmented, insertSeatingBlock, isSafeBuyerImageUrl, joinGAAreas, mergeRows, mirrorFirstFloor, normalizeBuyerImageUrl, normalizeDraftEvidence, parseSeatRefId, pickColorblindSafeCategoryColor, planCreationCategory, previewArcFanRows, previewBookableGridArray, previewGeneratedSectionPolygonConversion, previewJoinGAAreas, previewPolygonHole, previewRemovePolygonHole, previewRowCubicPath, previewSectionRowFit, reassignColorblindSafeCategoryColors, relabelChartRows, removeChartCategory, removeChartFloor, removeChartObjects, removeChartZone, removePolygonHole, renameChartFloor, renameDirectSeatImportCategory, reorderChartCategories, replaceArcFanRows, replaceRowBlock, resetSeatOverrides, resizeShapes, resolveCreationCategory, retractConfidenceEvidence, roundBuyerCoordinates, seatRefId, seatSemanticsSignature, sectionInventorySelectionSummary, setConfidenceEvidence, setRowBlockSpacing, splitRow, straightenAndSpaceRows, transformSectionBoundary, transformSectionBoundaryObject, ungroupSegmentedRow, updateBooths, updateCategoryDefinitions, updateChartFloorBaseHeight, updateChartTheme, updateChartZones, updateGAAreas, updateRowCubicPath, updateRows, updateSeatOverrides, updateSectionExactPath, updateSectionMetadata, updateSegmentedRow, updateShapes, updateStageKinds, updateTables, updateTextObjects, updateViewFromSeatFallback };