@protostr/componentex v0.9.17
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
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago