Info Space πŸ—‚οΈ

Native SwiftUI workspace SDK with resizable grids and customizable information panels

GitHub

Project goal

Give macOS app developers a reusable SwiftUI workspace for arranging their own content in resizable panels. The SDK handles grid geometry, snapping and panel identity; the included demo shows the interactions with sample content kept only for the current session.

Tech stack

  • Swift β€” SDK and demo implementation with strict concurrency
  • SwiftUI β€” Reusable canvas, panels and workspace controls
  • AppKit β€” Native macOS window integration
  • Observation β€” Observable layout and panel state
  • Swift Package Manager β€” Core/UI libraries and compiled SDK examples
  • XcodeGen β€” Generate the native demo app project
  • Swift Testing β€” Layout, identity and geometry tests

Brand & assets

Info Space identity

Download original Β· Asset source

For agents

Read the integration guide
# Info Space β€” project and identity

Page: https://hexly.ai/projects/infospace

Integrate Info Space using the Hexly single-project identity API.

GET https://hexly.ai/api/projects/nocoo/infospace
No authentication. Public CORS. Request exactly one GitHub owner/repository pair; include the owner in the path and preserve repository dots and hyphens. Owner and repository names are case-insensitive. Current projects belong to nocoo; never assume that owner for future integrations. No list, batch, search or query parameters. Do not fetch the full catalogue.

Example:
const response = await fetch("https://hexly.ai/api/projects/nocoo/infospace");
if (!response.ok) throw new Error(`Hexly API HTTP ${response.status}`);
const project = await response.json();
const title = project.title;
const description = project.description.en;
const github = project.github;
const icon = project.icons.small;

Expect a single JSON object: schemaVersion (1), id (Hexly slug), owner (GitHub user or organization), repo (GitHub repository name), title, description {en, zh}, emoji, category, archived, github, website (string or null), url (Hexly detail page), icons {small, large}, logos[], and brand {manifest, iconManifest, source, originalSha256}. Use owner/repo together as the integration key. Small/large icons are 64/512px. Each logo has id, url, width, height, format, background, role, usage and theme. URLs are absolute HTTPS CDN URLs; use the returned URLs unchanged and preserve aspect ratio with object-fit: contain. Use textContent or framework text bindings for text, not innerHTML.

Logo selection:
- Prefer icons.small for a 24–32px header/sidebar and icons.large for a larger project card. Active Hexly entries use the approved textured presentation: original family foreground colors and composition over a pale texture, with continuous corners already rendered. Do not add a CSS mask, tile or shadow. The manifest is brand.iconManifest when available; it records native dimensions, resampling and original source hashes.
- When an original transparent mark is explicitly required, select role="project-identity", background="transparent", usage="navigation". Prefer a PNG matching the required resolution (16/32px favicon; roughly 2x CSS size for high-DPI UI). Do not add a background tile, mask, shadow, crop or recolor the mark.
- Opaque presentation variants are intended for README artwork and platform icon masters. The ios-app-icon variant is an opaque 1024px square; iOS applies its own mask. Use usage="apple-touch-icon" for touch bookmarks. Rounded presentation variants have transparent corners with an opaque textured interior; they are not transparent foreground marks.
- role="hexly-campaign" is separately labelled artwork for Hexly-related presentation. It does not authorize replacing the product's own Logo, favicon, colors or UI. Check brand.manifest and its license/provenance before adopting campaign materials.
- background="original" preserves the source background; transparency is not guaranteed. Some projects only have original/emoji assets. Missing variants are unavailable: do not fabricate URLs or claim transparency. Use icons.small/large as supplied when no suitable transparent identity exists.
- Keep original geometry, colors, bytes, licenses and provenance. brand.originalSha256 verifies the original logo only, not its derivatives. Do not regenerate or upload new logos for this integration.

