@rasamjs/core 0.0.0-stage → 0.1.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/API.md +169 -0
- package/CHANGELOG.md +196 -0
- package/LICENSE +21 -0
- package/README.md +675 -2
- package/RELEASING.md +125 -0
- package/dist/advanced.d.ts +29 -0
- package/dist/advanced.d.ts.map +1 -0
- package/dist/advanced.js +25 -0
- package/dist/advanced.js.map +1 -0
- package/dist/animation/channels.d.ts +17 -0
- package/dist/animation/channels.d.ts.map +1 -0
- package/dist/animation/channels.js +184 -0
- package/dist/animation/channels.js.map +1 -0
- package/dist/animation/ease.d.ts +3 -0
- package/dist/animation/ease.d.ts.map +1 -0
- package/dist/animation/ease.js +50 -0
- package/dist/animation/ease.js.map +1 -0
- package/dist/animation/interpolate.d.ts +14 -0
- package/dist/animation/interpolate.d.ts.map +1 -0
- package/dist/animation/interpolate.js +160 -0
- package/dist/animation/interpolate.js.map +1 -0
- package/dist/animation/timeline.d.ts +82 -0
- package/dist/animation/timeline.d.ts.map +1 -0
- package/dist/animation/timeline.js +513 -0
- package/dist/animation/timeline.js.map +1 -0
- package/dist/animation/types.d.ts +65 -0
- package/dist/animation/types.d.ts.map +1 -0
- package/dist/animation/types.js +2 -0
- package/dist/animation/types.js.map +1 -0
- package/dist/animation.d.ts +8 -0
- package/dist/animation.d.ts.map +1 -0
- package/dist/animation.js +7 -0
- package/dist/animation.js.map +1 -0
- package/dist/catalog/attributes.d.ts +4 -0
- package/dist/catalog/attributes.d.ts.map +1 -0
- package/dist/catalog/attributes.js +42 -0
- package/dist/catalog/attributes.js.map +1 -0
- package/dist/catalog/css.d.ts +5 -0
- package/dist/catalog/css.d.ts.map +1 -0
- package/dist/catalog/css.js +21 -0
- package/dist/catalog/css.js.map +1 -0
- package/dist/catalog/define-element.d.ts +12 -0
- package/dist/catalog/define-element.d.ts.map +1 -0
- package/dist/catalog/define-element.js +106 -0
- package/dist/catalog/define-element.js.map +1 -0
- package/dist/catalog/fragment.d.ts +19 -0
- package/dist/catalog/fragment.d.ts.map +1 -0
- package/dist/catalog/fragment.js +107 -0
- package/dist/catalog/fragment.js.map +1 -0
- package/dist/catalog/namespaces.d.ts +11 -0
- package/dist/catalog/namespaces.d.ts.map +1 -0
- package/dist/catalog/namespaces.js +16 -0
- package/dist/catalog/namespaces.js.map +1 -0
- package/dist/catalog/native-content.d.ts +5 -0
- package/dist/catalog/native-content.d.ts.map +1 -0
- package/dist/catalog/native-content.js +28 -0
- package/dist/catalog/native-content.js.map +1 -0
- package/dist/catalog/types.d.ts +31 -0
- package/dist/catalog/types.d.ts.map +1 -0
- package/dist/catalog/types.js +2 -0
- package/dist/catalog/types.js.map +1 -0
- package/dist/catalog.d.ts +20 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +52 -0
- package/dist/catalog.js.map +1 -0
- package/dist/changes/mutation.d.ts +3 -0
- package/dist/changes/mutation.d.ts.map +1 -0
- package/dist/changes/mutation.js +9 -0
- package/dist/changes/mutation.js.map +1 -0
- package/dist/changes/restore.d.ts +5 -0
- package/dist/changes/restore.d.ts.map +1 -0
- package/dist/changes/restore.js +315 -0
- package/dist/changes/restore.js.map +1 -0
- package/dist/changes/service.d.ts +63 -0
- package/dist/changes/service.d.ts.map +1 -0
- package/dist/changes/service.js +365 -0
- package/dist/changes/service.js.map +1 -0
- package/dist/changes/state.d.ts +16 -0
- package/dist/changes/state.d.ts.map +1 -0
- package/dist/changes/state.js +226 -0
- package/dist/changes/state.js.map +1 -0
- package/dist/changes/types.d.ts +134 -0
- package/dist/changes/types.d.ts.map +1 -0
- package/dist/changes/types.js +26 -0
- package/dist/changes/types.js.map +1 -0
- package/dist/changes.d.ts +12 -0
- package/dist/changes.d.ts.map +1 -0
- package/dist/changes.js +22 -0
- package/dist/changes.js.map +1 -0
- package/dist/core/attribute-validation.d.ts +3 -0
- package/dist/core/attribute-validation.d.ts.map +1 -0
- package/dist/core/attribute-validation.js +3 -0
- package/dist/core/attribute-validation.js.map +1 -0
- package/dist/core/destruction.d.ts +7 -0
- package/dist/core/destruction.d.ts.map +1 -0
- package/dist/core/destruction.js +9 -0
- package/dist/core/destruction.js.map +1 -0
- package/dist/core/mix.d.ts +3 -0
- package/dist/core/mix.d.ts.map +1 -0
- package/dist/core/mix.js +2 -0
- package/dist/core/mix.js.map +1 -0
- package/dist/core/native-validation.d.ts +3 -0
- package/dist/core/native-validation.d.ts.map +1 -0
- package/dist/core/native-validation.js +3 -0
- package/dist/core/native-validation.js.map +1 -0
- package/dist/core/node.d.ts +80 -0
- package/dist/core/node.d.ts.map +1 -0
- package/dist/core/node.js +349 -0
- package/dist/core/node.js.map +1 -0
- package/dist/core/shape.d.ts +10 -0
- package/dist/core/shape.d.ts.map +1 -0
- package/dist/core/shape.js +13 -0
- package/dist/core/shape.js.map +1 -0
- package/dist/core/types.d.ts +39 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/data.d.ts +20 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +151 -0
- package/dist/data.js.map +1 -0
- package/dist/decorators/attr.d.ts +13 -0
- package/dist/decorators/attr.d.ts.map +1 -0
- package/dist/decorators/attr.js +52 -0
- package/dist/decorators/attr.js.map +1 -0
- package/dist/decorators/attrs.d.ts +21 -0
- package/dist/decorators/attrs.d.ts.map +1 -0
- package/dist/decorators/attrs.js +47 -0
- package/dist/decorators/attrs.js.map +1 -0
- package/dist/dom/attributes.d.ts +31 -0
- package/dist/dom/attributes.d.ts.map +1 -0
- package/dist/dom/attributes.js +277 -0
- package/dist/dom/attributes.js.map +1 -0
- package/dist/dom/content.d.ts +15 -0
- package/dist/dom/content.d.ts.map +1 -0
- package/dist/dom/content.js +79 -0
- package/dist/dom/content.js.map +1 -0
- package/dist/dom/create.d.ts +42 -0
- package/dist/dom/create.d.ts.map +1 -0
- package/dist/dom/create.js +243 -0
- package/dist/dom/create.js.map +1 -0
- package/dist/dom/events.d.ts +11 -0
- package/dist/dom/events.d.ts.map +1 -0
- package/dist/dom/events.js +39 -0
- package/dist/dom/events.js.map +1 -0
- package/dist/dom/images.d.ts +9 -0
- package/dist/dom/images.d.ts.map +1 -0
- package/dist/dom/images.js +17 -0
- package/dist/dom/images.js.map +1 -0
- package/dist/dom/namespace.d.ts +4 -0
- package/dist/dom/namespace.d.ts.map +1 -0
- package/dist/dom/namespace.js +4 -0
- package/dist/dom/namespace.js.map +1 -0
- package/dist/dom/namespaced-attributes.d.ts +8 -0
- package/dist/dom/namespaced-attributes.d.ts.map +1 -0
- package/dist/dom/namespaced-attributes.js +29 -0
- package/dist/dom/namespaced-attributes.js.map +1 -0
- package/dist/dom/text.d.ts +14 -0
- package/dist/dom/text.d.ts.map +1 -0
- package/dist/dom/text.js +54 -0
- package/dist/dom/text.js.map +1 -0
- package/dist/dom/types.d.ts +12 -0
- package/dist/dom/types.d.ts.map +1 -0
- package/dist/dom/types.js +3 -0
- package/dist/dom/types.js.map +1 -0
- package/dist/dom/viewport.d.ts +8 -0
- package/dist/dom/viewport.d.ts.map +1 -0
- package/dist/dom/viewport.js +27 -0
- package/dist/dom/viewport.js.map +1 -0
- package/dist/elements/circle.d.ts +16 -0
- package/dist/elements/circle.d.ts.map +1 -0
- package/dist/elements/circle.js +107 -0
- package/dist/elements/circle.js.map +1 -0
- package/dist/elements/clip-path.d.ts +13 -0
- package/dist/elements/clip-path.d.ts.map +1 -0
- package/dist/elements/clip-path.js +25 -0
- package/dist/elements/clip-path.js.map +1 -0
- package/dist/elements/defs.d.ts +7 -0
- package/dist/elements/defs.d.ts.map +1 -0
- package/dist/elements/defs.js +9 -0
- package/dist/elements/defs.js.map +1 -0
- package/dist/elements/descriptive.d.ts +31 -0
- package/dist/elements/descriptive.d.ts.map +1 -0
- package/dist/elements/descriptive.js +34 -0
- package/dist/elements/descriptive.js.map +1 -0
- package/dist/elements/ellipse.d.ts +17 -0
- package/dist/elements/ellipse.d.ts.map +1 -0
- package/dist/elements/ellipse.js +110 -0
- package/dist/elements/ellipse.js.map +1 -0
- package/dist/elements/foreign-object.d.ts +27 -0
- package/dist/elements/foreign-object.d.ts.map +1 -0
- package/dist/elements/foreign-object.js +142 -0
- package/dist/elements/foreign-object.js.map +1 -0
- package/dist/elements/generic.d.ts +17 -0
- package/dist/elements/generic.d.ts.map +1 -0
- package/dist/elements/generic.js +29 -0
- package/dist/elements/generic.js.map +1 -0
- package/dist/elements/gradient.d.ts +38 -0
- package/dist/elements/gradient.d.ts.map +1 -0
- package/dist/elements/gradient.js +155 -0
- package/dist/elements/gradient.js.map +1 -0
- package/dist/elements/group.d.ts +8 -0
- package/dist/elements/group.d.ts.map +1 -0
- package/dist/elements/group.js +12 -0
- package/dist/elements/group.js.map +1 -0
- package/dist/elements/image.d.ts +39 -0
- package/dist/elements/image.d.ts.map +1 -0
- package/dist/elements/image.js +254 -0
- package/dist/elements/image.js.map +1 -0
- package/dist/elements/index.d.ts +6 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +38 -0
- package/dist/elements/index.js.map +1 -0
- package/dist/elements/instance-hit.d.ts +5 -0
- package/dist/elements/instance-hit.d.ts.map +1 -0
- package/dist/elements/instance-hit.js +21 -0
- package/dist/elements/instance-hit.js.map +1 -0
- package/dist/elements/line.d.ts +22 -0
- package/dist/elements/line.d.ts.map +1 -0
- package/dist/elements/line.js +111 -0
- package/dist/elements/line.js.map +1 -0
- package/dist/elements/link.d.ts +15 -0
- package/dist/elements/link.d.ts.map +1 -0
- package/dist/elements/link.js +26 -0
- package/dist/elements/link.js.map +1 -0
- package/dist/elements/marker.d.ts +22 -0
- package/dist/elements/marker.d.ts.map +1 -0
- package/dist/elements/marker.js +67 -0
- package/dist/elements/marker.js.map +1 -0
- package/dist/elements/mask.d.ts +26 -0
- package/dist/elements/mask.d.ts.map +1 -0
- package/dist/elements/mask.js +67 -0
- package/dist/elements/mask.js.map +1 -0
- package/dist/elements/path.d.ts +20 -0
- package/dist/elements/path.d.ts.map +1 -0
- package/dist/elements/path.js +111 -0
- package/dist/elements/path.js.map +1 -0
- package/dist/elements/pattern.d.ts +27 -0
- package/dist/elements/pattern.d.ts.map +1 -0
- package/dist/elements/pattern.js +68 -0
- package/dist/elements/pattern.js.map +1 -0
- package/dist/elements/point-shape.d.ts +19 -0
- package/dist/elements/point-shape.d.ts.map +1 -0
- package/dist/elements/point-shape.js +99 -0
- package/dist/elements/point-shape.js.map +1 -0
- package/dist/elements/polygon.d.ts +5 -0
- package/dist/elements/polygon.d.ts.map +1 -0
- package/dist/elements/polygon.js +5 -0
- package/dist/elements/polygon.js.map +1 -0
- package/dist/elements/polyline.d.ts +5 -0
- package/dist/elements/polyline.d.ts.map +1 -0
- package/dist/elements/polyline.js +5 -0
- package/dist/elements/polyline.js.map +1 -0
- package/dist/elements/rect.d.ts +15 -0
- package/dist/elements/rect.d.ts.map +1 -0
- package/dist/elements/rect.js +116 -0
- package/dist/elements/rect.js.map +1 -0
- package/dist/elements/stop.d.ts +15 -0
- package/dist/elements/stop.d.ts.map +1 -0
- package/dist/elements/stop.js +95 -0
- package/dist/elements/stop.js.map +1 -0
- package/dist/elements/style.d.ts +17 -0
- package/dist/elements/style.d.ts.map +1 -0
- package/dist/elements/style.js +37 -0
- package/dist/elements/style.js.map +1 -0
- package/dist/elements/svg.d.ts +23 -0
- package/dist/elements/svg.d.ts.map +1 -0
- package/dist/elements/svg.js +73 -0
- package/dist/elements/svg.js.map +1 -0
- package/dist/elements/symbol.d.ts +23 -0
- package/dist/elements/symbol.d.ts.map +1 -0
- package/dist/elements/symbol.js +51 -0
- package/dist/elements/symbol.js.map +1 -0
- package/dist/elements/text-path.d.ts +22 -0
- package/dist/elements/text-path.d.ts.map +1 -0
- package/dist/elements/text-path.js +104 -0
- package/dist/elements/text-path.js.map +1 -0
- package/dist/elements/text.d.ts +33 -0
- package/dist/elements/text.d.ts.map +1 -0
- package/dist/elements/text.js +170 -0
- package/dist/elements/text.js.map +1 -0
- package/dist/elements/tspan.d.ts +22 -0
- package/dist/elements/tspan.d.ts.map +1 -0
- package/dist/elements/tspan.js +92 -0
- package/dist/elements/tspan.js.map +1 -0
- package/dist/elements/types.d.ts +167 -0
- package/dist/elements/types.d.ts.map +1 -0
- package/dist/elements/types.js +2 -0
- package/dist/elements/types.js.map +1 -0
- package/dist/elements/use-geometry.d.ts +8 -0
- package/dist/elements/use-geometry.d.ts.map +1 -0
- package/dist/elements/use-geometry.js +38 -0
- package/dist/elements/use-geometry.js.map +1 -0
- package/dist/elements/use.d.ts +26 -0
- package/dist/elements/use.d.ts.map +1 -0
- package/dist/elements/use.js +143 -0
- package/dist/elements/use.js.map +1 -0
- package/dist/events/dom-events.d.ts +8 -0
- package/dist/events/dom-events.d.ts.map +1 -0
- package/dist/events/dom-events.js +189 -0
- package/dist/events/dom-events.js.map +1 -0
- package/dist/events/dom-lifecycle.d.ts +3 -0
- package/dist/events/dom-lifecycle.d.ts.map +1 -0
- package/dist/events/dom-lifecycle.js +15 -0
- package/dist/events/dom-lifecycle.js.map +1 -0
- package/dist/events/dom-router.d.ts +15 -0
- package/dist/events/dom-router.d.ts.map +1 -0
- package/dist/events/dom-router.js +83 -0
- package/dist/events/dom-router.js.map +1 -0
- package/dist/events/dom-types.d.ts +34 -0
- package/dist/events/dom-types.d.ts.map +1 -0
- package/dist/events/dom-types.js +2 -0
- package/dist/events/dom-types.js.map +1 -0
- package/dist/events/emitter.d.ts +12 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/emitter.js +53 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/focusable.d.ts +5 -0
- package/dist/events/focusable.d.ts.map +1 -0
- package/dist/events/focusable.js +17 -0
- package/dist/events/focusable.js.map +1 -0
- package/dist/events/pointer.d.ts +22 -0
- package/dist/events/pointer.d.ts.map +1 -0
- package/dist/events/pointer.js +138 -0
- package/dist/events/pointer.js.map +1 -0
- package/dist/events/types.d.ts +4 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +3 -0
- package/dist/events/types.js.map +1 -0
- package/dist/events.d.ts +5 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +4 -0
- package/dist/events.js.map +1 -0
- package/dist/geometry/bake-ellipse.d.ts +4 -0
- package/dist/geometry/bake-ellipse.d.ts.map +1 -0
- package/dist/geometry/bake-ellipse.js +27 -0
- package/dist/geometry/bake-ellipse.js.map +1 -0
- package/dist/geometry/point-array.d.ts +20 -0
- package/dist/geometry/point-array.d.ts.map +1 -0
- package/dist/geometry/point-array.js +95 -0
- package/dist/geometry/point-array.js.map +1 -0
- package/dist/geometry/point-list.d.ts +7 -0
- package/dist/geometry/point-list.d.ts.map +1 -0
- package/dist/geometry/point-list.js +64 -0
- package/dist/geometry/point-list.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/interchange/clone.d.ts +4 -0
- package/dist/interchange/clone.d.ts.map +1 -0
- package/dist/interchange/clone.js +91 -0
- package/dist/interchange/clone.js.map +1 -0
- package/dist/interchange/dom.d.ts +7 -0
- package/dist/interchange/dom.d.ts.map +1 -0
- package/dist/interchange/dom.js +39 -0
- package/dist/interchange/dom.js.map +1 -0
- package/dist/interchange/markup.d.ts +6 -0
- package/dist/interchange/markup.d.ts.map +1 -0
- package/dist/interchange/markup.js +60 -0
- package/dist/interchange/markup.js.map +1 -0
- package/dist/interchange/policy.d.ts +4 -0
- package/dist/interchange/policy.d.ts.map +1 -0
- package/dist/interchange/policy.js +140 -0
- package/dist/interchange/policy.js.map +1 -0
- package/dist/interchange/reconstruct.d.ts +8 -0
- package/dist/interchange/reconstruct.d.ts.map +1 -0
- package/dist/interchange/reconstruct.js +101 -0
- package/dist/interchange/reconstruct.js.map +1 -0
- package/dist/interchange/references.d.ts +6 -0
- package/dist/interchange/references.d.ts.map +1 -0
- package/dist/interchange/references.js +106 -0
- package/dist/interchange/references.js.map +1 -0
- package/dist/interchange/snapshot.d.ts +4 -0
- package/dist/interchange/snapshot.d.ts.map +1 -0
- package/dist/interchange/snapshot.js +51 -0
- package/dist/interchange/snapshot.js.map +1 -0
- package/dist/interchange/types.d.ts +18 -0
- package/dist/interchange/types.d.ts.map +1 -0
- package/dist/interchange/types.js +2 -0
- package/dist/interchange/types.js.map +1 -0
- package/dist/interchange.d.ts +5 -0
- package/dist/interchange.d.ts.map +1 -0
- package/dist/interchange.js +4 -0
- package/dist/interchange.js.map +1 -0
- package/dist/masks.d.ts +16 -0
- package/dist/masks.d.ts.map +1 -0
- package/dist/masks.js +49 -0
- package/dist/masks.js.map +1 -0
- package/dist/math/bbox.d.ts +22 -0
- package/dist/math/bbox.d.ts.map +1 -0
- package/dist/math/bbox.js +97 -0
- package/dist/math/bbox.js.map +1 -0
- package/dist/math/length.d.ts +4 -0
- package/dist/math/length.d.ts.map +1 -0
- package/dist/math/length.js +19 -0
- package/dist/math/length.js.map +1 -0
- package/dist/math/matrix.d.ts +37 -0
- package/dist/math/matrix.d.ts.map +1 -0
- package/dist/math/matrix.js +155 -0
- package/dist/math/matrix.js.map +1 -0
- package/dist/math/vec2.d.ts +14 -0
- package/dist/math/vec2.d.ts.map +1 -0
- package/dist/math/vec2.js +34 -0
- package/dist/math/vec2.js.map +1 -0
- package/dist/math/viewbox.d.ts +9 -0
- package/dist/math/viewbox.d.ts.map +1 -0
- package/dist/math/viewbox.js +24 -0
- package/dist/math/viewbox.js.map +1 -0
- package/dist/math/viewport.d.ts +14 -0
- package/dist/math/viewport.d.ts.map +1 -0
- package/dist/math/viewport.js +43 -0
- package/dist/math/viewport.js.map +1 -0
- package/dist/media/length.d.ts +5 -0
- package/dist/media/length.d.ts.map +1 -0
- package/dist/media/length.js +20 -0
- package/dist/media/length.js.map +1 -0
- package/dist/media/types.d.ts +36 -0
- package/dist/media/types.d.ts.map +1 -0
- package/dist/media/types.js +2 -0
- package/dist/media/types.js.map +1 -0
- package/dist/media/validation.d.ts +5 -0
- package/dist/media/validation.d.ts.map +1 -0
- package/dist/media/validation.js +24 -0
- package/dist/media/validation.js.map +1 -0
- package/dist/media.d.ts +19 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +74 -0
- package/dist/media.js.map +1 -0
- package/dist/mixins/creatable.d.ts +4 -0
- package/dist/mixins/creatable.d.ts.map +1 -0
- package/dist/mixins/creatable.js +68 -0
- package/dist/mixins/creatable.js.map +1 -0
- package/dist/mixins/guards.d.ts +15 -0
- package/dist/mixins/guards.d.ts.map +1 -0
- package/dist/mixins/guards.js +19 -0
- package/dist/mixins/guards.js.map +1 -0
- package/dist/mixins/parent-internals.d.ts +6 -0
- package/dist/mixins/parent-internals.d.ts.map +1 -0
- package/dist/mixins/parent-internals.js +15 -0
- package/dist/mixins/parent-internals.js.map +1 -0
- package/dist/mixins/parent.d.ts +3 -0
- package/dist/mixins/parent.d.ts.map +1 -0
- package/dist/mixins/parent.js +163 -0
- package/dist/mixins/parent.js.map +1 -0
- package/dist/mixins/placement.d.ts +4 -0
- package/dist/mixins/placement.d.ts.map +1 -0
- package/dist/mixins/placement.js +4 -0
- package/dist/mixins/placement.js.map +1 -0
- package/dist/mixins/resourceful.d.ts +9 -0
- package/dist/mixins/resourceful.d.ts.map +1 -0
- package/dist/mixins/resourceful.js +55 -0
- package/dist/mixins/resourceful.js.map +1 -0
- package/dist/mixins/sizable.d.ts +4 -0
- package/dist/mixins/sizable.d.ts.map +1 -0
- package/dist/mixins/sizable.js +178 -0
- package/dist/mixins/sizable.js.map +1 -0
- package/dist/mixins/sizing-internals.d.ts +8 -0
- package/dist/mixins/sizing-internals.d.ts.map +1 -0
- package/dist/mixins/sizing-internals.js +15 -0
- package/dist/mixins/sizing-internals.js.map +1 -0
- package/dist/mixins/styleable.d.ts +3 -0
- package/dist/mixins/styleable.d.ts.map +1 -0
- package/dist/mixins/styleable.js +83 -0
- package/dist/mixins/styleable.js.map +1 -0
- package/dist/mixins/textual.d.ts +3 -0
- package/dist/mixins/textual.d.ts.map +1 -0
- package/dist/mixins/textual.js +47 -0
- package/dist/mixins/textual.js.map +1 -0
- package/dist/mixins/transform-state.d.ts +44 -0
- package/dist/mixins/transform-state.d.ts.map +1 -0
- package/dist/mixins/transform-state.js +101 -0
- package/dist/mixins/transform-state.js.map +1 -0
- package/dist/mixins/transformable.d.ts +3 -0
- package/dist/mixins/transformable.d.ts.map +1 -0
- package/dist/mixins/transformable.js +328 -0
- package/dist/mixins/transformable.js.map +1 -0
- package/dist/mixins/types.d.ts +144 -0
- package/dist/mixins/types.d.ts.map +1 -0
- package/dist/mixins/types.js +4 -0
- package/dist/mixins/types.js.map +1 -0
- package/dist/path/path-array.d.ts +16 -0
- package/dist/path/path-array.d.ts.map +1 -0
- package/dist/path/path-array.js +66 -0
- package/dist/path/path-array.js.map +1 -0
- package/dist/path/path-builder.d.ts +54 -0
- package/dist/path/path-builder.d.ts.map +1 -0
- package/dist/path/path-builder.js +306 -0
- package/dist/path/path-builder.js.map +1 -0
- package/dist/path/transform-arc.d.ts +5 -0
- package/dist/path/transform-arc.d.ts.map +1 -0
- package/dist/path/transform-arc.js +32 -0
- package/dist/path/transform-arc.js.map +1 -0
- package/dist/patterns.d.ts +11 -0
- package/dist/patterns.d.ts.map +1 -0
- package/dist/patterns.js +24 -0
- package/dist/patterns.js.map +1 -0
- package/dist/query.d.ts +11 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +28 -0
- package/dist/query.js.map +1 -0
- package/dist/resources/content.d.ts +5 -0
- package/dist/resources/content.d.ts.map +1 -0
- package/dist/resources/content.js +27 -0
- package/dist/resources/content.js.map +1 -0
- package/dist/resources/references.d.ts +14 -0
- package/dist/resources/references.d.ts.map +1 -0
- package/dist/resources/references.js +72 -0
- package/dist/resources/references.js.map +1 -0
- package/dist/resources/validation.d.ts +4 -0
- package/dist/resources/validation.d.ts.map +1 -0
- package/dist/resources/validation.js +31 -0
- package/dist/resources/validation.js.map +1 -0
- package/dist/resources.d.ts +3 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +2 -0
- package/dist/resources.js.map +1 -0
- package/dist/services/bounds.d.ts +30 -0
- package/dist/services/bounds.d.ts.map +1 -0
- package/dist/services/bounds.js +152 -0
- package/dist/services/bounds.js.map +1 -0
- package/dist/services/catalog.d.ts +5 -0
- package/dist/services/catalog.d.ts.map +1 -0
- package/dist/services/catalog.js +13 -0
- package/dist/services/catalog.js.map +1 -0
- package/dist/services/context.d.ts +23 -0
- package/dist/services/context.d.ts.map +1 -0
- package/dist/services/context.js +40 -0
- package/dist/services/context.js.map +1 -0
- package/dist/services/defs-manager.d.ts +28 -0
- package/dist/services/defs-manager.d.ts.map +1 -0
- package/dist/services/defs-manager.js +153 -0
- package/dist/services/defs-manager.js.map +1 -0
- package/dist/services/mount.d.ts +4 -0
- package/dist/services/mount.d.ts.map +1 -0
- package/dist/services/mount.js +17 -0
- package/dist/services/mount.js.map +1 -0
- package/dist/services/reference-value.d.ts +3 -0
- package/dist/services/reference-value.d.ts.map +1 -0
- package/dist/services/reference-value.js +6 -0
- package/dist/services/reference-value.js.map +1 -0
- package/dist/services/registry.d.ts +27 -0
- package/dist/services/registry.d.ts.map +1 -0
- package/dist/services/registry.js +148 -0
- package/dist/services/registry.js.map +1 -0
- package/dist/services/scheduler.d.ts +20 -0
- package/dist/services/scheduler.d.ts.map +1 -0
- package/dist/services/scheduler.js +91 -0
- package/dist/services/scheduler.js.map +1 -0
- package/dist/services/types.d.ts +36 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/types.js +3 -0
- package/dist/services/types.js.map +1 -0
- package/dist/services/viewport.d.ts +14 -0
- package/dist/services/viewport.d.ts.map +1 -0
- package/dist/services/viewport.js +39 -0
- package/dist/services/viewport.js.map +1 -0
- package/dist/svg.d.ts +21 -0
- package/dist/svg.d.ts.map +1 -0
- package/dist/svg.js +91 -0
- package/dist/svg.js.map +1 -0
- package/dist/template/parts.d.ts +37 -0
- package/dist/template/parts.d.ts.map +1 -0
- package/dist/template/parts.js +176 -0
- package/dist/template/parts.js.map +1 -0
- package/dist/template/render.d.ts +28 -0
- package/dist/template/render.d.ts.map +1 -0
- package/dist/template/render.js +118 -0
- package/dist/template/render.js.map +1 -0
- package/dist/template/svg-tag.d.ts +12 -0
- package/dist/template/svg-tag.d.ts.map +1 -0
- package/dist/template/svg-tag.js +18 -0
- package/dist/template/svg-tag.js.map +1 -0
- package/dist/text/content.d.ts +36 -0
- package/dist/text/content.d.ts.map +1 -0
- package/dist/text/content.js +283 -0
- package/dist/text/content.js.map +1 -0
- package/dist/text/internals.d.ts +6 -0
- package/dist/text/internals.d.ts.map +1 -0
- package/dist/text/internals.js +2 -0
- package/dist/text/internals.js.map +1 -0
- package/dist/text/measure.d.ts +9 -0
- package/dist/text/measure.d.ts.map +1 -0
- package/dist/text/measure.js +32 -0
- package/dist/text/measure.js.map +1 -0
- package/dist/text/rich-textual.d.ts +19 -0
- package/dist/text/rich-textual.d.ts.map +1 -0
- package/dist/text/rich-textual.js +154 -0
- package/dist/text/rich-textual.js.map +1 -0
- package/dist/text/types.d.ts +37 -0
- package/dist/text/types.d.ts.map +1 -0
- package/dist/text/types.js +2 -0
- package/dist/text/types.js.map +1 -0
- package/dist/text/validation.d.ts +4 -0
- package/dist/text/validation.d.ts.map +1 -0
- package/dist/text/validation.js +13 -0
- package/dist/text/validation.js.map +1 -0
- package/dist/text.d.ts +13 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +36 -0
- package/dist/text.js.map +1 -0
- package/dist/tree/lifecycle.d.ts +7 -0
- package/dist/tree/lifecycle.d.ts.map +1 -0
- package/dist/tree/lifecycle.js +33 -0
- package/dist/tree/lifecycle.js.map +1 -0
- package/dist/tree/ordering.d.ts +12 -0
- package/dist/tree/ordering.d.ts.map +1 -0
- package/dist/tree/ordering.js +40 -0
- package/dist/tree/ordering.js.map +1 -0
- package/dist/tree/reparent.d.ts +8 -0
- package/dist/tree/reparent.d.ts.map +1 -0
- package/dist/tree/reparent.js +55 -0
- package/dist/tree/reparent.js.map +1 -0
- package/dist/tree/structure.d.ts +10 -0
- package/dist/tree/structure.d.ts.map +1 -0
- package/dist/tree/structure.js +139 -0
- package/dist/tree/structure.js.map +1 -0
- package/dist/tree/traversal.d.ts +13 -0
- package/dist/tree/traversal.d.ts.map +1 -0
- package/dist/tree/traversal.js +45 -0
- package/dist/tree/traversal.js.map +1 -0
- package/dist/tree.d.ts +7 -0
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +7 -0
- package/dist/tree.js.map +1 -0
- package/dist/types/common.d.ts +94 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +2 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/elements.d.ts +56 -0
- package/dist/types/elements.d.ts.map +1 -0
- package/dist/types/elements.js +2 -0
- package/dist/types/elements.js.map +1 -0
- package/dist/types/svg-wrapper.d.ts +28 -0
- package/dist/types/svg-wrapper.d.ts.map +1 -0
- package/dist/types/svg-wrapper.js +2 -0
- package/dist/types/svg-wrapper.js.map +1 -0
- package/dist/viewport.d.ts +33 -0
- package/dist/viewport.d.ts.map +1 -0
- package/dist/viewport.js +103 -0
- package/dist/viewport.js.map +1 -0
- package/package.json +141 -4
- package/reports/adoption.json +47 -0
- package/reports/animation-benchmark.json +680 -0
- package/reports/benchmark.json +118 -0
- package/reports/creation.json +68 -0
- package/reports/interchange-benchmark.json +146 -0
- package/reports/p10-validation.md +100 -0
- package/reports/p11-validation.md +69 -0
- package/reports/p13-validation.md +48 -0
- package/reports/p4-validation.md +57 -0
- package/reports/p6-validation.md +60 -0
- package/reports/p7-validation.md +84 -0
- package/reports/p8-validation.md +75 -0
- package/reports/public-api-contract.json +9499 -0
- package/reports/public-api-review.md +308 -0
- package/reports/size-parity.json +504 -0
- package/reports/size.json +51 -0
- package/reports/svgjs-action-coverage.json +3835 -0
- package/reports/svgjs-comparison-gc.json +2763 -0
- package/reports/svgjs-comparison-gc.md +30 -0
- package/reports/svgjs-comparison.json +8219 -0
- package/reports/svgjs-comparison.md +42 -0
- package/reports/svgjs-element-actions.md +375 -0
- package/reports/svgjs-element-api-inventory.json +7754 -0
- package/reports/svgjs-parity-baseline.json +9184 -0
- package/reports/svgjs-parity-current.json +9699 -0
- package/reports/svgjs-stability.md +26 -0
- package/reports/svgjs-trial-a.json +8219 -0
- package/reports/svgjs-trial-a.md +42 -0
- package/reports/svgjs-trial-b.json +8219 -0
- package/reports/svgjs-trial-b.md +42 -0
- package/src/advanced.ts +35 -0
- package/src/animation/channels.ts +243 -0
- package/src/animation/ease.ts +50 -0
- package/src/animation/interpolate.ts +197 -0
- package/src/animation/timeline.ts +529 -0
- package/src/animation/types.ts +74 -0
- package/src/animation.ts +27 -0
- package/src/catalog/attributes.ts +47 -0
- package/src/catalog/css.ts +25 -0
- package/src/catalog/define-element.ts +130 -0
- package/src/catalog/fragment.ts +110 -0
- package/src/catalog/namespaces.ts +26 -0
- package/src/catalog/native-content.ts +29 -0
- package/src/catalog/types.ts +31 -0
- package/src/catalog.ts +88 -0
- package/src/changes/mutation.ts +16 -0
- package/src/changes/restore.ts +373 -0
- package/src/changes/service.ts +388 -0
- package/src/changes/state.ts +242 -0
- package/src/changes/types.ts +164 -0
- package/src/changes.ts +55 -0
- package/src/core/attribute-validation.ts +2 -0
- package/src/core/destruction.ts +11 -0
- package/src/core/mix.ts +4 -0
- package/src/core/native-validation.ts +2 -0
- package/src/core/node.ts +401 -0
- package/src/core/shape.ts +21 -0
- package/src/core/types.ts +53 -0
- package/src/data.ts +183 -0
- package/src/decorators/attr.ts +78 -0
- package/src/decorators/attrs.ts +66 -0
- package/src/dom/attributes.ts +277 -0
- package/src/dom/content.ts +88 -0
- package/src/dom/create.ts +255 -0
- package/src/dom/events.ts +51 -0
- package/src/dom/images.ts +26 -0
- package/src/dom/namespace.ts +3 -0
- package/src/dom/namespaced-attributes.ts +34 -0
- package/src/dom/text.ts +57 -0
- package/src/dom/types.ts +16 -0
- package/src/dom/viewport.ts +27 -0
- package/src/elements/circle.ts +65 -0
- package/src/elements/clip-path.ts +29 -0
- package/src/elements/defs.ts +11 -0
- package/src/elements/descriptive.ts +39 -0
- package/src/elements/ellipse.ts +69 -0
- package/src/elements/foreign-object.ts +102 -0
- package/src/elements/generic.ts +33 -0
- package/src/elements/gradient.ts +195 -0
- package/src/elements/group.ts +17 -0
- package/src/elements/image.ts +239 -0
- package/src/elements/index.ts +39 -0
- package/src/elements/instance-hit.ts +19 -0
- package/src/elements/line.ts +75 -0
- package/src/elements/link.ts +34 -0
- package/src/elements/marker.ts +90 -0
- package/src/elements/mask.ts +85 -0
- package/src/elements/path.ts +78 -0
- package/src/elements/pattern.ts +89 -0
- package/src/elements/point-shape.ts +67 -0
- package/src/elements/polygon.ts +5 -0
- package/src/elements/polyline.ts +5 -0
- package/src/elements/rect.ts +73 -0
- package/src/elements/stop.ts +51 -0
- package/src/elements/style.ts +43 -0
- package/src/elements/svg.ts +95 -0
- package/src/elements/symbol.ts +70 -0
- package/src/elements/text-path.ts +67 -0
- package/src/elements/text.ts +133 -0
- package/src/elements/tspan.ts +47 -0
- package/src/elements/types.ts +234 -0
- package/src/elements/use-geometry.ts +43 -0
- package/src/elements/use.ts +100 -0
- package/src/events/dom-events.ts +235 -0
- package/src/events/dom-lifecycle.ts +12 -0
- package/src/events/dom-router.ts +96 -0
- package/src/events/dom-types.ts +42 -0
- package/src/events/emitter.ts +65 -0
- package/src/events/focusable.ts +20 -0
- package/src/events/pointer.ts +147 -0
- package/src/events/types.ts +8 -0
- package/src/events.ts +10 -0
- package/src/geometry/bake-ellipse.ts +33 -0
- package/src/geometry/point-array.ts +113 -0
- package/src/geometry/point-list.ts +59 -0
- package/src/index.ts +76 -0
- package/src/interchange/clone.ts +97 -0
- package/src/interchange/dom.ts +38 -0
- package/src/interchange/markup.ts +66 -0
- package/src/interchange/policy.ts +146 -0
- package/src/interchange/reconstruct.ts +138 -0
- package/src/interchange/references.ts +118 -0
- package/src/interchange/snapshot.ts +50 -0
- package/src/interchange/types.ts +18 -0
- package/src/interchange.ts +4 -0
- package/src/masks.ts +62 -0
- package/src/math/bbox.ts +106 -0
- package/src/math/length.ts +19 -0
- package/src/math/matrix.ts +181 -0
- package/src/math/vec2.ts +41 -0
- package/src/math/viewbox.ts +29 -0
- package/src/math/viewport.ts +58 -0
- package/src/media/length.ts +20 -0
- package/src/media/types.ts +37 -0
- package/src/media/validation.ts +21 -0
- package/src/media.ts +84 -0
- package/src/mixins/creatable.ts +96 -0
- package/src/mixins/guards.ts +26 -0
- package/src/mixins/parent-internals.ts +17 -0
- package/src/mixins/parent.ts +193 -0
- package/src/mixins/placement.ts +3 -0
- package/src/mixins/resourceful.ts +64 -0
- package/src/mixins/sizable.ts +208 -0
- package/src/mixins/sizing-internals.ts +16 -0
- package/src/mixins/styleable.ts +103 -0
- package/src/mixins/textual.ts +50 -0
- package/src/mixins/transform-state.ts +141 -0
- package/src/mixins/transformable.ts +359 -0
- package/src/mixins/types.ts +194 -0
- package/src/path/path-array.ts +88 -0
- package/src/path/path-builder.ts +346 -0
- package/src/path/transform-arc.ts +50 -0
- package/src/patterns.ts +32 -0
- package/src/query.ts +66 -0
- package/src/resources/content.ts +28 -0
- package/src/resources/references.ts +93 -0
- package/src/resources/validation.ts +27 -0
- package/src/resources.ts +7 -0
- package/src/services/bounds.ts +153 -0
- package/src/services/catalog.ts +14 -0
- package/src/services/context.ts +46 -0
- package/src/services/defs-manager.ts +158 -0
- package/src/services/mount.ts +17 -0
- package/src/services/reference-value.ts +8 -0
- package/src/services/registry.ts +156 -0
- package/src/services/scheduler.ts +88 -0
- package/src/services/types.ts +48 -0
- package/src/services/viewport.ts +50 -0
- package/src/svg.ts +112 -0
- package/src/template/parts.ts +203 -0
- package/src/template/render.ts +142 -0
- package/src/template/svg-tag.ts +20 -0
- package/src/text/content.ts +299 -0
- package/src/text/internals.ts +6 -0
- package/src/text/measure.ts +37 -0
- package/src/text/rich-textual.ts +169 -0
- package/src/text/types.ts +45 -0
- package/src/text/validation.ts +13 -0
- package/src/text.ts +47 -0
- package/src/tree/lifecycle.ts +37 -0
- package/src/tree/ordering.ts +47 -0
- package/src/tree/reparent.ts +64 -0
- package/src/tree/structure.ts +166 -0
- package/src/tree/traversal.ts +52 -0
- package/src/tree.ts +24 -0
- package/src/types/common.ts +103 -0
- package/src/types/elements.ts +59 -0
- package/src/types/svg-wrapper.ts +76 -0
- package/src/viewport.ts +132 -0
package/API.md
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Public entry points
|
|
2
|
+
|
|
3
|
+
Generated from emitted declarations and document-free runtime imports.
|
|
4
|
+
Run `npm run api:check` to detect changes; review differences before `api:update`.
|
|
5
|
+
|
|
6
|
+
Only documented operations are supported application APIs. Deep imports, mutable
|
|
7
|
+
service bookkeeping, TypeScript-private methods and undocumented symbol hooks remain internal,
|
|
8
|
+
even when JavaScript can reach them. Prototype reachability is recorded separately
|
|
9
|
+
in `reports/public-api-contract.json` for review; it is not a support commitment.
|
|
10
|
+
|
|
11
|
+
## @rasamjs/core
|
|
12
|
+
|
|
13
|
+
Runtime exports (32):
|
|
14
|
+
|
|
15
|
+
`BBox`, `Circle`, `ClipPath`, `Defs`, `Ellipse`, `Group`, `Line`, `LinearGradient`, `Marker`, `Matrix`, `Path`, `PathArray`, `PathBuilder`, `PointArray`, `Polygon`, `Polyline`, `RadialGradient`, `Rect`, `Renderer`, `SVG`, `Shape`, `Stop`, `Svg`, `SvgNode`, `SvgTemplate`, `SvgText`, `Use`, `Vec2`, `ViewBox`, `ViewportError`, `attr`, `svg`.
|
|
16
|
+
|
|
17
|
+
Type-only exports (46):
|
|
18
|
+
|
|
19
|
+
`AnyNode`, `AttributeValue`, `Bounds`, `Box`, `CircleOptions`, `ClipPathOptions`, `CommonAttributes`, `Disposable`, `DrawingPointerEvent`, `EllipseOptions`, `GeometryChange`, `GradientStop`, `Length`, `LineOptions`, `LinearGradientOptions`, `MarkerOptions`, `MatrixDecomposition`, `MatrixValues`, `NestedSvgOptions`, `NodeEvents`, `PaintValue`, `PathAttributes`, `PathCommand`, `PathInput`, `PathOptions`, `PathSegment`, `Point`, `PointInput`, `PointerEventType`, `PolygonOptions`, `PolylineAttributes`, `PolylineOptions`, `RadialGradientOptions`, `RectOptions`, `ResourceReference`, `SVGOptions`, `StyleProperties`, `SvgAttributes`, `SvgOptions`, `TemplateInstance`, `TemplateValue`, `TextAttributes`, `TextMeasurementProvider`, `TextOptions`, `TransformState`, `UseOptions`.
|
|
20
|
+
|
|
21
|
+
## @rasamjs/core/advanced
|
|
22
|
+
|
|
23
|
+
Runtime exports (57):
|
|
24
|
+
|
|
25
|
+
`Attributes`, `BBox`, `BoundsService`, `Circle`, `ClipPath`, `Creatable`, `Defs`, `DefsManager`, `DomFactory`, `DrawingContext`, `Elements`, `Ellipse`, `Emitter`, `Gradient`, `Group`, `Guards`, `Line`, `LinearGradient`, `Marker`, `Matrix`, `Namespace`, `Parent`, `Path`, `PathArray`, `PathBuilder`, `PathGeometry`, `PointArray`, `PointerRouter`, `Polygon`, `Polyline`, `RadialGradient`, `Rect`, `Registry`, `Renderer`, `SVG`, `Scheduler`, `Shape`, `Sizable`, `Stop`, `Styleable`, `Svg`, `SvgNode`, `SvgTag`, `SvgTemplate`, `SvgText`, `Textual`, `Transformable`, `Use`, `Vec2`, `ViewBox`, `ViewportError`, `attr`, `isParent`, `isTextual`, `isTransformable`, `mix`, `svg`.
|
|
26
|
+
|
|
27
|
+
Type-only exports (52):
|
|
28
|
+
|
|
29
|
+
`AnyNode`, `AttributeValue`, `Bounds`, `Box`, `CircleOptions`, `ClipPathOptions`, `CommonAttributes`, `CreatableFeature`, `Ctor`, `Disposable`, `DrawingPointerEvent`, `ElementClass`, `EllipseOptions`, `GeometryChange`, `GradientStop`, `Length`, `LineOptions`, `LinearGradientOptions`, `MarkerOptions`, `MatrixDecomposition`, `MatrixValues`, `NestedSvgOptions`, `NodeEvents`, `PaintValue`, `ParentFeature`, `ParentNode`, `PathAttributes`, `PathCommand`, `PathInput`, `PathOptions`, `PathSegment`, `Point`, `PointInput`, `PointerEventType`, `PolygonOptions`, `PolylineAttributes`, `PolylineOptions`, `RadialGradientOptions`, `RectOptions`, `ResourceReference`, `SVGOptions`, `SizableFeature`, `StyleProperties`, `SvgAttributes`, `SvgOptions`, `TemplateInstance`, `TemplateValue`, `TextAttributes`, `TextMeasurementProvider`, `TextOptions`, `TransformState`, `UseOptions`.
|
|
30
|
+
|
|
31
|
+
## @rasamjs/core/animation
|
|
32
|
+
|
|
33
|
+
Runtime exports (3):
|
|
34
|
+
|
|
35
|
+
`ManualClock`, `animate`, `timeline`.
|
|
36
|
+
|
|
37
|
+
Type-only exports (11):
|
|
38
|
+
|
|
39
|
+
`AnimatedValue`, `AnimationClock`, `AnimationRunner`, `AnimationTarget`, `Easing`, `MotionPreference`, `RunnerOptions`, `RunnerOutcome`, `RunnerState`, `Timeline`, `TimelineOptions`.
|
|
40
|
+
|
|
41
|
+
## @rasamjs/core/catalog
|
|
42
|
+
|
|
43
|
+
Runtime exports (21):
|
|
44
|
+
|
|
45
|
+
`Description`, `ForeignObject`, `GenericContainer`, `GenericElement`, `HTML_NAMESPACE`, `Metadata`, `SVG_NAMESPACE`, `SvgFragment`, `SvgStyle`, `Title`, `XLINK_NAMESPACE`, `XML_NAMESPACE`, `catalogElements`, `defineElement`, `description`, `foreignObject`, `fragment`, `metadata`, `registerCatalog`, `stylesheet`, `title`.
|
|
46
|
+
|
|
47
|
+
Type-only exports (7):
|
|
48
|
+
|
|
49
|
+
`CssDeclarations`, `DescriptiveOptions`, `ElementDefinition`, `ForeignObjectOptions`, `GenericAttributes`, `HtmlElementOptions`, `StylesheetOptions`.
|
|
50
|
+
|
|
51
|
+
## @rasamjs/core/changes
|
|
52
|
+
|
|
53
|
+
Runtime exports (14):
|
|
54
|
+
|
|
55
|
+
`ChangeConflictError`, `ChangeObserverError`, `ChangeRollbackError`, `beginChangeGroup`, `captureModelState`, `changeKey`, `claimRecorder`, `combineChanges`, `observeChanges`, `restoreChanges`, `restoreModelState`, `sameState`, `validateModelState`, `withChanges`.
|
|
56
|
+
|
|
57
|
+
Type-only exports (13):
|
|
58
|
+
|
|
59
|
+
`ChangeBatch`, `ChangeEvent`, `ChangeGroup`, `ChangeMetadata`, `ContentState`, `ModelChange`, `ModelFeatures`, `ModelSnapshot`, `NativeNodeState`, `NodeHandle`, `Placement`, `PropertyState`, `TextPolicies`.
|
|
60
|
+
|
|
61
|
+
## @rasamjs/core/data
|
|
62
|
+
|
|
63
|
+
Runtime exports (5):
|
|
64
|
+
|
|
65
|
+
`data`, `forget`, `memory`, `remember`, `round`.
|
|
66
|
+
|
|
67
|
+
Type-only exports (0):
|
|
68
|
+
|
|
69
|
+
.
|
|
70
|
+
|
|
71
|
+
## @rasamjs/core/events
|
|
72
|
+
|
|
73
|
+
Runtime exports (6):
|
|
74
|
+
|
|
75
|
+
`dispatch`, `dispatchCustom`, `focusable`, `onCustom`, `onDom`, `onMany`.
|
|
76
|
+
|
|
77
|
+
Type-only exports (5):
|
|
78
|
+
|
|
79
|
+
`DomEventType`, `DomListener`, `DomListenerOptions`, `DrawingDomEvent`, `FocusOptions`.
|
|
80
|
+
|
|
81
|
+
## @rasamjs/core/interchange
|
|
82
|
+
|
|
83
|
+
Runtime exports (3):
|
|
84
|
+
|
|
85
|
+
`cloneNode`, `exportSvg`, `importSvg`.
|
|
86
|
+
|
|
87
|
+
Type-only exports (3):
|
|
88
|
+
|
|
89
|
+
`CloneOptions`, `ExportOptions`, `ImportOptions`.
|
|
90
|
+
|
|
91
|
+
## @rasamjs/core/masks
|
|
92
|
+
|
|
93
|
+
Runtime exports (7):
|
|
94
|
+
|
|
95
|
+
`Mask`, `mask`, `maskElements`, `maskWith`, `masker`, `registerMasks`, `unmask`.
|
|
96
|
+
|
|
97
|
+
Type-only exports (1):
|
|
98
|
+
|
|
99
|
+
`MaskOptions`.
|
|
100
|
+
|
|
101
|
+
## @rasamjs/core/media
|
|
102
|
+
|
|
103
|
+
Runtime exports (11):
|
|
104
|
+
|
|
105
|
+
`Link`, `SvgImage`, `SvgSymbol`, `image`, `link`, `linkTo`, `linker`, `mediaElements`, `registerMedia`, `symbol`, `unlink`.
|
|
106
|
+
|
|
107
|
+
Type-only exports (8):
|
|
108
|
+
|
|
109
|
+
`ImageLoadCallbacks`, `ImageLoadError`, `ImageLoadResult`, `ImageLoadingState`, `ImageOptions`, `IntrinsicSize`, `LinkOptions`, `SymbolOptions`.
|
|
110
|
+
|
|
111
|
+
## @rasamjs/core/patterns
|
|
112
|
+
|
|
113
|
+
Runtime exports (4):
|
|
114
|
+
|
|
115
|
+
`Pattern`, `pattern`, `patternElements`, `registerPatterns`.
|
|
116
|
+
|
|
117
|
+
Type-only exports (1):
|
|
118
|
+
|
|
119
|
+
`PatternOptions`.
|
|
120
|
+
|
|
121
|
+
## @rasamjs/core/query
|
|
122
|
+
|
|
123
|
+
Runtime exports (4):
|
|
124
|
+
|
|
125
|
+
`matches`, `query`, `queryFirst`, `queryNative`.
|
|
126
|
+
|
|
127
|
+
Type-only exports (1):
|
|
128
|
+
|
|
129
|
+
`NodePredicate`.
|
|
130
|
+
|
|
131
|
+
## @rasamjs/core/resources
|
|
132
|
+
|
|
133
|
+
Runtime exports (4):
|
|
134
|
+
|
|
135
|
+
`classifyReference`, `consumers`, `resolveReference`, `unbindConsumers`.
|
|
136
|
+
|
|
137
|
+
Type-only exports (1):
|
|
138
|
+
|
|
139
|
+
`LocalReference`.
|
|
140
|
+
|
|
141
|
+
## @rasamjs/core/text
|
|
142
|
+
|
|
143
|
+
Runtime exports (5):
|
|
144
|
+
|
|
145
|
+
`TextPath`, `Tspan`, `registerText`, `textElements`, `textOnPath`.
|
|
146
|
+
|
|
147
|
+
Type-only exports (7):
|
|
148
|
+
|
|
149
|
+
`FontOptions`, `TextContentPart`, `TextOnPathOptions`, `TextPathAttributes`, `TextPathOptions`, `TextRunMeasurementProvider`, `TspanOptions`.
|
|
150
|
+
|
|
151
|
+
## @rasamjs/core/tree
|
|
152
|
+
|
|
153
|
+
Runtime exports (25):
|
|
154
|
+
|
|
155
|
+
`after`, `ancestors`, `back`, `backward`, `before`, `clear`, `detachChildren`, `first`, `flatten`, `forward`, `front`, `index`, `insertAfter`, `insertBefore`, `last`, `next`, `previous`, `reparentTo`, `reparentToRoot`, `replace`, `rootNode`, `siblings`, `ungroup`, `unwrap`, `wrap`.
|
|
156
|
+
|
|
157
|
+
Type-only exports (0):
|
|
158
|
+
|
|
159
|
+
.
|
|
160
|
+
|
|
161
|
+
## @rasamjs/core/viewport
|
|
162
|
+
|
|
163
|
+
Runtime exports (7):
|
|
164
|
+
|
|
165
|
+
`ViewportError`, `boundsIn`, `clientBounds`, `isRoot`, `nested`, `viewbox`, `zoom`.
|
|
166
|
+
|
|
167
|
+
Type-only exports (2):
|
|
168
|
+
|
|
169
|
+
`NestedSvgOptions`, `ViewBoxInput`.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.1.1] (unreleased)
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Reading `width()` or `height()` no longer opens a change run. With change listeners
|
|
8
|
+
attached (for example a transformer, selection or history), each read used to capture
|
|
9
|
+
the node's sibling order, so measuring n fresh siblings was O(n²). The first snapping
|
|
10
|
+
drag over 1,000 shapes drops from 0.4–0.8 s to under 50 ms. Writes are still recorded.
|
|
11
|
+
|
|
12
|
+
## [0.1.0] - 2026-10-29
|
|
13
|
+
|
|
14
|
+
Initial release, coordinated with `@rasamjs/history` and `@rasamjs/transformer`.
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Change observation preserves a sole `ChangeConflictError` for rejected writes.
|
|
19
|
+
Failed restoration recovery throws a typed `ChangeRollbackError`.
|
|
20
|
+
|
|
21
|
+
- `rotate()` and `scale()` pivot on the center of the current geometry bounds until
|
|
22
|
+
`origin()` is called, so shapes placed by x/y, `translate`, `move` or a parent group
|
|
23
|
+
turn and scale identically. Previously the implicit origin was local `(0, 0)`.
|
|
24
|
+
After a resize or other geometry edit, the next `rotate()` or `scale()` keeps the
|
|
25
|
+
shape in place; position absorbs the pivot move instead of the shape jumping.
|
|
26
|
+
|
|
27
|
+
- Independent position, rotation, scale, width and height animations can run
|
|
28
|
+
together. Manual seek/finish commits before completion callbacks, singular matrix
|
|
29
|
+
morphs retain shear, and negative size endpoints fail before scheduling.
|
|
30
|
+
- Root zoom uses CSS viewport dimensions, including percentage sizing, while
|
|
31
|
+
excluding ancestor transforms from the reported level.
|
|
32
|
+
- Numerical rounding preserves URLs, paint, identifiers and application values,
|
|
33
|
+
including explicitly selected attributes.
|
|
34
|
+
|
|
35
|
+
- Opening `playground/index.html` directly now loads a standalone browser script
|
|
36
|
+
generated by `npm run build`. The Vite route retains live TypeScript loading,
|
|
37
|
+
and startup failures display instructions instead of an empty drawing area.
|
|
38
|
+
|
|
39
|
+
### Added
|
|
40
|
+
|
|
41
|
+
- Drawing-wide semantic model changes through `@rasamjs/core/changes`, normalized local
|
|
42
|
+
`attributechange` events, neutral interaction groups, and validated state
|
|
43
|
+
restoration/reconstruction for the optional `@rasamjs/history` package.
|
|
44
|
+
|
|
45
|
+
- Transformer core APIs: `Matrix.decompose()` and `PathArray.transform()`;
|
|
46
|
+
side-effect-free `rotation()`, `scale()` and `origin()` getters; public
|
|
47
|
+
`geometryMatrix()`; immutable, JSON-compatible `transformState()` save/restore
|
|
48
|
+
including editable geometry; and shape-specific `bakeSizing()`.
|
|
49
|
+
- Affine path transforms retain elliptical arcs through principal-axis recovery,
|
|
50
|
+
reverse sweep under reflection and turn degenerate arcs into lines. Baking
|
|
51
|
+
preserves geometric placement; unsupported shape sizing remains a transform.
|
|
52
|
+
- Animation reads exact component values without setter probes, including
|
|
53
|
+
negative scales, multiple turns and collapsed sizing.
|
|
54
|
+
|
|
55
|
+
- Opt-in `@rasamjs/core/data`: `data()` stores values in `data-*` attributes, `remember()`,
|
|
56
|
+
`memory()` and `forget()` keep per-node values in memory until destruction, and
|
|
57
|
+
`round()` rounds unitless numeric attributes. This closes the last two omitted
|
|
58
|
+
comparison actions without adding shared methods.
|
|
59
|
+
|
|
60
|
+
- P13 acceptance tooling: a complete migration guide, generated runtime/type export
|
|
61
|
+
and prototype inventory, source-consistent release checks, documentation/evidence
|
|
62
|
+
link validation, every-subpath packed imports, debugger source inclusion and
|
|
63
|
+
serial creation/adoption/interchange/update/animation measurements. A combined
|
|
64
|
+
scene exercises resources, rich text, interactions, motion and a passive round trip.
|
|
65
|
+
`private: true` remains the publication guard; no publish operation is automated.
|
|
66
|
+
|
|
67
|
+
- P11 opt-in `@rasamjs/core/query` and `@rasamjs/core/interchange`: frozen managed/native query
|
|
68
|
+
snapshots, typed predicates and matches; logical-state clones with fresh IDs,
|
|
69
|
+
internal reference remapping, shared or copied external resources, independent
|
|
70
|
+
sizing and multiline policies; referenced-defs XML export and staged passive SVG
|
|
71
|
+
import with namespace/schema/URL checks and rollback. Includes round-trip examples,
|
|
72
|
+
declarations, three-engine tests and separate 5/16 KiB bundle budgets.
|
|
73
|
+
|
|
74
|
+
- P12 opt-in `@rasamjs/core/animation`: root-owned timelines, runners with duration,
|
|
75
|
+
delay, CSS easing, loops, yoyo, `after` sequencing, pause/play/seek/reverse/finish/
|
|
76
|
+
cancel and settled outcomes, an injectable clock with `ManualClock`, and
|
|
77
|
+
reduced-motion handling that follows the system preference. Values interpolate for
|
|
78
|
+
matching units, number lists, hex/rgb colours, component and decomposed matrix
|
|
79
|
+
transforms, sizes, equal-length points and same-topology paths; other values are
|
|
80
|
+
rejected before scheduling. The latest runner takes over shared channels, direct
|
|
81
|
+
writes interrupt them, and destruction cancels. Frames write through existing
|
|
82
|
+
setters and commit once. No core code changes; the entry point has a 12 KiB budget.
|
|
83
|
+
|
|
84
|
+
- P10 opt-in `@rasamjs/core/catalog`: descriptive content and stylesheet factories,
|
|
85
|
+
explicit generic schemas/capabilities, namespaced attribute bindings,
|
|
86
|
+
ForeignObject native DOM boundaries and reusable detached fragments. Adoption
|
|
87
|
+
preserves unmanaged metadata and opaque native content; forest insertion
|
|
88
|
+
prevalidates ownership and rolls back native failures. Includes a runnable
|
|
89
|
+
catalog example, declarations, namespace tests and three-engine browser coverage.
|
|
90
|
+
|
|
91
|
+
- P9 opt-in `@rasamjs/core/masks` and `@rasamjs/core/patterns`: defs-owned Mask and Pattern
|
|
92
|
+
resources with validated units, regions, `mask-type`, tiles, viewBox and
|
|
93
|
+
`patternTransform`; `maskWith`/`unmask`/`masker` with self and ancestor masking
|
|
94
|
+
rejected; pattern paint through `fill()`/`stroke()`; atomic content updates;
|
|
95
|
+
per-drawing registration for adoption and templates. Masks and patterns never
|
|
96
|
+
change geometric bounds. Core gains the `mask` attribute (about 25 bytes gzip).
|
|
97
|
+
Includes three-engine pixel tests and a runnable example.
|
|
98
|
+
|
|
99
|
+
- P8 `@rasamjs/core/text` constructors/registration for Tspan and TextPath, ordered managed
|
|
100
|
+
text runs, explicit rich builds and plain replacement, font/line helpers, native
|
|
101
|
+
glyph advance measurement and typed path-label creation. Adoption and static
|
|
102
|
+
primitive templates retain mixed order and native text/span identity. Local-font
|
|
103
|
+
browser tests and an interactive text example cover layout and reference lifetime.
|
|
104
|
+
|
|
105
|
+
- P7 opt-in `@rasamjs/core/media`: Image, Symbol and Link constructors, typed factories,
|
|
106
|
+
per-drawing catalogs for adoption/templates, image metadata callbacks with stale
|
|
107
|
+
request suppression and teardown cleanup, intrinsic sizing, reference-protected
|
|
108
|
+
symbol instances and link/unlink operations. Use dimensions map symbol/nested SVG
|
|
109
|
+
viewports while ordinary target sizing remains geometric. Includes local image
|
|
110
|
+
fixtures, three-engine browser coverage and a runnable media example.
|
|
111
|
+
|
|
112
|
+
- P5 nested viewport geometry: x/y, viewBox and every `preserveAspectRatio`
|
|
113
|
+
alignment of nested `<svg>` elements map into root-space bounds, conversions, hit
|
|
114
|
+
tests, `Use` references and tree moves. Unresolved viewports report `unavailable`
|
|
115
|
+
bounds, and `worldMatrix()`/`toRoot()` throw `ViewportError`. Opt-in
|
|
116
|
+
`@rasamjs/core/viewport` adds `viewbox()`, focal `zoom()`, `nested()`, `isRoot()`,
|
|
117
|
+
`boundsIn()` and `clientBounds()`, with a runnable viewport example. Root drawings
|
|
118
|
+
register `Svg`, so nested `<svg>` markup is adoptable. The selective budget rose from 15 KiB to 16 KiB gzip, and the catalog budget from 24 KiB to 25 KiB, for the core mapping. After the final review fixes, the selective budget rose again to 20 KiB.
|
|
119
|
+
|
|
120
|
+
- P4 opt-in `@rasamjs/core/events`: typed native/custom events, shared bubbling delegation,
|
|
121
|
+
direct capture/passive/non-bubbling listeners, once, AbortSignal, multiple-event
|
|
122
|
+
registration, dispatch/cancellation and lifecycle cleanup. Opt-in `focusable()`
|
|
123
|
+
configures keyboard focus; existing pointer `on()` contracts are preserved.
|
|
124
|
+
|
|
125
|
+
- P6 resource APIs: stable `getDefs()` shared with mounting, gradient paint matrices
|
|
126
|
+
and endpoints, staged stop replacement, child-returning `createStop()`, partial
|
|
127
|
+
stop updates, marker helpers and validated clip/marker content replacement.
|
|
128
|
+
Opt-in `@rasamjs/core/resources` provides typed consumer queries/unbinding, explicit raw
|
|
129
|
+
local lookup and reference classification, with a runnable resource example.
|
|
130
|
+
|
|
131
|
+
- Opt-in `@rasamjs/core/tree` traversal, ordering, reference-safe clear/detach, replacement,
|
|
132
|
+
wrapping, affine reparenting, ungrouping and flattening. Shared indexed `add()`
|
|
133
|
+
preserves managed/native order and connected pointer capture; moves across nested
|
|
134
|
+
viewports preserve root geometry since P5. Static drawing bundles exclude tree helpers.
|
|
135
|
+
|
|
136
|
+
- P0–P2 SVG.js capability milestone: regenerable comparison probes and action
|
|
137
|
+
coverage, documented contracts, typed attribute snapshots, class/visibility and
|
|
138
|
+
style conveniences, atomic size/radius helpers, parent-space bounds placement,
|
|
139
|
+
explicit affine composition, immutable point/path values, plot editing and
|
|
140
|
+
adapter-backed native path length/point reads. Later roadmap phases remain deferred.
|
|
141
|
+
|
|
142
|
+
- Typed SVG creation and adoption through `SVG()`, concrete element classes, and
|
|
143
|
+
per-drawing registration, with no runtime dependencies or DOM access on import.
|
|
144
|
+
- Shapes, text, groups, gradients, markers, clip paths, and typed local references.
|
|
145
|
+
- Fluent geometry, paint, sizing, affine transforms, coordinate conversion, and
|
|
146
|
+
geometric bounds with explicit empty and unavailable results.
|
|
147
|
+
- Frame-coalesced writes, synchronous batches and flushes, reusable detachment,
|
|
148
|
+
permanent destruction, and reference-aware resource ownership.
|
|
149
|
+
- Static SVG templates with primitive bindings and stable node identity on updates.
|
|
150
|
+
- Delegated pointer events, pointer capture, a rectangle example, and an interactive
|
|
151
|
+
LED playground.
|
|
152
|
+
- Main and advanced ESM entry points with declarations; unit, three-engine browser,
|
|
153
|
+
packed-consumer, size, and benchmark checks.
|
|
154
|
+
- MIT license and documented public API review, limitations, and release status.
|
|
155
|
+
|
|
156
|
+
### Changed
|
|
157
|
+
|
|
158
|
+
- Native text/span wrapper inference returns `SvgText | Tspan`, reflecting their
|
|
159
|
+
structurally identical DOM interfaces; factory returns remain concrete. Narrow
|
|
160
|
+
native results with `instanceof`. The P8 catalog budget is 28 KiB gzip (was 25),
|
|
161
|
+
with a separate 12 KiB text budget and unchanged 16 KiB selective budget.
|
|
162
|
+
|
|
163
|
+
- Renamed the internal class decorator from `@attributes` to `@attrs` and its module
|
|
164
|
+
to `src/decorators/attrs.ts`. The public field decorator remains `@attr`.
|
|
165
|
+
- `TemplateInstance` is now a type-only export; create instances with
|
|
166
|
+
`Renderer.render()`. `@rasamjs/core/advanced` re-exports the main entry point instead of
|
|
167
|
+
repeating its export list.
|
|
168
|
+
- Selected `@rasamjs/core` and candidate version `0.1.0`. npm returned 404 for the name on
|
|
169
|
+
2026-10-25; availability must be checked again before publication.
|
|
170
|
+
|
|
171
|
+
### Fixed
|
|
172
|
+
|
|
173
|
+
- P6 resource disposal rejects new references and reattachment to any selected old
|
|
174
|
+
descendant during cleanup callbacks. Raw lookup skips targets pending disposal.
|
|
175
|
+
- Resource URLs and typed hrefs encode authored IDs; raw lookup decodes fragments
|
|
176
|
+
once and rejects malformed encodings, CSS escapes and control characters.
|
|
177
|
+
- Failed reference validation leaves target IDs unchanged; unsupported resource
|
|
178
|
+
owners and rejecting defs hosts leave no staged wrappers. Undefined marker
|
|
179
|
+
options retain creation defaults. Existing drawing teardown/listener behavior is preserved.
|
|
180
|
+
|
|
181
|
+
### Performance snapshot — 2026-10-25
|
|
182
|
+
|
|
183
|
+
| Check | Measured | Budget |
|
|
184
|
+
| --------------------------------------------------------- | ---------------------------------------------------- | -------------------------- |
|
|
185
|
+
| Selective root + rectangle bundle | 43,258 bytes minified; 13,257 bytes gzip (12.95 KiB) | 15,360 bytes gzip (15 KiB) |
|
|
186
|
+
| 1,000 existing circles, changed fill + synchronous commit | 0.50 ms median; 1.10 ms p95 | Median below 16 ms |
|
|
187
|
+
|
|
188
|
+
Bundle fixture: `fixtures/size.ts`; unrelated shapes and templates are excluded.
|
|
189
|
+
Fill fixture: `scripts/benchmark.mjs`, 20 warmups followed by 100 measured batches;
|
|
190
|
+
includes logical updates and DOM commits, excludes paint.
|
|
191
|
+
|
|
192
|
+
Reference environment: Windows 10.0.26200, Intel Core i7-10610U at 1.80 GHz,
|
|
193
|
+
8 logical CPUs, Node v24.21.0, Chromium 156.0.8078.4.
|
|
194
|
+
Raw samples and bundle composition are in `reports/benchmark.json` and
|
|
195
|
+
`reports/size.json`. These are operation timings on the recorded machine, not
|
|
196
|
+
end-to-end frame rates.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 rasam contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|