@bhbr/minter 0.0.0-stage → 1.0.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/LICENSE +21 -0
- package/README.md +2 -3
- package/dist/boards/Board.d.ts +138 -0
- package/dist/boards/Board.d.ts.map +1 -0
- package/dist/boards/Board.js +1329 -0
- package/dist/boards/Board.js.map +1 -0
- package/dist/boards/BoardCreator.d.ts +8 -0
- package/dist/boards/BoardCreator.d.ts.map +1 -0
- package/dist/boards/BoardCreator.js +24 -0
- package/dist/boards/BoardCreator.js.map +1 -0
- package/dist/boards/EditableLinkHook.d.ts +2 -0
- package/dist/boards/EditableLinkHook.d.ts.map +1 -0
- package/dist/boards/EditableLinkHook.js +137 -0
- package/dist/boards/EditableLinkHook.js.map +1 -0
- package/dist/boards/EditableLinkHookView.d.ts +2 -0
- package/dist/boards/EditableLinkHookView.d.ts.map +1 -0
- package/dist/boards/EditableLinkHookView.js +42 -0
- package/dist/boards/EditableLinkHookView.js.map +1 -0
- package/dist/boards/ExpandButton.d.ts +17 -0
- package/dist/boards/ExpandButton.d.ts.map +1 -0
- package/dist/boards/ExpandButton.js +59 -0
- package/dist/boards/ExpandButton.js.map +1 -0
- package/dist/boards/ExpandedBoardIOList.d.ts +12 -0
- package/dist/boards/ExpandedBoardIOList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardIOList.js +35 -0
- package/dist/boards/ExpandedBoardIOList.js.map +1 -0
- package/dist/boards/ExpandedBoardInputList.d.ts +4 -0
- package/dist/boards/ExpandedBoardInputList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardInputList.js +4 -0
- package/dist/boards/ExpandedBoardInputList.js.map +1 -0
- package/dist/boards/ExpandedBoardOutputList.d.ts +4 -0
- package/dist/boards/ExpandedBoardOutputList.d.ts.map +1 -0
- package/dist/boards/ExpandedBoardOutputList.js +4 -0
- package/dist/boards/ExpandedBoardOutputList.js.map +1 -0
- package/dist/boards/constants.d.ts +6 -0
- package/dist/boards/constants.d.ts.map +1 -0
- package/dist/boards/constants.js +6 -0
- package/dist/boards/constants.js.map +1 -0
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/creators/Creator.d.ts +19 -0
- package/dist/creators/Creator.d.ts.map +1 -0
- package/dist/creators/Creator.js +54 -0
- package/dist/creators/Creator.js.map +1 -0
- package/dist/creators/DraggingCreator.d.ts +10 -0
- package/dist/creators/DraggingCreator.d.ts.map +1 -0
- package/dist/creators/DraggingCreator.js +45 -0
- package/dist/creators/DraggingCreator.js.map +1 -0
- package/dist/creators/Freehand.d.ts +16 -0
- package/dist/creators/Freehand.d.ts.map +1 -0
- package/dist/creators/Freehand.js +68 -0
- package/dist/creators/Freehand.js.map +1 -0
- package/dist/creators/SpanningCreator.d.ts +15 -0
- package/dist/creators/SpanningCreator.d.ts.map +1 -0
- package/dist/creators/SpanningCreator.js +66 -0
- package/dist/creators/SpanningCreator.js.map +1 -0
- package/dist/functions/logging.d.ts +4 -0
- package/dist/functions/logging.d.ts.map +1 -0
- package/dist/functions/logging.js +103 -0
- package/dist/functions/logging.js.map +1 -0
- package/dist/functions/math.d.ts +9 -0
- package/dist/functions/math.d.ts.map +1 -0
- package/dist/functions/math.js +85 -0
- package/dist/functions/math.js.map +1 -0
- package/dist/functions/various.d.ts +4 -0
- package/dist/functions/various.d.ts.map +1 -0
- package/dist/functions/various.js +54 -0
- package/dist/functions/various.js.map +1 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/linkables/DependencyLink.d.ts +24 -0
- package/dist/linkables/DependencyLink.d.ts.map +1 -0
- package/dist/linkables/DependencyLink.js +70 -0
- package/dist/linkables/DependencyLink.js.map +1 -0
- package/dist/linkables/IOList.d.ts +37 -0
- package/dist/linkables/IOList.d.ts.map +1 -0
- package/dist/linkables/IOList.js +203 -0
- package/dist/linkables/IOList.js.map +1 -0
- package/dist/linkables/InputList.d.ts +7 -0
- package/dist/linkables/InputList.d.ts.map +1 -0
- package/dist/linkables/InputList.js +13 -0
- package/dist/linkables/InputList.js.map +1 -0
- package/dist/linkables/LinkBullet.d.ts +11 -0
- package/dist/linkables/LinkBullet.d.ts.map +1 -0
- package/dist/linkables/LinkBullet.js +35 -0
- package/dist/linkables/LinkBullet.js.map +1 -0
- package/dist/linkables/LinkHook.d.ts +14 -0
- package/dist/linkables/LinkHook.d.ts.map +1 -0
- package/dist/linkables/LinkHook.js +50 -0
- package/dist/linkables/LinkHook.js.map +1 -0
- package/dist/linkables/LinkOutlet.d.ts +26 -0
- package/dist/linkables/LinkOutlet.d.ts.map +1 -0
- package/dist/linkables/LinkOutlet.js +136 -0
- package/dist/linkables/LinkOutlet.js.map +1 -0
- package/dist/linkables/Linkable.d.ts +55 -0
- package/dist/linkables/Linkable.d.ts.map +1 -0
- package/dist/linkables/Linkable.js +258 -0
- package/dist/linkables/Linkable.js.map +1 -0
- package/dist/linkables/OutputList.d.ts +7 -0
- package/dist/linkables/OutputList.d.ts.map +1 -0
- package/dist/linkables/OutputList.js +16 -0
- package/dist/linkables/OutputList.js.map +1 -0
- package/dist/linkables/constants.d.ts +12 -0
- package/dist/linkables/constants.d.ts.map +1 -0
- package/dist/linkables/constants.js +16 -0
- package/dist/linkables/constants.js.map +1 -0
- package/dist/mobjects/Dependency.d.ts +11 -0
- package/dist/mobjects/Dependency.d.ts.map +1 -0
- package/dist/mobjects/Dependency.js +19 -0
- package/dist/mobjects/Dependency.js.map +1 -0
- package/dist/mobjects/MGroup.d.ts +5 -0
- package/dist/mobjects/MGroup.d.ts.map +1 -0
- package/dist/mobjects/MGroup.js +15 -0
- package/dist/mobjects/MGroup.js.map +1 -0
- package/dist/mobjects/Mobject.d.ts +138 -0
- package/dist/mobjects/Mobject.d.ts.map +1 -0
- package/dist/mobjects/Mobject.js +488 -0
- package/dist/mobjects/Mobject.js.map +1 -0
- package/dist/mobjects/Motor.d.ts +20 -0
- package/dist/mobjects/Motor.d.ts.map +1 -0
- package/dist/mobjects/Motor.js +118 -0
- package/dist/mobjects/Motor.js.map +1 -0
- package/dist/mobjects/Sensor.d.ts +112 -0
- package/dist/mobjects/Sensor.d.ts.map +1 -0
- package/dist/mobjects/Sensor.js +650 -0
- package/dist/mobjects/Sensor.js.map +1 -0
- package/dist/mobjects/UpdateCall.d.ts +17 -0
- package/dist/mobjects/UpdateCall.d.ts.map +1 -0
- package/dist/mobjects/UpdateCall.js +67 -0
- package/dist/mobjects/UpdateCall.js.map +1 -0
- package/dist/mobjects/screen_events.d.ts +38 -0
- package/dist/mobjects/screen_events.d.ts.map +1 -0
- package/dist/mobjects/screen_events.js +143 -0
- package/dist/mobjects/screen_events.js.map +1 -0
- package/dist/paper/APILoader.d.ts +10 -0
- package/dist/paper/APILoader.d.ts.map +1 -0
- package/dist/paper/APILoader.js +18 -0
- package/dist/paper/APILoader.js.map +1 -0
- package/dist/paper/Paper.d.ts +34 -0
- package/dist/paper/Paper.d.ts.map +1 -0
- package/dist/paper/Paper.js +210 -0
- package/dist/paper/Paper.js.map +1 -0
- package/dist/paper/PaperView.d.ts +5 -0
- package/dist/paper/PaperView.d.ts.map +1 -0
- package/dist/paper/PaperView.js +9 -0
- package/dist/paper/PaperView.js.map +1 -0
- package/dist/paper/getPaper.d.ts +3 -0
- package/dist/paper/getPaper.d.ts.map +1 -0
- package/dist/paper/getPaper.js +8 -0
- package/dist/paper/getPaper.js.map +1 -0
- package/dist/paper/initPaper.d.ts +2 -0
- package/dist/paper/initPaper.d.ts.map +1 -0
- package/dist/paper/initPaper.js +3 -0
- package/dist/paper/initPaper.js.map +1 -0
- package/dist/shapes/Circle.d.ts +6 -0
- package/dist/shapes/Circle.d.ts.map +1 -0
- package/dist/shapes/Circle.js +20 -0
- package/dist/shapes/Circle.js.map +1 -0
- package/dist/shapes/CircularArc.d.ts +13 -0
- package/dist/shapes/CircularArc.d.ts.map +1 -0
- package/dist/shapes/CircularArc.js +95 -0
- package/dist/shapes/CircularArc.js.map +1 -0
- package/dist/shapes/CurvedArrow.d.ts +19 -0
- package/dist/shapes/CurvedArrow.d.ts.map +1 -0
- package/dist/shapes/CurvedArrow.js +89 -0
- package/dist/shapes/CurvedArrow.js.map +1 -0
- package/dist/shapes/Line.d.ts +14 -0
- package/dist/shapes/Line.d.ts.map +1 -0
- package/dist/shapes/Line.js +33 -0
- package/dist/shapes/Line.js.map +1 -0
- package/dist/shapes/Pill.d.ts +9 -0
- package/dist/shapes/Pill.d.ts.map +1 -0
- package/dist/shapes/Pill.js +51 -0
- package/dist/shapes/Pill.js.map +1 -0
- package/dist/shapes/Rectangle.d.ts +14 -0
- package/dist/shapes/Rectangle.d.ts.map +1 -0
- package/dist/shapes/Rectangle.js +34 -0
- package/dist/shapes/Rectangle.js.map +1 -0
- package/dist/shapes/RoundedRectangle.d.ts +17 -0
- package/dist/shapes/RoundedRectangle.d.ts.map +1 -0
- package/dist/shapes/RoundedRectangle.js +86 -0
- package/dist/shapes/RoundedRectangle.js.map +1 -0
- package/dist/shapes/Square.d.ts +8 -0
- package/dist/shapes/Square.d.ts.map +1 -0
- package/dist/shapes/Square.js +25 -0
- package/dist/shapes/Square.js.map +1 -0
- package/dist/sidebar/Sidebar.d.ts +28 -0
- package/dist/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/sidebar/Sidebar.js +222 -0
- package/dist/sidebar/Sidebar.js.map +1 -0
- package/dist/sidebar/SidebarView.d.ts +5 -0
- package/dist/sidebar/SidebarView.d.ts.map +1 -0
- package/dist/sidebar/SidebarView.js +9 -0
- package/dist/sidebar/SidebarView.js.map +1 -0
- package/dist/sidebar/buttons/BoardButton.d.ts +6 -0
- package/dist/sidebar/buttons/BoardButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/BoardButton.js +14 -0
- package/dist/sidebar/buttons/BoardButton.js.map +1 -0
- package/dist/sidebar/buttons/ControlsButton.d.ts +5 -0
- package/dist/sidebar/buttons/ControlsButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/ControlsButton.js +11 -0
- package/dist/sidebar/buttons/ControlsButton.js.map +1 -0
- package/dist/sidebar/buttons/CreativeButton.d.ts +13 -0
- package/dist/sidebar/buttons/CreativeButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/CreativeButton.js +49 -0
- package/dist/sidebar/buttons/CreativeButton.js.map +1 -0
- package/dist/sidebar/buttons/DragButton.d.ts +5 -0
- package/dist/sidebar/buttons/DragButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/DragButton.js +10 -0
- package/dist/sidebar/buttons/DragButton.js.map +1 -0
- package/dist/sidebar/buttons/EraseButton.d.ts +7 -0
- package/dist/sidebar/buttons/EraseButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/EraseButton.js +34 -0
- package/dist/sidebar/buttons/EraseButton.js.map +1 -0
- package/dist/sidebar/buttons/LinkButton.d.ts +5 -0
- package/dist/sidebar/buttons/LinkButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/LinkButton.js +9 -0
- package/dist/sidebar/buttons/LinkButton.js.map +1 -0
- package/dist/sidebar/buttons/SidebarButton.d.ts +72 -0
- package/dist/sidebar/buttons/SidebarButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/SidebarButton.js +369 -0
- package/dist/sidebar/buttons/SidebarButton.js.map +1 -0
- package/dist/sidebar/buttons/SidebarButtonView.d.ts +6 -0
- package/dist/sidebar/buttons/SidebarButtonView.d.ts.map +1 -0
- package/dist/sidebar/buttons/SidebarButtonView.js +8 -0
- package/dist/sidebar/buttons/SidebarButtonView.js.map +1 -0
- package/dist/sidebar/buttons/ToggleButton.d.ts +17 -0
- package/dist/sidebar/buttons/ToggleButton.d.ts.map +1 -0
- package/dist/sidebar/buttons/ToggleButton.js +79 -0
- package/dist/sidebar/buttons/ToggleButton.js.map +1 -0
- package/dist/sidebar/buttons/button_geometry.d.ts +10 -0
- package/dist/sidebar/buttons/button_geometry.d.ts.map +1 -0
- package/dist/sidebar/buttons/button_geometry.js +15 -0
- package/dist/sidebar/buttons/button_geometry.js.map +1 -0
- package/dist/sidebar/getSidebar.d.ts +3 -0
- package/dist/sidebar/getSidebar.d.ts.map +1 -0
- package/dist/sidebar/getSidebar.js +8 -0
- package/dist/sidebar/getSidebar.js.map +1 -0
- package/dist/sidebar/initSidebar.d.ts +2 -0
- package/dist/sidebar/initSidebar.d.ts.map +1 -0
- package/dist/sidebar/initSidebar.js +3 -0
- package/dist/sidebar/initSidebar.js.map +1 -0
- package/dist/ui/Checkbox.d.ts +20 -0
- package/dist/ui/Checkbox.d.ts.map +1 -0
- package/dist/ui/Checkbox.js +71 -0
- package/dist/ui/Checkbox.js.map +1 -0
- package/dist/ui/InputTextBox.d.ts +24 -0
- package/dist/ui/InputTextBox.d.ts.map +1 -0
- package/dist/ui/InputTextBox.js +104 -0
- package/dist/ui/InputTextBox.js.map +1 -0
- package/dist/ui/LinkableInputTextBox.d.ts +11 -0
- package/dist/ui/LinkableInputTextBox.d.ts.map +1 -0
- package/dist/ui/LinkableInputTextBox.js +32 -0
- package/dist/ui/LinkableInputTextBox.js.map +1 -0
- package/dist/ui/Popover.d.ts +34 -0
- package/dist/ui/Popover.d.ts.map +1 -0
- package/dist/ui/Popover.js +187 -0
- package/dist/ui/Popover.js.map +1 -0
- package/dist/ui/RadioButton.d.ts +16 -0
- package/dist/ui/RadioButton.d.ts.map +1 -0
- package/dist/ui/RadioButton.js +53 -0
- package/dist/ui/RadioButton.js.map +1 -0
- package/dist/ui/RadioButtonList.d.ts +16 -0
- package/dist/ui/RadioButtonList.d.ts.map +1 -0
- package/dist/ui/RadioButtonList.js +71 -0
- package/dist/ui/RadioButtonList.js.map +1 -0
- package/dist/ui/Scroll.d.ts +10 -0
- package/dist/ui/Scroll.d.ts.map +1 -0
- package/dist/ui/Scroll.js +30 -0
- package/dist/ui/Scroll.js.map +1 -0
- package/dist/ui/SimpleButton.d.ts +16 -0
- package/dist/ui/SimpleButton.d.ts.map +1 -0
- package/dist/ui/SimpleButton.js +61 -0
- package/dist/ui/SimpleButton.js.map +1 -0
- package/dist/ui/TextLabel.d.ts +19 -0
- package/dist/ui/TextLabel.d.ts.map +1 -0
- package/dist/ui/TextLabel.js +21 -0
- package/dist/ui/TextLabel.js.map +1 -0
- package/dist/ui/TextLabelView.d.ts +15 -0
- package/dist/ui/TextLabelView.d.ts.map +1 -0
- package/dist/ui/TextLabelView.js +52 -0
- package/dist/ui/TextLabelView.js.map +1 -0
- package/dist/views/Color.d.ts +31 -0
- package/dist/views/Color.d.ts.map +1 -0
- package/dist/views/Color.js +107 -0
- package/dist/views/Color.js.map +1 -0
- package/dist/views/Frame.d.ts +64 -0
- package/dist/views/Frame.d.ts.map +1 -0
- package/dist/views/Frame.js +132 -0
- package/dist/views/Frame.js.map +1 -0
- package/dist/views/ImageView.d.ts +10 -0
- package/dist/views/ImageView.d.ts.map +1 -0
- package/dist/views/ImageView.js +28 -0
- package/dist/views/ImageView.js.map +1 -0
- package/dist/views/View.d.ts +45 -0
- package/dist/views/View.d.ts.map +1 -0
- package/dist/views/View.js +181 -0
- package/dist/views/View.js.map +1 -0
- package/dist/vmobjects/CurvedLine.d.ts +14 -0
- package/dist/vmobjects/CurvedLine.d.ts.map +1 -0
- package/dist/vmobjects/CurvedLine.js +66 -0
- package/dist/vmobjects/CurvedLine.js.map +1 -0
- package/dist/vmobjects/CurvedShape.d.ts +5 -0
- package/dist/vmobjects/CurvedShape.d.ts.map +1 -0
- package/dist/vmobjects/CurvedShape.js +12 -0
- package/dist/vmobjects/CurvedShape.js.map +1 -0
- package/dist/vmobjects/Polygon.d.ts +5 -0
- package/dist/vmobjects/Polygon.d.ts.map +1 -0
- package/dist/vmobjects/Polygon.js +12 -0
- package/dist/vmobjects/Polygon.js.map +1 -0
- package/dist/vmobjects/PolygonalLine.d.ts +9 -0
- package/dist/vmobjects/PolygonalLine.d.ts.map +1 -0
- package/dist/vmobjects/PolygonalLine.js +34 -0
- package/dist/vmobjects/PolygonalLine.js.map +1 -0
- package/dist/vmobjects/VMobject.d.ts +58 -0
- package/dist/vmobjects/VMobject.d.ts.map +1 -0
- package/dist/vmobjects/VMobject.js +165 -0
- package/dist/vmobjects/VMobject.js.map +1 -0
- package/dist/vmobjects/VView.d.ts +19 -0
- package/dist/vmobjects/VView.d.ts.map +1 -0
- package/dist/vmobjects/VView.js +61 -0
- package/dist/vmobjects/VView.js.map +1 -0
- package/package.json +43 -4
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Mobject } from '../mobjects/Mobject.js';
|
|
2
|
+
import { Color } from '../views/Color.js';
|
|
3
|
+
import { vertex, vertexArray } from '@bhbr/affr2';
|
|
4
|
+
import { VView } from './VView.js';
|
|
5
|
+
import { Frame } from '../views/Frame.js';
|
|
6
|
+
import { Transform } from '@bhbr/affr2';
|
|
7
|
+
export declare class VMobject extends Mobject {
|
|
8
|
+
vertices: vertexArray;
|
|
9
|
+
view: VView;
|
|
10
|
+
defaults(): object;
|
|
11
|
+
get fillColor(): Color;
|
|
12
|
+
set fillColor(newValue: Color);
|
|
13
|
+
get fillOpacity(): number;
|
|
14
|
+
set fillOpacity(newValue: number);
|
|
15
|
+
get strokeColor(): Color;
|
|
16
|
+
set strokeColor(newValue: Color);
|
|
17
|
+
get strokeWidth(): number;
|
|
18
|
+
set strokeWidth(newValue: number);
|
|
19
|
+
setup(): void;
|
|
20
|
+
static stringFromPoint(point: Array<number>): string;
|
|
21
|
+
pathString(): string;
|
|
22
|
+
relativeVertices(frame?: Frame): vertexArray;
|
|
23
|
+
globalVertices(): vertexArray;
|
|
24
|
+
localXMin(): number;
|
|
25
|
+
localXMax(): number;
|
|
26
|
+
localYMin(): number;
|
|
27
|
+
localYMax(): number;
|
|
28
|
+
localMidX(): number;
|
|
29
|
+
localMidY(): number;
|
|
30
|
+
localULCorner(): vertex;
|
|
31
|
+
localURCorner(): vertex;
|
|
32
|
+
localLLCorner(): vertex;
|
|
33
|
+
localLRCorner(): vertex;
|
|
34
|
+
localCenter(): vertex;
|
|
35
|
+
localLeftCenter(): vertex;
|
|
36
|
+
localRightCenter(): vertex;
|
|
37
|
+
localTopCenter(): vertex;
|
|
38
|
+
localBottomCenter(): vertex;
|
|
39
|
+
ulCorner(frame?: Frame): vertex;
|
|
40
|
+
urCorner(frame?: Frame): vertex;
|
|
41
|
+
llCorner(frame?: Frame): vertex;
|
|
42
|
+
lrCorner(frame?: Frame): vertex;
|
|
43
|
+
center(frame?: Frame): vertex;
|
|
44
|
+
xMin(frame?: Frame): number;
|
|
45
|
+
xMax(frame?: Frame): number;
|
|
46
|
+
yMin(frame?: Frame): number;
|
|
47
|
+
yMax(frame?: Frame): number;
|
|
48
|
+
midX(frame?: Frame): number;
|
|
49
|
+
midY(frame?: Frame): number;
|
|
50
|
+
leftCenter(frame?: Frame): vertex;
|
|
51
|
+
rightCenter(frame?: Frame): vertex;
|
|
52
|
+
topCenter(frame?: Frame): vertex;
|
|
53
|
+
bottomCenter(frame?: Frame): vertex;
|
|
54
|
+
getWidth(): number;
|
|
55
|
+
getHeight(): number;
|
|
56
|
+
applyTransform(t: Transform): void;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=VMobject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VMobject.d.ts","sourceRoot":"","sources":["../../src/vmobjects/VMobject.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAA;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,QAAS,SAAQ,OAAO;IA0BpC,QAAQ,EAAE,WAAW,CAAA;IAEb,IAAI,EAAE,KAAK,CAAA;IAEnB,QAAQ,IAAI,MAAM;IAOlB,IAAI,SAAS,IAAI,KAAK,CAA+B;IACrD,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAoC;IAEjE,IAAI,WAAW,IAAI,MAAM,CAAiC;IAC1D,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAsC;IAEtE,IAAI,WAAW,IAAI,KAAK,CAAiC;IACzD,IAAI,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAsC;IAErE,IAAI,WAAW,IAAI,MAAM,CAAiC;IAC1D,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAsC;IAEtE,KAAK;IAkBL,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAOpD,UAAU,IAAI,MAAM;IAMpB,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAO5C,cAAc,IAAI,WAAW;IAmB7B,SAAS,IAAI,MAAM;IAanB,SAAS,IAAI,MAAM;IAanB,SAAS,IAAI,MAAM;IAanB,SAAS,IAAI,MAAM;IAgBnB,SAAS,IAAI,MAAM;IACnB,SAAS,IAAI,MAAM;IAEnB,aAAa,IAAI,MAAM;IACvB,aAAa,IAAI,MAAM;IACvB,aAAa,IAAI,MAAM;IACvB,aAAa,IAAI,MAAM;IAEvB,WAAW,IAAI,MAAM;IACrB,eAAe,IAAI,MAAM;IACzB,gBAAgB,IAAI,MAAM;IAC1B,cAAc,IAAI,MAAM;IACxB,iBAAiB,IAAI,MAAM;IAE3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAE/B,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAE7B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAE3B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAE3B,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IACjC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAClC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAChC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAEnC,QAAQ,IAAI,MAAM;IAClB,SAAS,IAAI,MAAM;IAEnB,cAAc,CAAC,CAAC,EAAE,SAAS;CAO3B"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Mobject } from '../mobjects/Mobject.js';
|
|
2
|
+
import { MGroup } from '../mobjects/MGroup.js';
|
|
3
|
+
import { vertexArrayImageUnder } from '@bhbr/affr2';
|
|
4
|
+
import { addPointerDown, addPointerMove, addPointerUp, removePointerDown, removePointerMove, removePointerUp } from '../mobjects/screen_events.js';
|
|
5
|
+
import { VView } from './VView.js';
|
|
6
|
+
export class VMobject extends Mobject {
|
|
7
|
+
defaults() {
|
|
8
|
+
return {
|
|
9
|
+
view: new VView(),
|
|
10
|
+
vertices: []
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
get fillColor() { return this.view.fillColor; }
|
|
14
|
+
set fillColor(newValue) { this.view.fillColor = newValue; }
|
|
15
|
+
get fillOpacity() { return this.view.fillOpacity; }
|
|
16
|
+
set fillOpacity(newValue) { this.view.fillOpacity = newValue; }
|
|
17
|
+
get strokeColor() { return this.view.strokeColor; }
|
|
18
|
+
set strokeColor(newValue) { this.view.strokeColor = newValue; }
|
|
19
|
+
get strokeWidth() { return this.view.strokeWidth; }
|
|
20
|
+
set strokeWidth(newValue) { this.view.strokeWidth = newValue; }
|
|
21
|
+
setup() {
|
|
22
|
+
// setup the svg
|
|
23
|
+
super.setup();
|
|
24
|
+
if (!this.view.svg || !this.view.path || !this.view) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.view.svg['mobject'] = this;
|
|
28
|
+
this.view.setup();
|
|
29
|
+
// screen events are detected on the path
|
|
30
|
+
// so the active area is clipped to its shape
|
|
31
|
+
// move to sensor setup?
|
|
32
|
+
removePointerDown(this.view.div, this.sensor.capturedOnPointerDown.bind(this.sensor));
|
|
33
|
+
removePointerMove(this.view.div, this.sensor.capturedOnPointerMove.bind(this.sensor));
|
|
34
|
+
removePointerUp(this.view.div, this.sensor.capturedOnPointerUp.bind(this.sensor));
|
|
35
|
+
addPointerDown(this.view.path, this.sensor.capturedOnPointerDown.bind(this.sensor));
|
|
36
|
+
addPointerMove(this.view.path, this.sensor.capturedOnPointerMove.bind(this.sensor));
|
|
37
|
+
addPointerUp(this.view.path, this.sensor.capturedOnPointerUp.bind(this.sensor));
|
|
38
|
+
}
|
|
39
|
+
static stringFromPoint(point) {
|
|
40
|
+
// a string representation for CSS
|
|
41
|
+
let x = point[0], y = point[1];
|
|
42
|
+
return `${x} ${y}`;
|
|
43
|
+
}
|
|
44
|
+
pathString() {
|
|
45
|
+
// This method turns this.vertices into a CSS path
|
|
46
|
+
console.warn('please subclass pathString');
|
|
47
|
+
return '';
|
|
48
|
+
}
|
|
49
|
+
relativeVertices(frame) {
|
|
50
|
+
// the vertices are in local coordinates, convert them to the given frame of an ancestor mobject
|
|
51
|
+
let returnValue = this.view.frame.relativeTransform(frame).appliedToVertices(this.vertices);
|
|
52
|
+
if (returnValue == undefined) {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return returnValue;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
globalVertices() {
|
|
60
|
+
// uses default frame = paper
|
|
61
|
+
return this.relativeVertices();
|
|
62
|
+
}
|
|
63
|
+
//////////////////////////////////////////////////////////
|
|
64
|
+
// //
|
|
65
|
+
// FRAME METHODS //
|
|
66
|
+
// //
|
|
67
|
+
//////////////////////////////////////////////////////////
|
|
68
|
+
/*
|
|
69
|
+
The coordinate extrema (x_min, x_max, y_min, y_max) are computed from the vertices
|
|
70
|
+
instead of the view frame as for a general Mobject.
|
|
71
|
+
Other coordinate quantities (x_mid, y_mid, ulCorner etc.) are computes from these
|
|
72
|
+
four values.
|
|
73
|
+
*/
|
|
74
|
+
localXMin() {
|
|
75
|
+
let xMin = Infinity;
|
|
76
|
+
if (this.vertices != undefined) {
|
|
77
|
+
for (let p of this.vertices) {
|
|
78
|
+
xMin = Math.min(xMin, p[0]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (this.children != undefined) {
|
|
82
|
+
for (let mob of this.children) {
|
|
83
|
+
xMin = Math.min(xMin, mob.view.frame.localXMin() + mob.view.frame.anchor[0]);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return xMin;
|
|
87
|
+
}
|
|
88
|
+
localXMax() {
|
|
89
|
+
let xMax = -Infinity;
|
|
90
|
+
if (this.vertices != undefined) {
|
|
91
|
+
for (let p of this.vertices) {
|
|
92
|
+
xMax = Math.max(xMax, p[0]);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (this.children != undefined) {
|
|
96
|
+
for (let mob of this.children) {
|
|
97
|
+
xMax = Math.max(xMax, mob.view.frame.localXMax() + mob.view.frame.anchor[0]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return xMax;
|
|
101
|
+
}
|
|
102
|
+
localYMin() {
|
|
103
|
+
let yMin = Infinity;
|
|
104
|
+
if (this.vertices != undefined) {
|
|
105
|
+
for (let p of this.vertices) {
|
|
106
|
+
yMin = Math.min(yMin, p[1]);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (this.children != undefined) {
|
|
110
|
+
for (let mob of this.children) {
|
|
111
|
+
yMin = Math.min(yMin, mob.view.frame.localYMin() + mob.view.frame.anchor[1]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return yMin;
|
|
115
|
+
}
|
|
116
|
+
localYMax() {
|
|
117
|
+
let yMax = -Infinity;
|
|
118
|
+
if (this instanceof MGroup) {
|
|
119
|
+
}
|
|
120
|
+
if (this.vertices != undefined) {
|
|
121
|
+
for (let p of this.vertices) {
|
|
122
|
+
yMax = Math.max(yMax, p[1]);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (this.children != undefined) {
|
|
126
|
+
for (let mob of this.children) {
|
|
127
|
+
yMax = Math.max(yMax, mob.view.frame.localYMax() + mob.view.frame.anchor[1]);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return yMax;
|
|
131
|
+
}
|
|
132
|
+
localMidX() { return (this.localXMin() + this.localXMax()) / 2; }
|
|
133
|
+
localMidY() { return (this.localYMin() + this.localYMax()) / 2; }
|
|
134
|
+
localULCorner() { return [this.localXMin(), this.localYMin()]; }
|
|
135
|
+
localURCorner() { return [this.localXMax(), this.localYMin()]; }
|
|
136
|
+
localLLCorner() { return [this.localXMin(), this.localYMax()]; }
|
|
137
|
+
localLRCorner() { return [this.localXMax(), this.localYMax()]; }
|
|
138
|
+
localCenter() { return [this.localMidX(), this.localMidY()]; }
|
|
139
|
+
localLeftCenter() { return [this.localXMin(), this.localMidY()]; }
|
|
140
|
+
localRightCenter() { return [this.localXMax(), this.localMidY()]; }
|
|
141
|
+
localTopCenter() { return [this.localMidX(), this.localYMin()]; }
|
|
142
|
+
localBottomCenter() { return [this.localMidX(), this.localYMax()]; }
|
|
143
|
+
ulCorner(frame) { return this.view.frame.transformLocalPoint(this.localULCorner(), frame); }
|
|
144
|
+
urCorner(frame) { return this.view.frame.transformLocalPoint(this.localURCorner(), frame); }
|
|
145
|
+
llCorner(frame) { return this.view.frame.transformLocalPoint(this.localLLCorner(), frame); }
|
|
146
|
+
lrCorner(frame) { return this.view.frame.transformLocalPoint(this.localLRCorner(), frame); }
|
|
147
|
+
center(frame) { return this.view.frame.transformLocalPoint(this.localCenter(), frame); }
|
|
148
|
+
xMin(frame) { return this.ulCorner(frame)[0]; }
|
|
149
|
+
xMax(frame) { return this.lrCorner(frame)[0]; }
|
|
150
|
+
yMin(frame) { return this.ulCorner(frame)[1]; }
|
|
151
|
+
yMax(frame) { return this.lrCorner(frame)[1]; }
|
|
152
|
+
midX(frame) { return this.center(frame)[0]; }
|
|
153
|
+
midY(frame) { return this.center(frame)[1]; }
|
|
154
|
+
leftCenter(frame) { return this.view.frame.transformLocalPoint(this.localLeftCenter(), frame); }
|
|
155
|
+
rightCenter(frame) { return this.view.frame.transformLocalPoint(this.localRightCenter(), frame); }
|
|
156
|
+
topCenter(frame) { return this.view.frame.transformLocalPoint(this.localTopCenter(), frame); }
|
|
157
|
+
bottomCenter(frame) { return this.view.frame.transformLocalPoint(this.localBottomCenter(), frame); }
|
|
158
|
+
getWidth() { return this.localXMax() - this.localXMin(); }
|
|
159
|
+
getHeight() { return this.localYMax() - this.localYMin(); }
|
|
160
|
+
applyTransform(t) {
|
|
161
|
+
this.vertices = vertexArrayImageUnder(this.vertices, t);
|
|
162
|
+
this.redraw();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=VMobject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VMobject.js","sourceRoot":"","sources":["../../src/vmobjects/VMobject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { View } from '../views/View.js';
|
|
2
|
+
import { VMobject } from './VMobject.js';
|
|
3
|
+
import { Color } from '../views/Color.js';
|
|
4
|
+
export declare class VView extends View {
|
|
5
|
+
mobject: VMobject;
|
|
6
|
+
svg?: SVGSVGElement;
|
|
7
|
+
path?: SVGElement;
|
|
8
|
+
fillColor: Color;
|
|
9
|
+
fillOpacity: number;
|
|
10
|
+
strokeColor: Color;
|
|
11
|
+
strokeWidth: number;
|
|
12
|
+
defaults(): object;
|
|
13
|
+
mutabilities(): object;
|
|
14
|
+
setup(): void;
|
|
15
|
+
redraw(): void;
|
|
16
|
+
updatePath(pathString: string): void;
|
|
17
|
+
deepCopy(): VView;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=VView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VView.d.ts","sourceRoot":"","sources":["../../src/vmobjects/VView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAIzC,qBAAa,KAAM,SAAQ,IAAI;IAEtB,OAAO,EAAE,QAAQ,CAAA;IACzB,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,CAAC,EAAE,UAAU,CAAA;IAEjB,SAAS,EAAE,KAAK,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,KAAK,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IAEnB,QAAQ,IAAI,MAAM;IAWlB,YAAY,IAAI,MAAM;IAOtB,KAAK;IAYL,MAAM;IAQN,UAAU,CAAC,UAAU,EAAE,MAAM;IAQ7B,QAAQ,IAAI,KAAK;CAWjB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { View } from '../views/View.js';
|
|
2
|
+
import { Color } from '../views/Color.js';
|
|
3
|
+
import { deepCopy } from '@bhbr/copycat';
|
|
4
|
+
export class VView extends View {
|
|
5
|
+
defaults() {
|
|
6
|
+
return {
|
|
7
|
+
svg: document.createElementNS('http://www.w3.org/2000/svg', 'svg'),
|
|
8
|
+
path: document.createElementNS('http://www.w3.org/2000/svg', 'path'),
|
|
9
|
+
fillColor: Color.white(),
|
|
10
|
+
fillOpacity: 1,
|
|
11
|
+
strokeColor: Color.white(),
|
|
12
|
+
strokeWidth: 1
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
mutabilities() {
|
|
16
|
+
return {
|
|
17
|
+
svg: 'never',
|
|
18
|
+
path: 'never'
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
setup() {
|
|
22
|
+
super.setup();
|
|
23
|
+
this.svg.setAttribute('class', 'mobject-svg');
|
|
24
|
+
this.svg.style.overflow = 'visible';
|
|
25
|
+
if (!this.div.contains(this.svg)) {
|
|
26
|
+
this.div.appendChild(this.svg);
|
|
27
|
+
}
|
|
28
|
+
if (!this.svg.contains(this.path)) {
|
|
29
|
+
this.svg.appendChild(this.path);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
redraw() {
|
|
33
|
+
super.redraw();
|
|
34
|
+
if (!this.svg || !this.path) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
let pathString = this.mobject.pathString();
|
|
38
|
+
if (pathString.includes('NaN')) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.updatePath(pathString);
|
|
42
|
+
}
|
|
43
|
+
updatePath(pathString) {
|
|
44
|
+
this.path.setAttribute('d', pathString);
|
|
45
|
+
this.path.style['fill'] = this.fillColor.toHex();
|
|
46
|
+
this.path.style['fill-opacity'] = this.fillOpacity.toString();
|
|
47
|
+
this.path.style['stroke'] = this.strokeColor.toHex();
|
|
48
|
+
this.path.style['stroke-width'] = this.strokeWidth.toString();
|
|
49
|
+
}
|
|
50
|
+
deepCopy() {
|
|
51
|
+
let copy = deepCopy(this);
|
|
52
|
+
copy['div'] = this.div.cloneNode();
|
|
53
|
+
copy.div['view'] = copy;
|
|
54
|
+
copy['svg'] = this.svg.cloneNode();
|
|
55
|
+
copy['path'] = this.path.cloneNode();
|
|
56
|
+
copy['div'].appendChild(copy['svg']);
|
|
57
|
+
copy['svg'].appendChild(copy['path']);
|
|
58
|
+
return copy;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=VView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VView.js","sourceRoot":"","sources":["../../src/vmobjects/VView.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bhbr/minter",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Minter (INTERactive Math objects) is a framework for creating and linking interactive objects of any kind on an infinite canvas. Its primary purpose is to explore mathematical concepts. \n - Demo video: https://youtu.be/c5QlDq5Jd4I?si=pIsPE44oB4oXDdj6 \n - Sample project: https://github.com/bhbr/minter-sample-project",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"!dist/_tests"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "./build.sh",
|
|
20
|
+
"test": "node dist/_tests/all_tests.js",
|
|
21
|
+
"prepack": "npm run build"
|
|
22
|
+
},
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/bhbr/minter"
|
|
26
|
+
},
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/bhbr/minter/issues"
|
|
29
|
+
},
|
|
30
|
+
"homepage": "https://github.com/bhbr/minter#readme",
|
|
31
|
+
"keywords": [],
|
|
32
|
+
"author": "Ben Hambrecht",
|
|
33
|
+
"license": "ISC",
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@bhbr/tsts": "^1.1.3"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@bhbr/affr2": "^1.0.0",
|
|
39
|
+
"@bhbr/betray": "^1.0.0",
|
|
40
|
+
"@bhbr/better-things": "^1.0.0",
|
|
41
|
+
"@bhbr/egalite": "^1.2.0",
|
|
42
|
+
"@bhbr/upper-class": "^1.0.0",
|
|
43
|
+
"@bhbr/copycat": "^1.0.0"
|
|
44
|
+
}
|
|
45
|
+
}
|