Cache successful metadata for at most one hour. Edge responses also cache for one hour; previously cached metadata may remain visible for up to one hour after deployment. Do not cache failures as project data. A 404 means unknown repository; 400 means invalid request; 405 means unsupported method; 503 means temporarily unavailable. Handle network failures, nullable website and archived projects explicitly. An entry is not proof of service health. No polling or credentials are needed.

Verify the integrated title, en description, GitHub destination, logo aspect ratio, light/dark contrast, mobile layout and failure state. Fetch current metadata rather than copying the preview as permanent configuration.


Native SwiftUI workspace SDK with resizable grids and customizable information panels

Project ID: infospace. Catalogue state: active. This is not a product release or health assertion.

Repository: https://github.com/nocoo/infospace
Website: not listed

Original project identity: https://h.no.mt/projects/infospace/identity/v1.0.0/infospace-family-2026-09-09-01-01-3b2e9aaead0e.png
Original SHA-256: 3b2e9aaead0eddccf8bf2212fe96f5ed207a06dc6111f72a829dd2db0a656772
Source: https://github.com/nocoo/infospace/blob/82f629ed42b6ec89dac0e0c79e2a63dec88ecacf/logo.png

Reuse the approved downloadable files. Preserve the original Logo geometry, proportions, colors and bytes. Hexly campaign styling belongs to this archive and Hexly promotional material; the product's own palette and UI remain independent.

Family artwork: https://h.no.mt/logos/family/infospace/2026-09-09-01/01/transparent.png
Family SHA-256: 3b2e9aaead0eddccf8bf2212fe96f5ed207a06dc6111f72a829dd2db0a656772
Recorded adoption state: adopted. Do not treat a review candidate as an adopted product identity.

The exact generation prompt is a historical source record. Read it for context; adopting the existing assets does not require running it again.

Use the current rounded presentation as delivered on Hexly pages. Original foreground geometry/colors are preserved. iOS and Apple touch files are opaque squares for platform masking. Native dimensions and resampling are recorded in the icon manifest; source-product adoption remains separate.

Brand kit: v1.0.0. Read its manifest roles and license records before choosing official identity versus Hexly campaign artwork. Verify the selected files against that manifest.

Current decorative surface: Pressed divider grain, generated with gpt-image-2.5-flare. Reuse its approved PNG/WebP; it is separate from the original Logo. Display one complete canvas without repetition or cropping. Exact light/dark prompts and generation receipts are in the texture archive.

Texture pack v1.0.1 has its own version, independent of the identity kit and application. Existing kit textures remain historical. Keep the active pack's manifest and use its measured surface opacity 0.45 on a separate background layer; Logo and text stay fully opaque.

## Sources

- [Single-project identity API](https://hexly.ai/api/projects/nocoo/infospace)
- [Exact generation prompt](https://h.no.mt/logos/family/infospace/2026-09-09-01/01/prompt.txt)
- [Current textured icon manifest](https://h.no.mt/projects/infospace/icons/v1.0.0/manifest.json)
- [Brand asset manifest](https://h.no.mt/brands/infospace/v1.0.0/manifest.json)
- [light surface: original PNG](https://h.no.mt/projects/infospace/textures/v1.0.1/texture-light.png)
- [Exact light surface prompt](https://h.no.mt/projects/infospace/textures/v1.0.1/texture-light-prompt.txt)
- [dark surface: original PNG](https://h.no.mt/projects/infospace/textures/v1.0.1/texture-dark.png)
- [Exact dark surface prompt](https://h.no.mt/projects/infospace/textures/v1.0.1/texture-dark-prompt.txt)
- [Active texture manifest and hashes](https://h.no.mt/projects/infospace/textures/v1.0.1/manifest.json)
- [Texture usage and license](https://h.no.mt/projects/infospace/textures/v1.0.1/guide.md)
- [Project catalogue JSON](https://hexly.ai/data/projects.json)
- [Agent index](https://hexly.ai/llms.txt)
- [Published site version and revision](https://hexly.ai/api/live)

Plain Markdown Β· Agent index