0.8.0 • Published 1 day ago
@protostr/componentex v0.8.0
ComponentEx
We've got:
- Fancy component lifecycle callbacks
interface ComponentLifecycleCallbacks<Shared, Private, Props> {
onComponentRegister(): ComponentRegistrationInfo<Shared>;
onComponentWake?(component: IComponent<Shared>): void;
onInstanceCreate(component: IComponent<Shared>, props: Props): ComponentInstatiationInfo<Private>;
onInstanceRender(self: IComponentInstance<Shared, Private>, props: Props, children: ReadonlyArray<MaxWhere.Node>): Promise<MaxWhere.Node>;
onInstanceRendered?(self: IComponentInstance<Shared, Private>): Promise<void>;
onInstanceDestroy(self: IComponentInstance<Shared, Private>): unknown | Promise<unknown>;
onComponentSleep?(component: IComponent<Shared>): unknown | Promise<unknown>;
}
- Hot reloadable webviews and overlays
- Intermediary "host" JS module between the component and the web content
- Handles messages, runs in the main process
- Automatically reloaded when it changes on the disk; webview is also recreated
- Intermediary "host" JS module between the component and the web content
- Communication channels
- Built-in support for
- Component <=> Webview channels over Electron IPC
- Webview <=> Webview channels over BroadcastChannels
- Negotiation (head waits for terminals to initialize and assigns them unique IDs)
- Waiting for specific messages
- Built-in support for
async function waitForUsedToPressButtonOnTheOverlay(channel: ICommHead<Message>) {
await channel.waitForMessage((subchannel, msg) => msg.kind === 'user-pressed-button');
}
- Raw mesh utils
- Raw mesh managers: refcounting, arena
- ThreeJS geometry -> raw mesh converter
- Audio API
- XR toolkit
- Resource cleanup utilities that generate compile-time errors if u forget to free something!!
<form>
s that automatically send a message when they change
0.7.22
1 day ago
0.8.0
1 day ago
0.7.21
28 days ago
0.7.19
2 months ago
0.7.18
2 months ago
0.7.20
2 months ago
0.7.17
2 months ago
0.7.15
3 months ago
0.7.16
3 months ago
0.7.14
3 months ago
0.7.13
3 months ago
0.7.12
3 months ago
0.7.11
5 months ago
0.7.9
6 months ago
0.7.6
6 months ago
0.7.5
6 months ago
0.7.8
6 months ago
0.7.7
6 months ago
0.4.0-beta.1
10 months ago
0.4.0-beta.2
10 months ago
0.4.0-beta.3
10 months ago
0.3.0
10 months ago
0.7.2
7 months ago
0.7.1
7 months ago
0.7.4
6 months ago
0.7.3
6 months ago
0.5.0
9 months ago
0.4.1
10 months ago
0.3.2
10 months ago
0.4.0
10 months ago
0.3.1
10 months ago
0.2.2
10 months ago
0.6.0
7 months ago
0.3.3
10 months ago
0.2.1
11 months ago
0.2.0
11 months ago
0.1.12
11 months ago
0.1.11
12 months ago
0.1.10
1 year ago
0.1.9
1 year ago
0.1.8
1 year ago
0.1.7
1 year ago
0.1.6
1 year ago
0.1.5
1 year ago