@byfungsi/lipat 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/dist/agent.d.ts +121 -0
- package/dist/agent.js +123 -2
- package/dist/agent.js.map +1 -1
- package/dist/{chunk-3Y7RTBXB.js → chunk-GUFMPKIG.js} +3 -3
- package/dist/{chunk-3Y7RTBXB.js.map → chunk-GUFMPKIG.js.map} +1 -1
- package/dist/{chunk-XBYA2SDR.js → chunk-KZRDAJT7.js} +3 -3
- package/dist/{chunk-XBYA2SDR.js.map → chunk-KZRDAJT7.js.map} +1 -1
- package/dist/{chunk-ZWYBNOM7.js → chunk-LWSSYK2Q.js} +2 -2
- package/dist/{chunk-ZWYBNOM7.js.map → chunk-LWSSYK2Q.js.map} +1 -1
- package/dist/{chunk-QLXFBGFX.js → chunk-O2QC22QE.js} +34 -15
- package/dist/chunk-O2QC22QE.js.map +1 -0
- package/dist/{chunk-NQEGMU5Z.js → chunk-XGCPZJK2.js} +3 -3
- package/dist/{chunk-NQEGMU5Z.js.map → chunk-XGCPZJK2.js.map} +1 -1
- package/dist/{chunk-7UJI2K63.js → chunk-YIDY3IIM.js} +46 -19
- package/dist/chunk-YIDY3IIM.js.map +1 -0
- package/dist/core.js +2 -2
- package/dist/images.js +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -5
- package/dist/lipat.wasm +0 -0
- package/dist/model.d.ts +28 -1
- package/dist/model.js +1 -1
- package/dist/pptx.js +3 -3
- package/dist/react.d.ts +24 -8
- package/dist/react.js +119 -60
- package/dist/react.js.map +1 -1
- package/dist/render.d.ts +14 -7
- package/dist/render.js +1 -1
- package/dist/reveal.d.ts +7 -2
- package/dist/reveal.js +5 -5
- package/dist/reveal.js.map +1 -1
- package/dist/wasm.d.ts +5 -3
- package/dist/wasm.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-7UJI2K63.js.map +0 -1
- package/dist/chunk-QLXFBGFX.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Lipat
|
|
2
2
|
|
|
3
|
-
An agent-friendly slide authoring engine with an independent PPTX parser and exporter. Create slides from semantic JSON, TypeScript presets or Markdown; edit by stable IDs; compile into a shared scene for preview and export. The portable Rust core runs natively and as real WebAssembly in browsers and
|
|
3
|
+
An agent-friendly slide authoring engine with an independent PPTX parser and exporter. Create slides from semantic JSON, TypeScript presets or Markdown; edit by stable IDs; compile into a shared scene for preview and export. The portable Rust core runs natively and as real WebAssembly in browsers, Node and Workers with imported precompiled modules.
|
|
4
4
|
|
|
5
5
|
Inspired by [Nori](https://github.com/byfungsi/nori)'s headless model/runtime/adapters and [reveal.js](https://github.com/hakimel/reveal.js)'s declarative presentation flow. Lipat's primary source is an abstract authoring document. PPTX is a separate file adapter.
|
|
6
6
|
|
|
@@ -154,3 +154,11 @@ Workspace crates are path dependencies until published. `cargo run -p lipat-wasm
|
|
|
154
154
|
`npm run verify` checks dependency boundaries, strict/headless TypeScript, behavioral/property/React tests through the real WASM engine, native Rust tests, native/WASM equivalence, builds, an isolated packed npm consumer, optional React/SSR isolation and documentation generation/build.
|
|
155
155
|
|
|
156
156
|
`npm run verify:browser` exercises the built demo in a real Chromium browser. `npm run verify:interop` independently opens exported PPTX with python-pptx after installing `scripts/requirements-interop.txt`. `npm run verify:openxml` validates animated and linked-image packages with Microsoft’s Open XML SDK (.NET 8 required). CI runs these extra checks too.
|
|
157
|
+
|
|
158
|
+
## Worker and immutable Artifact hosts
|
|
159
|
+
|
|
160
|
+
Version **0.4.0** adds `createLipatFromModule(module, {limits})` for precompiled Worker WASM while preserving `createLipat(bytes, {limits})`. Both share one ABI bridge and native resource budgets. See [Worker setup](docs/wasm.md) and [limit enforcement](docs/limits.md).
|
|
161
|
+
|
|
162
|
+
`ScenePreview` and `ScenePlayer` from `/react` accept a `SlideScene` directly, with no authoring runtime or WASM initialization. They default to `imagePolicy="embedded-only"`. Existing runtime viewers accept the same policy. [Scene viewer guide](docs/react.md) · [Live sample](https://byfungsi.github.io/lipat/playground/scene.html).
|
|
163
|
+
|
|
164
|
+
`npm run verify:workerd` tests the real restricted runtime; browser checks verify scene-only rendering without external fetches. Resource budgets bound admitted processing, not elapsed time or total heap usage; synchronous WASM cannot be interrupted by a JavaScript timer on the same thread.
|
package/dist/agent.d.ts
CHANGED
|
@@ -2039,6 +2039,127 @@ declare const deckSchemas: {
|
|
|
2039
2039
|
})[];
|
|
2040
2040
|
title: string;
|
|
2041
2041
|
};
|
|
2042
|
+
resourceLimits: {
|
|
2043
|
+
$schema: string;
|
|
2044
|
+
additionalProperties: boolean;
|
|
2045
|
+
description: string;
|
|
2046
|
+
properties: {
|
|
2047
|
+
maxAssetBytes: {
|
|
2048
|
+
default: number;
|
|
2049
|
+
format: string;
|
|
2050
|
+
maximum: number;
|
|
2051
|
+
minimum: number;
|
|
2052
|
+
type: string;
|
|
2053
|
+
};
|
|
2054
|
+
maxDepth: {
|
|
2055
|
+
default: number;
|
|
2056
|
+
format: string;
|
|
2057
|
+
maximum: number;
|
|
2058
|
+
minimum: number;
|
|
2059
|
+
type: string;
|
|
2060
|
+
};
|
|
2061
|
+
maxEntries: {
|
|
2062
|
+
default: number;
|
|
2063
|
+
format: string;
|
|
2064
|
+
maximum: number;
|
|
2065
|
+
minimum: number;
|
|
2066
|
+
type: string;
|
|
2067
|
+
};
|
|
2068
|
+
maxEntryBytes: {
|
|
2069
|
+
default: number;
|
|
2070
|
+
format: string;
|
|
2071
|
+
maximum: number;
|
|
2072
|
+
minimum: number;
|
|
2073
|
+
type: string;
|
|
2074
|
+
};
|
|
2075
|
+
maxExpandedBytes: {
|
|
2076
|
+
default: number;
|
|
2077
|
+
format: string;
|
|
2078
|
+
maximum: number;
|
|
2079
|
+
minimum: number;
|
|
2080
|
+
type: string;
|
|
2081
|
+
};
|
|
2082
|
+
maxLayoutWork: {
|
|
2083
|
+
default: number;
|
|
2084
|
+
format: string;
|
|
2085
|
+
maximum: number;
|
|
2086
|
+
minimum: number;
|
|
2087
|
+
type: string;
|
|
2088
|
+
};
|
|
2089
|
+
maxNodes: {
|
|
2090
|
+
default: number;
|
|
2091
|
+
format: string;
|
|
2092
|
+
maximum: number;
|
|
2093
|
+
minimum: number;
|
|
2094
|
+
type: string;
|
|
2095
|
+
};
|
|
2096
|
+
maxPptxBytes: {
|
|
2097
|
+
default: number;
|
|
2098
|
+
format: string;
|
|
2099
|
+
maximum: number;
|
|
2100
|
+
minimum: number;
|
|
2101
|
+
type: string;
|
|
2102
|
+
};
|
|
2103
|
+
maxRequestBytes: {
|
|
2104
|
+
default: number;
|
|
2105
|
+
format: string;
|
|
2106
|
+
maximum: number;
|
|
2107
|
+
minimum: number;
|
|
2108
|
+
type: string;
|
|
2109
|
+
};
|
|
2110
|
+
maxSceneElements: {
|
|
2111
|
+
default: number;
|
|
2112
|
+
format: string;
|
|
2113
|
+
maximum: number;
|
|
2114
|
+
minimum: number;
|
|
2115
|
+
type: string;
|
|
2116
|
+
};
|
|
2117
|
+
maxSlides: {
|
|
2118
|
+
default: number;
|
|
2119
|
+
format: string;
|
|
2120
|
+
maximum: number;
|
|
2121
|
+
minimum: number;
|
|
2122
|
+
type: string;
|
|
2123
|
+
};
|
|
2124
|
+
maxTableCells: {
|
|
2125
|
+
default: number;
|
|
2126
|
+
format: string;
|
|
2127
|
+
maximum: number;
|
|
2128
|
+
minimum: number;
|
|
2129
|
+
type: string;
|
|
2130
|
+
};
|
|
2131
|
+
maxTextBytes: {
|
|
2132
|
+
default: number;
|
|
2133
|
+
format: string;
|
|
2134
|
+
maximum: number;
|
|
2135
|
+
minimum: number;
|
|
2136
|
+
type: string;
|
|
2137
|
+
};
|
|
2138
|
+
maxTextLines: {
|
|
2139
|
+
default: number;
|
|
2140
|
+
format: string;
|
|
2141
|
+
maximum: number;
|
|
2142
|
+
minimum: number;
|
|
2143
|
+
type: string;
|
|
2144
|
+
};
|
|
2145
|
+
maxXmlBytes: {
|
|
2146
|
+
default: number;
|
|
2147
|
+
format: string;
|
|
2148
|
+
maximum: number;
|
|
2149
|
+
minimum: number;
|
|
2150
|
+
type: string;
|
|
2151
|
+
};
|
|
2152
|
+
maxXmlNodes: {
|
|
2153
|
+
default: number;
|
|
2154
|
+
format: string;
|
|
2155
|
+
maximum: number;
|
|
2156
|
+
minimum: number;
|
|
2157
|
+
type: string;
|
|
2158
|
+
};
|
|
2159
|
+
};
|
|
2160
|
+
title: string;
|
|
2161
|
+
type: string;
|
|
2162
|
+
};
|
|
2042
2163
|
};
|
|
2043
2164
|
/** Inspect → atomic edit → compile → preview → export, with no model-provider dependency. */
|
|
2044
2165
|
declare function createAgentTools(deck: DeckRuntime, options: {
|
package/dist/agent.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { renderDeckHtml, renderSlideSvg } from './chunk-
|
|
2
|
-
import { encodeAssetBytes } from './chunk-
|
|
1
|
+
import { renderDeckHtml, renderSlideSvg } from './chunk-O2QC22QE.js';
|
|
2
|
+
import { encodeAssetBytes } from './chunk-LWSSYK2Q.js';
|
|
3
3
|
|
|
4
4
|
// ../agent/src/schemas.json
|
|
5
5
|
var schemas_default = {
|
|
@@ -1557,6 +1557,127 @@ var schemas_default = {
|
|
|
1557
1557
|
}
|
|
1558
1558
|
],
|
|
1559
1559
|
title: "Operation"
|
|
1560
|
+
},
|
|
1561
|
+
resourceLimits: {
|
|
1562
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
1563
|
+
additionalProperties: false,
|
|
1564
|
+
description: "Processing bounds shared by native and WASM; not a wall-clock timeout or a heap reservation.",
|
|
1565
|
+
properties: {
|
|
1566
|
+
maxAssetBytes: {
|
|
1567
|
+
default: 67108864,
|
|
1568
|
+
format: "uint",
|
|
1569
|
+
maximum: 67108864,
|
|
1570
|
+
minimum: 0,
|
|
1571
|
+
type: "integer"
|
|
1572
|
+
},
|
|
1573
|
+
maxDepth: {
|
|
1574
|
+
default: 64,
|
|
1575
|
+
format: "uint",
|
|
1576
|
+
maximum: 64,
|
|
1577
|
+
minimum: 0,
|
|
1578
|
+
type: "integer"
|
|
1579
|
+
},
|
|
1580
|
+
maxEntries: {
|
|
1581
|
+
default: 1e4,
|
|
1582
|
+
format: "uint",
|
|
1583
|
+
maximum: 1e4,
|
|
1584
|
+
minimum: 0,
|
|
1585
|
+
type: "integer"
|
|
1586
|
+
},
|
|
1587
|
+
maxEntryBytes: {
|
|
1588
|
+
default: 33554432,
|
|
1589
|
+
format: "uint",
|
|
1590
|
+
maximum: 33554432,
|
|
1591
|
+
minimum: 0,
|
|
1592
|
+
type: "integer"
|
|
1593
|
+
},
|
|
1594
|
+
maxExpandedBytes: {
|
|
1595
|
+
default: 67108864,
|
|
1596
|
+
format: "uint",
|
|
1597
|
+
maximum: 67108864,
|
|
1598
|
+
minimum: 0,
|
|
1599
|
+
type: "integer"
|
|
1600
|
+
},
|
|
1601
|
+
maxLayoutWork: {
|
|
1602
|
+
default: 1e8,
|
|
1603
|
+
format: "uint",
|
|
1604
|
+
maximum: 1e8,
|
|
1605
|
+
minimum: 0,
|
|
1606
|
+
type: "integer"
|
|
1607
|
+
},
|
|
1608
|
+
maxNodes: {
|
|
1609
|
+
default: 1e5,
|
|
1610
|
+
format: "uint",
|
|
1611
|
+
maximum: 1e5,
|
|
1612
|
+
minimum: 0,
|
|
1613
|
+
type: "integer"
|
|
1614
|
+
},
|
|
1615
|
+
maxPptxBytes: {
|
|
1616
|
+
default: 33554432,
|
|
1617
|
+
format: "uint",
|
|
1618
|
+
maximum: 33554432,
|
|
1619
|
+
minimum: 0,
|
|
1620
|
+
type: "integer"
|
|
1621
|
+
},
|
|
1622
|
+
maxRequestBytes: {
|
|
1623
|
+
default: 100663296,
|
|
1624
|
+
format: "uint",
|
|
1625
|
+
maximum: 100663296,
|
|
1626
|
+
minimum: 1,
|
|
1627
|
+
type: "integer"
|
|
1628
|
+
},
|
|
1629
|
+
maxSceneElements: {
|
|
1630
|
+
default: 1e5,
|
|
1631
|
+
format: "uint",
|
|
1632
|
+
maximum: 1e5,
|
|
1633
|
+
minimum: 0,
|
|
1634
|
+
type: "integer"
|
|
1635
|
+
},
|
|
1636
|
+
maxSlides: {
|
|
1637
|
+
default: 1e4,
|
|
1638
|
+
format: "uint",
|
|
1639
|
+
maximum: 1e4,
|
|
1640
|
+
minimum: 0,
|
|
1641
|
+
type: "integer"
|
|
1642
|
+
},
|
|
1643
|
+
maxTableCells: {
|
|
1644
|
+
default: 1e7,
|
|
1645
|
+
format: "uint",
|
|
1646
|
+
maximum: 1e7,
|
|
1647
|
+
minimum: 0,
|
|
1648
|
+
type: "integer"
|
|
1649
|
+
},
|
|
1650
|
+
maxTextBytes: {
|
|
1651
|
+
default: 1e6,
|
|
1652
|
+
format: "uint",
|
|
1653
|
+
maximum: 1e6,
|
|
1654
|
+
minimum: 0,
|
|
1655
|
+
type: "integer"
|
|
1656
|
+
},
|
|
1657
|
+
maxTextLines: {
|
|
1658
|
+
default: 1e4,
|
|
1659
|
+
format: "uint",
|
|
1660
|
+
maximum: 1e4,
|
|
1661
|
+
minimum: 0,
|
|
1662
|
+
type: "integer"
|
|
1663
|
+
},
|
|
1664
|
+
maxXmlBytes: {
|
|
1665
|
+
default: 8388608,
|
|
1666
|
+
format: "uint",
|
|
1667
|
+
maximum: 8388608,
|
|
1668
|
+
minimum: 0,
|
|
1669
|
+
type: "integer"
|
|
1670
|
+
},
|
|
1671
|
+
maxXmlNodes: {
|
|
1672
|
+
default: 2e5,
|
|
1673
|
+
format: "uint32",
|
|
1674
|
+
maximum: 2e5,
|
|
1675
|
+
minimum: 1,
|
|
1676
|
+
type: "integer"
|
|
1677
|
+
}
|
|
1678
|
+
},
|
|
1679
|
+
title: "ResourceLimits",
|
|
1680
|
+
type: "object"
|
|
1560
1681
|
}
|
|
1561
1682
|
};
|
|
1562
1683
|
|